当前位置: 首页 > news >正文

计算机网站开发职业定位上海注册外贸公司

计算机网站开发职业定位,上海注册外贸公司,沂南网站优化,wordpress 更新数据库目录 删除套餐 需求分析和设计 代码开发 根据id查询套餐 mapper层 Service层 ServiceImpl层 Mapper层 批量删除套餐 mapper层 Service层 ServiceImpl层 Mapper层 SetmealMapper.xml 修改套餐 需求分析和设计 代码开发 起售停售套餐 需求分析和设计 代码开发…

目录

删除套餐

需求分析和设计

代码开发

根据id查询套餐

mapper层

Service层

ServiceImpl层

Mapper层

批量删除套餐

mapper层

Service层

ServiceImpl层

Mapper层

 SetmealMapper.xml

修改套餐

需求分析和设计

代码开发

起售停售套餐

需求分析和设计

代码开发


   
1--苍穹外卖-SpringBoot项目介绍及环境搭建 详解-CSDN博客

2--苍穹外卖-SpringBoot项目中员工管理 详解(一)-CSDN博客

3--苍穹外卖-SpringBoot项目中员工管理 详解(二)-CSDN博客

4--苍穹外码-SpringBoot项目中分类管理 详解-CSDN博客

5--苍穹外卖-SpringBoot项目中菜品管理 详解(一)-CSDN博客

6--苍穹外卖-SpringBoot项目中菜品管理 详解(二)-CSDN博客

7--苍穹外卖-SpringBoot项目中套餐管理 详解(一)-CSDN博客

8--苍穹外卖-SpringBoot项目中套餐管理 详解(二)-CSDN博客

9--苍穹外卖-SpringBoot项目中Redis的介绍及其使用实例 详解-CSDN博客

10--苍穹外卖-SpringBoot项目中微信登录 详解-CSDN博客

删除套餐

需求分析和设计

业务规则:

  • 可以一次删除一个套餐,也可以批量删除套餐

  • 起售中的套餐不能删除

  • 删除套餐后,菜品的关联数据也需要删除掉

代码开发

根据id查询套餐

mapper层
 //根据id查询套餐@GetMapping("/{id}")@ApiOperation("根据id查询套餐")public Result<SetmealVO> getById(@PathVariable Long id){log.info("根据id查询套餐:{}",id);SetmealVO setmealVO=setmealService.getByIdWithDish(id);return Result.success(setmealVO);}
Service层
 //根据id查询套餐SetmealVO getByIdWithDish(Long id);
ServiceImpl层
//根据id查询套餐@Overridepublic SetmealVO getByIdWithDish(Long id) {Setmeal setmeal=setmealMapper.getById(id);List<SetmealDish> setmealDishes=setmealDishMapper.getDishId(id);SetmealVO setmealVO = new SetmealVO();BeanUtils.copyProperties(setmeal,setmealVO);setmealVO.setSetmealDishes(setmealDishes);return setmealVO;}
Mapper层
//根据id查询套餐@Select("select *from setmeal where id=#{id}")Setmeal getById(Long id);
 //根据id查询对应的菜品数据@Select("select *from setmeal_dish where setmeal_id=#{dishId}")List<SetmealDish> getDishId(Long dishId);

批量删除套餐

mapper层
//批量删除套餐@DeleteMapping@ApiOperation("批量删除套餐")public Result<String> delete(@RequestParam List<Long> ids){log.info("批量删除套餐:{}",ids);setmealService.deleteBatch(ids);return Result.success();}
Service层
//批量删除套餐void deleteBatch(List<Long> ids);
ServiceImpl层
//批量删除套餐@Override@Transactionalpublic void deleteBatch(List<Long> ids) {for (Long id:ids){Setmeal setmeal=setmealMapper.getById(id);if (Objects.equals(setmeal.getStatus(), StatusConstant.ENABLE)) {throw new DeletionNotAllowedException(MessageConstant.SETMEAL_ON_SALE);}}setmealMapper.deleteByIds(ids);setmealMapper.deleteByDishIds(ids);}
Mapper层
 //根据id集合批量删除套餐数据void deleteByIds(List<Long> ids);//根据id集合批量删除套餐关联的菜品数据void deleteByDishIds(List<Long> ids);
 SetmealMapper.xml
<delete id="deleteByIds">
delete from setmeal where id in<foreach collection="ids" open="(" separator="," close=")" item="id">#{id}</foreach></delete><delete id="deleteByDishIds">delete from setmeal_dish where setmeal_id in <foreach collection="dishIds" open="(" close=")" separator="," item="dishId">#{dishId}</foreach></delete>

