提交 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;
import com.clx.performance.model.settle.OrderChildSyncTransportRecord;
import com.clx.performance.model.settle.SettlementOwner;
import com.clx.performance.model.settle.SettlementOwnerDetail;
import com.clx.performance.service.broker.OrderChildBrokerMqService;
import com.clx.performance.service.settle.SettlementMqService;
import com.msl.common.job.JobLog;
import com.xxl.job.core.context.XxlJobHelper;
......@@ -36,6 +37,7 @@ public class SettlementJob {
private final SettlementOwnerDetailDao settlementOwnerDetailDao;
private final SettlementOwnerDao settlementOwnerDao;
private final OrderChildSyncTransportRecordDao orderChildSyncTransportRecordDao;
private final OrderChildBrokerMqService orderChildBrokerMqService;
/**
* 同步无车承运运单开票类型
......@@ -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
@Override
public IPage<OrderGoodsVO> pageOrderGoodsList(PageOrderGoodsListParam param) {
long start2 = System.currentTimeMillis();
IPage<OrderGoodsVO> page = orderGoodsDao.pageOrderGoodsList(param);
long start3 = System.currentTimeMillis();
log.info("执行耗时2,{}",start3-start2);
if(CollectionUtils.isNotEmpty(page.getRecords())){
List<String> fleetNoList = new ArrayList<>();
List<String> orderNoList = new ArrayList<>();
......@@ -223,22 +225,27 @@ public class OrderGoodsServiceImpl implements OrderGoodsService, InitializingBea
}
orderNoList.add(record.getOrderNo());
}
long start5 = System.currentTimeMillis();
log.info("执行耗时3,{}",start5-start3);
if(CollectionUtils.isNotEmpty(fleetNoList)){
List<OrderGoodsBindTruckNumDTO> bindTruckNumList = orderGoodsTruckBindDao.queryOrderGoodsTruckNum(fleetNoList);
Map<String, Integer> map = bindTruckNumList.stream().collect(
Collectors.toMap(OrderGoodsBindTruckNumDTO::getOrderGoodsNo,OrderGoodsBindTruckNumDTO :: getTruckNum));
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);
if(!orderListOption.isPresent()){
log.warn("通过订单号批量查询订单信息失败,失败原因");
throw new ServiceSystemException(ResultEnum.DATA_ERROR,"查询货单对应的订单信息失败");
}
long start7 = System.currentTimeMillis();
log.info("执行耗时5,{}",start7-start6);
List<OrderGoods> orderGoods = orderGoodsDao.listInField(OrderGoods::getOrderNo, orderNoList);
long start8 = System.currentTimeMillis();
log.info("执行耗时6,{}",start8-start7);
Map<String, BigDecimal> orderExtractWeightMap = new HashMap<>();
for (OrderGoods orderGood : orderGoods) {
......@@ -248,6 +255,8 @@ public class OrderGoodsServiceImpl implements OrderGoodsService, InitializingBea
orderExtractWeightMap.put(orderNo,Objects.nonNull(orderExtractWeightMap.get(orderNo))?
orderExtractWeightMap.get(orderNo).add(weight): weight);
}
long start9 = System.currentTimeMillis();
log.info("执行耗时7,{}",start9-start8);
Map<String, FeignOrderInfoVO> orderInfoMap = orderListOption.get();
page.getRecords().forEach(item->{
FeignOrderInfoVO orderInfo = orderInfoMap.get(item.getOrderNo());
......@@ -259,6 +268,8 @@ public class OrderGoodsServiceImpl implements OrderGoodsService, InitializingBea
}
item.setResidueTransportWeight(calcOrderGoodsResidueWeight(item.getExtractWeight(),item.getAlreadyTransportWeight()));
});
long start11 = System.currentTimeMillis();
log.info("执行耗时8,{}",start11-start9);
}
return page;
}
......
......@@ -252,7 +252,8 @@ public class OrderChildBrokerServiceImpl implements OrderChildBrokerService {
orderChildInfo.setSourceOrderNo(orderChild.getOrderNo());
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());
orderChildInfo.setDriverFreight(orderChild.getFreight().intValue());
orderChildInfo.setDriverFreightPrice(orderChild.getFreightPrice().intValue());
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论