From 5b7d9d0e7e4326777dbba97c8609eca4a8812629 Mon Sep 17 00:00:00 2001 From: Yen Date: Fri, 28 Jun 2024 17:54:16 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=B8=8B=E5=8D=95=E7=B3=BB=E7=BB=9F?= =?UTF-8?q?=E4=B8=B4=E6=9C=9F=E5=93=81=E6=B7=BB=E5=8A=A0=E5=89=8D=E7=BD=AE?= =?UTF-8?q?=E5=95=86=E5=93=81=E5=90=88=E6=B3=95=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../oms/controller/api/OmsOrderApi.java | 2 +- .../oms/entity/bo/OmsVerifySkuParam.java | 4 +- .../impl/OmsOrderPart1ServiceImpl.java | 37 +++++++++++++++++++ 3 files changed, 40 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/qs/serve/modules/oms/controller/api/OmsOrderApi.java b/src/main/java/com/qs/serve/modules/oms/controller/api/OmsOrderApi.java index 017ecad2..00e4e8e4 100644 --- a/src/main/java/com/qs/serve/modules/oms/controller/api/OmsOrderApi.java +++ b/src/main/java/com/qs/serve/modules/oms/controller/api/OmsOrderApi.java @@ -349,7 +349,7 @@ public class OmsOrderApi { * @return */ @PostMapping("/verifySku") - public R verifySku(OmsVerifySkuParam verifySkuParam){ + public R verifySku(@RequestBody OmsVerifySkuParam verifySkuParam){ return R.ok(omsOrderPart1Service.verifySku(verifySkuParam)); } diff --git a/src/main/java/com/qs/serve/modules/oms/entity/bo/OmsVerifySkuParam.java b/src/main/java/com/qs/serve/modules/oms/entity/bo/OmsVerifySkuParam.java index 8453f142..6b11af44 100644 --- a/src/main/java/com/qs/serve/modules/oms/entity/bo/OmsVerifySkuParam.java +++ b/src/main/java/com/qs/serve/modules/oms/entity/bo/OmsVerifySkuParam.java @@ -17,8 +17,8 @@ public class OmsVerifySkuParam { /** skuId */ private List skuIds; - /** 是否临期品 */ - private Integer lqpFlag; + /** 临期品列表ID */ + private List imminentItemIds; /** 规则ID */ private Long ruleId; diff --git a/src/main/java/com/qs/serve/modules/oms/service/impl/OmsOrderPart1ServiceImpl.java b/src/main/java/com/qs/serve/modules/oms/service/impl/OmsOrderPart1ServiceImpl.java index 25df75d4..0fefd819 100644 --- a/src/main/java/com/qs/serve/modules/oms/service/impl/OmsOrderPart1ServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/oms/service/impl/OmsOrderPart1ServiceImpl.java @@ -6,11 +6,13 @@ import com.qs.serve.common.model.dto.SimpleKeyValue; import com.qs.serve.common.util.Assert; import com.qs.serve.common.util.AuthContextUtils; import com.qs.serve.common.util.CodeGenUtil; +import com.qs.serve.common.util.CollectionUtil; import com.qs.serve.modules.bms.entity.BmsSupplier; import com.qs.serve.modules.bms.mapper.BmsRegionMapper; import com.qs.serve.modules.bms.mapper.BmsSupplierMapper; import com.qs.serve.modules.bms.service.BmsSupplierAddressService; import com.qs.serve.modules.goods.entity.GoodsCategoryRule; +import com.qs.serve.modules.goods.entity.GoodsImminentBatch; import com.qs.serve.modules.goods.entity.GoodsSku; import com.qs.serve.modules.goods.entity.dto.GoodsAccrIdsDto; import com.qs.serve.modules.goods.mapper.GoodsCategoryRuleMapper; @@ -32,8 +34,10 @@ import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +import java.time.LocalDate; import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; /** * @author YenHex @@ -122,7 +126,27 @@ public class OmsOrderPart1ServiceImpl implements OmsOrderPart1Service { @Override public List verifySku(OmsVerifySkuParam param) { + List errorImminentIds = new ArrayList<>(); + + LocalDate nowDate = LocalDate.now(); + boolean isImminentCheck = CollectionUtil.isNotEmpty(param.getImminentItemIds()); + List goodsImminentBatches = null; + if(isImminentCheck){ + if(CollectionUtil.isEmpty(param.getImminentItemIds())){ + return new ArrayList<>(); + } + goodsImminentBatches = goodsImminentBatchService.listByIds(param.getImminentItemIds()); + for (GoodsImminentBatch batch : goodsImminentBatches) { + if(batch.getEndDate().isBefore(nowDate)){ + errorImminentIds.add(new SimpleKeyValue("临期品已过期",batch.getId())); + } + } + } + List skuIds = param.getSkuIds(); + if(isImminentCheck){ + skuIds = goodsImminentBatches.stream().map(a->Long.parseLong(a.getSkuId())).collect(Collectors.toList()); + } GoodsCategoryRule categoryRule = goodsCategoryRuleMapper.selectById(param.getRuleId()); BmsSupplier supplier = bmsSupplierMapper.selectById(param.getSupplierId()); @@ -156,6 +180,19 @@ public class OmsOrderPart1ServiceImpl implements OmsOrderPart1Service { //拦截品类下单规则 errorSkuIds.addAll(omsOrderService.handleCategoryRule(skuIds,categoryRule)); + if(isImminentCheck){ + if(CollectionUtil.isEmpty(errorSkuIds)){ + for (SimpleKeyValue errorSkuId : errorSkuIds) { + for (GoodsImminentBatch batch : goodsImminentBatches) { + if(batch.getSkuId().equals(errorSkuId.getValue())){ + errorImminentIds.add(new SimpleKeyValue(errorSkuId.getLabel(),batch.getId())); + } + } + } + } + return errorImminentIds; + } + return errorSkuIds; }