package controller; import com.alibaba.fastjson.JSON; import org.apache.commons.io.FilenameUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.servlet.ModelAndView; import pojo.Dish; import pojo.Pager; import pojo.dish.Dishes; import service.dish.DishService; import tools.BillCodeUtil; import tools.PagerTools; import tools.RedisUtil; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.List; @Controller public class DishController { @Autowired private DishService dishService; @Resource(name = "redisUtil") private RedisUtil redisUtil; @ResponseBody @RequestMapping(value = "/addDish.do", produces = "application/json;charset=utf-8") public Object addDish(Dish dish, @RequestParam(required = false) MultipartFile file, HttpServletRequest request) { boolean addFlag = false;//添加标记 String fifleFlag = null;//文件上传状态标记 System.out.println("addDish~~~~~~~~~~~~~~~~~~~~~~~"); System.out.println("~~~~~~~~~~~~~~~~~~~dishName:" + dish.getDishName()); if (!file.isEmpty()) { String path = request.getSession().getServletContext().getRealPath("assets" + File.separator + "img");//获取/statics/upload的地址 System.out.println("存储地址:" + path); String oldFileName = file.getOriginalFilename();//获取原文件名 System.out.println("原文件名:" + oldFileName); String newFileName = BillCodeUtil.getBillCode() + "_"+oldFileName;//新文件名 String prefix = FilenameUtils.getExtension(oldFileName);//获取文件后缀,对后缀进行判断,过滤不符合条件的文件 System.out.println("~~~文件类型:" + prefix + "~~~"); System.out.println("~~~文件大小:" + file.getSize() + "~~~"); if ("jpg".equals(prefix) || "JPG".equals(prefix)) { System.out.println("~~~文件类型验证通过~~~"); if (file.getSize() < PagerTools.maxFileSize) { System.out.println("~~~~~~~~~文件大小验证通过~~~~~~~~~~~"); try { file.transferTo(new File(path + File.separator +newFileName)); System.out.println("上传成功"); dish.setFileName(newFileName);//将新文件名保存在对象中 addFlag = dishService.addDish(dish);//添加至数据库 System.out.println("菜品" + dish.getDishName() + "添加成功"); } catch (IllegalStateException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } else { fifleFlag = "图片不能大于500KB"; } } else { fifleFlag = "请上传JPG格式图片"; } } if (addFlag) {//添加成功时 //刷新缓存 redisUtil.del("allDishes"); return JSON.toJSONString("OK"); } else { return "{'fifleFlag':'" + fifleFlag + "'}"; } } //ajax验证菜品名是否存在 @ResponseBody @RequestMapping("/dishNameIsExist.do") public Object dishNameIsExist(@RequestParam(required = false) String dishName) { boolean existFlag = false; if (dishName != "" && dishName != null) { existFlag = dishService.isExist(dishName); } if (existFlag) { return JSON.toJSONString("0");//存在该菜品 } return JSON.toJSONString("1");//不存在该菜品 } //加载菜品列表 @ResponseBody @RequestMapping("/dishList.do") public ModelAndView dishList(Pager pager, ModelAndView modelAndView, @RequestParam(required = false) String dishName) { if (dishName == null || "".equals(dishName)) {//如果没有输入查询名字则当作opr=allDish pager.setOpr("allDish"); } modelAndView.setViewName("/daily/dish/dishList"); Dishes dishes = Dishes.getDishes(); pager.setPageSize(PagerTools.delDishListPagerSize); if (dishes.getAllDishCount() == 0) { if(redisUtil.getList("allDishes")==null){ redisUtil.addList("allDishes",dishService.getDish()); } dishes.setAllDish(redisUtil.getList("allDishes")); } pager.setTotalCount(dishes.getAllDishCount()); if ("serchDish".equals(pager.getOpr())) {//优先查询 pager.setPageSize(dishes.getAllDishCount());//搜索时把所有菜品全部查出 System.out.println("~~~~~~~~~~~~~~~~~~~~~~" + dishName); } pager.count(); List<Dish> list = dishes.getAllDish(pager); if ("serchDish".equals(pager.getOpr())) {//优先查询 List<Dish> serchList = new ArrayList<Dish>(); if (dishName != null && !"".equals(dishName)) { System.out.println("~~~~~~~~查找相同菜品的数据~~~~~~~~~~"); for (Dish dish : list) { if(dish.getDishName().contains(dishName)){ System.out.println("~~~~~~~~~~~找到与"+dishName+"相似的菜品~~~~~~~~~~~"); serchList.add(dish); } } pager.setList(serchList); } } else { pager.setList(list); } modelAndView.addObject("pager", pager); return modelAndView; } //ajax删除菜品 @ResponseBody @RequestMapping("/delDishFromMenu.do") public Object delDish(@RequestParam(required = false)String id){ System.out.println("~~~~~~~~~~~~~~开始删除Dish~~~~~~~~~~~~~~~"); boolean delFlag=false; System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~id="+id); if(id!=null && !"".equals(id)){ System.out.println("~~~~~~~~~~~~~~~进入删除~~~~~~~~~~~~~~~~"); delFlag=dishService.delDishById(id); } if(delFlag){//删除成功 System.out.println("~~~~~~~~~~~~~~删除Dish成功~~~~~~~~~~~~~~~"); redisUtil.del("allDishes");//刷新redis Dishes.getDishes().setAllDish(null);//刷新单例 return JSON.toJSONString(0);//删除成功 } return JSON.toJSONString(1);//删除失败 } }
最近下载更多
lilong007 LV22
2023年12月30日
xiongwei11231 LV8
2023年5月25日
604183463 LV2
2023年2月28日
阳光12345 LV3
2023年1月11日
LITIANYU084414 LV11
2022年12月29日
ZYK123321 LV2
2022年12月1日
见不远万里 LV6
2022年11月23日
ttppbb LV4
2022年10月15日
qwer123546 LV13
2022年9月28日
123456mg LV3
2022年5月15日