提交 080a990b 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
......@@ -9,7 +9,7 @@ import java.util.Optional;
@Getter
@AllArgsConstructor
public enum UserTypeEnum {
SYSTEM(0, "系统"),
OWNER(1, "货主"),
CARRIER(2, "承运端"),
DRIVER(3, "司机");
......
......@@ -38,6 +38,7 @@ public enum IntegralRecordEnum {
REPORT_RECEIVE_ADDRESS_NO_WAIT(56, "上报目的地无需排队"),
REPORT_QUALITY(57, "上报煤炭质量问题"),
REPORT_ABNORMAL(58, "上报拉运异常问题"),
REPORT_SEND_ADDRESS_INFO(59, "上报货源地情况"),
;
private Integer value;
......
......@@ -138,6 +138,8 @@ public class AppIntegralRuleVO {
private BigDecimal reportLimit;
@ApiModelProperty(value = "当日上报奖励积分上限x")
private Integer integralLimit;
@ApiModelProperty(value = "上报货源地情况积分x")
private Integer integralSendAddressInfo;
}
......
......@@ -78,7 +78,5 @@ public interface OrderChildService {
*/
List<OrderChild> selectInTransitOrderChild(String orderNo);
void orderChildFinish(String childNo);
DriverCancelOrderChildInfo driverCancelOrderChildInfo(String orderChildNo);
}
......@@ -4,11 +4,16 @@ import com.clx.performance.model.OrderChild;
public interface OrderChildPostService {
void orderChildFinish(String childNo);
void orderChildDriverConfirm(OrderChild orderChild);
void orderChildCancelByDriver(OrderChild orderChild, Integer opUserType, Long opUserNo, String opUserName);
void orderChildCancelByCarrier(OrderChild orderChild, Integer opUserType, Long opUserNo, String opUserName);
void orderChildCancelByArtificial(String childNo);
void arriveSendAddressTimeoutCancel(OrderChild orderChild);
void orderCancel(String childNo);
void orderGoodsCancel(String childNo);
void orderChildCancelByArtificial(String childNo);
void orderChildFinish(String childNo);
}
......@@ -223,7 +223,8 @@ public class IntegralTruckServiceImpl implements IntegralTruckService {
IntegralRecordEnum.Type.REPORT_RECEIVE_ADDRESS_WAIT.getValue(),
IntegralRecordEnum.Type.REPORT_RECEIVE_ADDRESS_NO_WAIT.getValue(),
IntegralRecordEnum.Type.REPORT_QUALITY.getValue(),
IntegralRecordEnum.Type.REPORT_ABNORMAL.getValue()
IntegralRecordEnum.Type.REPORT_ABNORMAL.getValue(),
IntegralRecordEnum.Type.REPORT_SEND_ADDRESS_INFO.getValue()
);
for (Map.Entry<String, List<IntegralRecord>> entry : map.entrySet()) {
Integer orderChildCompleteIntegral = 0;
......
......@@ -29,6 +29,7 @@ import com.clx.performance.param.pc.PageMonitorOrderChildQCParam;
import com.clx.performance.param.pc.PagePoundAuditParam;
import com.clx.performance.service.*;
import com.clx.performance.service.breakcontract.BreakContractDriverRecordService;
import com.clx.performance.service.child.OrderChildPostService;
import com.clx.performance.service.settle.SettlementDriverDetailService;
import com.clx.performance.service.settle.SettlementMqService;
import com.clx.performance.service.settle.SettlementOwnerDetailService;
......@@ -144,6 +145,9 @@ public class OrderChildServiceImpl implements OrderChildService {
@Autowired
private BreakContractDriverRecordService breakContractDriverRecordService;
@Autowired
private OrderChildPostService orderChildPostService;
@Override
public SaveOrderChildVO saveOrderChild(OrderChildSaveParam param) {
......@@ -356,6 +360,7 @@ public class OrderChildServiceImpl implements OrderChildService {
//设置运单的结账周期
orderChild.setSettlementAccountPeriod(orderGoods.getSettlementAccountPeriod());
orderChild.setSettlementWay(orderGoods.getSettlementWay());
// 更新货单数据
updateOrderGoodsAmount(orderGoods, orderChild);
......@@ -1029,9 +1034,6 @@ public class OrderChildServiceImpl implements OrderChildService {
// 更新车辆状态
updateDriverOrderStatusDriverConfirm(orderChild.getTruckId());
// 运单结束
orderChildFinish(orderChild);
// 生成计费单
saveSettlementDetail(orderChild,orderGoods);
......@@ -1039,8 +1041,8 @@ public class OrderChildServiceImpl implements OrderChildService {
orderChildLogService.saveDriverOrderChildLog(childNo, OrderChildLogEnum.Type.DRIVER_CONFIRM.getCode(),
OrderChildLogEnum.Type.DRIVER_CONFIRM.getMsg(), loginUserInfo.getUserNo(), loginUserInfo.getUserName());
// 发送mq 司机确认收货
orderChildMqService.orderChildDriverConfirm(orderChild.getChildNo());
// 司机确认收货后置逻辑
orderChildPostService.orderChildDriverConfirm(orderChild);
}
@Override
......@@ -1145,18 +1147,15 @@ public class OrderChildServiceImpl implements OrderChildService {
// 更新出车状态
updateDriverOrderStatusCancel(orderChild.getDriverUserNo(), orderChild.getTruckId());
// 保存违约记录
breakContractDriverRecordService.saveDriverRecordOfOrderChildCancel(orderChild, loginUserInfo.getUserNo(), loginUserInfo.getUserName());
// 日志
orderChildLogService.saveDriverOrderChildLog(childNo, OrderChildLogEnum.Type.DRIVER_CANCEL.getCode(),
OrderChildLogEnum.Type.DRIVER_CANCEL.getMsg(), loginUserInfo.getUserNo(), loginUserInfo.getUserName());
// 运单结束
orderChildFinish(orderChild);
// 保存违约记录
breakContractDriverRecordService.saveDriverRecordOfOrderChildCancel(orderChild, loginUserInfo.getUserNo(), loginUserInfo.getUserName());
// 发送mq (运单取消)
orderChildMqService.orderChildCancel(orderChild.getChildNo(), orderChild.getStatus(), UserTypeEnum.DRIVER.getCode(), loginUserInfo.getUserNo(), loginUserInfo.getUserName());
// 司机取消后置逻辑
orderChildPostService.orderChildCancelByDriver(orderChild, UserTypeEnum.DRIVER.getCode(), loginUserInfo.getUserNo(), loginUserInfo.getUserName());
}
......@@ -1212,11 +1211,8 @@ public class OrderChildServiceImpl implements OrderChildService {
OrderChildLogEnum.Type.PLATFORM_CANCEL.getMsg(), loginUserInfo.getUserNo(),
loginUserInfo.getUserName());
// 运单结束
orderChildFinish(orderChild);
// 发送mq (运单取消)
orderChildMqService.orderChildCancel(orderChild.getChildNo(), orderChild.getStatus(), UserTypeEnum.DRIVER.getCode(), loginUserInfo.getUserNo(), loginUserInfo.getUserName());
// 承运取消后置逻辑
orderChildPostService.orderChildCancelByCarrier(orderChild, UserTypeEnum.CARRIER.getCode(), loginUserInfo.getUserNo(), loginUserInfo.getUserName());
}
......@@ -1230,14 +1226,6 @@ public class OrderChildServiceImpl implements OrderChildService {
}
@Override
public void orderChildFinish(String childNo){
// 运单结束 统计积分
integralMqService.orderChildFinish(childNo);
}
@Override
public DriverCancelOrderChildInfo driverCancelOrderChildInfo(String orderChildNo) {
DriverCancelOrderChildInfo result = new DriverCancelOrderChildInfo();
......
......@@ -146,11 +146,11 @@ public class BreakContractMqHandlerServiceImpl implements BreakContractMqHandler
// 车主
if (Objects.equals(settlement.getBreakContractPartyType(), BreakContractSettlementDriverEnum.BreakContractPartyType.DRIVER.getCode())){
payService.driverPay(settlement.getSettlementNo(), settlement.getDriverUserNo(), settlement.getFigure().intValue());
payService.driverPay(settlement.getSettlementNo(), settlement.getTruckOwnUserNo(), settlement.getFigure().intValue());
}
// 平台
else if (Objects.equals(settlement.getBreakContractPartyType(), BreakContractSettlementDriverEnum.BreakContractPartyType.PLATFORM.getCode())) {
payService.payDriver(settlement.getSettlementNo(), settlement.getDriverUserNo(), settlement.getFigure().intValue());
payService.payDriver(settlement.getSettlementNo(), settlement.getTruckOwnUserNo(), settlement.getFigure().intValue());
}
}
......
package com.clx.performance.service.impl.child;
import com.clx.performance.enums.OrderChildEnum;
import com.clx.performance.enums.OrderChildLogEnum;
import com.clx.performance.enums.UserTypeEnum;
import com.clx.performance.model.OrderChild;
import com.clx.performance.service.IntegralMqService;
......@@ -14,22 +16,47 @@ import org.springframework.stereotype.Service;
@Service
public class OrderChildPostServiceImpl implements OrderChildPostService {
// @Autowired
// private IntegralMqService integralMqService;
//
// @Autowired
// private OrderChildMqService orderChildMqService;
//
// @Autowired
// private BreakContractDriverRecordService breakContractDriverRecordService;
@Autowired
private IntegralMqService integralMqService;
@Autowired
private OrderChildMqService orderChildMqService;
@Autowired
private BreakContractDriverRecordService breakContractDriverRecordService;
@Override
public void orderChildDriverConfirm(OrderChild orderChild) {
orderChildFinish(orderChild.getChildNo());
// 发送mq 司机确认收货
orderChildMqService.orderChildDriverConfirm(orderChild.getChildNo());
}
/**
* 运单结束
* 司机取消
*/
@Override
public void orderChildFinish(String childNo) {
// 运单结束 统计积分
// integralMqService.orderChildFinish(childNo);
public void orderChildCancelByDriver(OrderChild orderChild, Integer opUserType, Long opUserNo, String opUserName){
orderChildFinish(orderChild.getChildNo());
// 发送mq (运单取消)
orderChildMqService.orderChildCancel(orderChild.getChildNo(), orderChild.getStatus(), opUserType, opUserNo, opUserName);
}
/**
* 承运取消
*/
@Override
public void orderChildCancelByCarrier(OrderChild orderChild, Integer opUserType, Long opUserNo, String opUserName) {
orderChildFinish(orderChild.getChildNo());
// 发送mq (运单取消)
orderChildMqService.orderChildCancel(orderChild.getChildNo(), orderChild.getStatus(), opUserType, opUserNo, opUserName);
}
/**
......@@ -38,29 +65,48 @@ public class OrderChildPostServiceImpl implements OrderChildPostService {
@Override
public void arriveSendAddressTimeoutCancel(OrderChild orderChild){
// 保存违约记录
breakContractDriverRecordService.saveDriverRecordOfArriveSendAddressTimeout(orderChild, 0L, "系统");
// 发送mq (运单取消)
// orderChildMqService.orderChildCancel(orderChild.getChildNo(), orderChild.getStatus(), UserTypeEnum.DRIVER.getCode(), 0L, "系统");
orderChildMqService.orderChildCancel(orderChild.getChildNo(), OrderChildLogEnum.Type.PLATFORM_CANCEL.getCode(), UserTypeEnum.SYSTEM.getCode(), 0L, "系统");
// 保存违约记录
// breakContractDriverRecordService.saveDriverRecordOfArriveSendAddressTimeout(orderChild, 0L, "系统");
}
@Override
public void orderCancel(String childNo) {
// 运单结束 统计积分
// integralMqService.orderChildFinish(childNo);
orderChildFinish(childNo);
// 发送mq (运单取消)
orderChildMqService.orderChildCancel(childNo, OrderChildEnum.Status.PLATFORM_CANCEL.getCode(), UserTypeEnum.SYSTEM.getCode(), 0L, "系统");
}
@Override
public void orderGoodsCancel(String childNo) {
// 运单结束 统计积分
// integralMqService.orderChildFinish(childNo);
orderChildFinish(childNo);
// 发送mq (运单取消)
orderChildMqService.orderChildCancel(childNo, OrderChildEnum.Status.PLATFORM_CANCEL.getCode(), UserTypeEnum.SYSTEM.getCode(), 0L, "系统");
}
@Override
public void orderChildCancelByArtificial(String childNo) {
orderChildFinish(childNo);
// 发送mq (运单取消)
orderChildMqService.orderChildCancel(childNo, OrderChildEnum.Status.ARTIFICIAL_CANCEL.getCode(), UserTypeEnum.CARRIER.getCode(), 0L, "系统");
}
/**
* 运单结束
*/
@Override
public void orderChildFinish(String childNo) {
// 运单结束 统计积分
// integralMqService.orderChildFinish(childNo);
integralMqService.orderChildFinish(childNo);
}
}
......@@ -340,6 +340,13 @@ public class CollectLineReportServiceImpl implements CollectLineReportService {
CollectLineReport collectLineReport = collectLineReportDao.getEntityByKey(param.getId()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
collectLineReport.setAuditStatus(CollectLineReport.AuditStatus.AUDIT.getCode());
collectLineReportDao.updateAuditStatus(collectLineReport);
// 查找规则
AppIntegralRuleVO ruleInfo = integralRuleService.getRuleInfo();
// 报存积分
integralRecordService.addDriverReportRecord(ruleInfo, collectLineReport.getTruckNo(), IntegralRecordEnum.Type.REPORT_SEND_ADDRESS_INFO.getValue(),
ruleInfo.getDriverReportRule().getIntegralSendAddressInfo(), IntegralRecordEnum.Type.REPORT_SEND_ADDRESS_INFO.getMsg());
}
@Transactional(rollbackFor = Exception.class)
......
......@@ -102,13 +102,6 @@ public class CollectTrafficCongestionServiceImpl implements CollectTrafficConges
collectTrafficCongestion.setAuditStatus(CollectTrafficCongestion.AuditStatus.AUDIT.getCode());
collectTrafficCongestionDao.updateAuditStatus(collectTrafficCongestion);
// 查找规则
AppIntegralRuleVO ruleInfo = integralRuleService.getRuleInfo();
// 报存积分
integralRecordService.addDriverReportRecord(ruleInfo, collectTrafficCongestion.getTruckNo(), IntegralRecordEnum.Type.REPORT_TRAFFIC.getValue(),
ruleInfo.getDriverReportRule().getIntegralTraffic(), IntegralRecordEnum.Type.REPORT_TRAFFIC.getMsg());
}
@Override
......
package com.clx.performance.service.impl.settle;
import com.clx.performance.config.MslPaymentConfig;
import com.clx.performance.dao.OrderChildDao;
import com.clx.performance.dao.OrderGoodsDao;
import com.clx.performance.dao.settle.SettlementDriverDao;
import com.clx.performance.dao.settle.SettlementDriverDetailDao;
import com.clx.performance.dao.settle.SettlementOwnerDao;
import com.clx.performance.dao.settle.SettlementOwnerDetailDao;
import com.clx.performance.enums.OrderChildEnum;
import com.clx.performance.enums.OrderChildLogEnum;
import com.clx.performance.enums.PayRemarkEnum;
import com.clx.performance.enums.PerformanceResultEnum;
......@@ -15,6 +17,7 @@ import com.clx.performance.enums.settle.SettlementOwnerEnum;
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.model.OrderChild;
import com.clx.performance.model.OrderGoods;
import com.clx.performance.model.settle.SettlementDriver;
import com.clx.performance.model.settle.SettlementDriverDetail;
......@@ -82,6 +85,9 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
@Autowired
private MslPaymentConfig mslPaymentConfig;
@Autowired
private OrderChildDao orderChildDao;
@Override
......@@ -119,10 +125,14 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
}
}
settlementDriverSave(settlementDriverDetail,settlementNo);
//车主结算单自动支付
paySettlementDriver(settlementDriverDetail);
//生成车主结算单
settlementDriverSave(settlementDriverDetail,settlementNo);
//运单状态修改为完成
OrderChild orderChild = orderChildDao.getByChildNo(settlementDriverDetail.getChildNo()).orElseThrow(PerformanceResultEnum.ORDER_CHILD_NO_FOUND);
orderChild.setStatus(OrderChildEnum.Status.COMPLETE.getCode());
orderChildDao.updateSettlement(orderChild);
// 更新结算单
settlementOwnerDetail.setSettlementNo(settlementNo);
......@@ -163,7 +173,7 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
settlementDriver.setSettlementFreight(detail.getSettlementFreight());
settlementDriver.setInvoiceType(detail.getInvoiceType());
settlementDriver.setSettlementPlatform(String.valueOf(SettlementPlatformEnum.Platform.MSL.getCode()));
settlementDriver.setStatus(SettlementDriverEnum.Status.WAIT_SETTLEMENT.getCode());
settlementDriver.setStatus(SettlementDriverEnum.Status.SETTLED.getCode());
settlementDriverDao.saveEntity(settlementDriver);
}
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论