|
|
|
|
@ -27,7 +27,7 @@ import java.util.List;
|
|
|
|
|
/**
|
|
|
|
|
* 邮寄资费最优方案Service业务层处理
|
|
|
|
|
*
|
|
|
|
|
* @author hm
|
|
|
|
|
* @author yangk
|
|
|
|
|
* @date 2026-03-16
|
|
|
|
|
*/
|
|
|
|
|
@RequiredArgsConstructor
|
|
|
|
|
@ -58,7 +58,8 @@ public class CrmShippingTariffServiceImpl implements ICrmShippingTariffService {
|
|
|
|
|
LambdaQueryWrapper<CrmShippingTariff> lqw = Wrappers.lambdaQuery();
|
|
|
|
|
lqw.like(StringUtils.isNotBlank(bo.getProvince()), CrmShippingTariff::getProvince, bo.getProvince());
|
|
|
|
|
lqw.eq(bo.getWeightKg() != null, CrmShippingTariff::getWeightKg, bo.getWeightKg());
|
|
|
|
|
lqw.like(StringUtils.isNotBlank(bo.getSolutionName()), CrmShippingTariff::getSolutionName, bo.getSolutionName());
|
|
|
|
|
lqw.like(StringUtils.isNotBlank(bo.getSolutionName()), CrmShippingTariff::getSolutionName,
|
|
|
|
|
bo.getSolutionName());
|
|
|
|
|
lqw.orderByAsc(CrmShippingTariff::getProvince).orderByAsc(CrmShippingTariff::getWeightKg);
|
|
|
|
|
return lqw;
|
|
|
|
|
}
|
|
|
|
|
@ -99,7 +100,7 @@ public class CrmShippingTariffServiceImpl implements ICrmShippingTariffService {
|
|
|
|
|
// 判断是否存在同省份同公斤级的数据
|
|
|
|
|
LambdaQueryWrapper<CrmShippingTariff> lqw = Wrappers.lambdaQuery();
|
|
|
|
|
lqw.eq(CrmShippingTariff::getProvince, bo.getProvince())
|
|
|
|
|
.eq(CrmShippingTariff::getWeightKg, bo.getWeightKg());
|
|
|
|
|
.eq(CrmShippingTariff::getWeightKg, bo.getWeightKg());
|
|
|
|
|
CrmShippingTariff exist = baseMapper.selectOne(lqw);
|
|
|
|
|
|
|
|
|
|
if (ObjectUtil.isNull(exist)) {
|
|
|
|
|
@ -111,7 +112,8 @@ public class CrmShippingTariffServiceImpl implements ICrmShippingTariffService {
|
|
|
|
|
successNum++;
|
|
|
|
|
} else {
|
|
|
|
|
failureNum++;
|
|
|
|
|
failureMsg.append("<br/>").append(failureNum).append("、记录 ").append(bo.getProvince()).append("-").append(bo.getWeightKg()).append(" 已存在");
|
|
|
|
|
failureMsg.append("<br/>").append(failureNum).append("、记录 ").append(bo.getProvince()).append("-")
|
|
|
|
|
.append(bo.getWeightKg()).append(" 已存在");
|
|
|
|
|
}
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
failureNum++;
|
|
|
|
|
@ -138,10 +140,10 @@ public class CrmShippingTariffServiceImpl implements ICrmShippingTariffService {
|
|
|
|
|
int targetWeightKg = weight.setScale(0, RoundingMode.UP).intValue();
|
|
|
|
|
|
|
|
|
|
LambdaQueryWrapper<CrmShippingTariff> lqw = Wrappers.lambdaQuery();
|
|
|
|
|
// 精确匹配省份,如果有需要也可以做前缀匹配(如"北京" -> "北京市"),为了严谨最好先用 like 进行容错
|
|
|
|
|
// 精确匹配省份,如果有需要也可以做前缀匹配(如"北京" -> "北京市")
|
|
|
|
|
lqw.like(CrmShippingTariff::getProvince, province)
|
|
|
|
|
.eq(CrmShippingTariff::getWeightKg, targetWeightKg)
|
|
|
|
|
.last("LIMIT 1");
|
|
|
|
|
.eq(CrmShippingTariff::getWeightKg, targetWeightKg)
|
|
|
|
|
.last("LIMIT 1");
|
|
|
|
|
|
|
|
|
|
return baseMapper.selectVoOne(lqw);
|
|
|
|
|
}
|
|
|
|
|
|