From b37a5da8ab43ee6121a56beeb96373b409aa28ca Mon Sep 17 00:00:00 2001 From: Owen <595466820@qq.com> Date: Sat, 11 Jan 2025 21:44:53 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9C=A8=E4=B8=8D=E5=8F=91=E8=B4=A7=E7=9A=84?= =?UTF-8?q?=E5=9C=B0=E5=8C=BA=E7=BC=96=E7=A0=81=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/orders/OrdersServiceImpl.java | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/service/orders/OrdersServiceImpl.java b/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/service/orders/OrdersServiceImpl.java index c66f717b96..b4778dd659 100644 --- a/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/service/orders/OrdersServiceImpl.java +++ b/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/service/orders/OrdersServiceImpl.java @@ -1,5 +1,6 @@ package cn.iocoder.yudao.module.haoka.service.orders; +import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.ObjectUtil; import cn.iocoder.yudao.module.haoka.api.ApiFrom; import cn.iocoder.yudao.module.haoka.controller.admin.onsaleproduct.vo.OnSaleProductPreOrderRespVO; @@ -34,6 +35,7 @@ import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.module.haoka.dal.mysql.orders.OrdersMapper; import java.util.List; +import java.util.stream.Collectors; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.invalidParamException; @@ -161,7 +163,43 @@ public class OrdersServiceImpl extends ServiceImpl imple String idCardNum = oldOrderDo.getIdCardNum(); List productLimitCardRespVO = productLimit.getProductLimitCardRespVO(); List productLimitAreaVos = productLimit.getProductLimitAreaVos(); + + + + // 地区限制检查 + if (CollectionUtil.isNotEmpty(productLimitAreaVos)){ + + // 允许的地区编码 + List allowedAreaCode = productLimitAreaVos + .stream() + .filter(ProductLimitAreaRespVO::getAllowed) + .map(ProductLimitAreaRespVO::getAddressCode) + .toList(); + // 不在允许的地区编码 + if (CollectionUtil.isNotEmpty(allowedAreaCode) && !allowedAreaCode.contains(addressProvinceCode)){ + updateObj.setStatus(125L); + } + + List notAllowedAreaCode = productLimitAreaVos + .stream() + .filter(o->!o.getAllowed()) + .map(ProductLimitAreaRespVO::getAddressCode) + .toList(); + // 在不发货的地区编码中 + if (CollectionUtil.isNotEmpty(notAllowedAreaCode) && notAllowedAreaCode.contains(addressProvinceCode)){ + updateObj.setStatus(125L); + } + + } + + + + } + + + + // 保证下面字段信息不会变化 updateObj.setOnSaleProductId(oldOrderDo.getOnSaleProductId()); updateObj.setProducerId(oldOrderDo.getProducerId());