提交 a98c32c3 authored 作者: 刘海泉's avatar 刘海泉

Merge remote-tracking branch 'origin/v19.4_order_performance_progress_20240712' into test

Former-commit-id: bc359d81
package com.clx.performance.constant;
import java.math.BigDecimal;
/**
* @ClassName BusinessConstants
* @Description
* @Author kavin
* @Date 2024/7/22 15:26
* @Version 1.0
*/
public class BusinessConstants {
//承运订单需要减去的吨数
public static final BigDecimal ORDER_SUB_WEIGHT = new BigDecimal("35");
}
......@@ -11,5 +11,8 @@ public interface AddressService {
Optional<SystemAddressVO> getSystemAddress(Integer addressId);
String generateAddressDetail(String ... args);
}
......@@ -8,6 +8,7 @@ import com.msl.common.base.Optional;
import com.msl.common.result.Result;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
@Service
......@@ -15,6 +16,7 @@ import org.springframework.stereotype.Service;
@AllArgsConstructor
public class AddressServiceImpl implements AddressService {
private final AddressFeign addressFeign;
private final static StringBuffer sb = new StringBuffer();
@Override
public Optional<FeignAddressVO> getSendAndReceiveAddress(Integer sendAddressId, Integer receiveAddressId) {
......@@ -29,4 +31,14 @@ public class AddressServiceImpl implements AddressService {
.filter(Result::succeed)
.map(Result::getData);
}
@Override
public String generateAddressDetail(String ... args) {
for (String arg : args) {
if(StringUtils.isNotBlank(arg)){
sb.append(arg);
}
}
return sb.toString();
}
}
......@@ -7,6 +7,7 @@ import com.clx.open.sdk.callback.message.OrderInfoMessage;
import com.clx.order.vo.feign.FeignAddressVO;
import com.clx.order.vo.feign.FeignOrderInfoVO;
import com.clx.order.vo.feign.SystemAddressVO;
import com.clx.performance.constant.BusinessConstants;
import com.clx.performance.dao.OrderChildDao;
import com.clx.performance.dao.OrderGoodsDao;
import com.clx.performance.dao.PerformanceProgressDao;
......@@ -279,7 +280,7 @@ public class PerformanceProgressServiceImpl implements PerformanceProgressServi
performanceProgressDao.deleteByField(PerformanceProgress::getOrderNo,data.getOrderNo());
}
Optional<PerformanceProgress> optional = performanceProgressDao.getOneByField(PerformanceProgress::getOrderNo,
Optional<PerformanceProgress> performanceProgressOptional = performanceProgressDao.getOneByField(PerformanceProgress::getOrderNo,
data.getOrderNo());
PerformanceProgress item = new PerformanceProgress();
......@@ -290,23 +291,17 @@ public class PerformanceProgressServiceImpl implements PerformanceProgressServi
item.setGoodsNameId(data.getGoodsNameId());
item.setGoodsName(data.getGoodsName());
item.setSendOverStandard(data.getOverWeight());
item.setTaskWeight(data.getTransportWeight().subtract(new BigDecimal(35)));
item.setTaskWeight(data.getTransportWeight().subtract(BusinessConstants.ORDER_SUB_WEIGHT));
item.setPendingWeight(data.getTransportWeight().subtract(data.getResidueWeight()));
item.setTransportTimeSlot(DateUtils.formatDateTime(data.getTransportBeginTime()).get() + "至" +
DateUtils.formatDateTime(data.getTransportEndTime()).get());
if(Objects.equals(data.getOrderStatus(),OrderEnum.Status.COMPLETED.getCode()) ||
Objects.equals(data.getOrderStatus(),OrderEnum.Status.SUCCESS.getCode())
){
//TODO 计算测算运费
}
if(optional.isPresent()){
item.setId(optional.get().getId());
if(performanceProgressOptional.isPresent()){
item.setId(performanceProgressOptional.get().getId());
if(Objects.nonNull(data.getSendSystemAddressId()) &&
!Objects.equals(optional.get().getSendSystemAddressId(),data.getSendSystemAddressId())){
!Objects.equals(performanceProgressOptional.get().getSendSystemAddressId(),data.getSendSystemAddressId())){
item.setSendSystemAddressId(data.getSendSystemAddressId());
item.setSendSystemAddressShorter(getSystemAddressShorter(data.getSendSystemAddressId()));
}
......@@ -319,7 +314,8 @@ public class PerformanceProgressServiceImpl implements PerformanceProgressServi
Optional<FeignAddressVO> sendAndReceiveAddress = addressService.getSendAndReceiveAddress(
data.getSendAddressId(), data.getReveiveAddressId());
if (!sendAndReceiveAddress.isPresent()) {
if (Objects.isNull(sendAndReceiveAddress.get().getSendAddress()) ||
Objects.isNull(sendAndReceiveAddress.get().getReceiveAddress())) {
log.warn("通过发货地址Id:{},收货地址Id:{} 查询对应的地址信息结果:{}",
data.getSendAddressId(),data.getReveiveAddressId(),sendAndReceiveAddress);
throw new ServiceSystemException(ResultEnum.DATA_ERROR,"履约进度表订单对应的收发货地址信息为空");
......@@ -348,8 +344,8 @@ public class PerformanceProgressServiceImpl implements PerformanceProgressServi
}
item.setSendAddressId(data.getSendAddressId());
item.setSendAddressShorter(data.getSendAddressShorter());
item.setSendAddress(sendAddress.getProvince()+sendAddress.getCity()+sendAddress.getCounty()
+ sendAddress.getAddress());
item.setSendAddress(addressService.generateAddressDetail(sendAddress.getProvince(),
sendAddress.getCity(),sendAddress.getCounty(),sendAddress.getAddress()));
performanceProgressDao.saveEntity(item);
}
}
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论