Compare commits

...

2 Commits

Author SHA1 Message Date
sangelxiu1 793429a502 Merge remote-tracking branch 'origin/dev' into dev 2025-09-29 13:58:52 +08:00
sangelxiu1 c11c8be339 ## Opt - 五折专区 2025-09-29 13:58:45 +08:00
5 changed files with 31 additions and 4 deletions

View File

@ -552,6 +552,13 @@ public class RetailOrderServiceImpl implements IRetailOrderService {
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Override @Override
public String payOtherOrder(SaOrderExt saOrderExt, CuMember buyMember, CuMemberAccountExt memberAccountExt) { 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); this.saveOrder(saOrderExt);

View File

@ -87,6 +87,12 @@ public class ApiRetailWaresController extends BaseController {
*/ */
@PostMapping("/wares-list") @PostMapping("/wares-list")
public AjaxResult waresList(@Valid @RequestBody RetailWaresParam param) { 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()); boolean copyFor41List = param.getSpecialArea().equals(ESpecialArea.RETAIL_UPGRADE.getValue());
if(copyFor41List){ if(copyFor41List){
param.setSpecialArea(ESpecialArea.RETAIL_REGISTER.getValue()); param.setSpecialArea(ESpecialArea.RETAIL_REGISTER.getValue());

View File

@ -412,4 +412,5 @@ public interface ISaOrderService extends IService<SaOrder> {
*/ */
BdGrade calculateGrade(); BdGrade calculateGrade();
boolean showDiscountArea();
} }

View File

@ -1425,5 +1425,18 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
return BeanUtil.copyProperties(gradeDTO, BdGrade.class); return BeanUtil.copyProperties(gradeDTO, BdGrade.class);
} }
@Override
public boolean showDiscountArea() {
if(ObjectUtil.isEmpty(SecurityUtils.getUserId())){
return false;
}
LambdaQueryWrapper<SaOrder> 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;
}
} }

View File

@ -106,7 +106,7 @@ public class ApiShoppingCartController extends BaseController {
if (shoppingCartVO.getSpecialArea() == null || shoppingCartVO.getPkCountry() == null) { if (shoppingCartVO.getSpecialArea() == null || shoppingCartVO.getPkCountry() == null) {
shoppingCartVO.setPkCountry(SecurityUtils.getPkCountry()); 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){ // if(copyFor41List){
// shoppingCartVO.setSpecialArea(ESpecialArea.RETAIL_REGISTER.getValue()); // shoppingCartVO.setSpecialArea(ESpecialArea.RETAIL_REGISTER.getValue());
// } // }
@ -117,9 +117,9 @@ public class ApiShoppingCartController extends BaseController {
Map<String, String> innerShopMap; Map<String, String> innerShopMap;
innerShopMap = (Map<String, String>) shoppingCartRedisMap.get(key); innerShopMap = (Map<String, String>) shoppingCartRedisMap.get(key);
shoppingCartOld = shoppingCartService.getShopping(innerShopMap, shoppingCartVO.getSpecialArea(), shoppingCartVO.getPkCountry(), SecurityUtils.getSystemType()); shoppingCartOld = shoppingCartService.getShopping(innerShopMap, shoppingCartVO.getSpecialArea(), shoppingCartVO.getPkCountry(), SecurityUtils.getSystemType());
if(copyFor41List){ // if(copyFor41List){
shoppingCartOld.forEach(item -> {item.setSpecialArea(ESpecialArea.RETAIL_UPGRADE.getValue());}); // shoppingCartOld.forEach(item -> {item.setSpecialArea(ESpecialArea.RETAIL_UPGRADE.getValue());});
} // }
} else { } else {
shoppingCartOld = new ArrayList<>(); shoppingCartOld = new ArrayList<>();
} }