提交 84418cab authored 作者: jiangwenye's avatar jiangwenye

Merge branch 'v6.4_transportation_20231110' of…

Merge branch 'v6.4_transportation_20231110' of https://t.clxkj.cn/clx-java/clx-performance into test Conflicts: performance-api/src/main/java/com/clx/performance/enums/OrderChildEnum.java performance-api/src/main/java/com/clx/performance/enums/PerformanceResultEnum.java performance-web/src/main/java/com/clx/performance/config/RabbitOrderChildConfig.java performance-web/src/main/java/com/clx/performance/model/OrderGoods.java performance-web/src/main/java/com/clx/performance/service/OrderChildMqHandlerService.java performance-web/src/main/java/com/clx/performance/service/OrderChildMqService.java performance-web/src/main/java/com/clx/performance/service/impl/OrderChildMqHandlerServiceImpl.java performance-web/src/main/java/com/clx/performance/service/impl/OrderChildMqServiceImpl.java
...@@ -108,6 +108,7 @@ public enum OrderChildEnum { ...@@ -108,6 +108,7 @@ public enum OrderChildEnum {
} }
} }
// 运输中 // 运输中
public static final List<Integer> TRANSIT_lIST = Arrays.asList( public static final List<Integer> TRANSIT_lIST = Arrays.asList(
Status.CREATED.getCode(), Status.CREATED.getCode(),
......
...@@ -13,4 +13,6 @@ public interface DriverService { ...@@ -13,4 +13,6 @@ public interface DriverService {
Optional<DriverInfoFeignVo> getTruckOwnInfo(String truckNo); Optional<DriverInfoFeignVo> getTruckOwnInfo(String truckNo);
Optional<DriverInfoFeignVo> getDriverInfo(Long driverUserNo);
} }
...@@ -44,4 +44,14 @@ public class DriverServiceImpl implements DriverService { ...@@ -44,4 +44,14 @@ public class DriverServiceImpl implements DriverService {
return null; return null;
} }
@Override
public Optional<DriverInfoFeignVo> getDriverInfo(Long driverUserNo) {
Result<DriverInfoFeignVo> result = Optional.ofNullable(driverFeign.getDriverInfo(driverUserNo)).filter(Result::succeed).orElseThrow(ResultCodeEnum.FAIL);
if (!Objects.equals(result.getCode(), 0)){
throw new ServiceSystemException(ResultCodeEnum.FAIL, result.getMsg());
}
return Optional.ofNullable(result.getData());
}
} }
...@@ -141,6 +141,8 @@ public class OrderGoods implements HasKey<Integer> { ...@@ -141,6 +141,8 @@ public class OrderGoods implements HasKey<Integer> {
private LocalDateTime lastArriveReceiveTime; private LocalDateTime lastArriveReceiveTime;
@TableField("pending_order_time") @TableField("pending_order_time")
@ApiModelProperty("挂单时间") @ApiModelProperty("挂单时间")
private LocalDateTime pendingOrderTime; private LocalDateTime pendingOrderTime;
......
...@@ -15,6 +15,8 @@ public interface OrderChildMqHandlerService { ...@@ -15,6 +15,8 @@ public interface OrderChildMqHandlerService {
void orderChildArriveReceiveAddress(OrderChildArriveReceiveAddressMqParam mq); void orderChildArriveReceiveAddress(OrderChildArriveReceiveAddressMqParam mq);
void orderChildDriverConfirm(OrderChildDriverConfirmMqParam mq); void orderChildDriverConfirm(OrderChildDriverConfirmMqParam mq);
void orderChildLoad(OrderChildLoadMqParam mq); void orderChildLoad(OrderChildLoadMqParam mq);
void orderChildUnload(OrderChildUnloadMqParam mq); void orderChildUnload(OrderChildUnloadMqParam mq);
......
...@@ -8,9 +8,9 @@ public interface OrderChildMqService { ...@@ -8,9 +8,9 @@ public interface OrderChildMqService {
void orderChildDriverConfirm(String childNo); void orderChildDriverConfirm(String childNo);
void orderChildCancel(String childNo, Integer status, Integer opUserType, Long opUserNo, String opUserName);
void orderChildLoad(String childNo); void orderChildLoad(String childNo);
void orderChildUnLoad(String childNo); void orderChildUnLoad(String childNo);
void orderChildCancel(String childNo, Integer status, Integer opUserType, Long opUserNo, String opUserName);
} }
...@@ -70,20 +70,6 @@ public class OrderChildMqServiceImpl implements OrderChildMqService { ...@@ -70,20 +70,6 @@ public class OrderChildMqServiceImpl implements OrderChildMqService {
rabbitTemplate.send(RabbitKeyOrderChildConstants.DEFAULT_EXCHANGE, RabbitKeyOrderChildConstants.DEFAULT_DELAY_ROUTING_KEY, message); rabbitTemplate.send(RabbitKeyOrderChildConstants.DEFAULT_EXCHANGE, RabbitKeyOrderChildConstants.DEFAULT_DELAY_ROUTING_KEY, message);
} }
@Override
public void orderChildCancel(String childNo, Integer status, Integer opUserType, Long opUserNo, String opUserName) {
OrderChildCancelMqParam mq = new OrderChildCancelMqParam();
mq.setChildNo(childNo);
mq.setStatus(status);
mq.setOpUserType(opUserType);
mq.setOpUserNo(opUserNo);
mq.setOpUserName(opUserName);
MqDelay<MqWrapper<OrderChildCancelMqParam>> delay = new MqDelay<>(RabbitKeyOrderChildConstants.DEFAULT_EXCHANGE, RabbitKeyOrderChildConstants.ORDER_CHILD_CANCEL_ROUTING_KEY, new MqWrapper<>(mq));
Message message = MessageBuilder.withBody(JSON.toJSONString(new MqWrapper<>(delay)).getBytes()).build();
message.getMessageProperties().setExpiration("5000");
rabbitTemplate.send(RabbitKeyOrderChildConstants.DEFAULT_EXCHANGE, RabbitKeyOrderChildConstants.DEFAULT_DELAY_ROUTING_KEY, message);
}
...@@ -109,4 +95,19 @@ public class OrderChildMqServiceImpl implements OrderChildMqService { ...@@ -109,4 +95,19 @@ public class OrderChildMqServiceImpl implements OrderChildMqService {
rabbitTemplate.send(RabbitKeyOrderChildConstants.DEFAULT_EXCHANGE, RabbitKeyOrderChildConstants.DEFAULT_DELAY_ROUTING_KEY, message); rabbitTemplate.send(RabbitKeyOrderChildConstants.DEFAULT_EXCHANGE, RabbitKeyOrderChildConstants.DEFAULT_DELAY_ROUTING_KEY, message);
} }
@Override
public void orderChildCancel(String childNo, Integer status, Integer opUserType, Long opUserNo, String opUserName) {
OrderChildCancelMqParam mq = new OrderChildCancelMqParam();
mq.setChildNo(childNo);
mq.setStatus(status);
mq.setOpUserType(opUserType);
mq.setOpUserNo(opUserNo);
mq.setOpUserName(opUserName);
MqDelay<MqWrapper<OrderChildCancelMqParam>> delay = new MqDelay<>(RabbitKeyOrderChildConstants.DEFAULT_EXCHANGE, RabbitKeyOrderChildConstants.ORDER_CHILD_CANCEL_ROUTING_KEY, new MqWrapper<>(mq));
Message message = MessageBuilder.withBody(JSON.toJSONString(new MqWrapper<>(delay)).getBytes()).build();
message.getMessageProperties().setExpiration("5000");
rabbitTemplate.send(RabbitKeyOrderChildConstants.DEFAULT_EXCHANGE, RabbitKeyOrderChildConstants.DEFAULT_DELAY_ROUTING_KEY, message);
}
} }
...@@ -6,6 +6,7 @@ import com.clx.order.enums.OrderEnum; ...@@ -6,6 +6,7 @@ import com.clx.order.enums.OrderEnum;
import com.clx.order.feign.OrderFeign; import com.clx.order.feign.OrderFeign;
import com.clx.order.vo.feign.FeignAddressVO; import com.clx.order.vo.feign.FeignAddressVO;
import com.clx.order.vo.feign.FeignOrderInfoVO; import com.clx.order.vo.feign.FeignOrderInfoVO;
import com.clx.performance.constant.RedisConstants;
import com.clx.performance.component.GoodsOrderTruckRecordComponent; import com.clx.performance.component.GoodsOrderTruckRecordComponent;
import com.clx.performance.constant.RedisConstants; import com.clx.performance.constant.RedisConstants;
import com.clx.performance.constant.RedissonConstants; import com.clx.performance.constant.RedissonConstants;
...@@ -47,6 +48,7 @@ import com.msl.common.utils.LocalDateTimeUtils; ...@@ -47,6 +48,7 @@ import com.msl.common.utils.LocalDateTimeUtils;
import com.msl.common.utils.gps.GpsUtil; import com.msl.common.utils.gps.GpsUtil;
import com.msl.user.data.UserSessionData; import com.msl.user.data.UserSessionData;
import com.msl.user.utils.TokenUtil; import com.msl.user.utils.TokenUtil;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
...@@ -1127,6 +1129,7 @@ public class OrderChildServiceImpl implements OrderChildService { ...@@ -1127,6 +1129,7 @@ public class OrderChildServiceImpl implements OrderChildService {
orderChild.getTruckNo()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND); orderChild.getTruckNo()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
} }
orderChild.setCancelRemark(param.getRemark());
orderChild.setCancelTime(LocalDateTime.now()); orderChild.setCancelTime(LocalDateTime.now());
orderChild.setFinishTime(orderChild.getCancelTime()); orderChild.setFinishTime(orderChild.getCancelTime());
orderChild.setStatus(OrderChildEnum.Status.DRIVER_CANCEL.getCode()); orderChild.setStatus(OrderChildEnum.Status.DRIVER_CANCEL.getCode());
......
...@@ -6,17 +6,21 @@ import com.clx.performance.dao.settle.SettlementDriverDetailDao; ...@@ -6,17 +6,21 @@ import com.clx.performance.dao.settle.SettlementDriverDetailDao;
import com.clx.performance.dao.settle.SettlementOwnerDao; import com.clx.performance.dao.settle.SettlementOwnerDao;
import com.clx.performance.dao.settle.SettlementOwnerDetailDao; import com.clx.performance.dao.settle.SettlementOwnerDetailDao;
import com.clx.performance.enums.OrderChildLogEnum; import com.clx.performance.enums.OrderChildLogEnum;
import com.clx.performance.enums.PayRemarkEnum;
import com.clx.performance.enums.PerformanceResultEnum; import com.clx.performance.enums.PerformanceResultEnum;
import com.clx.performance.enums.settle.SettlementDriverEnum; import com.clx.performance.enums.settle.SettlementDriverEnum;
import com.clx.performance.enums.settle.SettlementLogEnum; import com.clx.performance.enums.settle.SettlementLogEnum;
import com.clx.performance.enums.settle.SettlementOwnerEnum; import com.clx.performance.enums.settle.SettlementOwnerEnum;
import com.clx.performance.enums.settle.SettlementPlatformEnum; import com.clx.performance.enums.settle.SettlementPlatformEnum;
import com.clx.performance.extranal.user.DriverService;
import com.clx.performance.extranal.user.OwnerInfoService; import com.clx.performance.extranal.user.OwnerInfoService;
import com.clx.performance.model.OrderGoods; import com.clx.performance.model.OrderGoods;
import com.clx.performance.model.settle.SettlementDriver; import com.clx.performance.model.settle.SettlementDriver;
import com.clx.performance.model.settle.SettlementDriverDetail; import com.clx.performance.model.settle.SettlementDriverDetail;
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.param.pc.payment.PayParam;
import com.clx.performance.service.PaymentService;
import com.clx.performance.service.impl.UniqueOrderNumService; import com.clx.performance.service.impl.UniqueOrderNumService;
import com.clx.performance.service.settle.SettlementLogService; import com.clx.performance.service.settle.SettlementLogService;
import com.clx.performance.service.settle.SettlementMqHandlerService; import com.clx.performance.service.settle.SettlementMqHandlerService;
...@@ -24,7 +28,9 @@ import com.clx.performance.service.settle.SettlementService; ...@@ -24,7 +28,9 @@ import com.clx.performance.service.settle.SettlementService;
import com.clx.performance.utils.LocalDateTimeUtils; import com.clx.performance.utils.LocalDateTimeUtils;
import com.clx.performance.vo.mq.SettlementDetailAddMqParam; import com.clx.performance.vo.mq.SettlementDetailAddMqParam;
import com.clx.performance.vo.mq.SettlementDetailInvoiceTypeSyncMqParam; import com.clx.performance.vo.mq.SettlementDetailInvoiceTypeSyncMqParam;
import com.clx.user.vo.feign.DriverInfoFeignVo;
import com.clx.user.vo.feign.OwnerInfoFeignVO; import com.clx.user.vo.feign.OwnerInfoFeignVO;
import com.msl.common.enums.ResultCodeEnum;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -35,6 +41,7 @@ import java.math.BigDecimal; ...@@ -35,6 +41,7 @@ import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
import java.util.UUID;
@Slf4j @Slf4j
@Service @Service
...@@ -61,6 +68,12 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic ...@@ -61,6 +68,12 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
@Autowired @Autowired
private SettlementLogService settlementLogService; private SettlementLogService settlementLogService;
@Autowired
private DriverService driverService;
@Autowired
private PaymentService paymentService;
@Autowired @Autowired
private OrderGoodsDao orderGoodsDao; private OrderGoodsDao orderGoodsDao;
...@@ -104,6 +117,9 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic ...@@ -104,6 +117,9 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
settlementDriverSave(settlementDriverDetail,settlementNo); settlementDriverSave(settlementDriverDetail,settlementNo);
//车主结算单自动支付
paySettlementDriver(settlementDriverDetail);
// 更新结算单 // 更新结算单
settlementOwnerDetail.setSettlementNo(settlementNo); settlementOwnerDetail.setSettlementNo(settlementNo);
settlementDriverDetail.setSettlementNo(settlementNo); settlementDriverDetail.setSettlementNo(settlementNo);
...@@ -148,6 +164,23 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic ...@@ -148,6 +164,23 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
settlementDriverDao.saveEntity(settlementDriver); settlementDriverDao.saveEntity(settlementDriver);
} }
/**
* 车主结算单自动支付
*/
private void paySettlementDriver(SettlementDriverDetail detail){
DriverInfoFeignVo driverInfoFeignVo = driverService.getDriverInfo(detail.getDriverUserNo()).orElseThrow(ResultCodeEnum.FAIL);
PayParam noCheckPwd = PayParam.builder().from(
Integer.valueOf("100012896"))
.to(Integer.valueOf(driverInfoFeignVo.getWalletCode()))
.figure(detail.getSettlementFreight().intValue())
.tradeNo(UUID.randomUUID().toString().replaceAll("-", ""))
.tradeId(12345)
.pwd("noCheckPwd")
.remark(PayRemarkEnum.toString(PayRemarkEnum.FREIGHT_TO_OWNER.getValue()))
.build();
paymentService.paymentWallet(noCheckPwd);
}
/** /**
* 月结初始化 * 月结初始化
*/ */
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论