本基于Spring+mybatis+Mysql实现蛋糕店收银管理系统,系统采用多层B/S软件架构,采用Java 编程语言开发技术实现针对商店入座点餐管理,菜单管理、用户线上点餐,线上结算等功能。
一、程序设计
本次基于Spring+mybatis+Mysql实现蛋糕店收银管理系统,主要内容涉及:
主要功能模块:在线点餐、菜单管理,用户管理,在线结算,收银管理,系统管理,数据可视化分析等等
主要包含技术:Java编程语言,spring,mybatis,mysql,html,javascript,echarts,vue.js
主要包含算法:数据分析计算等
二、效果实现
系统演示
其他效果省略
三、核心代码
1.订单结算
本系统订单结算模块,主要采用前端发起Ajax请求,对当前座位用户所有消费商品,进行结算,计算所有商品总价及折扣后的总价,录入系统Mysql数据库中等。
public Object pay(Deskbill deskBill) {
deskBill.setBillCode(BillCodeUtil.getBillCode());// 设置账单编号为当前毫秒数
deskBillService.addDeskBill(deskBill);//添加账单
int deskBillId=deskBill.getId();//得到本次账单的id
int deskId=deskBill.getDeskId();//得到该账单所属的桌位id
Desk desk=deskService.getDeskById(deskId+"");//查询该ID的桌位
String deskCode=desk.getDeskCode();//得到桌位编号
//从缓存取出菜单列表,并且遍历账单列表一条一条插入账单详情
List<DeskInfo_detail> deskDishes=redisUtil.getList(deskCode);//取出菜单列表
if(deskDishes!=null){
for (DeskInfo_detail deskInfo_detail : deskDishes) {
if(deskInfo_detail.getDrinkBillCode()!=null && !deskInfo_detail.getDrinkBillCode().equals("")){//增加销售信息
deskBillService.sellDrink(deskInfo_detail.getDrinkBillCode(),deskInfo_detail.getDishNum());
}
deskInfo_detail.setDeskBillId(deskBillId);
deskBillService.addDeskBillDetail(deskInfo_detail);
}
//滞空桌位号码,删除缓存内数据
redisUtil.del(deskCode);//删除缓存数据
// 3是我前台收银不需要更改状态
if (deskId != 3) {
desk.setStatus(1);
}
desk.setPeopleNum(0);
deskService.updateDesk(desk);
}
return JSON.toJSONString("OK");
}