From 8187299ebff1b951f2e9715ed823272f87837dad Mon Sep 17 00:00:00 2001 From: sangelxiu1 <15781802@163.com> Date: Fri, 19 Sep 2025 14:52:52 +0800 Subject: [PATCH] =?UTF-8?q?##=20Opt=20-=20=E5=A2=9E=E5=8A=A0=E7=94=84?= =?UTF-8?q?=E9=80=89=E4=B8=93=E5=8C=BA=20=E5=95=86=E5=93=81=E5=90=8C?= =?UTF-8?q?=E7=B2=BE=E5=93=81=E4=B8=93=E5=8C=BA=E4=B8=80=E8=87=B4,?= =?UTF-8?q?=E4=B8=8B=E5=8D=95=E9=80=BB=E8=BE=91=E5=90=8C=E5=95=86=E5=9F=8E?= =?UTF-8?q?=E4=B8=93=E5=8C=BA=E4=B8=80=E8=87=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/ApiRetailOrderController.java | 5 ++- .../service/impl/RetailOrderServiceImpl.java | 12 ++++++ .../api/ApiRetailWaresController.java | 8 ++++ .../api/ApiShoppingCartController.java | 38 ++++++++++++++++++- .../service/impl/ShoppingCartServiceImpl.java | 3 ++ .../impl/BdWaresSpecsSkuServiceImpl.java | 5 ++- .../com/hzs/common/core/enums/EOrderType.java | 5 +++ .../hzs/common/core/enums/ESpecialArea.java | 5 +++ .../com/hzs/common/core/enums/ETradeType.java | 1 + 9 files changed, 78 insertions(+), 4 deletions(-) diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/retail/sale/controller/api/ApiRetailOrderController.java b/bd-business/bd-business-sale/src/main/java/com/hzs/retail/sale/controller/api/ApiRetailOrderController.java index 0092efb0..2a489aad 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/retail/sale/controller/api/ApiRetailOrderController.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/retail/sale/controller/api/ApiRetailOrderController.java @@ -424,7 +424,7 @@ public class ApiRetailOrderController { * @param source 数据来源 * @return */ - @RepeatSubmit +// @RepeatSubmit @PostMapping("/confirm-other-order") public AjaxResult confirmOtherOrder(@Valid @RequestBody RetailOrderOtherParam orderParam, @RequestHeader("Source") Integer source) { @@ -468,6 +468,7 @@ public class ApiRetailOrderController { if (null == otherParam) { return AjaxResult.error("订单长时间没有支付,已经失效,请重新下单"); } + otherParam.setSpecialArea(payParam.getSpecialArea()); // 购买会员 CuMember buyMember = iMemberServiceApi.getRetailMember(null, otherParam.getBuyMemberCode()).getData(); @@ -478,7 +479,7 @@ public class ApiRetailOrderController { // 封装订单信息 SaOrderExt saOrderExt = iRetailOrderService.createSaOrder(otherParam, null, buyMember); - + saOrderExt.setOrderType(payParam.getSpecialArea()); // 校验会员账户状态等 R accountResult = iRetailOrderService.validMemberAccount(pkMember, payParam.getPayPwd()); if (!accountResult.isSuccess()) { 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 37ebf6eb..20a8ae86 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 @@ -22,6 +22,7 @@ import com.hzs.common.domain.member.base.CuMemberShare; import com.hzs.common.domain.member.ext.CuMemberAccountExt; import com.hzs.common.domain.sale.ext.BdWaresDetailExt; import com.hzs.common.domain.sale.ext.SaOrderExt; +import com.hzs.common.domain.sale.ext.SaOrderItemsExt; import com.hzs.common.domain.sale.order.*; import com.hzs.common.domain.sale.product.BdProduct; import com.hzs.common.domain.sale.wares.BdWaresRange; @@ -221,6 +222,9 @@ public class RetailOrderServiceImpl implements IRetailOrderService { }else if(ESpecialArea.RETAIL_REPURCHASE.getValue() == orderParam.getSpecialArea()){ // saOrderExt.setOrderAmount(saOrderExt.getOrderAmount().add(orderParam.getPostage())); saOrderExt.setPostage(orderParam.getPostage()); + }else if(ESpecialArea.RETAIL_UPGRADE.getValue() == orderParam.getSpecialArea()){ + saOrderExt.setSpecialArea(ESpecialArea.RETAIL_UPGRADE.getValue()); + saOrderExt.setOrderType(ESpecialArea.RETAIL_UPGRADE.getValue()); } return saOrderExt; @@ -229,6 +233,11 @@ public class RetailOrderServiceImpl implements IRetailOrderService { @Override public List createSaOrderItems(RetailOrderParam orderParam, List gradeList, CuMember cuMember, SaOrderExt saOrderExt, CurrencyDTO currency) { + boolean isCopy41List = false; + if(ESpecialArea.RETAIL_UPGRADE.getValue() == orderParam.getSpecialArea()){ + orderParam.setSpecialArea(ESpecialArea.RETAIL_REGISTER.getValue()); + isCopy41List = true; + } // 订单明细信息 List orderItemsList = new ArrayList<>(); if (null == currency) { @@ -275,6 +284,9 @@ public class RetailOrderServiceImpl implements IRetailOrderService { saOrderExt.setPostage(orderParam.getPostage()); // 订单指定商品盒数 saOrderExt.setBoxNum(boxNum); + if(isCopy41List){ + saOrderExt.setOrderType(ESpecialArea.RETAIL_UPGRADE.getValue()); + } } return orderItemsList; } diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/retail/wares/controller/api/ApiRetailWaresController.java b/bd-business/bd-business-sale/src/main/java/com/hzs/retail/wares/controller/api/ApiRetailWaresController.java index 2824171d..42da4d06 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/retail/wares/controller/api/ApiRetailWaresController.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/retail/wares/controller/api/ApiRetailWaresController.java @@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.codec.Base64Decoder; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.date.DateUtil; +import cn.hutool.json.JSONUtil; import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson2.JSONArray; import com.hzs.common.core.constant.CountryConstants; @@ -86,6 +87,10 @@ public class ApiRetailWaresController extends BaseController { */ @PostMapping("/wares-list") public AjaxResult waresList(@Valid @RequestBody RetailWaresParam param) { + boolean copyFor41List = param.getSpecialArea().equals(ESpecialArea.RETAIL_UPGRADE.getValue()); + if(copyFor41List){ + param.setSpecialArea(ESpecialArea.RETAIL_REGISTER.getValue()); + } // 会员信息 CuMemberExt cuMemberExt = iMemberServiceApi.getMemberById(SecurityUtils.getUserId()).getData(); @@ -102,6 +107,9 @@ public class ApiRetailWaresController extends BaseController { if (CollectionUtil.isNotEmpty(bdWaresExtList)) { resultList = this.waresShowHandle(bdWaresExtList, param.getSpecialArea(), cuMemberExt.getPkSettleGrade(), true); + if(copyFor41List){ + resultList.forEach(item -> {item.setSpecialArea(ESpecialArea.RETAIL_UPGRADE.getValue());}); + } } return AjaxResult.success(resultList); } diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/shopping/controller/api/ApiShoppingCartController.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/shopping/controller/api/ApiShoppingCartController.java index 9fe554e1..75024146 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/shopping/controller/api/ApiShoppingCartController.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/shopping/controller/api/ApiShoppingCartController.java @@ -3,6 +3,7 @@ package com.hzs.sale.shopping.controller.api; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.json.JSONUtil; import com.hzs.common.core.constant.CacheConstants; +import com.hzs.common.core.enums.ESpecialArea; import com.hzs.common.core.service.RedisService; import com.hzs.common.core.utils.StringUtils; import com.hzs.common.core.web.controller.BaseController; @@ -49,6 +50,10 @@ public class ApiShoppingCartController extends BaseController { if (null == scr.getPkCountry() || scr.getPkCountry() == 0) { scr.setPkCountry(SecurityUtils.getPkCountry()); } + boolean copyFor41List = scr.getSpecialArea().equals(ESpecialArea.RETAIL_UPGRADE.getValue()); +// if(copyFor41List){ +// scr.setSpecialArea(ESpecialArea.RETAIL_REGISTER.getValue()); +// } String key = CacheConstants.SHOPPIN_GCART + SecurityUtils.getPkCountry() + "_" + SecurityUtils.getUserId(); Map shoppingCartRedisMap = redisService.getCacheMap(key); if (shoppingCartRedisMap == null) { @@ -70,6 +75,7 @@ public class ApiShoppingCartController extends BaseController { for (ProductGroup productGroup : scr.getProductGroup()) { innerKey.append(productGroup.getPkSkuId()).append("_").append(productGroup.getQuantity()); } + innerKey.append("_").append(copyFor41List ? ESpecialArea.RETAIL_UPGRADE.getValue() : scr.getSpecialArea()); if (innerShopMap.containsKey(innerKey.toString())) { // 购物车中存在该商品 @@ -77,6 +83,9 @@ public class ApiShoppingCartController extends BaseController { ShoppingCartRedis shoppingCartRedis = JSONUtil.toBean(jsonString, ShoppingCartRedis.class); shoppingCartRedis.setNumber(shoppingCartRedis.getNumber() + scr.getNumber()); shoppingCartRedis.setPkMakerSpace(scr.getPkMakerSpace()); + if(copyFor41List){ + shoppingCartRedis.setSpecialArea(ESpecialArea.RETAIL_UPGRADE.getValue()); + } innerShopMap.put(innerKey.toString(), JSONUtil.toJsonStr(shoppingCartRedis)); } else { @@ -97,6 +106,10 @@ public class ApiShoppingCartController extends BaseController { if (shoppingCartVO.getSpecialArea() == null || shoppingCartVO.getPkCountry() == null) { shoppingCartVO.setPkCountry(SecurityUtils.getPkCountry()); } + boolean copyFor41List = shoppingCartVO.getSpecialArea() == null || shoppingCartVO.getSpecialArea().equals(ESpecialArea.RETAIL_UPGRADE.getValue()); +// if(copyFor41List){ +// shoppingCartVO.setSpecialArea(ESpecialArea.RETAIL_REGISTER.getValue()); +// } String key = CacheConstants.SHOPPIN_GCART + SecurityUtils.getPkCountry() + "_" + SecurityUtils.getUserId(); Map shoppingCartRedisMap = redisService.getCacheMap(key); List shoppingCartOld; @@ -104,6 +117,9 @@ public class ApiShoppingCartController extends BaseController { Map innerShopMap; innerShopMap = (Map) shoppingCartRedisMap.get(key); shoppingCartOld = shoppingCartService.getShopping(innerShopMap, shoppingCartVO.getSpecialArea(), shoppingCartVO.getPkCountry(), SecurityUtils.getSystemType()); + if(copyFor41List){ + shoppingCartOld.forEach(item -> {item.setSpecialArea(ESpecialArea.RETAIL_UPGRADE.getValue());}); + } } else { shoppingCartOld = new ArrayList<>(); } @@ -120,6 +136,10 @@ public class ApiShoppingCartController extends BaseController { if (null == shoppingCartVO.getPkCountry()) { shoppingCartVO.setPkCountry(SecurityUtils.getPkCountry()); } + boolean copyFor41List = shoppingCartVO.getSpecialArea() == null || shoppingCartVO.getSpecialArea().equals(ESpecialArea.RETAIL_UPGRADE.getValue()); +// if(copyFor41List){ +// shoppingCartVO.setSpecialArea(ESpecialArea.RETAIL_REGISTER.getValue()); +// } int count = 0; String key = CacheConstants.SHOPPIN_GCART + SecurityUtils.getPkCountry() + "_" + userId; Map shoppingCartRedisMap = redisService.getCacheMap(key); @@ -137,6 +157,9 @@ public class ApiShoppingCartController extends BaseController { ShoppingCartRedis shoppingCartRedis = JSONUtil.toBean(value, ShoppingCartRedis.class); Integer shoppingCartRedisPkCountry = shoppingCartRedis.getPkCountry(); Integer shoppingCartRedisSpecialArea = shoppingCartRedis.getSpecialArea(); +// if(copyFor41List){ +// shoppingCartRedisSpecialArea = (ESpecialArea.RETAIL_REGISTER.getValue()); +// } if (shoppingCartRedisPkCountry == 0) { iterator.remove(); continue; @@ -147,6 +170,7 @@ public class ApiShoppingCartController extends BaseController { if (null != cuWaresParams && CollectionUtil.isNotEmpty(cuWaresParams.getProductParams()) && CollectionUtil.isNotEmpty(cuWaresParams.getProductParams().get(0).getWaresItemsParamsList())) { count += shoppingCartRedis.getNumber(); + cuWaresParams.setSpecialArea(shoppingCartVO.getSpecialArea()); } else { iterator.remove(); } @@ -175,6 +199,10 @@ public class ApiShoppingCartController extends BaseController { if (null == shoppingCartVO.getPkCountry()) { shoppingCartVO.setPkCountry(SecurityUtils.getPkCountry()); } + boolean copyFor41List = shoppingCartVO.getSpecialArea() == null || shoppingCartVO.getSpecialArea().equals(ESpecialArea.RETAIL_UPGRADE.getValue()); +// if(copyFor41List){ +// shoppingCartVO.setSpecialArea(ESpecialArea.RETAIL_REGISTER.getValue()); +// } int smallCount = 0; String key = CacheConstants.SHOPPIN_GCART + SecurityUtils.getPkCountry() + "_" + userId; Map shoppingCartRedisMap = redisService.getCacheMap(key); @@ -193,17 +221,21 @@ public class ApiShoppingCartController extends BaseController { ShoppingCartRedis shoppingCartRedis = JSONUtil.toBean(value, ShoppingCartRedis.class); Integer shoppingCartRedisPkCountry = shoppingCartRedis.getPkCountry(); Integer shoppingCartRedisSpecialArea = shoppingCartRedis.getSpecialArea(); +// if(copyFor41List){ +// shoppingCartRedisSpecialArea = (ESpecialArea.RETAIL_REGISTER.getValue()); +// } if (shoppingCartRedisPkCountry == 0) { iterator.remove(); continue; } - if (shoppingCartRedisSpecialArea.equals(shoppingCartSpecialArea) + if (copyFor41List ? shoppingCartRedisSpecialArea.equals(ESpecialArea.RETAIL_UPGRADE.getValue()) : shoppingCartRedisSpecialArea.equals(shoppingCartSpecialArea) && shoppingCartPkCountry.equals(shoppingCartRedisPkCountry)) { if (null != shoppingCartRedis.getWaresCode()) { CuWaresParams cuWaresParams = bdWaresSpecsSkuService.queryWaresSpecsSkuCount(shoppingCartSpecialArea, shoppingCartRedis.getWaresCode(), userId, shoppingCartPkCountry); if (null != cuWaresParams && CollectionUtil.isNotEmpty(cuWaresParams.getProductParams()) && CollectionUtil.isNotEmpty(cuWaresParams.getProductParams().get(0).getWaresItemsParamsList())) { smallCount += shoppingCartRedis.getNumber(); + cuWaresParams.setSpecialArea(shoppingCartVO.getSpecialArea()); } } else { smallCount += shoppingCartRedis.getNumber(); @@ -277,6 +309,10 @@ public class ApiShoppingCartController extends BaseController { if (null == scr.getPkCountry()) { scr.setPkCountry(SecurityUtils.getPkCountry()); } + boolean copyFor41List = scr.getSpecialArea().equals(ESpecialArea.RETAIL_UPGRADE.getValue()); + if(copyFor41List){ + scr.setSpecialArea(ESpecialArea.RETAIL_REGISTER.getValue()); + } String key = CacheConstants.SHOPPIN_GCART + SecurityUtils.getPkCountry() + "_" + SecurityUtils.getUserId(); Map shoppingCartRedisMap = redisService.getCacheMap(key); CarWaresInfoVo carWaresInfoVo = new CarWaresInfoVo(); diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/shopping/service/impl/ShoppingCartServiceImpl.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/shopping/service/impl/ShoppingCartServiceImpl.java index a82c0739..b2933715 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/shopping/service/impl/ShoppingCartServiceImpl.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/shopping/service/impl/ShoppingCartServiceImpl.java @@ -166,6 +166,9 @@ public class ShoppingCartServiceImpl implements IShoppingCartService { **/ private void getShoppingCart(ShoppingCart shoppingCart, Integer specialArea, String waresCode, Long userId, ShoppingCartRedis sst, BigDecimal waresPrice, BigDecimal achieve, BigDecimal assAchieve, R currency, Integer pkCountry, Integer systemType) { + if(specialArea.equals(ESpecialArea.RETAIL_UPGRADE.getValue())){ + specialArea = ESpecialArea.RETAIL_REGISTER.getValue(); + } CuWaresParams cuWaresParams = iBdWaresSpecsSkuService.queryWaresSpecsSkuShopping(specialArea, waresCode, userId, pkCountry, systemType); if (cuWaresParams == null) { return; diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/service/impl/BdWaresSpecsSkuServiceImpl.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/service/impl/BdWaresSpecsSkuServiceImpl.java index 532e9668..6345dc09 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/service/impl/BdWaresSpecsSkuServiceImpl.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/service/impl/BdWaresSpecsSkuServiceImpl.java @@ -2,6 +2,7 @@ package com.hzs.sale.wares.service.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.hzs.common.core.constant.CountryConstants; import com.hzs.common.core.domain.R; @@ -188,7 +189,9 @@ public class BdWaresSpecsSkuServiceImpl extends ServiceImpl bdWaresSpecsSkuExtList; - + if(ESpecialArea.RETAIL_UPGRADE.getValue() == specialArea){ + specialArea = ESpecialArea.RETAIL_REGISTER.getValue(); + } if (EOrderType.REPURCHASE_ORDER.getValue() == specialArea || EOrderType.MALL_ORDER.getValue() == specialArea) { R memberDate = iMemberServiceApi.getMember(loginMemberId); diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EOrderType.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EOrderType.java index b9b656eb..5da35db7 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EOrderType.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EOrderType.java @@ -39,6 +39,11 @@ public enum EOrderType { * 精品专区 -- 注册专区 */ RETAIL_REGISTER(41, "精品专区", 0), + + /** + * 甄选专区 -- 甄选专区 + */ + RETAIL_UPGRADE(42, "甄选专区", 0), /** * 商城专区 -- 复购专区 */ diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/ESpecialArea.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/ESpecialArea.java index c1afc9e4..5eadc300 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/ESpecialArea.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/ESpecialArea.java @@ -1,5 +1,6 @@ package com.hzs.common.core.enums; +import com.hzs.common.core.constant.EnumsPrefixConstants; import lombok.AllArgsConstructor; import lombok.Getter; @@ -34,6 +35,10 @@ public enum ESpecialArea { * 精品专区 */ RETAIL_REGISTER(41, "精品专区", 0, 41, -1), + /** + * 甄选专区 + */ + RETAIL_UPGRADE(42, "甄选专区", 0, 42, -1), /** * 商城专区 */ diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/ETradeType.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/ETradeType.java index 2f8e9677..70bfce68 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/ETradeType.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/ETradeType.java @@ -20,6 +20,7 @@ public enum ETradeType { FICTITIOUS_ORDER(120, 0, "虚拟订单", 0, EnumsPrefixConstants.TRADE_TYPE + 120, EOrderType.FICTITIOUS_ORDER.getValue()), RETAIL_REGISTER_ORDER(141, 0, "注册订单", 0, EnumsPrefixConstants.TRADE_TYPE + 141, EOrderType.RETAIL_REGISTER.getValue()), + RETAIL_UPGRADE_ORDER(142, 0, "甄选订单", 0, EnumsPrefixConstants.TRADE_TYPE + 142, EOrderType.RETAIL_UPGRADE.getValue()), RETAIL_REPURCHASE_ORDER(143, 0, "复购订单", 0, EnumsPrefixConstants.TRADE_TYPE + 143, EOrderType.RETAIL_REPURCHASE.getValue()), RETAIL_CONSUME_ORDER(144, 0, "重消订单", 0, EnumsPrefixConstants.TRADE_TYPE + 144, EOrderType.RETAIL_CONSUME.getValue()), RETAIL_TICKET_ORDER(145, 0, "自主购票", 0, EnumsPrefixConstants.TRADE_TYPE + 145, EOrderType.RETAIL_TICKET.getValue()),