From b492f98a6fdb8824911bf32b8c898fba7f96386c Mon Sep 17 00:00:00 2001 From: cabbage <281119120@qq.com> Date: Sat, 2 Aug 2025 12:04:15 +0800 Subject: [PATCH] =?UTF-8?q?##=20=E9=9B=A8=E6=B1=90=E5=9B=A2=E9=98=9F?= =?UTF-8?q?=E5=8F=AA=E6=9C=89=E8=87=AA=E5=B7=B1=E7=9A=84=E5=A4=8D=E8=B4=AD?= =?UTF-8?q?=E3=80=81=E9=87=8D=E6=B6=88=E5=95=86=E5=93=81=E6=89=8D=E7=B4=AF?= =?UTF-8?q?=E7=9B=92=E6=95=B0=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/RetailOrderServiceImpl.java | 33 ++++++++++++++++--- .../hzs/sale/wares/mapper/BdWaresMapper.java | 8 +++++ .../sale/wares/service/IBdWaresService.java | 8 +++++ .../service/impl/BdWaresServiceImpl.java | 4 +++ .../mapper/sale/wares/BdWaresMapper.xml | 13 ++++++++ 5 files changed, 62 insertions(+), 4 deletions(-) diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/retail/sale/controller/service/impl/RetailOrderServiceImpl.java b/bd-business/bd-business-sale/src/main/java/com/hzs/retail/sale/controller/service/impl/RetailOrderServiceImpl.java index 6cff3cb8..29b2f6a1 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/retail/sale/controller/service/impl/RetailOrderServiceImpl.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/retail/sale/controller/service/impl/RetailOrderServiceImpl.java @@ -7,7 +7,6 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.hzs.common.core.constant.*; import com.hzs.common.core.domain.R; import com.hzs.common.core.enums.*; -import com.hzs.common.core.enums.retail.ERetailWaresPrice; import com.hzs.common.core.exception.ServiceException; import com.hzs.common.core.service.RedisService; import com.hzs.common.core.utils.*; @@ -35,10 +34,10 @@ import com.hzs.sale.order.param.OrderItemsParam; import com.hzs.sale.order.param.WaresNumberParam; import com.hzs.sale.order.service.*; import com.hzs.sale.order.service.impl.SaOrderHandle; -import com.hzs.sale.product.service.IBdProductService; import com.hzs.sale.wares.service.IBdWaresDetailService; import com.hzs.sale.wares.service.IBdWaresExtendService; import com.hzs.sale.wares.service.IBdWaresRangeService; +import com.hzs.sale.wares.service.IBdWaresService; import com.hzs.system.base.ICurrencyServiceApi; import com.hzs.system.base.dto.CurrencyDTO; import com.hzs.system.config.IAwardsServiceApi; @@ -72,6 +71,8 @@ public class RetailOrderServiceImpl implements IRetailOrderService { @Autowired private ISaOrderWaresService iSaOrderWaresService; @Autowired + private IBdWaresService iBdWaresService; + @Autowired private IBdWaresExtendService iBdWaresExtendService; @Autowired private IBdWaresDetailService iBdWaresDetailService; @@ -278,6 +279,15 @@ public class RetailOrderServiceImpl implements IRetailOrderService { // 当前盒数 BigDecimal boxNum = BigDecimal.ZERO; + // 2025.08.02 雨汐团队,普通复购、重消品不累计盒数 + List tmpBoxWaresList = new ArrayList<>(); + if (ESpecialArea.RETAIL_REPURCHASE.getEnable() == orderParam.getSpecialArea() + || ESpecialArea.RETAIL_RESCISSION.getEnable() == orderParam.getSpecialArea()) { + if (RetailConstants.VERTEX_PK_ID.equals(cuMember.getPkVertex())) { + tmpBoxWaresList = iBdWaresService.listWaresCodeByVertex(RetailConstants.VERTEX_PK_ID); + } + } + // // 2025.03.11 添加需求,复购专区、重消专区,指定盒数商品每用户每月限购50件 // this.checkWaresLimit(cuMember.getPkId(), orderParam.getSpecialArea(), waresDetailExtList, boxProductList); @@ -303,8 +313,23 @@ public class RetailOrderServiceImpl implements IRetailOrderService { } if (boxWaresList.contains(waresDetailExt.getWaresCode())) { - // 商品是盒数商品,需要累计数量 - boxNum = boxNum.add(waresDetailExt.getBoxNum().multiply(new BigDecimal(orderItems.getWaresQuantity()))); + if (ESpecialArea.RETAIL_REPURCHASE.getEnable() == orderParam.getSpecialArea() + || ESpecialArea.RETAIL_RESCISSION.getEnable() == orderParam.getSpecialArea()) { + if (RetailConstants.VERTEX_PK_ID.equals(cuMember.getPkVertex())) { + // 雨汐团队,复购、重消盒数品 + if (tmpBoxWaresList.contains(waresDetailExt.getWaresCode())) { + // 商品是盒数商品,需要累计数量 + boxNum = boxNum.add(waresDetailExt.getBoxNum().multiply(new BigDecimal(orderItems.getWaresQuantity()))); + } + } else { + // 商品是盒数商品,需要累计数量 + boxNum = boxNum.add(waresDetailExt.getBoxNum().multiply(new BigDecimal(orderItems.getWaresQuantity()))); + } + } else { + // 商品是盒数商品,需要累计数量 + boxNum = boxNum.add(waresDetailExt.getBoxNum().multiply(new BigDecimal(orderItems.getWaresQuantity()))); + } + } } diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/mapper/BdWaresMapper.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/mapper/BdWaresMapper.java index 3534857d..a5bf4493 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/mapper/BdWaresMapper.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/mapper/BdWaresMapper.java @@ -149,4 +149,12 @@ public interface BdWaresMapper extends BaseMapper { @Param("pkProduct") Integer pkProduct, @Param("specialArea") Integer specialArea); + /** + * 根据体系获取盒数商品编码 + * + * @param pkVertex + * @return + */ + List listWaresCodeByVertex(@Param("pkVertex") Long pkVertex); + } diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/service/IBdWaresService.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/service/IBdWaresService.java index 57410693..5f7fa13f 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/service/IBdWaresService.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/service/IBdWaresService.java @@ -221,4 +221,12 @@ public interface IBdWaresService extends IService { */ List listBoxProductAndWares(List boxWaresList, Integer pkProduct, Integer specialArea); + /** + * 根据体系获取盒数商品编码 + * + * @param pkVertex + * @return + */ + List listWaresCodeByVertex(Long pkVertex); + } diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/service/impl/BdWaresServiceImpl.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/service/impl/BdWaresServiceImpl.java index 0fdf6c5a..a329f4e5 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/service/impl/BdWaresServiceImpl.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/service/impl/BdWaresServiceImpl.java @@ -1171,4 +1171,8 @@ public class BdWaresServiceImpl extends ServiceImpl impl return baseMapper.listBoxProduct(boxWaresList, pkProduct, specialArea); } + @Override + public List listWaresCodeByVertex(Long pkVertex) { + return baseMapper.listWaresCodeByVertex(pkVertex); + } } diff --git a/bd-business/bd-business-sale/src/main/resources/mapper/sale/wares/BdWaresMapper.xml b/bd-business/bd-business-sale/src/main/resources/mapper/sale/wares/BdWaresMapper.xml index 4ab09698..29933cb4 100644 --- a/bd-business/bd-business-sale/src/main/resources/mapper/sale/wares/BdWaresMapper.xml +++ b/bd-business/bd-business-sale/src/main/resources/mapper/sale/wares/BdWaresMapper.xml @@ -473,4 +473,17 @@ order by bw.wares_code + + +