提交 64538c43 authored 作者: 艾庆国's avatar 艾庆国

Merge branch 'refs/heads/v25.3_broker_20240906' into release

...@@ -9,6 +9,7 @@ import com.clx.performance.dao.settle.SettlementOwnerDetailDao; ...@@ -9,6 +9,7 @@ import com.clx.performance.dao.settle.SettlementOwnerDetailDao;
import com.clx.performance.model.settle.OrderChildSyncTransportRecord; import com.clx.performance.model.settle.OrderChildSyncTransportRecord;
import com.clx.performance.model.settle.SettlementOwner; import com.clx.performance.model.settle.SettlementOwner;
import com.clx.performance.model.settle.SettlementOwnerDetail; import com.clx.performance.model.settle.SettlementOwnerDetail;
import com.clx.performance.service.broker.OrderChildBrokerMqService;
import com.clx.performance.service.settle.SettlementMqService; import com.clx.performance.service.settle.SettlementMqService;
import com.msl.common.job.JobLog; import com.msl.common.job.JobLog;
import com.xxl.job.core.context.XxlJobHelper; import com.xxl.job.core.context.XxlJobHelper;
...@@ -36,6 +37,7 @@ public class SettlementJob { ...@@ -36,6 +37,7 @@ public class SettlementJob {
private final SettlementOwnerDetailDao settlementOwnerDetailDao; private final SettlementOwnerDetailDao settlementOwnerDetailDao;
private final SettlementOwnerDao settlementOwnerDao; private final SettlementOwnerDao settlementOwnerDao;
private final OrderChildSyncTransportRecordDao orderChildSyncTransportRecordDao; private final OrderChildSyncTransportRecordDao orderChildSyncTransportRecordDao;
private final OrderChildBrokerMqService orderChildBrokerMqService;
/** /**
* 同步无车承运运单开票类型 * 同步无车承运运单开票类型
...@@ -129,4 +131,61 @@ public class SettlementJob { ...@@ -129,4 +131,61 @@ public class SettlementJob {
} }
} }
/**
* 网络货运运单更新(测试)
*/
@XxlJob("settlementBrokerOrderChildUpdateTest")
public void settlementBrokerOrderChildUpdateTest() {
try {
List<String> childNoList=null;
String jobParam= XxlJobHelper.getJobParam();
log.info("网络货运运单更新, param:{}", jobParam);
if (StringUtils.isNotBlank(jobParam)) {
childNoList = JSON.parseArray(jobParam, String.class);
}
if (childNoList == null && childNoList.isEmpty()) {
return;
}
for (String childNo : childNoList) {
// 发送mq (运单更新)
orderChildBrokerMqService.orderChildUpdate(childNo);
}
} catch (Exception e) {
log.warn("网络货运运单更新失败,msg:{}", ExceptionUtils.getStackTrace(e));
JobLog.error("网络货运运单更新失败", e);
}
}
/**
* 网络货运运单同步(测试)
*/
@XxlJob("settlementBrokerOrderChildSyncTest")
public void settlementBrokerOrderChildSyncTest() {
try {
List<String> childNoList=null;
String jobParam= XxlJobHelper.getJobParam();
log.info("网络货运运单同步, param:{}", jobParam);
if (StringUtils.isNotBlank(jobParam)) {
childNoList = JSON.parseArray(jobParam, String.class);
}
if (childNoList == null && childNoList.isEmpty()) {
return;
}
for (String childNo : childNoList) {
// 发送mq (运单同步)
orderChildBrokerMqService.orderChildSync(childNo);
}
} catch (Exception e) {
log.warn("网络货运运单同步失败,msg:{}", ExceptionUtils.getStackTrace(e));
JobLog.error("网络货运运单同步失败", e);
}
}
} }
...@@ -211,8 +211,10 @@ public class OrderGoodsServiceImpl implements OrderGoodsService, InitializingBea ...@@ -211,8 +211,10 @@ public class OrderGoodsServiceImpl implements OrderGoodsService, InitializingBea
@Override @Override
public IPage<OrderGoodsVO> pageOrderGoodsList(PageOrderGoodsListParam param) { public IPage<OrderGoodsVO> pageOrderGoodsList(PageOrderGoodsListParam param) {
long start2 = System.currentTimeMillis();
IPage<OrderGoodsVO> page = orderGoodsDao.pageOrderGoodsList(param); IPage<OrderGoodsVO> page = orderGoodsDao.pageOrderGoodsList(param);
long start3 = System.currentTimeMillis();
log.info("执行耗时2,{}",start3-start2);
if(CollectionUtils.isNotEmpty(page.getRecords())){ if(CollectionUtils.isNotEmpty(page.getRecords())){
List<String> fleetNoList = new ArrayList<>(); List<String> fleetNoList = new ArrayList<>();
List<String> orderNoList = new ArrayList<>(); List<String> orderNoList = new ArrayList<>();
...@@ -223,22 +225,27 @@ public class OrderGoodsServiceImpl implements OrderGoodsService, InitializingBea ...@@ -223,22 +225,27 @@ public class OrderGoodsServiceImpl implements OrderGoodsService, InitializingBea
} }
orderNoList.add(record.getOrderNo()); orderNoList.add(record.getOrderNo());
} }
long start5 = System.currentTimeMillis();
log.info("执行耗时3,{}",start5-start3);
if(CollectionUtils.isNotEmpty(fleetNoList)){ if(CollectionUtils.isNotEmpty(fleetNoList)){
List<OrderGoodsBindTruckNumDTO> bindTruckNumList = orderGoodsTruckBindDao.queryOrderGoodsTruckNum(fleetNoList); List<OrderGoodsBindTruckNumDTO> bindTruckNumList = orderGoodsTruckBindDao.queryOrderGoodsTruckNum(fleetNoList);
Map<String, Integer> map = bindTruckNumList.stream().collect( Map<String, Integer> map = bindTruckNumList.stream().collect(
Collectors.toMap(OrderGoodsBindTruckNumDTO::getOrderGoodsNo,OrderGoodsBindTruckNumDTO :: getTruckNum)); Collectors.toMap(OrderGoodsBindTruckNumDTO::getOrderGoodsNo,OrderGoodsBindTruckNumDTO :: getTruckNum));
page.getRecords().forEach(item->item.setDispatchedOrders(map.get(item.getOrderGoodsNo()))); page.getRecords().forEach(item->item.setDispatchedOrders(map.get(item.getOrderGoodsNo())));
} }
long start6 = System.currentTimeMillis();
log.info("执行耗时4,{}",start6-start5);
Optional<Map<String, FeignOrderInfoVO>> orderListOption = orderService.queryListOrderByOrderNoList(orderNoList); Optional<Map<String, FeignOrderInfoVO>> orderListOption = orderService.queryListOrderByOrderNoList(orderNoList);
if(!orderListOption.isPresent()){ if(!orderListOption.isPresent()){
log.warn("通过订单号批量查询订单信息失败,失败原因"); log.warn("通过订单号批量查询订单信息失败,失败原因");
throw new ServiceSystemException(ResultEnum.DATA_ERROR,"查询货单对应的订单信息失败"); throw new ServiceSystemException(ResultEnum.DATA_ERROR,"查询货单对应的订单信息失败");
} }
long start7 = System.currentTimeMillis();
log.info("执行耗时5,{}",start7-start6);
List<OrderGoods> orderGoods = orderGoodsDao.listInField(OrderGoods::getOrderNo, orderNoList); List<OrderGoods> orderGoods = orderGoodsDao.listInField(OrderGoods::getOrderNo, orderNoList);
long start8 = System.currentTimeMillis();
log.info("执行耗时6,{}",start8-start7);
Map<String, BigDecimal> orderExtractWeightMap = new HashMap<>(); Map<String, BigDecimal> orderExtractWeightMap = new HashMap<>();
for (OrderGoods orderGood : orderGoods) { for (OrderGoods orderGood : orderGoods) {
...@@ -248,6 +255,8 @@ public class OrderGoodsServiceImpl implements OrderGoodsService, InitializingBea ...@@ -248,6 +255,8 @@ public class OrderGoodsServiceImpl implements OrderGoodsService, InitializingBea
orderExtractWeightMap.put(orderNo,Objects.nonNull(orderExtractWeightMap.get(orderNo))? orderExtractWeightMap.put(orderNo,Objects.nonNull(orderExtractWeightMap.get(orderNo))?
orderExtractWeightMap.get(orderNo).add(weight): weight); orderExtractWeightMap.get(orderNo).add(weight): weight);
} }
long start9 = System.currentTimeMillis();
log.info("执行耗时7,{}",start9-start8);
Map<String, FeignOrderInfoVO> orderInfoMap = orderListOption.get(); Map<String, FeignOrderInfoVO> orderInfoMap = orderListOption.get();
page.getRecords().forEach(item->{ page.getRecords().forEach(item->{
FeignOrderInfoVO orderInfo = orderInfoMap.get(item.getOrderNo()); FeignOrderInfoVO orderInfo = orderInfoMap.get(item.getOrderNo());
...@@ -259,6 +268,8 @@ public class OrderGoodsServiceImpl implements OrderGoodsService, InitializingBea ...@@ -259,6 +268,8 @@ public class OrderGoodsServiceImpl implements OrderGoodsService, InitializingBea
} }
item.setResidueTransportWeight(calcOrderGoodsResidueWeight(item.getExtractWeight(),item.getAlreadyTransportWeight())); item.setResidueTransportWeight(calcOrderGoodsResidueWeight(item.getExtractWeight(),item.getAlreadyTransportWeight()));
}); });
long start11 = System.currentTimeMillis();
log.info("执行耗时8,{}",start11-start9);
} }
return page; return page;
} }
......
...@@ -252,7 +252,8 @@ public class OrderChildBrokerServiceImpl implements OrderChildBrokerService { ...@@ -252,7 +252,8 @@ public class OrderChildBrokerServiceImpl implements OrderChildBrokerService {
orderChildInfo.setSourceOrderNo(orderChild.getOrderNo()); orderChildInfo.setSourceOrderNo(orderChild.getOrderNo());
orderChildInfo.setSourceSettlementNo(settlementOwnerDetail.getSettlementNo()); orderChildInfo.setSourceSettlementNo(settlementOwnerDetail.getSettlementNo());
orderChildInfo.setFreight(orderChild.getFreightPrice().multiply(orderChild.getUnloadNet()) orderChildInfo.setFreight(orderChild.getFreightPrice()
.multiply(orderChild.getUnloadNet().min(orderChild.getLoadNet()))
.setScale(0, RoundingMode.HALF_UP).intValue()); .setScale(0, RoundingMode.HALF_UP).intValue());
orderChildInfo.setDriverFreight(orderChild.getFreight().intValue()); orderChildInfo.setDriverFreight(orderChild.getFreight().intValue());
orderChildInfo.setDriverFreightPrice(orderChild.getFreightPrice().intValue()); orderChildInfo.setDriverFreightPrice(orderChild.getFreightPrice().intValue());
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论