From d0f8732a1e4c275301b53c49ee8f00727651491e Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期五, 27 九月 2024 19:49:34 +0800 Subject: [PATCH] 修改接口 --- ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TGoodsController.java | 64 +++++++++++++++++++++++++++++--- 1 files changed, 58 insertions(+), 6 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TGoodsController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TGoodsController.java index 2bf55d3..07630cd 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TGoodsController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TGoodsController.java @@ -1,12 +1,15 @@ package com.ruoyi.web.controller.api; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.ruoyi.common.basic.PageInfo; import com.ruoyi.common.core.domain.AjaxResult; -import com.ruoyi.system.domain.TGoods; +import com.ruoyi.common.utils.CodeGenerateUtils; +import com.ruoyi.common.utils.bean.BeanUtils; +import com.ruoyi.framework.web.service.TokenService; +import com.ruoyi.system.domain.*; import com.ruoyi.system.query.TGoodsQuery; -import com.ruoyi.system.service.TGoodsService; -import com.ruoyi.system.service.TGoodsService; +import com.ruoyi.system.service.*; import com.ruoyi.system.vo.TGoodsVO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -14,6 +17,7 @@ import org.springframework.web.bind.annotation.*; import java.util.List; +import java.util.Objects; /** * <p> @@ -29,10 +33,20 @@ public class TGoodsController { private final TGoodsService goodsService; + private final TGoodsTypeService goodsTypeService; + private final TokenService tokenService; + private final TOrderStockGoodsService orderStockGoodsService; + private final TOrderSaleGoodsService orderSaleGoodsService; + private final TOrderMealGoodsService orderMealGoodsService; @Autowired - public TGoodsController(TGoodsService goodsService) { + public TGoodsController(TGoodsService goodsService, TGoodsTypeService goodsTypeService, TokenService tokenService, TOrderStockGoodsService orderStockGoodsService, TOrderSaleGoodsService orderSaleGoodsService, TOrderMealGoodsService orderMealGoodsService) { this.goodsService = goodsService; + this.goodsTypeService = goodsTypeService; + this.tokenService = tokenService; + this.orderStockGoodsService = orderStockGoodsService; + this.orderSaleGoodsService = orderSaleGoodsService; + this.orderMealGoodsService = orderMealGoodsService; } /** @@ -41,6 +55,10 @@ @ApiOperation( value = "查询商品管理分页列表") @PostMapping(value = "/pageList") public AjaxResult<PageInfo<TGoodsVO>> pageList(@RequestBody TGoodsQuery query) { + Integer roleType = tokenService.getLoginUser().getRoleType(); + if(roleType != 1){ + query.setShopId(tokenService.getLoginUser().getObjectId()); + } return AjaxResult.success(goodsService.pageList(query)); } @@ -50,6 +68,8 @@ @ApiOperation( value = "添加商品管理") @PostMapping(value = "/add") public AjaxResult<Boolean> add(@RequestBody TGoods dto) { + dto.setShopId(tokenService.getLoginUser().getObjectId()); + dto.setGoodsNum(CodeGenerateUtils.generateVolumeSn()); return AjaxResult.success(goodsService.save(dto)); } @@ -59,6 +79,24 @@ @ApiOperation( value = "修改商品管理") @PostMapping(value = "/update") public AjaxResult<Boolean> update(@RequestBody TGoods dto) { + // 判断是否修改了名称 + TGoods goods = goodsService.getById(dto.getId()); + if(!goods.getGoodsName().equals(dto.getGoodsName())){ + List<TOrderStockGoods> orderStockGoods = orderStockGoodsService.list(Wrappers.lambdaQuery(TOrderStockGoods.class) + .eq(TOrderStockGoods::getGoodsNum, goods.getGoodsNum())); + orderStockGoods.stream().forEach(tOrderStockGoods -> tOrderStockGoods.setGoodsName(dto.getGoodsName())); + orderStockGoodsService.updateBatchById(orderStockGoods); + + List<TOrderMealGoods> orderMealGoods = orderMealGoodsService.list(Wrappers.lambdaQuery(TOrderMealGoods.class) + .eq(TOrderMealGoods::getGoodsNum, goods.getGoodsNum())); + orderMealGoods.stream().forEach(tOrderMealGoods -> tOrderMealGoods.setGoodsName(dto.getGoodsName())); + orderMealGoodsService.updateBatchById(orderMealGoods); + + List<TOrderSaleGoods> list = orderSaleGoodsService.list(Wrappers.lambdaQuery(TOrderSaleGoods.class) + .eq(TOrderSaleGoods::getGoodsNum, goods.getGoodsNum())); + list.stream().forEach(tOrderSaleGoods -> tOrderSaleGoods.setGoodsName(dto.getGoodsName())); + orderSaleGoodsService.updateBatchById(list); + } return AjaxResult.success(goodsService.updateById(dto)); } @@ -67,8 +105,15 @@ */ @ApiOperation( value = "查看商品管理详情") @GetMapping(value = "/getDetailById") - public AjaxResult<TGoods> getDetailById(@RequestParam("id") Long id) { - return AjaxResult.success(goodsService.getById(id)); + public AjaxResult<TGoodsVO> getDetailById(@RequestParam("id") Long id) { + TGoods goods = goodsService.getById(id); + TGoodsVO tGoodsVO = new TGoodsVO(); + BeanUtils.copyProperties(goods, tGoodsVO); + TGoodsType goodsType = goodsTypeService.getById(goods.getTypeId()); + if(Objects.nonNull(goodsType)){ + tGoodsVO.setTypeName(goodsType.getTypeName()); + } + return AjaxResult.success(tGoodsVO); } /** @@ -77,6 +122,13 @@ @ApiOperation( value = "删除商品管理") @DeleteMapping(value = "/deleteById") public AjaxResult<Boolean> deleteById(@RequestParam("id") Long id) { + TGoods goods = goodsService.getById(id); + long count = goodsService.count(Wrappers.lambdaQuery(TGoods.class) + .eq(TGoods::getTypeId, goods.getTypeId()) + .ne(TGoods::getId,id)); + if(count == 0){ + return AjaxResult.error("当前菜品所属分类下至少保留一种菜品"); + } return AjaxResult.success(goodsService.removeById(id)); } -- Gitblit v1.7.1