From b0d8eb8694d135d3d0e56badf95fbcc0fc88c4b1 Mon Sep 17 00:00:00 2001 From: zjf <1799650030@qq.com> Date: Mon, 30 Dec 2024 14:00:49 +0800 Subject: [PATCH] =?UTF-8?q?ad=E8=8F=9C=E5=93=81=E5=88=97=E8=A1=A8=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=EF=BC=8C=E5=BA=93=E5=AD=98=E6=89=A3=E5=87=8F=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../canteen/vo/ADCanteenDailyMenuListVO.java | 42 +++++++++++++++++++ .../CanteenDailyMenuController.java | 10 +++++ .../controller/CanteenSpuController.java | 8 ++-- .../mapper/CanteenDailyMenuMapper.java | 11 +++++ .../canteen/mapper/CanteenSpuMapper.java | 27 ++++++++++-- .../service/CanteenDailyMenuService.java | 10 +++++ .../canteen/service/CanteenSpuService.java | 1 + .../impl/CanteenDailyMenuServiceImpl.java | 7 ++++ .../service/impl/CanteenSpuServiceImpl.java | 35 +++++++++------- .../mapper/CanteenDailyMenuMapper.xml | 38 +++++++++++++++++ 10 files changed, 167 insertions(+), 22 deletions(-) create mode 100644 pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/vo/ADCanteenDailyMenuListVO.java diff --git a/pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/vo/ADCanteenDailyMenuListVO.java b/pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/vo/ADCanteenDailyMenuListVO.java new file mode 100644 index 000000000..c428ad969 --- /dev/null +++ b/pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/vo/ADCanteenDailyMenuListVO.java @@ -0,0 +1,42 @@ +package com.bsd.pjcloud.canteen.vo; + +import lombok.Data; + +@Data +public class ADCanteenDailyMenuListVO { + /** + * 每日菜品id + */ + private Long id; + + /** + * spuid + */ + private Long spuId; + + /** + * 菜品名称 + */ + private String name; + /** + * 商品价格,单位使用:分 + */ + private Integer price; + /** + * 菜品分类编号 + */ + private Long categoryId; + /** + * 菜品封面图 + */ + private String picUrl; + /** + * 库存 + */ + private Integer stock; + + /** + * 时间类型 + */ + private Integer hourType; +} diff --git a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/controller/CanteenDailyMenuController.java b/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/controller/CanteenDailyMenuController.java index 78f3ad657..0ed91fb9d 100644 --- a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/controller/CanteenDailyMenuController.java +++ b/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/controller/CanteenDailyMenuController.java @@ -171,4 +171,14 @@ public class CanteenDailyMenuController { } +// ---------APP------------ + @GetMapping("/ad/getCanteenList") + @SysLog("查询每日菜品列表") + public R getCanteenList(@RequestParam("day") String day, + @RequestParam(value = "hourType", required = false) Integer hourType, + @RequestParam(value = "categoryId", required = false) Long categoryId) { + + return R.ok(canteenDailyMenuService.getCanteenMenuList(day,hourType,categoryId)); + } + } \ No newline at end of file diff --git a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/controller/CanteenSpuController.java b/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/controller/CanteenSpuController.java index 6cdf1d290..4919cb4ac 100644 --- a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/controller/CanteenSpuController.java +++ b/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/controller/CanteenSpuController.java @@ -128,10 +128,12 @@ public class CanteenSpuController { - @PostMapping("/updateSkuStock") - @SysLog("更新库存") - public R updateSkuStock(@RequestBody CanteenSpuUpdateStockReqDTO updateStockReqDTO){ +// --------------APP----------------- + + @PostMapping("/ad/updateSkuStock") + @SysLog("更新菜品库存") + public R updateSkuStock(@RequestBody CanteenSpuUpdateStockReqDTO updateStockReqDTO){ return canteenSpuService.updateSkuStock(updateStockReqDTO); } } \ No newline at end of file diff --git a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/mapper/CanteenDailyMenuMapper.java b/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/mapper/CanteenDailyMenuMapper.java index 52be9acaa..db089491e 100644 --- a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/mapper/CanteenDailyMenuMapper.java +++ b/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/mapper/CanteenDailyMenuMapper.java @@ -15,4 +15,15 @@ public interface CanteenDailyMenuMapper extends PjcloudBaseMapper selectTimeFood(@Param("time") String time,@Param("merchantId") Long merchantId, @Param("categoryId") Long categoryId, DataScope dataScope); + + + /** + * ad查询菜品列表 + * @param day + * @param hourType + * @param categoryId + * @return + */ + Object getCanteenMenuList(@Param("day") String day,@Param("hourType") Integer hourType, + @Param("categoryId") Long categoryId,DataScope dataScope); } \ No newline at end of file diff --git a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/mapper/CanteenSpuMapper.java b/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/mapper/CanteenSpuMapper.java index d46219ba0..2449b7b3c 100644 --- a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/mapper/CanteenSpuMapper.java +++ b/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/mapper/CanteenSpuMapper.java @@ -1,5 +1,6 @@ package com.bsd.pjcloud.canteen.mapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.bsd.pjcloud.canteen.dto.DailyMenuAll; import com.bsd.pjcloud.common.data.datascope.DataScope; import com.bsd.pjcloud.common.data.datascope.PjcloudBaseMapper; @@ -12,7 +13,27 @@ import java.util.List; public interface CanteenSpuMapper extends PjcloudBaseMapper { - - - + /** + * 更新商品 SPU 库存 + * + * @param id 商品 SPU 编号 + * @param incrCount 增加的库存数量 + */ + default int updateStock(Long id, Integer incrCount) { + // 拼接 SQL + if (incrCount == 0) { + return 0; + } + String sql; + if (incrCount > 0) { + sql = " stock = stock + " + incrCount + ", sales_count = sales_count - " + incrCount; + } else { + sql = " stock = stock - " + Math.abs(incrCount) + ", sales_count = sales_count + " + Math.abs(incrCount); + } + // 执行更新 + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper() + .setSql(sql) + .eq(CanteenSpuEntity::getId, id); + return update(null, updateWrapper); + } } \ No newline at end of file diff --git a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/service/CanteenDailyMenuService.java b/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/service/CanteenDailyMenuService.java index 7c498753e..d3596762a 100644 --- a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/service/CanteenDailyMenuService.java +++ b/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/service/CanteenDailyMenuService.java @@ -28,4 +28,14 @@ public interface CanteenDailyMenuService extends IService { * @return */ R updateSkuStock(CanteenSpuUpdateStockReqDTO updateStockReqDTO); + } \ No newline at end of file diff --git a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/service/impl/CanteenDailyMenuServiceImpl.java b/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/service/impl/CanteenDailyMenuServiceImpl.java index 05d9a40a8..d758ee9bb 100644 --- a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/service/impl/CanteenDailyMenuServiceImpl.java +++ b/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/service/impl/CanteenDailyMenuServiceImpl.java @@ -88,4 +88,11 @@ public class CanteenDailyMenuServiceImpl extends ServiceImpl implements CanteenSpuService { + + private final CanteenDailyMenuService coupleDailyMenuService; @Override public Object selectFoodList(LambdaQueryWrapper wrapper) { return baseMapper.selectListByScope(wrapper, DataScope.of()); } @Override + @Transactional public R updateSkuStock(CanteenSpuUpdateStockReqDTO updateStockReqDTO) { // 更新 SKU 库存 -// updateStockReqDTO.getItems().forEach(item -> { -// int i = onlineFoodSpuMapper.updateStock(item.getId(), item.getIncrCount()); -// if (item.getIncrCount() < 0) { -// if (i == 0) { -// R.failed("商品库存不足"); -// } -// } -// }); -// -// // 更新 SPU 库存 -// List skus = onlineFoodSkuMapper.selectBatchIds( -// convertSet(updateStockReqDTO.getItems(), OnlineFoodSkuUpdateStockReqDTO.Item::getId)); -// Map spuStockIncrCounts = FoodSkuConvert.INSTANCE.convertSpuStockMap( -// updateStockReqDTO.getItems(), skus); -// onlineFoodSpuService.updateSpuStock(spuStockIncrCounts); - return null; + updateStockReqDTO.getItems().forEach(item -> { + int i = baseMapper.updateStock(item.getId(), item.getIncrCount()); + if (item.getIncrCount() < 0) { + if (i == 0) { + R.failed("商品库存不足"); + } + } + }); + + return R.ok(); } + } \ No newline at end of file diff --git a/pjcloud-canteen/pjcloud-canteen-biz/src/main/resources/mapper/CanteenDailyMenuMapper.xml b/pjcloud-canteen/pjcloud-canteen-biz/src/main/resources/mapper/CanteenDailyMenuMapper.xml index 2040387d7..cba747499 100644 --- a/pjcloud-canteen/pjcloud-canteen-biz/src/main/resources/mapper/CanteenDailyMenuMapper.xml +++ b/pjcloud-canteen/pjcloud-canteen-biz/src/main/resources/mapper/CanteenDailyMenuMapper.xml @@ -17,6 +17,18 @@ + + + + + + + + + + + + + \ No newline at end of file