提交 d5cd54bc authored 作者: huyufan's avatar huyufan

Merge remote-tracking branch 'origin/test' into test

......@@ -869,9 +869,12 @@ public class OrderChildServiceImpl implements OrderChildService {
// 更新出车状态
updateDriverOrderStatusUnload(orderChild.getDriverUserNo(), orderChild.getTruckId());
OrderGoods orderGoods = orderGoodsDao.getByOrderGoodsNo(orderChild.getOrderGoodsNo()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
//释放车辆
goodsOrderTruckRecordComponent.releaseDriverCard(orderChild.getOrderGoodsNo(), orderChild.getTruckNo());
//非自有车辆配货的进行车辆释放
if(!Objects.equals(orderGoods.getVehicleUsage(), VehicleUsageEnum.Status.OWN.getCode())){
goodsOrderTruckRecordComponent.releaseDriverCard(orderChild.getOrderGoodsNo(), orderChild.getTruckNo());
}
// 发送mq 卸车
orderChildMqService.orderChildUnload(orderChild.getChildNo());
}
......
......@@ -71,6 +71,10 @@ import java.time.LocalDateTime;
import java.util.*;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
@Slf4j
@Service
......
......@@ -15,7 +15,9 @@ import com.clx.performance.struct.settle.SettlementDriverStruct;
import com.clx.performance.vo.pc.carrier.settle.CarrierPageSettlementDriverVO;
import com.msl.common.exception.ServiceSystemException;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import java.util.List;
......@@ -26,6 +28,7 @@ import java.util.Objects;
* Date 2023-10-12
* Time 09:43
*/
@Slf4j
@Service
@AllArgsConstructor
public class SettlementDriverServiceImpl implements SettlementDriverService {
......@@ -58,6 +61,12 @@ public class SettlementDriverServiceImpl implements SettlementDriverService {
if(!Objects.equals(param.getIds().size(),list.size())){
throw new ServiceSystemException(PerformanceResultEnum.DATA_NOT_FIND,"所选数据有误,请重新选择");
}
list.forEach(item-> settlementMqHandlerService.paySettlementDriver(item));
list.forEach(item-> {
String msg = settlementMqHandlerService.paySettlementDriver(item);
if(StringUtils.isNotBlank(msg)){
log.warn("结算单对应的的运单编号:{} 进行结算,结算失败,返回结果:{}",item.getChildNo(),msg);
throw new ServiceSystemException(PerformanceResultEnum.DATA_NOT_FIND,msg);
}
});
}
}
......@@ -224,7 +224,7 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
/**
* 车主结算单自动支付
*/
public void paySettlementDriver(SettlementDriverDetail detail){
public String paySettlementDriver(SettlementDriverDetail detail){
DriverInfoFeignVo driverInfoFeignVo = driverService.getDriverInfo(detail.getDriverUserNo()).orElseThrow(ResultCodeEnum.FAIL);
PayParam noCheckPwd = null ;
if(detail.getSettlementFreight().compareTo(BigDecimal.ZERO) > 0){
......@@ -249,6 +249,7 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
}
Result result = null;
String msg = null;
try{
result = paymentService.paymentWallet(noCheckPwd);
}catch (Exception e){
......@@ -256,7 +257,9 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
}
if(Objects.nonNull(result)){
settlementDriverNotify(detail.getChildNo(),0,result.getMsg());
msg = result.getMsg();
}
return msg;
}
/**
......
......@@ -12,6 +12,6 @@ public interface SettlementMqHandlerService {
void settlementDriverNotify(String childNo,Integer payType,String payErrorMsg);
void paySettlementDriver(SettlementDriverDetail detail);
String paySettlementDriver(SettlementDriverDetail detail);
}
......@@ -13,7 +13,7 @@ public class SettlementDriverDetailSqlProvider {
return new SQL(){{
SELECT("a.* ");
FROM("settlement_owner_detail a ");
LEFT_OUTER_JOIN("settlement_driver b on a.settlement_no = b.settlement_no");
LEFT_OUTER_JOIN("settlement_driver b on a.settlement_no = b.settlement_no ");
WHERE("b.create_time >= #{beginTime}");
WHERE("b.status = " + SettlementDriverEnum.Status.WAIT_SETTLEMENT.getCode());
ORDER_BY("b.create_time");
......@@ -25,7 +25,7 @@ public class SettlementDriverDetailSqlProvider {
return new SQL(){{
SELECT("a.* ");
FROM("settlement_driver_detail a ");
LEFT_OUTER_JOIN("settlement_driver b on a.settlement_no = b.settlement_no");
LEFT_OUTER_JOIN("settlement_driver b on a.child_no = b.child_no ");
WHERE("b.id IN ( " + ids.stream().map(code -> "'"+code+"'").collect(Collectors.joining(","))+ ")" );
WHERE("b.status = " + SettlementDriverEnum.Status.WAIT_SETTLEMENT.getCode() );
ORDER_BY("b.create_time");
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论