## Opt - 五折专区

This commit is contained in:
sangelxiu1 2025-09-29 13:58:45 +08:00
parent 1e6cc04057
commit c11c8be339
5 changed files with 31 additions and 4 deletions

View File

@ -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);

View File

@ -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());

View File

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

View File

@ -1425,5 +1425,18 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
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) {
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<String, String> innerShopMap;
innerShopMap = (Map<String, String>) 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<>();
}