package controller;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import javax.sound.midi.Soundbank;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import com.alibaba.fastjson.JSON;
import dao.dish.DishMapper;
import org.springframework.web.servlet.ModelAndView;
import pojo.*;
import pojo.dish.Dishes;
import pojo.DeskPager;
import pojo.Pager;
import service.desk.DeskService;
import tools.PagerTools;
import tools.RedisUtil;
@Controller
public class DeskController {
@Autowired
private DeskService deskService;
@Resource(name="redisUtil")
private RedisUtil redisUtil;
@Autowired
private DishMapper dishMapper;
//显示桌位列表页面
@RequestMapping(value="/desklist.html")
public String showDeskList(Model model, HttpSession session, @RequestParam(required=false)String show){
if(session.getAttribute("user")==null){//权限控制
return "redirect:login.html";
}
List<Desk> desks=deskService.getDesks();
model.addAttribute("desks", desks);
if(!"desk".equals(show)){
return "redirect:desklist.html?show=desk";
}else{
return "/desk/desklist";
}
}
//桌位详情页面
@RequestMapping(value="/deskinfo.html")
public String showDeskInfo(@RequestParam(required=false)String id,Model model,HttpSession session){
if(session.getAttribute("user")==null){//权限控制
return "redirect:login.html";
}
Desk desk=null;
int status=0;
String deskCode=null;
if(id!=null && id!=""){
desk=deskService.getDeskById(id);
}
if(desk!=null){
status=desk.getStatus();
deskCode=desk.getDeskCode();
}
if(status==1){//如果桌位状态为空
if(deskCode!=null && deskCode!=""){//传过来的桌位编号不为空时
redisUtil.del(deskCode);//删除缓存内的桌位菜单信息
}
}else if(status==2){//如果桌位状态为未买单
if(deskCode!=null && deskCode!=""){//传过来的桌位编号不为空时
List<DeskInfo_detail> deskDish=redisUtil.getList(deskCode);//从缓存取出当前桌位的点菜信息
Double totalMoney=0.0;//总计
if (deskDish==null || deskDish.size()==0) {
deskDish=new ArrayList<DeskInfo_detail>();
redisUtil.addList(deskCode, deskDish);
}
for (int i = 0; i < deskDish.size(); i++) {
if(deskDish.get(i).getCost()!=null){
totalMoney+=deskDish.get(i).getCost();
}
}
model.addAttribute("totalMoney", totalMoney);
model.addAttribute("deskDish", deskDish);
}
}
List dishes=redisUtil.getList("allDishes");//先从缓存中查询
if(dishes == null || dishes.size()==0){//如果缓存中没有则从数据库查
dishes=dishMapper.getDish();
redisUtil.addList("allDishes",dishes);
}
Dishes dishesUtil=Dishes.getDishes();//菜单工具类
dishesUtil.setAllDish(dishes);//将查询出来的菜品放在工具类中
dishesUtil.count();//格式化菜品(分类)
//session.setAttribute("dishUtil",dishesUtil);
model.addAttribute("desk", desk);
return "/desk/deskinfo";
}
//ajax点菜
@RequestMapping("/selectDish.do")
@ResponseBody
public Object selectDish(DeskInfo_detail deskInfo_detail,@RequestParam(required=false)String deskCode){
List<DeskInfo_detail> deskDish=redisUtil.getList(deskCode);
if(deskDish==null){
deskDish=new ArrayList<DeskInfo_detail>();
System.out.println("------------------------------新建桌位号"+deskCode+"菜单列表------------------------------");
}
boolean addFlag=true;//标记是否有相同的菜品,默认为true表名不存在相同菜名
for (int i = 0; i < deskDish.size(); i++) {
if(deskDish.get(i).getDishName().equals(deskInfo_detail.getDishName())){//如果存在相同的菜品
int oldNum=deskDish.get(i).getDishNum();//得到原来的数目
String newContent=deskInfo_detail.getContent();
int newNum=oldNum+deskInfo_detail.getDishNum();//将新添加的数目和原来的数目相加得到新数目
deskDish.get(i).setDishNum(newNum);//修改数目
deskDish.get(i).setCost(newNum*deskDish.get(i).getPrice());//修改小计
deskDish.get(i).setContent(newContent);
addFlag=false;//存在相同的,将标记设置为false
break;
}
}
if(addFlag){//如果不存在相同的菜品,addFlag的值为true
deskDish.add(deskInfo_detail);
}
redisUtil.addList(deskCode, deskDish);//更新缓存
return JSON.toJSONString(deskDish);
}
//更改桌位状态
@RequestMapping("/changeStatus.do")
@ResponseBody
public Object changeDeskStatus(Desk desk){
boolean flag=false;
if(desk!=null){
if(desk.getStatus()!=null && desk.getStatus()!=2 ){
desk.setStatus(2);
flag=deskService.updateDeskStatus(desk);
}else{
return JSON.toJSONString("OK");
}
}
if(flag){
return JSON.toJSONString("OK");
}else{
return JSON.toJSONString("NO");
}
}
//更改桌位
@RequestMapping("/changeDesk.do")
@ResponseBody
public Object changeDesk(Desk desk){
boolean flag=deskService.updateDesk(desk);
String str="";
if(flag){
str="true";
}else{
str="false";
}
return JSON.toJSONString(str);
}
//更改菜品
@RequestMapping("/updateDish.do")
@ResponseBody
public Object updateDish(DeskInfo_detail deskInfo_detail,@RequestParam(required=false)String deskCode){
List<DeskInfo_detail> deskDish=redisUtil.getList(deskCode);
for (int i = 0; i < deskDish.size(); i++) {
if(deskDish.get(i).getDishName().equals(deskInfo_detail.getDishName())){//找到相同的菜品
String newContent=deskInfo_detail.getContent();//得到新的备注
int newNum=deskInfo_detail.getDishNum();//得到修改过后的数目
deskDish.get(i).setDishNum(newNum);//修改数目
deskDish.get(i).setCost(newNum*deskDish.get(i).getPrice());//修改小计
deskDish.get(i).setContent(newContent);//修改备注
redisUtil.addList(deskCode, deskDish);//更新缓存
break;
}
}
return JSON.toJSONString(deskDish);
}
//删除菜品
@RequestMapping("/delDish.do")
@ResponseBody
public Object delDish(DeskInfo_detail deskInfo_detail,@RequestParam(required=false)String deskCode){
List<DeskInfo_detail> deskDish=redisUtil.getList(deskCode);
for (int i = 0; i < deskDish.size(); i++) {
if(deskDish.get(i).getDishName().equals(deskInfo_detail.getDishName())){//找到相同的菜品
deskDish.remove(i);//删除该菜品
redisUtil.addList(deskCode, deskDish);//更新缓存
break;
}
}
return JSON.toJSONString(deskDish);
}
@ResponseBody
@RequestMapping("/alldish.do")
public ModelAndView showAlldish(ModelAndView modelAndView,
Pager pager
){
Dishes dishes=Dishes.getDishes();
if("allDish".equals(pager.getOpr())){
pager.setTotalCount(dishes.getAllDishCount());
pager.setPageSize(PagerTools.dishMenuPagerSize);
pager.count();
List<Dish> list=dishes.getAllDish(pager);
pager.setList(list);
}else if("soup".equals(pager.getOpr())){
pager.setTotalCount(dishes.getSoupsCount());
pager.setPageSize(PagerTools.dishMenuPagerSize);
pager.count();
List<Dish> list=dishes.getSoups(pager);
pager.setList(list);
}else if("fry".equals(pager.getOpr())){
pager.setTotalCount(dishes.getFrysCount());
pager.setPageSize(PagerTools.dishMenuPagerSize);
pager.count();
List<Dish> list=dishes.getFrys(pager);
pager.setList(list);
}else if("other".equals(pager.getOpr())){
pager.setTotalCount(dishes.getOthersCount());
pager.setPageSize(PagerTools.dishMenuPagerSize);
pager.count();
List<Dish> list=dishes.getOthers(pager);
pager.setList(list);
}else if("drink".equals(pager.getOpr())){
pager.setTotalCount(dishes.getDrinksCount());
pager.setPag
没有合适的资源?快使用搜索试试~ 我知道了~
SSM餐厅收银管理系统源码
共176个文件
java:44个
jsp:31个
jar:29个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 6 下载量 19 浏览量
2020-12-24
11:56:57
上传
评论 2
收藏 10.91MB ZIP 举报
温馨提示
主要功能:桌位管理,账单管理,菜单管理,酒水库存等 使用技术:spring mvc,spring,mybatis,redis,里面将一些数据放入到了redis中,里面有数据库文件
资源推荐
资源详情
资源评论
收起资源包目录
SSM餐厅收银管理系统源码 (176个子文件)
bootstrap.css 129KB
font-awesome.css 25KB
datepicker.css 4KB
datepicker.css 3KB
custom.css 3KB
drink.css 368B
WdatePicker.css 149B
daily.css 100B
clearCol.css 0B
fontawesome-webfont.eot 71KB
glyphicons-halflings-regulard41d.eot 20KB
glyphicons-halflings-regular.eot 20KB
img.gif 2KB
img.gif 2KB
datePicker.gif 1KB
My97DatePicker.htm 1KB
restaurant.iml 977B
aspectjweaver-1.6.9.jar 1.59MB
spring-core-3.2.13.RELEASE.jar 865KB
spring-context-3.2.13.RELEASE.jar 848KB
mybatis-3.2.7.jar 696KB
spring-data-redis-1.6.0.RELEASE.jar 683KB
spring-webmvc-3.2.13.RELEASE.jar 626KB
spring-web-3.2.13.RELEASE.jar 617KB
spring-beans-3.2.13.RELEASE.jar 600KB
mysql-connector-java-5.1.0-bin.jar 553KB
jedis-2.9.0.jar 541KB
log4j-1.2.17.jar 478KB
spring-jdbc-3.2.13.RELEASE.jar 396KB
standard.jar 384KB
fastjson-1.2.13.jar 384KB
spring-aop-3.2.13.RELEASE.jar 331KB
commons-lang-2.6.jar 278KB
servlet-api.jar 277KB
spring-tx-3.2.13.RELEASE.jar 237KB
spring-expression-3.2.13.RELEASE.jar 192KB
commons-io-2.4.jar 181KB
commons-dbcp-1.4.jar 157KB
commons-pool2-2.4.2.jar 109KB
commons-pool-1.6.jar 109KB
commons-fileupload-1.3.3.jar 69KB
jsp-api.jar 62KB
commons-logging-1.1.1.jar 59KB
mybatis-spring-1.2.0.jar 48KB
jstl.jar 20KB
aopalliance-1.0.jar 4KB
DeskController.java 10KB
DeskBillController.java 7KB
DishController.java 7KB
DrinkController.java 7KB
Dishes.java 4KB
Drinkbill.java 3KB
UserController.java 3KB
Pager.java 3KB
Deskbill.java 3KB
ProviderServiceImpl.java 3KB
RedisUtil.java 2KB
Provider.java 2KB
BillSummary.java 2KB
User.java 2KB
DeskBillServiceImpl.java 2KB
ProviderService.java 2KB
ProviderMapper.java 2KB
Dish.java 1KB
DeskInfo_detail.java 1KB
DrinkSellBill.java 1KB
DeskServiceImpl.java 1KB
DeskBillMapper.java 1KB
LoginController.java 1KB
DeskBillService.java 1KB
UserServiceImpl.java 1KB
AdviceLog.java 1KB
Desk.java 965B
DeskInfoDetailUtil.java 931B
DeskService.java 916B
DishServiceImpl.java 906B
DeskMapper.java 899B
UserMapper.java 636B
SuplusDrinkBill.java 618B
DateConverter.java 587B
UserService.java 540B
BillSummaryPager.java 534B
PagerTools.java 498B
DishService.java 497B
DrinkBillPager.java 485B
DishMapper.java 480B
DailyController.java 465B
DeskBillPager.java 363B
BillCodeUtil.java 344B
DeskPager.java 294B
hanbao.jpg 7KB
bg.jpg 307B
jquery-1.10.2.js 276KB
highChart.js 192KB
jquery-3.3.1.min.js 85KB
bootstrap.min.js 28KB
deskinfo.js 25KB
userDo.js 20KB
calendar.js 19KB
drink.js 13KB
共 176 条
- 1
- 2
yishuiwuchen
- 粉丝: 104
- 资源: 248
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页