提交 7b40c951 authored 作者: aiqingguo's avatar aiqingguo

司机积分统计逻辑优化

上级 78fb337a
...@@ -22,13 +22,15 @@ public enum IntegralRecordEnum { ...@@ -22,13 +22,15 @@ public enum IntegralRecordEnum {
ORDER_CHILD_COMPLETE_NUM(12, "运单完成数量"), ORDER_CHILD_COMPLETE_NUM(12, "运单完成数量"),
ORDER_CHILD_COMPLETE_WATER(13, "流水单"), ORDER_CHILD_COMPLETE_WATER(13, "流水单"),
ORDER_CHILD_COMPLETE_SUPPORT(14, "支援单"), ORDER_CHILD_COMPLETE_SUPPORT(14, "支援单"),
ORDER_CHILD_COMPLETE_TIMEOUT(15, "运单完成超时"),
ORDER_CHILD_CANCEL(21, "运单取消"), ORDER_CHILD_CANCEL(21, "运单取消"),
ORDER_CHILD_CANCEL_TIMEOUT(22, "运单取消超时"), ORDER_CHILD_ARRIVE_SEND_ADDRESS_TIMEOUT_CANCEL(22, "超时未到达货源地"),
ORDER_CHILD_PLATFORM_CANCEL(23, "平台取消"), ORDER_CHILD_ARRIVE_RECEIVE_ADDRESS_TIMEOUT(23, "超时到达目的地"),
ORDER_CHILD_PLATFORM_CANCEL(24, "平台取消补偿"),
ORDER_CHILD_PLATFORM_COMPENSATION(25, "平台补偿"), ORDER_CHILD_PLATFORM_COMPENSATION(25, "平台补偿"),
REPORT_TRUCK_INFO(50, "提交基础信息"), REPORT_TRUCK_INFO(50, "提交基础信息"),
REPORT_REFUEL(51, "油表上报"), REPORT_REFUEL(51, "油表上报"),
REPORT_TRAFFIC(52, "上报交通拥堵"), REPORT_TRAFFIC(52, "上报交通拥堵"),
......
package com.clx.performance.param.mq; package com.clx.performance.param.mq;
import lombok.Getter; import lombok.*;
import lombok.NoArgsConstructor;
import lombok.Setter; import java.util.Arrays;
import lombok.ToString; import java.util.Objects;
import java.util.Optional;
/** /**
* @Author: aiqingguo * @Author: aiqingguo
...@@ -18,5 +19,31 @@ import lombok.ToString; ...@@ -18,5 +19,31 @@ import lombok.ToString;
public class IntegralOrderChildFinishMqParam { public class IntegralOrderChildFinishMqParam {
private String childNo; //运单编号 private String childNo; //运单编号
private Integer type; //类型:
@Getter
@AllArgsConstructor
public enum Type {
ARRIVE_SEND_ADDRESS_TIMEOUT_CANCEL(11, "到达货源地超时取消"),
ARRIVE_RECEIVE_ADDRESS_TIMEOUT(12, "到达目的地超时"),
DRIVER_CONFIRM(13, "司机确认收货"),
DRIVER_CANCEL(14, "司机取消"),
CARRIER_CANCEL(21, "承运取消"),
ARTIFICIAL_CANCEL(22, "客服取消"),
ORDER_CANCEL(23, "订单取消"),
ORDER_GOODS_CANCEL(24, "货单取消"),
;
private final Integer code;
private final String msg;
public static Optional<Type> getByCode(int code) {
return Arrays.stream(values()).filter(e -> Objects.equals(e.getCode(), code)).findFirst();
}
}
} }
...@@ -18,6 +18,6 @@ public interface IntegralMqService { ...@@ -18,6 +18,6 @@ public interface IntegralMqService {
void truckProtectionCancel(String statisticsDate, String truckNo); void truckProtectionCancel(String statisticsDate, String truckNo);
void orderChildFinish(String childNo); void orderChildFinish(String childNo, Integer type);
} }
...@@ -4,6 +4,7 @@ import com.clx.performance.model.OrderChild; ...@@ -4,6 +4,7 @@ import com.clx.performance.model.OrderChild;
public interface OrderChildPostService { public interface OrderChildPostService {
void orderChildArriveReceiveAddress(OrderChild orderChild);
void orderChildDriverConfirm(OrderChild orderChild); void orderChildDriverConfirm(OrderChild orderChild);
void orderChildCancelByDriver(OrderChild orderChild, Integer opUserType, Long opUserNo, String opUserName); void orderChildCancelByDriver(OrderChild orderChild, Integer opUserType, Long opUserNo, String opUserName);
......
...@@ -144,10 +144,11 @@ public class IntegralMqServiceImpl implements IntegralMqService { ...@@ -144,10 +144,11 @@ public class IntegralMqServiceImpl implements IntegralMqService {
* 运单结束 (performance) * 运单结束 (performance)
*/ */
@Override @Override
public void orderChildFinish(String childNo){ public void orderChildFinish(String childNo, Integer type){
IntegralOrderChildFinishMqParam mq = new IntegralOrderChildFinishMqParam(); IntegralOrderChildFinishMqParam mq = new IntegralOrderChildFinishMqParam();
mq.setChildNo(childNo); mq.setChildNo(childNo);
mq.setType(type);
MqDelay<MqWrapper<IntegralOrderChildFinishMqParam>> delay = new MqDelay<>(RabbitKeyIntegralConstants.DEFAULT_EXCHANGE, RabbitKeyIntegralConstants.INTEGRAL_ORDER_CHILD_FINISH_ROUTING_KEY, new MqWrapper<>(mq)); MqDelay<MqWrapper<IntegralOrderChildFinishMqParam>> delay = new MqDelay<>(RabbitKeyIntegralConstants.DEFAULT_EXCHANGE, RabbitKeyIntegralConstants.INTEGRAL_ORDER_CHILD_FINISH_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();
......
...@@ -204,6 +204,8 @@ public class IntegralTruckServiceImpl implements IntegralTruckService { ...@@ -204,6 +204,8 @@ public class IntegralTruckServiceImpl implements IntegralTruckService {
IntegralRecordEnum.Type.PROTECTION_CANCEL.getValue(), IntegralRecordEnum.Type.PROTECTION_CANCEL.getValue(),
IntegralRecordEnum.Type.SETTLEMENT.getValue(), IntegralRecordEnum.Type.SETTLEMENT.getValue(),
IntegralRecordEnum.Type.BASE.getValue(), IntegralRecordEnum.Type.BASE.getValue(),
IntegralRecordEnum.Type.ORDER_CHILD_PLATFORM_CANCEL.getValue(),
IntegralRecordEnum.Type.ORDER_CHILD_PLATFORM_COMPENSATION.getValue() IntegralRecordEnum.Type.ORDER_CHILD_PLATFORM_COMPENSATION.getValue()
); );
...@@ -211,8 +213,8 @@ public class IntegralTruckServiceImpl implements IntegralTruckService { ...@@ -211,8 +213,8 @@ public class IntegralTruckServiceImpl implements IntegralTruckService {
IntegralRecordEnum.Type.ORDER_CHILD_CANCEL.getValue() IntegralRecordEnum.Type.ORDER_CHILD_CANCEL.getValue()
); );
List<Integer> orderChildTimeoutTypeList = Arrays.asList( List<Integer> orderChildTimeoutTypeList = Arrays.asList(
IntegralRecordEnum.Type.ORDER_CHILD_COMPLETE_TIMEOUT.getValue(), IntegralRecordEnum.Type.ORDER_CHILD_ARRIVE_RECEIVE_ADDRESS_TIMEOUT.getValue(),
IntegralRecordEnum.Type.ORDER_CHILD_CANCEL_TIMEOUT.getValue() IntegralRecordEnum.Type.ORDER_CHILD_ARRIVE_SEND_ADDRESS_TIMEOUT_CANCEL.getValue()
); );
List<Integer> reportTypeList = Arrays.asList( List<Integer> reportTypeList = Arrays.asList(
IntegralRecordEnum.Type.REPORT_TRUCK_INFO.getValue(), IntegralRecordEnum.Type.REPORT_TRUCK_INFO.getValue(),
......
...@@ -1046,6 +1046,7 @@ public class OrderChildServiceImpl implements OrderChildService { ...@@ -1046,6 +1046,7 @@ public class OrderChildServiceImpl implements OrderChildService {
// 司机确认收货后置逻辑 // 司机确认收货后置逻辑
orderChildPostService.orderChildDriverConfirm(orderChild); orderChildPostService.orderChildDriverConfirm(orderChild);
} }
@Override @Override
...@@ -1062,9 +1063,7 @@ public class OrderChildServiceImpl implements OrderChildService { ...@@ -1062,9 +1063,7 @@ public class OrderChildServiceImpl implements OrderChildService {
// 日志 // 日志
orderChildLogService.saveDriverOrderChildLog(childNo, OrderChildLogEnum.Type.SETTLEMENT.getCode(), orderChildLogService.saveDriverOrderChildLog(childNo, OrderChildLogEnum.Type.SETTLEMENT.getCode(),
OrderChildLogEnum.Type.SETTLEMENT.getMsg(), loginUserInfo.getUserNo(), loginUserInfo.getUserName()); OrderChildLogEnum.Type.SETTLEMENT.getMsg(), loginUserInfo.getUserNo(), loginUserInfo.getUserName());
// 运单结束
orderChildFinish(orderChild);
} }
@Override @Override
...@@ -1224,8 +1223,6 @@ public class OrderChildServiceImpl implements OrderChildService { ...@@ -1224,8 +1223,6 @@ public class OrderChildServiceImpl implements OrderChildService {
*/ */
private void orderChildFinish(OrderChild orderChild){ private void orderChildFinish(OrderChild orderChild){
// 运单结束 统计积分
integralMqService.orderChildFinish(orderChild.getChildNo());
} }
......
...@@ -4,6 +4,7 @@ import com.clx.performance.enums.OrderChildEnum; ...@@ -4,6 +4,7 @@ import com.clx.performance.enums.OrderChildEnum;
import com.clx.performance.enums.OrderChildLogEnum; import com.clx.performance.enums.OrderChildLogEnum;
import com.clx.performance.enums.UserTypeEnum; import com.clx.performance.enums.UserTypeEnum;
import com.clx.performance.model.OrderChild; import com.clx.performance.model.OrderChild;
import com.clx.performance.param.mq.IntegralOrderChildFinishMqParam;
import com.clx.performance.service.IntegralMqService; import com.clx.performance.service.IntegralMqService;
import com.clx.performance.service.OrderChildMqService; import com.clx.performance.service.OrderChildMqService;
import com.clx.performance.service.breakcontract.BreakContractDriverRecordService; import com.clx.performance.service.breakcontract.BreakContractDriverRecordService;
...@@ -25,9 +26,23 @@ public class OrderChildPostServiceImpl implements OrderChildPostService { ...@@ -25,9 +26,23 @@ public class OrderChildPostServiceImpl implements OrderChildPostService {
@Autowired @Autowired
private BreakContractDriverRecordService breakContractDriverRecordService; private BreakContractDriverRecordService breakContractDriverRecordService;
@Override
public void orderChildArriveReceiveAddress(OrderChild orderChild) {
// 到达货源地 统计积分
integralMqService.orderChildFinish(orderChild.getChildNo(), IntegralOrderChildFinishMqParam.Type.ARRIVE_RECEIVE_ADDRESS_TIMEOUT.getCode());
}
/**
* 司机确认收货
*/
@Override @Override
public void orderChildDriverConfirm(OrderChild orderChild) { public void orderChildDriverConfirm(OrderChild orderChild) {
// 司机确认收货 统计积分
integralMqService.orderChildFinish(orderChild.getChildNo(), IntegralOrderChildFinishMqParam.Type.DRIVER_CONFIRM.getCode());
orderChildFinish(orderChild.getChildNo()); orderChildFinish(orderChild.getChildNo());
// 发送mq 司机确认收货 // 发送mq 司机确认收货
...@@ -35,12 +50,14 @@ public class OrderChildPostServiceImpl implements OrderChildPostService { ...@@ -35,12 +50,14 @@ public class OrderChildPostServiceImpl implements OrderChildPostService {
} }
/** /**
* 司机取消 * 司机取消
*/ */
@Override @Override
public void orderChildCancelByDriver(OrderChild orderChild, Integer opUserType, Long opUserNo, String opUserName){ public void orderChildCancelByDriver(OrderChild orderChild, Integer opUserType, Long opUserNo, String opUserName){
// 司机取消 统计积分
integralMqService.orderChildFinish(orderChild.getChildNo(), IntegralOrderChildFinishMqParam.Type.DRIVER_CANCEL.getCode());
orderChildFinish(orderChild.getChildNo()); orderChildFinish(orderChild.getChildNo());
// 发送mq (运单取消) // 发送mq (运单取消)
...@@ -52,6 +69,10 @@ public class OrderChildPostServiceImpl implements OrderChildPostService { ...@@ -52,6 +69,10 @@ public class OrderChildPostServiceImpl implements OrderChildPostService {
*/ */
@Override @Override
public void orderChildCancelByCarrier(OrderChild orderChild, Integer opUserType, Long opUserNo, String opUserName) { public void orderChildCancelByCarrier(OrderChild orderChild, Integer opUserType, Long opUserNo, String opUserName) {
// 承运取消 统计积分
integralMqService.orderChildFinish(orderChild.getChildNo(), IntegralOrderChildFinishMqParam.Type.CARRIER_CANCEL.getCode());
orderChildFinish(orderChild.getChildNo()); orderChildFinish(orderChild.getChildNo());
// 发送mq (运单取消) // 发送mq (运单取消)
...@@ -68,6 +89,9 @@ public class OrderChildPostServiceImpl implements OrderChildPostService { ...@@ -68,6 +89,9 @@ public class OrderChildPostServiceImpl implements OrderChildPostService {
// 保存违约记录 // 保存违约记录
breakContractDriverRecordService.saveDriverRecordOfArriveSendAddressTimeout(orderChild, 0L, "系统"); breakContractDriverRecordService.saveDriverRecordOfArriveSendAddressTimeout(orderChild, 0L, "系统");
// 到达货源地超时取消 统计积分
integralMqService.orderChildFinish(orderChild.getChildNo(), IntegralOrderChildFinishMqParam.Type.ARRIVE_SEND_ADDRESS_TIMEOUT_CANCEL.getCode());
orderChildFinish(orderChild.getChildNo()); orderChildFinish(orderChild.getChildNo());
// 发送mq (运单取消) // 发送mq (运单取消)
...@@ -75,8 +99,15 @@ public class OrderChildPostServiceImpl implements OrderChildPostService { ...@@ -75,8 +99,15 @@ public class OrderChildPostServiceImpl implements OrderChildPostService {
} }
/**
* 订单取消
*/
@Override @Override
public void orderCancel(String childNo) { public void orderCancel(String childNo) {
// 订单取消 统计积分
integralMqService.orderChildFinish(childNo, IntegralOrderChildFinishMqParam.Type.ORDER_CANCEL.getCode());
orderChildFinish(childNo); orderChildFinish(childNo);
// 发送mq (运单取消) // 发送mq (运单取消)
...@@ -84,8 +115,15 @@ public class OrderChildPostServiceImpl implements OrderChildPostService { ...@@ -84,8 +115,15 @@ public class OrderChildPostServiceImpl implements OrderChildPostService {
} }
/**
* 货单取消
*/
@Override @Override
public void orderGoodsCancel(String childNo) { public void orderGoodsCancel(String childNo) {
// 货单取消 统计积分
integralMqService.orderChildFinish(childNo, IntegralOrderChildFinishMqParam.Type.ORDER_GOODS_CANCEL.getCode());
orderChildFinish(childNo); orderChildFinish(childNo);
// 发送mq (运单取消) // 发送mq (运单取消)
...@@ -93,8 +131,14 @@ public class OrderChildPostServiceImpl implements OrderChildPostService { ...@@ -93,8 +131,14 @@ public class OrderChildPostServiceImpl implements OrderChildPostService {
} }
/**
* 客服取消
*/
@Override @Override
public void orderChildCancelByArtificial(String childNo) { public void orderChildCancelByArtificial(String childNo) {
// 货单取消 统计积分
integralMqService.orderChildFinish(childNo, IntegralOrderChildFinishMqParam.Type.ARTIFICIAL_CANCEL.getCode());
orderChildFinish(childNo); orderChildFinish(childNo);
// 发送mq (运单取消) // 发送mq (运单取消)
...@@ -107,8 +151,7 @@ public class OrderChildPostServiceImpl implements OrderChildPostService { ...@@ -107,8 +151,7 @@ public class OrderChildPostServiceImpl implements OrderChildPostService {
*/ */
@Override @Override
public void orderChildFinish(String childNo) { public void orderChildFinish(String childNo) {
// 运单结束 统计积分
integralMqService.orderChildFinish(childNo);
} }
} }
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论