dev
ljw 2026-02-10 17:39:04 +08:00
commit d51b56254e
2 changed files with 32 additions and 24 deletions

View File

@ -8,6 +8,8 @@ import lombok.Setter;
import lombok.ToString; import lombok.ToString;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
import java.time.LocalDateTime;
@Getter @Getter
@Setter @Setter
@ToString @ToString
@ -23,5 +25,5 @@ public class HsoaRecode {
private Boolean success; private Boolean success;
@TableField(fill = FieldFill.INSERT) @TableField(fill = FieldFill.INSERT)
private String createTime; private LocalDateTime createTime;
} }

View File

@ -1277,6 +1277,7 @@ public class OrderInfoService extends ServiceImpl<OrderInfoMapper, OrderInfoEnti
Long orderId = truckLeavingOrderParam.getOrderId(); Long orderId = truckLeavingOrderParam.getOrderId();
OrderInfoEntity orderInfoEntity = this.getById(orderId); OrderInfoEntity orderInfoEntity = this.getById(orderId);
Long truckId = orderInfoEntity.getTruckId(); Long truckId = orderInfoEntity.getTruckId();
boolean result = false;
try { try {
Assert.notNull(orderInfoEntity, () -> Exceptions.clierr("订单不存在")); Assert.notNull(orderInfoEntity, () -> Exceptions.clierr("订单不存在"));
OrderStatus orderStatus = orderInfoEntity.getOrderStatus(); OrderStatus orderStatus = orderInfoEntity.getOrderStatus();
@ -1352,25 +1353,6 @@ public class OrderInfoService extends ServiceImpl<OrderInfoMapper, OrderInfoEnti
log.error("订单状态改变事件发布失败,订单{},状态{}", orderInfoEntity_.getSn(), newOrderStatus, e); log.error("订单状态改变事件发布失败,订单{},状态{}", orderInfoEntity_.getSn(), newOrderStatus, e);
return null; return null;
}); });
CompletableFuture.runAsync(() -> {
OrderPagingResult detail = this.detail(orderId);
HsoaResult<?> result = hsoaService.pushProvincialSave(detail);
HsoaRecode hsoaRecode = new HsoaRecode()
.setOrderId(orderId)
.setOrderSn(detail.getSn())
.setLicensePlate(detail.getLicensePlate())
.setPushType(PushType.LianDan);
if (result == null || !result.isSuccess()) {
Hsoa.relogin();
log.error("推送订单数据失败数据Id{}", entity.getId());
hsoaService.save(hsoaRecode.setSuccess(Boolean.FALSE));
} else {
hsoaService.save(hsoaRecode.setSuccess(Boolean.TRUE));
}
}).exceptionally(e -> {
log.error("推送订单数据失败数据Id{}", entity.getId(), e);
return null;
});
// 出厂付费 // 出厂付费
if (OrderCategory.PuTong.equals(orderInfoEntity.getOrderCategory()) && MoneyWay.OUT.getVal().equals(entity.getMoneyWay())) { if (OrderCategory.PuTong.equals(orderInfoEntity.getOrderCategory()) && MoneyWay.OUT.getVal().equals(entity.getMoneyWay())) {
@ -1378,12 +1360,13 @@ public class OrderInfoService extends ServiceImpl<OrderInfoMapper, OrderInfoEnti
// updateOrderItems(orderInfoEntity.getId(), settleWeight, Boolean.FALSE); // updateOrderItems(orderInfoEntity.getId(), settleWeight, Boolean.FALSE);
// 扣费 // 扣费
return handleCompanyPay(orderInfoEntity, Boolean.FALSE, new BigDecimal("0"), Boolean.FALSE); result = handleCompanyPay(orderInfoEntity, Boolean.FALSE, new BigDecimal("0"), Boolean.FALSE);
} else if (OrderCategory.DuanBoRu.equals(orderInfoEntity.getOrderCategory())) { } else if (OrderCategory.DuanBoRu.equals(orderInfoEntity.getOrderCategory())) {
// 扣费 // 扣费
return handleCompanyPay(orderInfoEntity, Boolean.FALSE, new BigDecimal("0"), Boolean.FALSE); result = handleCompanyPay(orderInfoEntity, Boolean.FALSE, new BigDecimal("0"), Boolean.FALSE);
} }
OrderPagingResult detail = this.detail(orderId);
pushData(detail);
} finally { } finally {
if (orderInfoEntity.getOrderCategory() != OrderCategory.DuanBoChu) { if (orderInfoEntity.getOrderCategory() != OrderCategory.DuanBoChu) {
// 关闭 GPS // 关闭 GPS
@ -1391,8 +1374,31 @@ public class OrderInfoService extends ServiceImpl<OrderInfoMapper, OrderInfoEnti
String gpsId = truckInfo.getGps(); String gpsId = truckInfo.getGps();
stopTrack(gpsId); stopTrack(gpsId);
} }
} }
return false; return result;
}
public void pushData(OrderPagingResult detail) {
Long orderId = detail.getId();
CompletableFuture.runAsync(() -> {
HsoaResult<?> result = hsoaService.pushProvincialSave(detail);
HsoaRecode hsoaRecode = new HsoaRecode()
.setOrderId(orderId)
.setOrderSn(detail.getSn())
.setLicensePlate(detail.getLicensePlate())
.setPushType(PushType.LianDan);
if (result == null || !result.isSuccess()) {
Hsoa.relogin();
log.error("推送订单数据失败数据Id{}", orderId);
hsoaService.save(hsoaRecode.setSuccess(Boolean.FALSE));
} else {
hsoaService.save(hsoaRecode.setSuccess(Boolean.TRUE));
}
}).exceptionally(e -> {
log.error("推送订单数据失败数据Id{}", orderId, e);
return null;
});
} }
/** /**