From b303ab26c0e8638f3c5d7c14e77251017aa2b31e Mon Sep 17 00:00:00 2001 From: zjf <1799650030@qq.com> Date: Mon, 30 Dec 2024 12:36:38 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E8=B6=85=E5=B8=82=E5=95=86?= =?UTF-8?q?=E5=93=81=E6=96=B0=E5=A2=9E=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/CanteenSpuUpdateStockReqDTO.java | 47 ++++++++++++++++++ .../controller/CanteenSpuController.java | 8 +++ .../canteen/service/CanteenSpuService.java | 8 +++ .../service/impl/CanteenSpuServiceImpl.java | 23 +++++++++ pjcloud-gateway/pjcloud.lnk | Bin 0 -> 919 bytes .../entity/SupermarketSpuEntity.java | 2 + 6 files changed, 88 insertions(+) create mode 100644 pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/dto/CanteenSpuUpdateStockReqDTO.java create mode 100644 pjcloud-gateway/pjcloud.lnk diff --git a/pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/dto/CanteenSpuUpdateStockReqDTO.java b/pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/dto/CanteenSpuUpdateStockReqDTO.java new file mode 100644 index 00000000..328dafaf --- /dev/null +++ b/pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/dto/CanteenSpuUpdateStockReqDTO.java @@ -0,0 +1,47 @@ +package com.bsd.pjcloud.canteen.dto; + +import jakarta.validation.constraints.NotNull; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +/** + * 商品 SKU 更新库存 Request DTO + * + * @author LeeYan9 + * @since 2022-08-26 + */ +@Data +@NoArgsConstructor +@AllArgsConstructor +public class CanteenSpuUpdateStockReqDTO { + + /** + * 商品 SKU + */ + @NotNull(message = "商品 SPU 不能为空") + private List items; + + @Data + public static class Item { + + /** + * 商品 SKU 编号 + */ + @NotNull(message = "商品 SPU 编号不能为空") + private Long id; + + /** + * 库存变化数量 + * + * 正数:增加库存 + * 负数:扣减库存 + */ + @NotNull(message = "库存变化数量不能为空") + private Integer incrCount; + + } + +} 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 bc5d3e64..6cdf1d29 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 @@ -7,6 +7,7 @@ import com.alibaba.excel.util.StringUtils; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.bsd.pjcloud.canteen.dto.CanteenSpuUpdateStockReqDTO; import com.bsd.pjcloud.canteen.entity.CanteenDailyMenuEntity; import com.bsd.pjcloud.common.core.util.R; import com.bsd.pjcloud.common.log.annotation.SysLog; @@ -126,4 +127,11 @@ public class CanteenSpuController { + + @PostMapping("/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/service/CanteenSpuService.java b/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/service/CanteenSpuService.java index 8d623911..76ac5858 100644 --- a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/service/CanteenSpuService.java +++ b/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/service/CanteenSpuService.java @@ -2,8 +2,10 @@ package com.bsd.pjcloud.canteen.service; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.IService; +import com.bsd.pjcloud.canteen.dto.CanteenSpuUpdateStockReqDTO; import com.bsd.pjcloud.canteen.dto.DailyMenuAll; import com.bsd.pjcloud.canteen.entity.CanteenSpuEntity; +import com.bsd.pjcloud.common.core.util.R; import java.util.List; @@ -18,4 +20,10 @@ public interface CanteenSpuService extends IService { Object selectFoodList(LambdaQueryWrapper wrapper); + /** + * 更新库存 + * @param updateStockReqDTO + * @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/CanteenSpuServiceImpl.java b/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/service/impl/CanteenSpuServiceImpl.java index 5608e9a8..23e33f92 100644 --- a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/service/impl/CanteenSpuServiceImpl.java +++ b/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/service/impl/CanteenSpuServiceImpl.java @@ -2,10 +2,12 @@ package com.bsd.pjcloud.canteen.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.bsd.pjcloud.canteen.dto.CanteenSpuUpdateStockReqDTO; import com.bsd.pjcloud.canteen.dto.DailyMenuAll; import com.bsd.pjcloud.canteen.entity.CanteenSpuEntity; import com.bsd.pjcloud.canteen.mapper.CanteenSpuMapper; import com.bsd.pjcloud.canteen.service.CanteenSpuService; +import com.bsd.pjcloud.common.core.util.R; import com.bsd.pjcloud.common.data.datascope.DataScope; import com.github.yulichang.wrapper.MPJLambdaWrapper; import org.apache.commons.collections4.CollectionUtils; @@ -26,5 +28,26 @@ public class CanteenSpuServiceImpl extends ServiceImpl { +// 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; + } + } \ No newline at end of file diff --git a/pjcloud-gateway/pjcloud.lnk b/pjcloud-gateway/pjcloud.lnk new file mode 100644 index 0000000000000000000000000000000000000000..a64a24afe9748f8f99f1596e378bc0c9502aad6f GIT binary patch literal 919 zcmeZaU|?VrVFHp23jRpjN#7|x{JeaGitM(V)+nwn-MGt zlxKvfhm-1zA`J2Y5Bx7Eyt2v^SagGfLEFG!t|WuLvsDaS5rPrLUo@lFudQ#7S0tkD{_L19#GYd|Lj1L6`>i-Vq7N2P|lFgP{feUkPM_# z7=YRtBp5uPCig~`CJ8VUWHB(9LCtK7?A4tW*$*}|{xm00wGf(_57%8_C}03;0m_6y z&6ylI-5F#~a!!6}3WEdGtky_;AO-;!AQl8-W+48)bEgt05*UDi2Me2+f-E3{xPpO+K@SKMfGU8>7es)R z0zr9Zo^DyTg?UbyQHe>e5ktaSll7aY+B@(5+HiQ`r#o9#URtgbdicHI>W5qOX1-&2 zMM%CF=tf{LEeHgfZ5SL7{MKOaEoX*K_vJq>2rns4Q!)jLgS^Ec55yq1gThXML4(1W z!HOXUBX%@FO2ME3NP-MB_^7)5y}Oja(vM6DJ@a0#Q3Q%}fmDDDuxfY$2J&Np7-avltYi(_sh0$| zUSl}me^cUuBT!rph{5)Y18M9Yi2=I{LL$2kq?3Wc5{N;DZxqXQS=(FSvE0K!Z;5S1 ik1S9;1EjzMh~KsR@mlk?!fU0_{1vySZN3K*hXDXi)ymue literal 0 HcmV?d00001 diff --git a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/entity/SupermarketSpuEntity.java b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/entity/SupermarketSpuEntity.java index d4f17e98..558ee43f 100644 --- a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/entity/SupermarketSpuEntity.java +++ b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/entity/SupermarketSpuEntity.java @@ -310,9 +310,11 @@ public class SupermarketSpuEntity extends Model { private Long tenantId; @Schema(description = "辅助条码集合对象") + @TableField(exist = false) private List supermarketAuxiliaryCodeEntityList; @Schema(description = "包装对象集合对象") + @TableField(exist = false) private List supermarketUnitEntityList; } \ No newline at end of file