package com.shop.Manager;
import java.util.ArrayList;
import java.util.Random;
import java.util.Scanner;
import com.shop.dao.CustomerDAO;
import com.shop.dao.ProductDAO;
import com.shop.ui.SystemMenu;
public class BuyManager {
/*
* 购买商品
*/
public void buyProduct(){
System.out.println("\n* * * * * * * * * * * * * * * * * * * * * * * * * * * * *");
System.out.println("迷你青春购物系统 >> 购物信息管理 >> 购买商品");
System.out.println("* * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n");
int [] productId; //用于存储商品的编号
String [] productName;//用于存储商品的名称
float [] price;//用于存储商品的价格
int [] number;//用于存储商品的现有数量
//显示所有商品
ProductDAO productDao = new ProductDAO();
ArrayList<ProductManager> lst = productDao.select();
//判断是否还有商品
if(lst.size() == 0){
System.out.println("商品已全部售完,请下次再来。");
returnBuyProductFirstMenu();//调用返回上一级菜单方法
return;
}
//初始化数组大小,数组的长度与查出的信息记录数相等
productId = new int[lst.size()];
productName = new String[lst.size()];
price = new float[lst.size()];
number = new int[lst.size()];
System.out.println("商品编号\t\t商品名称\t\t价格\t\t数量\t");
System.out.println("----------|--------------|--------------|--------------\n");
for(int i=0;i<lst.size();i++){
ProductManager pm = lst.get(i);
System.out.println(pm.getProductId()+"\t\t"+pm.getProductName()+"\t\t¥"+pm.getPrice()+"\t\t"+pm.getNumber());
productId[i] = pm.getProductId();//将所有商品的编号存入数组中
productName[i] = pm.getProductName();//将所有商品的名称存入数组中
price[i] = pm.getPrice();//将所有商品的价格存入数组中
number[i] = pm.getNumber();//将所有商品的现有数量存入数组中
}
Scanner sc = new Scanner(System.in);
String answer="";
int id = 0;//购买商品的编号
int num = 0;//购买的数量
ArrayList<ProductManager> buyList = new ArrayList<ProductManager>();//购买的商品列表
do{
System.out.println("\n请选择购买的商品编号:");
id = sc.nextInt();
//查找输入的商品编号是否存在
boolean flag = false;
int index = 0;//该商品的下标
for(int j=0;j<productId.length;j++){
//如果商品编号存在,就停止循环
if(productId[j] == id){
flag = true;
index = j;
break;
}
}
//如果商品编号存在,才能添加商品
if(flag){
do{
System.out.println("请输入购买的数量:");
num = sc.nextInt();
//判断输入的数量是否大于商品现存的数量
if(num > number[index]){
System.out.println("\n该商品数量已不足!请重新输入数量!");
}else if(num<=0){
System.out.println("商品数量必须大于0!");
}else{
System.out.println("\n本次消费单信息如下:");
float sum = price[index] * num;//每个商品的总金额=价格*数量
System.out.println(productName[index]+"\t\t¥"+price[index]+"\t\t¥"+sum);
ProductManager pm = new ProductManager();
pm.setProductName(productName[index]);
pm.setPrice(price[index]);
pm.setNumber(num);
buyList.add(pm);
}
System.out.println("\n是否继续输入购买数量(y/n):");
answer =sc.next().trim();
}while(answer.equals("y") || answer.equals("Y"));
}else{
System.out.println("\n您选择的商品不存在!请选择正确的商品编号!");
}
System.out.println("\n是否继续选择购买的商品编号(y/n):");
answer =sc.next().trim();
}while(answer.equals("y") || answer.equals("Y"));
//是否购买了商品
if(buyList.size()>0){
System.out.println("\n* * * * * * * * * * * 购买商品消费单 * * * * * * * * * * *\n");
float allMoney = 0;//所有消费金额
System.out.println("购买商品\t\t单价\t\t数量\t\t金额");
for(int i=0;i<buyList.size();i++){
ProductManager pm = buyList.get(i);
System.out.println(pm.getProductName()+"\t\t¥"+pm.getPrice()+"\t\t"+pm.getNumber()+"\t\t¥"+pm.getPrice()*pm.getNumber());
allMoney += pm.getPrice()*pm.getNumber();//累加
}
System.out.println("\n金额总计:"+allMoney);
System.out.println("\n填写支付信息:");
//将消费信息更新到数据库
System.out.println("请输入会员号:");
String customerNo = sc.next().trim();
System.out.println("请输入密码:");
String customerPwd = sc.next().trim();
int score = calScore(allMoney);//得到本次消费的积分
CustomerDAO customerDao = new CustomerDAO();
//根据会员号和密码查询客户信息,查看余额是否足够
CustomerManager customer = customerDao.selectByCustomerNoPwd(customerNo, customerPwd);
if(customer.getBalance() > allMoney){//如果余额足够,才能进行购物
if(customerDao.calBuyProduct(customerNo, customerPwd, allMoney, score, num, id)){
System.out.println("\n购物成功!本次购物所获得的积分是:"+score);
}else{
System.out.println("\n购买商品失败!");
}
}else{
System.out.println("\n对不起!您的余额不足。");
}
}
returnBuyProductFirstMenu();//调用返回上一级菜单方法
}
/*
* 优惠活动,当购物超过一定的金额时,给予优惠。
*/
public void buyCheapenProduct(){
System.out.println("\n* * * * * * * * * * * * * * * * * * * * * * * * * * * * *");
System.out.println("迷你青春购物系统 >> 购物信息管理 >> 优惠活动");
System.out.println("* * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n");
int [] productId; //用于存储商品的编号
String [] productName;//用于存储商品的名称
float [] price;//用于存储商品的价格
int [] number;//用于存储商品的现有数量
//显示所有商品
ProductDAO productDao = new ProductDAO();
ArrayList<ProductManager> lst = productDao.select();
//判断是否还有商品
if(lst.size() == 0){
System.out.println("商品已全部售完,请下次再来。");
returnBuyProductFirstMenu();//调用返回上一级菜单方法
return;
}
//初始化数组大小,数组的长度与查出的信息记录数相等
productId = new int[lst.size()];
productName = new String[lst.size()];
price = new float[lst.size()];
number = new int[lst.size()];
System.out.println("商品编号\t\t商品名称\t\t价格\t\t数量\t");
System.out.println("----------|--------------|--------------|--------------\n");
for(int i=0;i<lst.size();i++){
ProductManager pm = lst.get(i);
System.out.println(pm.getProductId()+"\t\t"+pm.getProductName()+"\t\t¥"+pm.getPrice()+"\t\t"+pm.getNumber());
productId[i] = pm.getProductId();//将所有商品的编号存入数组中
productName[i] = pm.getProductName();//将所有商品的名称存入数组中
price[i] = pm.getPrice();//将所有商品的价格存入数组中
number[i] = pm.getNumber();//将所有商品的现有数量存入数组中
}
Scanner sc = new Scanner(System.in);
String answer="";
int id = 0;//购买商品的编号
int num = 0;//购买的数量
ArrayList<ProductManager> buyList = new ArrayList<ProductManager>();//购买的商品列表
do{
System.out.println("\n请选择购买的商品编号:");
id = sc.nextInt();
//查找输入的商品编号是否存在
boolean flag = false;
int index = 0;//该商品的下标
for(int j=0;j<productId.length;j++){
//如果商品编号存在,就停止循环
if(productId[j] == id){
flag = true;
index = j;
break;
}
}
//如果商品编号存在,才能添加商品
if(flag){
do{
System.out.println("请输入购买的数量:");
num = sc.nextInt();
//判断输入的数量是否大于商品现存的数量
if(num > number[index]){
System.out.println("\n该商品数量已不足!请重新输入数量!");
}else if(num<=0){
System.out.println("商品数量必须大于0!");
}else{
System.out.println("\n本次消费单信息如下:");
float sum = price[index] * num;//每个商品的总金额=价格*数量
System.out.println(productName[index]+"\t\t¥"+price[index]+"\t\t¥"+sum);
ProductManager pm = new ProductManager();
pm.setProductName(productName[index]);
pm.setPrice(price[index]);
pm.setNumber(number[index]);
buyList.add(pm);
}
Syste
Java迷你青春购物系统
需积分: 32 139 浏览量
2018-09-10
09:59:35
上传
评论 15
收藏 815KB RAR 举报
qq_40978448
- 粉丝: 2
- 资源: 3
最新资源
- stm32 usb接口通信
- Chessmate是一款完全免费的国际象棋学习软件,支持引擎分析,学开局、残局、棋书解读、大数据分析等功能
- 总结整理的Android面试Java基础知识点面试资料精编汇总文档资料合集.zip
- .android_lq
- FDN5632N-VB一款SOT23封装N-Channel场效应MOS管
- 毛老板-2404250902.amr
- Java类加载流程(双亲委派)流程图.zip
- FDN5632-NL-VB一款SOT23封装N-Channel场效应MOS管
- 新目标大学英语(第二版)视听说教程 第1册 Unit 4 TOP课件.zip
- 自动驾驶-状态估计和定位之Error State EKF.pdf
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