提交 463aca36 authored 作者: liruixin's avatar liruixin

Merge remote-tracking branch 'origin/v6.4_transportation_20231110' into…

Merge remote-tracking branch 'origin/v6.4_transportation_20231110' into v6.4_transportation_20231110
...@@ -17,6 +17,7 @@ import lombok.ToString; ...@@ -17,6 +17,7 @@ import lombok.ToString;
@NoArgsConstructor @NoArgsConstructor
public class OrderChildLoadMqParam { public class OrderChildLoadMqParam {
private String childNo; //运单编号 private String childNo; //运单编号
private Integer repeatStatus; //重复状态:0首次 1重复
} }
...@@ -17,6 +17,7 @@ import lombok.ToString; ...@@ -17,6 +17,7 @@ import lombok.ToString;
@NoArgsConstructor @NoArgsConstructor
public class OrderChildUnloadMqParam { public class OrderChildUnloadMqParam {
private String childNo; //运单编号 private String childNo; //运单编号
private Integer repeatStatus; //重复状态:0首次 1重复
} }
...@@ -120,8 +120,8 @@ public class AppIntegralRuleVO { ...@@ -120,8 +120,8 @@ public class AppIntegralRuleVO {
private Integer integralTruck; private Integer integralTruck;
@ApiModelProperty(value = "油表上报积分x") @ApiModelProperty(value = "油表上报积分x")
private Integer integralRefuel; private Integer integralRefuel;
@ApiModelProperty(value = "上报交通拥堵积分x") // @ApiModelProperty(value = "上报交通拥堵积分x")
private Integer integralTraffic; // private Integer integralTraffic;
@ApiModelProperty(value = "上报货源地需要排队积分x") @ApiModelProperty(value = "上报货源地需要排队积分x")
private Integer integralSendAddressWait; private Integer integralSendAddressWait;
@ApiModelProperty(value = "上报货源地无需排队积分x") @ApiModelProperty(value = "上报货源地无需排队积分x")
......
...@@ -217,7 +217,7 @@ public class OrderGoodsStatusLazyComponent implements InitializingBean { ...@@ -217,7 +217,7 @@ public class OrderGoodsStatusLazyComponent implements InitializingBean {
driverService.updateOrderStatus(orderChild.getDriverUserNo(), DriverInfoEnum.DriverStatus.NO.getCode(), orderChild.getTruckId(), 1); driverService.updateOrderStatus(orderChild.getDriverUserNo(), DriverInfoEnum.DriverStatus.NO.getCode(), orderChild.getTruckId(), 1);
orderChild.setCancelTime(DateUtils.parseDateTime(now).get()); orderChild.setCancelTime(DateUtils.parseDateTime(now).get());
orderChild.setFinishTime(DateUtils.parseDateTime(now).get()); orderChild.setFinishTime(DateUtils.parseDateTime(now).get());
breakContractDriverRecordService.saveDriverRecordOfOrderChildCancel(orderChild, 0L, "系统");
//保存运单日志数据 //保存运单日志数据
orderChildLogService.saveDriverOrderChildLog(orderChild.getChildNo(), OrderChildLogEnum.Type.PLATFORM_CANCEL.getCode(), orderChildLogService.saveDriverOrderChildLog(orderChild.getChildNo(), OrderChildLogEnum.Type.PLATFORM_CANCEL.getCode(),
OrderChildLogEnum.Type.PLATFORM_CANCEL.getMsg(), 0L, "系统"); OrderChildLogEnum.Type.PLATFORM_CANCEL.getMsg(), 0L, "系统");
......
package com.clx.performance.controller.payment; package com.clx.performance.controller.payment;
import com.clx.performance.param.pay.NotifyString; import com.clx.performance.param.pay.NotifyString;
import com.clx.performance.service.settle.SettlementMqHandlerService;
import com.msl.common.result.Result; import com.msl.common.result.Result;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
...@@ -19,6 +20,8 @@ import java.util.Objects; ...@@ -19,6 +20,8 @@ import java.util.Objects;
@AllArgsConstructor @AllArgsConstructor
public class PayNotifyController { public class PayNotifyController {
private final SettlementMqHandlerService settlementMqHandlerService;
@ApiOperation(value = "用户支付完成回调接口", notes = " <br>By:胡宁宁") @ApiOperation(value = "用户支付完成回调接口", notes = " <br>By:胡宁宁")
@RequestMapping(value = "/userPayNotify", method = RequestMethod.POST) @RequestMapping(value = "/userPayNotify", method = RequestMethod.POST)
public Result<Object> userPayNotify(@RequestBody NotifyString notify) { public Result<Object> userPayNotify(@RequestBody NotifyString notify) {
...@@ -29,9 +32,11 @@ public class PayNotifyController { ...@@ -29,9 +32,11 @@ public class PayNotifyController {
if (notify.getCode() != 0) { if (notify.getCode() != 0) {
// 支付失败处理 // 支付失败处理
log.info("支付失败处理 唯一id {}", notify.getOrderNo()); log.info("支付失败处理 唯一id {}", notify.getOrderNo());
settlementMqHandlerService.settlementDriverNotify(notify.getOrderNo(),0,notify.getMsg());
} else { } else {
// 支付支付成功处理 // 支付支付成功处理
log.info(" 支付支付成功处理 唯一id {}", notify.getOrderNo()); log.info(" 支付支付成功处理 唯一id {}", notify.getOrderNo());
settlementMqHandlerService.settlementDriverNotify(notify.getOrderNo(),1,notify.getMsg());
} }
Result<Object> ret = new Result<>(); Result<Object> ret = new Result<>();
return ret; return ret;
......
...@@ -41,6 +41,7 @@ public class IntegralRecordDaoImpl extends BaseDaoImpl<IntegraRecordMapper, Inte ...@@ -41,6 +41,7 @@ public class IntegralRecordDaoImpl extends BaseDaoImpl<IntegraRecordMapper, Inte
.eq(IntegralRecord::getStatisticsId, statisticsId) .eq(IntegralRecord::getStatisticsId, statisticsId)
.eq(IntegralRecord::getType, type) .eq(IntegralRecord::getType, type)
.orderByDesc(IntegralRecord::getCreateTime) .orderByDesc(IntegralRecord::getCreateTime)
.last("limit 1")
); );
} }
......
...@@ -7,6 +7,7 @@ import com.clx.performance.dao.settle.SettlementDriverDao; ...@@ -7,6 +7,7 @@ import com.clx.performance.dao.settle.SettlementDriverDao;
import com.clx.performance.mapper.settle.SettlementDriverMapper; import com.clx.performance.mapper.settle.SettlementDriverMapper;
import com.clx.performance.model.settle.SettlementDriver; import com.clx.performance.model.settle.SettlementDriver;
import com.clx.performance.param.pc.driver.PageCarrierSettlementDriverParam; import com.clx.performance.param.pc.driver.PageCarrierSettlementDriverParam;
import com.msl.common.base.Optional;
import com.msl.common.dao.impl.BaseDaoImpl; import com.msl.common.dao.impl.BaseDaoImpl;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
...@@ -47,4 +48,13 @@ public class SettlementDriverDaoImpl extends BaseDaoImpl<SettlementDriverMapper, ...@@ -47,4 +48,13 @@ public class SettlementDriverDaoImpl extends BaseDaoImpl<SettlementDriverMapper,
query.orderByDesc(SettlementDriver :: getCreateTime); query.orderByDesc(SettlementDriver :: getCreateTime);
return baseMapper.selectPage(Page.of(param.getPage(),param.getPageSize()),query); return baseMapper.selectPage(Page.of(param.getPage(),param.getPageSize()),query);
} }
@Override
public Optional<SettlementDriver> getByChildNo(String childNo) {
return Optional.of(childNo)
.map(item -> lQrWrapper()
.eq(SettlementDriver::getChildNo, item)
)
.map(super::getOne);
}
} }
...@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; ...@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.mapper.settle.SettlementDriverMapper; import com.clx.performance.mapper.settle.SettlementDriverMapper;
import com.clx.performance.model.settle.SettlementDriver; import com.clx.performance.model.settle.SettlementDriver;
import com.clx.performance.param.pc.driver.PageCarrierSettlementDriverParam; import com.clx.performance.param.pc.driver.PageCarrierSettlementDriverParam;
import com.msl.common.base.Optional;
import com.msl.common.dao.BaseDao; import com.msl.common.dao.BaseDao;
/** /**
...@@ -14,4 +15,7 @@ import com.msl.common.dao.BaseDao; ...@@ -14,4 +15,7 @@ import com.msl.common.dao.BaseDao;
*/ */
public interface SettlementDriverDao extends BaseDao<SettlementDriverMapper, SettlementDriver, Integer> { public interface SettlementDriverDao extends BaseDao<SettlementDriverMapper, SettlementDriver, Integer> {
IPage<SettlementDriver> pageCarrierSettlementDriver(PageCarrierSettlementDriverParam param); IPage<SettlementDriver> pageCarrierSettlementDriver(PageCarrierSettlementDriverParam param);
Optional<SettlementDriver> getByChildNo(String childNo);
} }
...@@ -45,6 +45,7 @@ public class SettlementDriver implements HasKey<Integer> { ...@@ -45,6 +45,7 @@ public class SettlementDriver implements HasKey<Integer> {
private BigDecimal settlementFreight; //结算金额(分) private BigDecimal settlementFreight; //结算金额(分)
private Integer invoiceType; //开票标识:1网运单 2普通单 private Integer invoiceType; //开票标识:1网运单 2普通单
private String settlementPlatform; //结算平台 private String settlementPlatform; //结算平台
private String payErrorMsg; //支付失败原因
private Integer status; //状态 private Integer status; //状态
private LocalDateTime createTime; //创建时间 private LocalDateTime createTime; //创建时间
private LocalDateTime modifiedTime; //修改时间 private LocalDateTime modifiedTime; //修改时间
...@@ -54,4 +55,4 @@ public class SettlementDriver implements HasKey<Integer> { ...@@ -54,4 +55,4 @@ public class SettlementDriver implements HasKey<Integer> {
public Integer gainKey() { public Integer gainKey() {
return id; return id;
} }
} }
\ No newline at end of file
...@@ -9,7 +9,7 @@ public interface OrderChildMqService { ...@@ -9,7 +9,7 @@ public interface OrderChildMqService {
void orderChildDriverConfirm(String childNo); void orderChildDriverConfirm(String childNo);
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); void orderChildCancel(String childNo, Integer status, Integer opUserType, Long opUserNo, String opUserName);
......
...@@ -27,8 +27,6 @@ public interface BreakContractDriverRecordService { ...@@ -27,8 +27,6 @@ public interface BreakContractDriverRecordService {
void saveDriverRecordOfArriveSendAddressTimeout(OrderChild orderChild, Long createBy, String createName); void saveDriverRecordOfArriveSendAddressTimeout(OrderChild orderChild, Long createBy, String createName);
void saveDriverRecordOfArriveSendAddress(OrderChild orderChild, Long createBy, String createName);
void saveDriverRecordOfArriveReceiveAddress(OrderChild orderChild, Long createBy, String createName); void saveDriverRecordOfArriveReceiveAddress(OrderChild orderChild, Long createBy, String createName);
......
...@@ -330,7 +330,8 @@ public class IntegralMqHandlerServiceImpl implements IntegralMqHandlerService { ...@@ -330,7 +330,8 @@ public class IntegralMqHandlerServiceImpl implements IntegralMqHandlerService {
List<Integer> finishStatusList = Arrays.asList(OrderChildEnum.Status.UNSETTLE.getCode(), OrderChildEnum.Status.COMPLETE.getCode()); List<Integer> finishStatusList = Arrays.asList(OrderChildEnum.Status.UNSETTLE.getCode(), OrderChildEnum.Status.COMPLETE.getCode());
List<Integer> cancelStatusList = Arrays.asList(OrderChildEnum.Status.DRIVER_CANCEL.getCode());; List<Integer> cancelStatusList = Arrays.asList(OrderChildEnum.Status.DRIVER_CANCEL.getCode());;
List<Integer> platformCancelStatusList = Arrays.asList(OrderChildEnum.Status.OWNER_CANCEL.getCode(), List<Integer> platformCancelStatusList = Arrays.asList(
OrderChildEnum.Status.OWNER_CANCEL.getCode(),
OrderChildEnum.Status.PLATFORM_CANCEL.getCode(), OrderChildEnum.Status.PLATFORM_CANCEL.getCode(),
OrderChildEnum.Status.ARTIFICIAL_CANCEL.getCode() OrderChildEnum.Status.ARTIFICIAL_CANCEL.getCode()
); );
......
...@@ -76,6 +76,7 @@ public class OrderChildMqServiceImpl implements OrderChildMqService { ...@@ -76,6 +76,7 @@ public class OrderChildMqServiceImpl implements OrderChildMqService {
public void orderChildLoad(String childNo) { public void orderChildLoad(String childNo) {
OrderChildLoadMqParam mq = new OrderChildLoadMqParam(); OrderChildLoadMqParam mq = new OrderChildLoadMqParam();
mq.setChildNo(childNo); mq.setChildNo(childNo);
mq.setRepeatStatus(0);
MqDelay<MqWrapper<OrderChildLoadMqParam>> delay = new MqDelay<>(RabbitKeyOrderChildConstants.DEFAULT_EXCHANGE, RabbitKeyOrderChildConstants.ORDER_CHILD_LOAD_ROUTING_KEY, new MqWrapper<>(mq)); MqDelay<MqWrapper<OrderChildLoadMqParam>> delay = new MqDelay<>(RabbitKeyOrderChildConstants.DEFAULT_EXCHANGE, RabbitKeyOrderChildConstants.ORDER_CHILD_LOAD_ROUTING_KEY, new MqWrapper<>(mq));
Message message = MessageBuilder.withBody(JSON.toJSONString(new MqWrapper<>(delay)).getBytes()).build(); Message message = MessageBuilder.withBody(JSON.toJSONString(new MqWrapper<>(delay)).getBytes()).build();
...@@ -84,9 +85,10 @@ public class OrderChildMqServiceImpl implements OrderChildMqService { ...@@ -84,9 +85,10 @@ public class OrderChildMqServiceImpl implements OrderChildMqService {
} }
@Override @Override
public void orderChildUnLoad(String childNo) { public void orderChildUnload(String childNo) {
OrderChildUnloadMqParam mq = new OrderChildUnloadMqParam(); OrderChildUnloadMqParam mq = new OrderChildUnloadMqParam();
mq.setChildNo(childNo); mq.setChildNo(childNo);
mq.setRepeatStatus(0);
MqDelay<MqWrapper<OrderChildUnloadMqParam>> delay = new MqDelay<>(RabbitKeyOrderChildConstants.DEFAULT_EXCHANGE, RabbitKeyOrderChildConstants.ORDER_CHILD_UNLOAD_ROUTING_KEY, new MqWrapper<>(mq)); MqDelay<MqWrapper<OrderChildUnloadMqParam>> delay = new MqDelay<>(RabbitKeyOrderChildConstants.DEFAULT_EXCHANGE, RabbitKeyOrderChildConstants.ORDER_CHILD_UNLOAD_ROUTING_KEY, new MqWrapper<>(mq));
Message message = MessageBuilder.withBody(JSON.toJSONString(new MqWrapper<>(delay)).getBytes()).build(); Message message = MessageBuilder.withBody(JSON.toJSONString(new MqWrapper<>(delay)).getBytes()).build();
......
...@@ -543,9 +543,6 @@ public class OrderChildServiceImpl implements OrderChildService { ...@@ -543,9 +543,6 @@ public class OrderChildServiceImpl implements OrderChildService {
orderChildLogService.saveDriverOrderChildLog(childNo, OrderChildLogEnum.Type.ARRIVE_SEND.getCode(), orderChildLogService.saveDriverOrderChildLog(childNo, OrderChildLogEnum.Type.ARRIVE_SEND.getCode(),
OrderChildLogEnum.Type.ARRIVE_SEND.getMsg(), loginUserInfo.getUserNo(), loginUserInfo.getUserName()); OrderChildLogEnum.Type.ARRIVE_SEND.getMsg(), loginUserInfo.getUserNo(), loginUserInfo.getUserName());
// 保存违约记录
breakContractDriverRecordService.saveDriverRecordOfArriveSendAddress(orderChild, loginUserInfo.getUserNo(), loginUserInfo.getUserName());
// 发送mq (到达货源地) // 发送mq (到达货源地)
orderChildMqService.orderChildArriveSendAddress(orderChild.getChildNo()); orderChildMqService.orderChildArriveSendAddress(orderChild.getChildNo());
...@@ -721,6 +718,9 @@ public class OrderChildServiceImpl implements OrderChildService { ...@@ -721,6 +718,9 @@ public class OrderChildServiceImpl implements OrderChildService {
orderChildDao.updateLoad(orderChild); orderChildDao.updateLoad(orderChild);
orderChildImageDao.batchSaveEntity(imageList); orderChildImageDao.batchSaveEntity(imageList);
// 发送mq 装车
orderChildMqService.orderChildLoad(orderChild.getChildNo());
} }
private void updateReload(OrderChildLoadParam param, OrderChild orderChild, OrderGoods orderGoods) { private void updateReload(OrderChildLoadParam param, OrderChild orderChild, OrderGoods orderGoods) {
...@@ -850,6 +850,9 @@ public class OrderChildServiceImpl implements OrderChildService { ...@@ -850,6 +850,9 @@ public class OrderChildServiceImpl implements OrderChildService {
//释放车辆 //释放车辆
goodsOrderTruckRecordComponent.releaseDriverCard(orderChild.getOrderGoodsNo(), orderChild.getTruckNo()); goodsOrderTruckRecordComponent.releaseDriverCard(orderChild.getOrderGoodsNo(), orderChild.getTruckNo());
// 发送mq 卸车
orderChildMqService.orderChildUnload(orderChild.getChildNo());
} }
private void updateReUnload(OrderChildUnloadParam param, OrderChild orderChild) { private void updateReUnload(OrderChildUnloadParam param, OrderChild orderChild) {
......
...@@ -87,7 +87,7 @@ public class PaymentServiceImpl implements PaymentService { ...@@ -87,7 +87,7 @@ public class PaymentServiceImpl implements PaymentService {
log.info("发起支付请求日志 {}", payUserDTO); log.info("发起支付请求日志 {}", payUserDTO);
Result<Object> notify = (Result<Object>) postRequest(mslPaymentConfig.getHost()+ PERFORMANCE_PAY_CLX_PAYMENT.getUrl(), JSON.toJSONString(payUserDTO)); Result<Object> notify = (Result<Object>) postRequest(mslPaymentConfig.getHost()+ PERFORMANCE_PAY_CLX_PAYMENT.getUrl(), JSON.toJSONString(payUserDTO));
log.info("支付返回日志 {}", notify); log.info("支付返回日志 {}", notify);
if (notify == null) { if (notify == null || notify.getCode() != 0) {
//FEGIN返回null //FEGIN返回null
throw new ServiceSystemException(PerformanceResultEnum.HTTP_ERROR, "支付服务返回异常"); throw new ServiceSystemException(PerformanceResultEnum.HTTP_ERROR, "支付服务返回异常");
} }
......
...@@ -184,43 +184,7 @@ public class BreakContractDriverRecordServiceImpl implements BreakContractDrive ...@@ -184,43 +184,7 @@ public class BreakContractDriverRecordServiceImpl implements BreakContractDrive
record.setBreakContractPartyType(BreakContractRecordEnum.BreakContractPartyType.DRIVER.getCode()); record.setBreakContractPartyType(BreakContractRecordEnum.BreakContractPartyType.DRIVER.getCode());
record.setBreakNo(breakNoGenerate()); record.setBreakNo(breakNoGenerate());
record.setFigure(figure); record.setFigure(figure);
record.setRemark("取消运单"); record.setRemark("到达货源地超时取消");
record.setChildNo(orderChild.getChildNo());
record.setTruckNo(orderChild.getTruckNo());
record.setTruckOwnUserNo(orderChild.getTruckOwnUserNo());
record.setTruckOwnName(orderChild.getTruckOwnName());
record.setDriverUserNo(orderChild.getDriverUserNo());
record.setDriverName(orderChild.getDriverName());
record.setCreateBy(0L);
record.setCreateName("系统");
breakContractDriverRecordDao.saveEntity(record);
// 发送mq (违约记录新增)
breakContractMqService.driverRecordAdd(record.getId());
}
@Override
public void saveDriverRecordOfArriveSendAddress(OrderChild orderChild, Long createBy, String createName) {
OrderGoods orderGoods = orderGoodsDao.getByOrderGoodsNo(orderChild.getOrderGoodsNo()).orElseThrow(PerformanceResultEnum.ORDER_CHILD_NO_FOUND);
if (!orderChild.getArriveSendTime().isAfter(orderGoods.getLastArriveSendTime())) {return;}
BreakContractDriverRule rule = breakContractDriverRuleDao.getEntityByKey(1).orNull();
if (rule == null) {return;}
BreakContractDriverRuleVO breakContractDriverRuleVO = JSON.parseObject(rule.getRuleJson(), BreakContractDriverRuleVO.class);
// 费用计算
BigDecimal figure = arriveSendAddressFigureCalc(orderChild, orderGoods, breakContractDriverRuleVO);
BreakContractDriverRecord record = new BreakContractDriverRecord();
record.setTriggerType(BreakContractRecordEnum.TriggerType.SYSTEM.getCode());
record.setBreakContractPartyType(BreakContractRecordEnum.BreakContractPartyType.DRIVER.getCode());
record.setBreakNo(breakNoGenerate());
record.setFigure(figure);
record.setRemark("到达货源地超时");
record.setChildNo(orderChild.getChildNo()); record.setChildNo(orderChild.getChildNo());
record.setTruckNo(orderChild.getTruckNo()); record.setTruckNo(orderChild.getTruckNo());
...@@ -316,15 +280,7 @@ public class BreakContractDriverRecordServiceImpl implements BreakContractDrive ...@@ -316,15 +280,7 @@ public class BreakContractDriverRecordServiceImpl implements BreakContractDrive
return money.movePointRight(2); return money.movePointRight(2);
} }
/**
* 费用计算 (到达货源地超时)
*/
private BigDecimal arriveSendAddressFigureCalc(OrderChild orderChild, OrderGoods orderGoods, BreakContractDriverRuleVO rule){
long time = com.clx.performance.utils.LocalDateTimeUtils.betweenSecond(orderGoods.getLastArriveSendTime(), orderChild.getArriveSendTime());
BigDecimal money = BigDecimal.valueOf(time).divide(BigDecimal.valueOf(3600), 2, RoundingMode.HALF_UP).multiply(rule.getSendAddressRule().getFigurePerHour()).setScale(2, RoundingMode.HALF_UP);
return money.movePointRight(2);
}
/** /**
* 费用计算 (到达目的地超时) * 费用计算 (到达目的地超时)
......
...@@ -146,7 +146,7 @@ public class BreakContractMqHandlerServiceImpl implements BreakContractMqHandler ...@@ -146,7 +146,7 @@ public class BreakContractMqHandlerServiceImpl implements BreakContractMqHandler
// 车主 // 车主
if (Objects.equals(settlement.getBreakContractPartyType(), BreakContractSettlementDriverEnum.BreakContractPartyType.DRIVER.getCode())){ if (Objects.equals(settlement.getBreakContractPartyType(), BreakContractSettlementDriverEnum.BreakContractPartyType.DRIVER.getCode())){
payService.driverPay(settlement.getSettlementNo(), settlement.getTruckOwnUserNo(), settlement.getFigure().intValue()); payService.driverPay(settlement.getSettlementNo(), settlement.getTruckOwnUserNo(), settlement.getFigure().negate().intValue());
} }
// 平台 // 平台
else if (Objects.equals(settlement.getBreakContractPartyType(), BreakContractSettlementDriverEnum.BreakContractPartyType.PLATFORM.getCode())) { else if (Objects.equals(settlement.getBreakContractPartyType(), BreakContractSettlementDriverEnum.BreakContractPartyType.PLATFORM.getCode())) {
......
...@@ -68,6 +68,8 @@ public class OrderChildPostServiceImpl implements OrderChildPostService { ...@@ -68,6 +68,8 @@ public class OrderChildPostServiceImpl implements OrderChildPostService {
// 保存违约记录 // 保存违约记录
breakContractDriverRecordService.saveDriverRecordOfArriveSendAddressTimeout(orderChild, 0L, "系统"); breakContractDriverRecordService.saveDriverRecordOfArriveSendAddressTimeout(orderChild, 0L, "系统");
orderChildFinish(orderChild.getChildNo());
// 发送mq (运单取消) // 发送mq (运单取消)
orderChildMqService.orderChildCancel(orderChild.getChildNo(), OrderChildLogEnum.Type.PLATFORM_CANCEL.getCode(), UserTypeEnum.SYSTEM.getCode(), 0L, "系统"); orderChildMqService.orderChildCancel(orderChild.getChildNo(), OrderChildLogEnum.Type.PLATFORM_CANCEL.getCode(), UserTypeEnum.SYSTEM.getCode(), 0L, "系统");
......
...@@ -360,7 +360,7 @@ public class CollectLineReportServiceImpl implements CollectLineReportService { ...@@ -360,7 +360,7 @@ public class CollectLineReportServiceImpl implements CollectLineReportService {
AppIntegralRuleVO ruleInfo = integralRuleService.getRuleInfo(); AppIntegralRuleVO ruleInfo = integralRuleService.getRuleInfo();
// 报存积分 // 报存积分
integralRecordService.addDriverReportRecord(ruleInfo, collectLineReport.getTruckNo(), IntegralRecordEnum.Type.REPORT_ABNORMAL.getValue(), integralRecordService.addDriverReportRecord(ruleInfo, collectLineReport.getTruckNo(), IntegralRecordEnum.Type.REPORT_ABNORMAL.getValue(),
ruleInfo.getDriverReportRule().getIntegralQuality(), IntegralRecordEnum.Type.REPORT_ABNORMAL.getMsg()); ruleInfo.getDriverReportRule().getIntegralAbnormal(), IntegralRecordEnum.Type.REPORT_ABNORMAL.getMsg());
} }
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
......
...@@ -42,6 +42,8 @@ public class CollectTruckServiceImpl implements CollectTruckService { ...@@ -42,6 +42,8 @@ public class CollectTruckServiceImpl implements CollectTruckService {
CollectTruck truck = collectTruckDao.getByUserNoAndTruckNo(userNo, param.getTruckNo()).orNull(); CollectTruck truck = collectTruckDao.getByUserNoAndTruckNo(userNo, param.getTruckNo()).orNull();
if (truck == null) { if (truck == null) {
truck = new CollectTruck();
truck.setUserNo(userNo); truck.setUserNo(userNo);
truck.setName(loginUserInfo.getUserName()); truck.setName(loginUserInfo.getUserName());
truck.setMobile(loginUserInfo.getUserMobile()); truck.setMobile(loginUserInfo.getUserMobile());
...@@ -75,6 +77,7 @@ public class CollectTruckServiceImpl implements CollectTruckService { ...@@ -75,6 +77,7 @@ public class CollectTruckServiceImpl implements CollectTruckService {
CollectTruck truck = collectTruckDao.getByUserNoAndTruckNo(userNo, param.getTruckNo()).orNull(); CollectTruck truck = collectTruckDao.getByUserNoAndTruckNo(userNo, param.getTruckNo()).orNull();
if (truck == null) { if (truck == null) {
truck = new CollectTruck();
truck.setUserNo(userNo); truck.setUserNo(userNo);
truck.setName(loginUserInfo.getUserName()); truck.setName(loginUserInfo.getUserName());
truck.setMobile(loginUserInfo.getUserMobile()); truck.setMobile(loginUserInfo.getUserMobile());
...@@ -109,6 +112,7 @@ public class CollectTruckServiceImpl implements CollectTruckService { ...@@ -109,6 +112,7 @@ public class CollectTruckServiceImpl implements CollectTruckService {
CollectTruck truck = collectTruckDao.getByUserNoAndTruckNo(userNo, param.getTruckNo()).orNull(); CollectTruck truck = collectTruckDao.getByUserNoAndTruckNo(userNo, param.getTruckNo()).orNull();
if (truck == null) { if (truck == null) {
truck = new CollectTruck();
truck.setUserNo(userNo); truck.setUserNo(userNo);
truck.setName(loginUserInfo.getUserName()); truck.setName(loginUserInfo.getUserName());
truck.setMobile(loginUserInfo.getUserMobile()); truck.setMobile(loginUserInfo.getUserMobile());
...@@ -140,6 +144,7 @@ public class CollectTruckServiceImpl implements CollectTruckService { ...@@ -140,6 +144,7 @@ public class CollectTruckServiceImpl implements CollectTruckService {
Long userNo = loginUserInfo.getUserNo(); Long userNo = loginUserInfo.getUserNo();
CollectTruck truck = collectTruckDao.getByUserNoAndTruckNo(userNo, param.getTruckNo()).orNull(); CollectTruck truck = collectTruckDao.getByUserNoAndTruckNo(userNo, param.getTruckNo()).orNull();
if (truck == null) { if (truck == null) {
truck = new CollectTruck();
truck.setUserNo(userNo); truck.setUserNo(userNo);
truck.setName(loginUserInfo.getUserName()); truck.setName(loginUserInfo.getUserName());
truck.setMobile(loginUserInfo.getUserMobile()); truck.setMobile(loginUserInfo.getUserMobile());
...@@ -158,6 +163,7 @@ public class CollectTruckServiceImpl implements CollectTruckService { ...@@ -158,6 +163,7 @@ public class CollectTruckServiceImpl implements CollectTruckService {
Long userNo = loginUserInfo.getUserNo(); Long userNo = loginUserInfo.getUserNo();
CollectTruck truck = collectTruckDao.getByUserNoAndTruckNo(userNo, param.getTruckNo()).orNull(); CollectTruck truck = collectTruckDao.getByUserNoAndTruckNo(userNo, param.getTruckNo()).orNull();
if (truck == null) { if (truck == null) {
truck = new CollectTruck();
truck.setUserNo(userNo); truck.setUserNo(userNo);
truck.setName(loginUserInfo.getUserName()); truck.setName(loginUserInfo.getUserName());
truck.setMobile(loginUserInfo.getUserMobile()); truck.setMobile(loginUserInfo.getUserMobile());
...@@ -176,6 +182,7 @@ public class CollectTruckServiceImpl implements CollectTruckService { ...@@ -176,6 +182,7 @@ public class CollectTruckServiceImpl implements CollectTruckService {
Long userNo = loginUserInfo.getUserNo(); Long userNo = loginUserInfo.getUserNo();
CollectTruck truck = collectTruckDao.getByUserNoAndTruckNo(userNo, param.getTruckNo()).orNull(); CollectTruck truck = collectTruckDao.getByUserNoAndTruckNo(userNo, param.getTruckNo()).orNull();
if (truck == null) { if (truck == null) {
truck = new CollectTruck();
truck.setUserNo(userNo); truck.setUserNo(userNo);
truck.setName(loginUserInfo.getUserName()); truck.setName(loginUserInfo.getUserName());
truck.setMobile(loginUserInfo.getUserMobile()); truck.setMobile(loginUserInfo.getUserMobile());
...@@ -194,6 +201,7 @@ public class CollectTruckServiceImpl implements CollectTruckService { ...@@ -194,6 +201,7 @@ public class CollectTruckServiceImpl implements CollectTruckService {
Long userNo = loginUserInfo.getUserNo(); Long userNo = loginUserInfo.getUserNo();
CollectTruck truck = collectTruckDao.getByUserNoAndTruckNo(userNo, param.getTruckNo()).orNull(); CollectTruck truck = collectTruckDao.getByUserNoAndTruckNo(userNo, param.getTruckNo()).orNull();
if (truck == null) { if (truck == null) {
truck = new CollectTruck();
truck.setUserNo(userNo); truck.setUserNo(userNo);
truck.setName(loginUserInfo.getUserName()); truck.setName(loginUserInfo.getUserName());
truck.setMobile(loginUserInfo.getUserMobile()); truck.setMobile(loginUserInfo.getUserMobile());
...@@ -212,6 +220,7 @@ public class CollectTruckServiceImpl implements CollectTruckService { ...@@ -212,6 +220,7 @@ public class CollectTruckServiceImpl implements CollectTruckService {
Long userNo = loginUserInfo.getUserNo(); Long userNo = loginUserInfo.getUserNo();
CollectTruck truck = collectTruckDao.getByUserNoAndTruckNo(userNo, param.getTruckNo()).orNull(); CollectTruck truck = collectTruckDao.getByUserNoAndTruckNo(userNo, param.getTruckNo()).orNull();
if (truck == null) { if (truck == null) {
truck = new CollectTruck();
truck.setUserNo(userNo); truck.setUserNo(userNo);
truck.setName(loginUserInfo.getUserName()); truck.setName(loginUserInfo.getUserName());
truck.setMobile(loginUserInfo.getUserMobile()); truck.setMobile(loginUserInfo.getUserMobile());
......
...@@ -35,6 +35,7 @@ import com.clx.performance.vo.mq.SettlementDetailInvoiceTypeSyncMqParam; ...@@ -35,6 +35,7 @@ import com.clx.performance.vo.mq.SettlementDetailInvoiceTypeSyncMqParam;
import com.clx.user.vo.feign.DriverInfoFeignVo; 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 com.msl.common.enums.ResultCodeEnum;
import com.msl.common.result.Result;
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;
...@@ -125,14 +126,10 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic ...@@ -125,14 +126,10 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
} }
} }
//车主结算单自动支付
paySettlementDriver(settlementDriverDetail);
//生成车主结算单 //生成车主结算单
settlementDriverSave(settlementDriverDetail,settlementNo); settlementDriverSave(settlementDriverDetail,settlementNo);
//运单状态修改为完成 //车主结算单自动支付
OrderChild orderChild = orderChildDao.getByChildNo(settlementDriverDetail.getChildNo()).orElseThrow(PerformanceResultEnum.ORDER_CHILD_NO_FOUND); paySettlementDriver(settlementDriverDetail);
orderChild.setStatus(OrderChildEnum.Status.COMPLETE.getCode());
orderChildDao.updateSettlement(orderChild);
// 更新结算单 // 更新结算单
settlementOwnerDetail.setSettlementNo(settlementNo); settlementOwnerDetail.setSettlementNo(settlementNo);
...@@ -173,11 +170,29 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic ...@@ -173,11 +170,29 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
settlementDriver.setSettlementFreight(detail.getSettlementFreight()); settlementDriver.setSettlementFreight(detail.getSettlementFreight());
settlementDriver.setInvoiceType(detail.getInvoiceType()); settlementDriver.setInvoiceType(detail.getInvoiceType());
settlementDriver.setSettlementPlatform(String.valueOf(SettlementPlatformEnum.Platform.MSL.getCode())); settlementDriver.setSettlementPlatform(String.valueOf(SettlementPlatformEnum.Platform.MSL.getCode()));
settlementDriver.setStatus(SettlementDriverEnum.Status.SETTLED.getCode()); settlementDriver.setStatus(SettlementDriverEnum.Status.WAIT_SETTLEMENT.getCode());
settlementDriverDao.saveEntity(settlementDriver); settlementDriverDao.saveEntity(settlementDriver);
} }
public void settlementDriverNotify(String childNo,Integer payType,String payErrorMsg){
//运单状态修改为完成
OrderChild orderChild = orderChildDao.getByChildNo(childNo).orElseThrow(PerformanceResultEnum.ORDER_CHILD_NO_FOUND);
SettlementDriver settlementDriver = settlementDriverDao.getByChildNo(childNo).orElseThrow(PerformanceResultEnum.ORDER_CHILD_NO_FOUND);
if(1 == payType){
orderChild.setStatus(OrderChildEnum.Status.COMPLETE.getCode());
orderChildDao.updateSettlement(orderChild);
settlementDriver.setStatus(SettlementDriverEnum.Status.SETTLED.getCode());
settlementDriverDao.updateEntityByKey(settlementDriver);
}else{
settlementDriver.setPayErrorMsg(payErrorMsg);
settlementDriverDao.updateEntityByKey(settlementDriver);
}
}
/** /**
* 车主结算单自动支付 * 车主结算单自动支付
*/ */
...@@ -192,7 +207,15 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic ...@@ -192,7 +207,15 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
.pwd("noCheckPwd") .pwd("noCheckPwd")
.remark(PayRemarkEnum.toString(PayRemarkEnum.FREIGHT_TO_OWNER.getValue())) .remark(PayRemarkEnum.toString(PayRemarkEnum.FREIGHT_TO_OWNER.getValue()))
.build(); .build();
paymentService.paymentWallet(noCheckPwd); Result result = null;
try{
result = paymentService.paymentWallet(noCheckPwd);
}catch (Exception e){
settlementDriverNotify(detail.getChildNo(),0,e.getMessage());
}
if(Objects.nonNull(result)){
settlementDriverNotify(detail.getChildNo(),0,result.getMsg());
}
} }
/** /**
......
...@@ -9,4 +9,6 @@ public interface SettlementMqHandlerService { ...@@ -9,4 +9,6 @@ public interface SettlementMqHandlerService {
void settlementDetailInvoiceTypeSync(SettlementDetailInvoiceTypeSyncMqParam mq); void settlementDetailInvoiceTypeSync(SettlementDetailInvoiceTypeSyncMqParam mq);
void settlementDriverNotify(String childNo,Integer payType,String payErrorMsg);
} }
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论