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 12591e9a..3de26df8 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 @@ -552,6 +552,13 @@ public class RetailOrderServiceImpl implements IRetailOrderService { @Transactional(rollbackFor = Exception.class) @Override public String payOtherOrder(SaOrderExt saOrderExt, CuMember buyMember, CuMemberAccountExt memberAccountExt) { + + if(ESpecialArea.DISCOUNT_AREA.getValue() == saOrderExt.getOrderType()){ + // 验证是否买过41/42 + if(!iSaOrderService.showDiscountArea()){ + throw new RuntimeException("不满足购买五折专区的条件!"); + } + } // 保存订单以及明细 this.saveOrder(saOrderExt); 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 a509ba8e..c6aab0c2 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 @@ -87,6 +87,12 @@ public class ApiRetailWaresController extends BaseController { */ @PostMapping("/wares-list") public AjaxResult waresList(@Valid @RequestBody RetailWaresParam param) { + if(ESpecialArea.DISCOUNT_AREA.getValue() == param.getSpecialArea()){ + // 验证是否买过41/42 + if(!iSaOrderService.showDiscountArea()){ + return AjaxResult.success(); + } + } boolean copyFor41List = param.getSpecialArea().equals(ESpecialArea.RETAIL_UPGRADE.getValue()); if(copyFor41List){ param.setSpecialArea(ESpecialArea.RETAIL_REGISTER.getValue()); diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/ISaOrderService.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/ISaOrderService.java index 9372e005..45bff08f 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/ISaOrderService.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/ISaOrderService.java @@ -412,4 +412,5 @@ public interface ISaOrderService extends IService { */ BdGrade calculateGrade(); + boolean showDiscountArea(); } diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderServiceImpl.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderServiceImpl.java index 5466ab56..78dc81b8 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderServiceImpl.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderServiceImpl.java @@ -1425,5 +1425,18 @@ public class SaOrderServiceImpl extends ServiceImpl impl return BeanUtil.copyProperties(gradeDTO, BdGrade.class); } + @Override + public boolean showDiscountArea() { + if(ObjectUtil.isEmpty(SecurityUtils.getUserId())){ + return false; + } + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(SaOrder::getPkMember, SecurityUtils.getUserId()); + wrapper.eq(SaOrder::getDelFlag, EDelFlag.UN_DELETE.getValue()); + wrapper.eq(SaOrder::getOrderStatus, EOrderStatus.PAY.getValue()); + wrapper.in(SaOrder::getOrderType, Arrays.asList(EOrderType.RETAIL_REGISTER.getValue(), EOrderType.RETAIL_UPGRADE.getValue())); + return baseMapper.selectCount(wrapper) > 0; + } + } 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 75024146..c51b8540 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 @@ -106,7 +106,7 @@ 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()); +// boolean copyFor41List = shoppingCartVO.getSpecialArea() == null || shoppingCartVO.getSpecialArea().equals(ESpecialArea.RETAIL_UPGRADE.getValue()); // if(copyFor41List){ // shoppingCartVO.setSpecialArea(ESpecialArea.RETAIL_REGISTER.getValue()); // } @@ -117,9 +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());}); - } +// if(copyFor41List){ +// shoppingCartOld.forEach(item -> {item.setSpecialArea(ESpecialArea.RETAIL_UPGRADE.getValue());}); +// } } else { shoppingCartOld = new ArrayList<>(); }