修改套餐

需求分析和设计

代码开发

Controller层

//修改套餐@PutMapping@ApiOperation("修改套餐")public Result<String> update(@RequestBody SetmealDTO setmealDTO){log.info("修改套餐:{}",setmealDTO);setmealService.update(setmealDTO);return Result.success();}

Service层

 //修改套餐void update(SetmealDTO setmealDTO);

ServiceImpl层

//修改套餐@Overridepublic void update(SetmealDTO setmealDTO) {Setmeal setmeal = new Setmeal();BeanUtils.copyProperties(setmealDTO,setmeal);setmealMapper.update(setmeal);setmealDishMapper.deleteByDishId(setmealDTO.getId());List<SetmealDish> setmealDishes = setmealDTO.getSetmealDishes();if(setmealDishes!=null&&!setmealDishes.isEmpty()){setmealDishes.forEach(setmealDish -> {setmealDish.setSetmealId(setmealDTO.getId());});setmealDishMapper.insertBatch(setmealDishes);}}

Mapper层

//根据id动态修改套餐数据@AutoFill(value = OperationType.UPDATE)void update(Setmeal setmeal);
  //根据套餐id删除对应的菜品数据@Delete("delete from setmeal_dish where setmeal_id=#{dishId}")void deleteByDishId(Long dishId);

SetmealMapper.xml

 <update id="update">update dish<set><if test="name!=null">name=#{name},</if><if test="categoryId!=null">category_id=#{categoryId},</if><if test="price!=null">price=#{price},</if><if test="image!=null">image=#{image},</if><if test="description!=null">description=#{description},</if><if test="status!=null">status=#{status},</if><if test="updateTime!=null">update_time=#{updateTime},</if><if test="updateUser!=null">update_user=#{updateUser},</if></set>where id=#{id}</update>

起售停售套餐

需求分析和设计

业务规则:

  • 可以对状态为“启售” 的套餐进行“停售”操作
  • 可以对状态为“停售”的套餐进行“启售”操作
  • 状态为“停售”的套餐不在前台展示

代码开发

Controller层

  //起售禁售套餐@PostMapping("/status/{status}")@ApiOperation("起售禁售套餐")public Result<String> startOrStop(@PathVariable Integer status,Long id){log.info("起售禁售套餐:{},{}",status,id);setmealService.startOrStop(status,id);return Result.success();}

Service层

 //起售禁售套餐void startOrStop(Integer status, Long id);

ServiceImpl层

  //起售禁售套餐@Overridepublic void startOrStop(Integer status, Long id) {Setmeal setmeal = Setmeal.builder().status(status).id(id).build();setmealMapper.update(setmeal);}
http://www.yayakq.cn/news/38748/

相关文章:

  • 专业的网站设计网络国外企业网站设计欣赏
  • 公司网站建设的会计分录品牌推广公司是做什么的
  • 企业形象网站开发业务范畴如何用html做网站
  • 全站仪快速建站垂直 网站开发
  • 做网站需要工商执照吗网站建设 企炬江阴
  • 简单网站建设视频教程下载网站制作首先
  • 吴忠市建设局官方网站栾城住房和城乡建设局网站
  • 电子商务网站建设与管理课程的目的宁波男科医院哪家比较好
  • 烟台网站seo服务梵克雅宝手链
  • 口碑好的盐城网站建设wordpress 企业主页
  • 我想建立个网站怎么弄中建设计集团网站
  • 汤姆叔叔官方网站建设河南建设信息港网站查询
  • 张家港网站设计制作早晨设计myeclipse做网站的步骤
  • 怎么提高网站响应速度婚纱摄影网站的设计思路
  • 如何做微网站免费做网站哪里有
  • 网站建设与管理logo福州网站建设设计公司
  • 免费发布产品网站成都装修设计公司排名
  • 网站自动更新时间代码有免费的微网站是什么
  • 淄博周村网站建设公司设计师应该知道的网站
  • 娱乐网站模板网站开发毕业设计
  • 福田区住房和建设局网站手机代理
  • 宁波企业网站优化推广高端网站开发设计简介
  • 惠州网站建设领头羊校园官方网站如何制作
  • 福州网站开发私人泰安网站制作推广
  • 网站建设运营的灵魂是wordpress媒体库2m
  • 织梦网站地图模板样式网址百度刷排名
  • 垂直网站 开源码wordpress安装配置文件
  • 网站开发时间计划做整个网站静态页面多少钱
  • 有趣网站建设无聊微信网站协议书
  • 兰州市城乡建设局网站通知公告成都网站建设公司司