在不发货的地区编码中

This commit is contained in:
Owen 2025-01-11 21:44:53 +08:00
parent dd0d0c61da
commit b37a5da8ab
1 changed files with 38 additions and 0 deletions

View File

@ -1,5 +1,6 @@
package cn.iocoder.yudao.module.haoka.service.orders;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.iocoder.yudao.module.haoka.api.ApiFrom;
import cn.iocoder.yudao.module.haoka.controller.admin.onsaleproduct.vo.OnSaleProductPreOrderRespVO;
@ -34,6 +35,7 @@ import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.module.haoka.dal.mysql.orders.OrdersMapper;
import java.util.List;
import java.util.stream.Collectors;
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.invalidParamException;
@ -161,7 +163,43 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersMapper, OrdersDO> imple
String idCardNum = oldOrderDo.getIdCardNum();
List<ProductLimitCardRespVO> productLimitCardRespVO = productLimit.getProductLimitCardRespVO();
List<ProductLimitAreaRespVO> productLimitAreaVos = productLimit.getProductLimitAreaVos();
// 地区限制检查
if (CollectionUtil.isNotEmpty(productLimitAreaVos)){
// 允许的地区编码
List<String> allowedAreaCode = productLimitAreaVos
.stream()
.filter(ProductLimitAreaRespVO::getAllowed)
.map(ProductLimitAreaRespVO::getAddressCode)
.toList();
// 不在允许的地区编码
if (CollectionUtil.isNotEmpty(allowedAreaCode) && !allowedAreaCode.contains(addressProvinceCode)){
updateObj.setStatus(125L);
}
List<String> notAllowedAreaCode = productLimitAreaVos
.stream()
.filter(o->!o.getAllowed())
.map(ProductLimitAreaRespVO::getAddressCode)
.toList();
// 在不发货的地区编码中
if (CollectionUtil.isNotEmpty(notAllowedAreaCode) && notAllowedAreaCode.contains(addressProvinceCode)){
updateObj.setStatus(125L);
}
}
}
// 保证下面字段信息不会变化
updateObj.setOnSaleProductId(oldOrderDo.getOnSaleProductId());
updateObj.setProducerId(oldOrderDo.getProducerId());