From 8591f6b0f01ead5323c4ab7b24ebdc899802f3e6 Mon Sep 17 00:00:00 2001 From: seesaw Date: Mon, 21 Oct 2024 14:41:06 +0800 Subject: [PATCH] =?UTF-8?q?=E8=8F=9C=E5=93=81=EF=BC=8C=E8=8F=9C=E5=93=81?= =?UTF-8?q?=E5=88=86=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/enums/ErrorCodeConstants.java | 1 + .../controller/app/dishes/vo/AppSaveVO.java | 3 ++ .../controller/app/dishes/vo/AppUpdateVO.java | 3 ++ .../dishestype/DishesTypeAppController.java | 28 +++++++++---------- .../service/dishes/DishesServiceImpl.java | 12 ++++++-- .../dishestype/DishesTypeServiceImpl.java | 16 +++++++++++ 6 files changed, 46 insertions(+), 17 deletions(-) diff --git a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/enums/ErrorCodeConstants.java b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/enums/ErrorCodeConstants.java index 94275721..f79e489f 100644 --- a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/enums/ErrorCodeConstants.java +++ b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/enums/ErrorCodeConstants.java @@ -177,6 +177,7 @@ public interface ErrorCodeConstants { ErrorCode DISHES_EXISTS = new ErrorCode(1_002_030_003, "菜品名重复"); // ========== 菜品关联门店 1-002-032-000 ========== ErrorCode DISHES_TYPE_NOT_EXISTS = new ErrorCode(1_002_032_002, "当前菜品类型不存在"); + ErrorCode DISHES_TYPE_NAME_REPEAT = new ErrorCode(1_002_032_003, "当前菜品名称重复"); // ========== 门店 流水 1_002_033_002 ========== ErrorCode CARTEEN_MONEY_NOT_EXISTS = new ErrorCode(1_002_033_002, "门店流水不存在"); // ========== 门店 流水 1_002_034_002 ========== diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/app/dishes/vo/AppSaveVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/app/dishes/vo/AppSaveVO.java index b21ed59a..d31be66f 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/app/dishes/vo/AppSaveVO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/app/dishes/vo/AppSaveVO.java @@ -31,4 +31,7 @@ public class AppSaveVO { @Schema(description = "时段", example = "早") private String timeSlot; + + @Schema(description = "时段", example = "早") + private Long carteenId; } diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/app/dishes/vo/AppUpdateVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/app/dishes/vo/AppUpdateVO.java index 4d435530..d7e0e732 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/app/dishes/vo/AppUpdateVO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/app/dishes/vo/AppUpdateVO.java @@ -32,4 +32,7 @@ public class AppUpdateVO { @Schema(description = "时段", example = "早") private String timeSlot; + + @Schema(description = "门店", example = "早") + private Long carteenId; } diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/app/dishestype/DishesTypeAppController.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/app/dishestype/DishesTypeAppController.java index 8922fbeb..cb80c6a4 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/app/dishestype/DishesTypeAppController.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/app/dishestype/DishesTypeAppController.java @@ -37,20 +37,18 @@ public class DishesTypeAppController { @Resource private DishesTypeService dishesTypeService; -// @PostMapping("/create") -// @Operation(summary = "创建菜品分类") -// @PreAuthorize("@ss.hasPermission('t:dishes-type:create')") -// public CommonResult createDishesType(@Valid @RequestBody DishesTypeSaveReqVO createReqVO) { -// return success(dishesTypeService.createDishesType(createReqVO)); -// } -// -// @PutMapping("/update") -// @Operation(summary = "更新菜品分类") -// @PreAuthorize("@ss.hasPermission('t:dishes-type:update')") -// public CommonResult updateDishesType(@Valid @RequestBody DishesTypeSaveReqVO updateReqVO) { -// dishesTypeService.updateDishesType(updateReqVO); -// return success(true); -// } + @PostMapping("/create") + @Operation(summary = "创建菜品分类") + public CommonResult createDishesType(@Valid @RequestBody DishesTypeSaveReqVO createReqVO) { + return success(dishesTypeService.createDishesType(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新菜品分类") + public CommonResult updateDishesType(@Valid @RequestBody DishesTypeSaveReqVO updateReqVO) { + dishesTypeService.updateDishesType(updateReqVO); + return success(true); + } // // @DeleteMapping("/delete") // @Operation(summary = "删除菜品分类") @@ -92,4 +90,6 @@ public class DishesTypeAppController { // BeanUtils.toBean(list, DishesTypeRespVO.class)); // } + + } \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/dishes/DishesServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/dishes/DishesServiceImpl.java index cdf407df..75b3c41c 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/dishes/DishesServiceImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/dishes/DishesServiceImpl.java @@ -113,8 +113,10 @@ public class DishesServiceImpl implements DishesService { DishesDO dishes = BeanUtils.toBean(vo, DishesDO.class); dishes.setDeleted(Boolean.FALSE); - Long carteenId = deviceInfoService.getCarteen(getHearder()); - dishes.setCarteenId(carteenId); + if(vo.getCarteenId() == null ){ + vo.setCarteenId(deviceInfoService.getCarteen(getHearder())) ; + } + dishes.setCarteenId(vo.getCarteenId()); dishes.setDishesNumber(new BigDecimal("50")); checkDishes(dishes.getDishesName(),dishes.getCarteenId(),null); @@ -178,7 +180,11 @@ public class DishesServiceImpl implements DishesService { DishesDO dishesDO = validateDishesExists(vo.getId()); DishesDO updateObj = BeanUtils.toBean(vo, DishesDO.class); - checkDishes(updateObj.getDishesName(),dishesDO.getCarteenId(),vo.getId()); + if(updateObj.getCarteenId() == null ){ + updateObj.setCarteenId(dishesDO.getCarteenId()) ; + } + + checkDishes(updateObj.getDishesName(),updateObj.getCarteenId(),vo.getId()); //计算每g多少钱 BigDecimal dishesSumPrice = updateObj.getDishesSumPrice(); diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/dishestype/DishesTypeServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/dishestype/DishesTypeServiceImpl.java index d08f9f5b..b06e43fb 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/dishestype/DishesTypeServiceImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/dishestype/DishesTypeServiceImpl.java @@ -17,6 +17,7 @@ import cn.iocoder.yudao.module.system.dal.mysql.dishestype.DishesTypeMapper; import cn.iocoder.yudao.module.system.enums.ErrorCodeConstants; import cn.iocoder.yudao.module.system.enums.TimePeriodEnum; import cn.iocoder.yudao.module.system.service.dishes.DishesService; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; @@ -50,6 +51,7 @@ public class DishesTypeServiceImpl implements DishesTypeService { // 插入 DishesTypeDO dishesType = BeanUtils.toBean(createReqVO, DishesTypeDO.class); dishesType.setDeleted(Boolean.FALSE); + validateDishesTypeRepeat(dishesType.getCarteenId(),dishesType.getDishesTypeName(),null); dishesTypeMapper.insert(dishesType); // 返回 return dishesType.getId(); @@ -59,6 +61,7 @@ public class DishesTypeServiceImpl implements DishesTypeService { public void updateDishesType(DishesTypeSaveReqVO updateReqVO) { // 校验存在 validateDishesTypeExists(updateReqVO.getId()); + validateDishesTypeRepeat(updateReqVO.getCarteenId(),updateReqVO.getDishesTypeName(),updateReqVO.getId()); // 更新 DishesTypeDO updateObj = BeanUtils.toBean(updateReqVO, DishesTypeDO.class); dishesTypeMapper.updateById(updateObj); @@ -78,6 +81,19 @@ public class DishesTypeServiceImpl implements DishesTypeService { } } + private void validateDishesTypeRepeat(Long carteenId,String dishesTypeName,Long id) { + + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(DishesTypeDO::getCarteenId,carteenId); + wrapper.eq(DishesTypeDO::getDishesTypeName,dishesTypeName); + wrapper.ne(id!=null,DishesTypeDO::getId,id); + List dishesTypeDOS = dishesTypeMapper.selectList(wrapper); + + if (CollectionUtil.isNotEmpty(dishesTypeDOS)) { + throw exception(ErrorCodeConstants.DISHES_TYPE_NAME_REPEAT); + } + } + @Override public DishesTypeDO getDishesType(Long id) { return dishesTypeMapper.selectById(id);