提交 1598b52a authored 作者: aiqingguo's avatar aiqingguo

司机上报积分统计

上级 d18a67f7
......@@ -33,6 +33,7 @@ public enum OrderChildEnum {
DRIVER_CANCEL(110, "司机取消"),
PLATFORM_CANCEL(111, "承运取消"),
OWNER_CANCEL(112, "货主取消"),
ARTIFICIAL_CANCEL(113, "客服取消"),
//
// OWNER_CONFIRM(50, "货主确认车辆"),//货主确认车辆
......
......@@ -27,6 +27,7 @@ public enum IntegralRecordEnum {
ORDER_CHILD_CANCEL(21, "运单取消"),
ORDER_CHILD_CANCEL_TIMEOUT(22, "运单取消超时"),
ORDER_CHILD_PLATFORM_CANCEL(23, "平台取消"),
REPORT_TRUCK_INFO(50, "提交基础信息"),
REPORT_REFUEL(51, "油表上报"),
......@@ -56,5 +57,18 @@ public enum IntegralRecordEnum {
Type.REPORT_ABNORMAL.value
);
// 取消
public static final List<Integer> PLATFORM_CANCEL_lIST = Arrays.asList(
Type.REPORT_TRUCK_INFO.value,
Type.REPORT_REFUEL.value,
Type.REPORT_TRAFFIC.value,
Type.REPORT_SEND_ADDRESS_WAIT.value,
Type.REPORT_SEND_ADDRESS_NO_WAIT.value,
Type.REPORT_RECEIVE_ADDRESS_WAIT.value,
Type.REPORT_RECEIVE_ADDRESS_NO_WAIT.value,
Type.REPORT_QUALITY.value,
Type.REPORT_ABNORMAL.value
);
}
package com.clx.performance.vo.mq;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
/**
* @Author: aiqingguo
* @Description:
* @Date: 2023-10-19 15:45:25
* @Version: 1.0
*/
@Setter
@Getter
@ToString
@NoArgsConstructor
public class OrderChildLoadMqParam {
private String childNo; //运单编号
}
package com.clx.performance.vo.mq;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
/**
* @Author: aiqingguo
* @Description:
* @Date: 2023-10-19 15:45:25
* @Version: 1.0
*/
@Setter
@Getter
@ToString
@NoArgsConstructor
public class OrderChildUnloadMqParam {
private String childNo; //运单编号
}
......@@ -73,5 +73,28 @@ public class RabbitOrderChildConfig {
return BindingBuilder.bind(orderChildDriverConfirmQueue()).to(orderChildDefaultExchange()).with(RabbitKeyOrderChildConstants.ORDER_CHILD_DRIVER_CONFIRM_ROUTING_KEY);
}
/**
* 装车
*/
@Bean
public Queue orderChildLoadQueue() {
return new Queue(RabbitKeyOrderChildConstants.ORDER_CHILD_LOAD_QUEUE);
}
@Bean
public Binding orderChildLoadQueueBinding() {
return BindingBuilder.bind(orderChildLoadQueue()).to(orderChildDefaultExchange()).with(RabbitKeyOrderChildConstants.ORDER_CHILD_LOAD_ROUTING_KEY);
}
/**
* 卸车
*/
@Bean
public Queue orderChildUnloadQueue() {
return new Queue(RabbitKeyOrderChildConstants.ORDER_CHILD_UNLOAD_QUEUE);
}
@Bean
public Binding orderChildUnloadQueueBinding() {
return BindingBuilder.bind(orderChildUnloadQueue()).to(orderChildDefaultExchange()).with(RabbitKeyOrderChildConstants.ORDER_CHILD_UNLOAD_ROUTING_KEY);
}
}
......@@ -51,4 +51,16 @@ public class RabbitKeyOrderChildConstants {
public static final String CHILD_FINISH_QUEUE = PREFIX +"child.finish"+QUEUE;
public static final String CHILD_FINISH_ROUTING_KEY = PREFIX +"child.finish"+QUEUE_ROUTING_KEY;
/**
* 装车
*/
public static final String ORDER_CHILD_LOAD_QUEUE = PREFIX +"orderChild.load"+QUEUE;
public static final String ORDER_CHILD_LOAD_ROUTING_KEY = PREFIX +"orderChild.load"+QUEUE_ROUTING_KEY;
/**
* 卸车
*/
public static final String ORDER_CHILD_UNLOAD_QUEUE = PREFIX +"orderChild.unload"+QUEUE;
public static final String ORDER_CHILD_UNLOAD_ROUTING_KEY = PREFIX +"orderChild.unload"+QUEUE_ROUTING_KEY;
}
......@@ -48,7 +48,7 @@ public class CarrierDriverCollectLineReportController {
@ApiOperation(value = "异常上报审核", notes = "<br>By:艾庆国")
@PostMapping("/updateAbnormalReportAudit")
public Result<Void> updateAbnormalReportAudit(@RequestBody @Validated CollectLineReportSendAddressAuditParam param) {
collectLineReportService.updateSendAddressReportAudit(param);
collectLineReportService.updateAbnormalReportAudit(param);
return Result.ok();
}
......@@ -62,7 +62,7 @@ public class CarrierDriverCollectLineReportController {
@ApiOperation(value = "无接单上报审核", notes = "<br>By:艾庆国")
@PostMapping("/updateNoTakeOrderReportAudit")
public Result<Void> updateNoTakeOrderReportAudit(@RequestBody @Validated CollectLineReportSendAddressAuditParam param) {
collectLineReportService.updateSendAddressReportAudit(param);
collectLineReportService.updateNoTakeOrderReportAudit(param);
return Result.ok();
}
......@@ -76,7 +76,7 @@ public class CarrierDriverCollectLineReportController {
@ApiOperation(value = "煤炭质量上报审核", notes = "<br>By:艾庆国")
@PostMapping("/updateQualityReportAudit")
public Result<Void> updateQualityReportAudit(@RequestBody @Validated CollectLineReportSendAddressAuditParam param) {
collectLineReportService.updateSendAddressReportAudit(param);
collectLineReportService.updateQualityReportAudit(param);
return Result.ok();
}
......
package com.clx.performance.listener.child;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;
import com.clx.performance.common.MqWrapper;
import com.clx.performance.constant.RabbitKeyOrderChildConstants;
import com.clx.performance.service.OrderChildMqHandlerService;
import com.clx.performance.vo.mq.OrderChildLoadMqParam;
import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.core.Message;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
* @Author: 艾庆国
* @Description: 运单取消 mq
* @Date: 2023-10-20 17:39:27
* @Version: 1.0
*/
@Slf4j
@Component
public class OrderChildLoadListener {
@Autowired
private OrderChildMqHandlerService orderChildMqHandlerService;
@RabbitListener(queues = RabbitKeyOrderChildConstants.ORDER_CHILD_LOAD_QUEUE)
public void process(Message message) {
try{
log.info("运单-装车, message:{}", new String(message.getBody()));
process(JSON.parseObject(new String(message.getBody()), new TypeReference<MqWrapper<OrderChildLoadMqParam>>(){}).getData());
}catch (Exception e){
log.info("运单-装车 失败",e);
}
}
private void process(OrderChildLoadMqParam mq){
orderChildMqHandlerService.orderChildLoad(mq);
}
}
package com.clx.performance.listener.child;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;
import com.clx.performance.common.MqWrapper;
import com.clx.performance.constant.RabbitKeyOrderChildConstants;
import com.clx.performance.service.OrderChildMqHandlerService;
import com.clx.performance.vo.mq.OrderChildUnloadMqParam;
import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.core.Message;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
* @Author: 艾庆国
* @Description: 运单取消 mq
* @Date: 2023-10-20 17:39:27
* @Version: 1.0
*/
@Slf4j
@Component
public class OrderChildUnloadListener {
@Autowired
private OrderChildMqHandlerService orderChildMqHandlerService;
@RabbitListener(queues = RabbitKeyOrderChildConstants.ORDER_CHILD_UNLOAD_QUEUE)
public void process(Message message) {
try{
log.info("运单-卸车, message:{}", new String(message.getBody()));
process(JSON.parseObject(new String(message.getBody()), new TypeReference<MqWrapper<OrderChildUnloadMqParam>>(){}).getData());
}catch (Exception e){
log.info("运单-卸车 失败",e);
}
}
private void process(OrderChildUnloadMqParam mq){
orderChildMqHandlerService.orderChildUnload(mq);
}
}
......@@ -2,10 +2,16 @@ package com.clx.performance.service;
import com.clx.performance.vo.mq.OrderChildAddMqParam;
import com.clx.performance.vo.mq.OrderChildDriverConfirmMqParam;
import com.clx.performance.vo.mq.OrderChildLoadMqParam;
import com.clx.performance.vo.mq.OrderChildUnloadMqParam;
public interface OrderChildMqHandlerService {
void orderChildAdd(OrderChildAddMqParam mq);
void orderChildDriverConfirm(OrderChildDriverConfirmMqParam mq);
void orderChildLoad(OrderChildLoadMqParam mq);
void orderChildUnload(OrderChildUnloadMqParam mq);
}
......@@ -6,4 +6,7 @@ public interface OrderChildMqService {
void orderChildDriverConfirm(String childNo);
void orderChildLoad(String childNo);
void orderChildUnLoad(String childNo);
}
......@@ -26,6 +26,9 @@ public interface CollectLineReportService {
IPage<CollectLineReportVO> pageLineReport(PageCollectLineReportParam param);
void updateSendAddressReportAudit(CollectLineReportSendAddressAuditParam param);
void updateAbnormalReportAudit(CollectLineReportSendAddressAuditParam param);
void updateNoTakeOrderReportAudit(CollectLineReportSendAddressAuditParam param);
void updateQualityReportAudit(CollectLineReportSendAddressAuditParam param);
IPage<CollectLineReportVO> carrierPageSendAddressReport(CarrierPageCollectSendAddressReportParam param);
......
......@@ -330,6 +330,10 @@ public class IntegralMqHandlerServiceImpl implements IntegralMqHandlerService {
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> platformCancelStatusList = Arrays.asList(OrderChildEnum.Status.OWNER_CANCEL.getCode(),
OrderChildEnum.Status.PLATFORM_CANCEL.getCode(),
OrderChildEnum.Status.ARTIFICIAL_CANCEL.getCode()
);
int integral = 0;
if (finishStatusList.contains(orderChild.getStatus())){
......@@ -340,8 +344,14 @@ public class IntegralMqHandlerServiceImpl implements IntegralMqHandlerService {
// 取消
integral = orderChildCancelIntegralSettlement(statistics, ruleInfo, integralOrder, orderChild, orderGoods);
}
else if (platformCancelStatusList.contains(orderChild.getStatus())){
// 平台取消
orderChildPlatformCancelIntegralSettlement(statistics, ruleInfo, integralOrder, orderChild, orderGoods);
}
log.info("司机积分, 运单:{}, 累计积分:{}", orderChild.getChildNo(), integral);
if (integral == 0) {return;}
// 更新积分
statistics.setIntegral(statistics.getIntegral()+integral);
integralStatisticsDao.updateIntegral(statistics);
......@@ -444,7 +454,7 @@ public class IntegralMqHandlerServiceImpl implements IntegralMqHandlerService {
// integralRecordService.save(statistics.getId(), statistics.getStatisticsDate(), statistics.getTruckNo(), IntegralRecord.type.ORDER_CHILD_COMPLETE_SUPPORT.getValue(), supportOrderIntegral, "支援单奖励");
// }
// 超时
// 到达货源地目的地超时
if (null == orderGoods.getLastArriveSendTime() && null == orderGoods.getLastArriveReceiveTime()){
integralSum = completeIntegral+completeNumIntegral+waterOrderIntegral+supportOrderIntegral;
......@@ -470,6 +480,8 @@ public class IntegralMqHandlerServiceImpl implements IntegralMqHandlerService {
integralRecordService.save(statistics.getId(), statistics.getStatisticsDate(), statistics.getTruckNo(), IntegralRecordEnum.Type.ORDER_CHILD_COMPLETE_TIMEOUT.getValue(), receiveAddressTimeoutIntegral, "未按时到达目的地减分");
}
// 装卸车超时(下期开发)
integralSum = completeIntegral+completeNumIntegral+waterOrderIntegral+supportOrderIntegral+sendAddressTimeoutIntegral+receiveAddressTimeoutIntegral;
return integralSum;
......@@ -541,12 +553,50 @@ public class IntegralMqHandlerServiceImpl implements IntegralMqHandlerService {
integralRecordService.save(statistics.getId(), statistics.getStatisticsDate(), statistics.getTruckNo(), IntegralRecordEnum.Type.ORDER_CHILD_CANCEL_TIMEOUT.getValue(), receiveAddressTimeoutIntegral, "未按时到达目的地减分");
}
// 装卸车超时(下期开发)
integralSum = cancelIntegral+sendAddressTimeoutIntegral+receiveAddressTimeoutIntegral;
return integralSum;
}
/**
* 平台运单取消
*/
private int orderChildPlatformCancelIntegralSettlement(IntegralStatistics statistics, AppIntegralRuleVO ruleInfo, IntegralOrder integralOrder, OrderChild orderChild, OrderGoods orderGoods){
int integralSum = 0;
// 运单取消积分
Integer cancelIntegral = ruleInfo.getPlatformCompensationRule().getIntegralCancel();
int sum = integralRecordDao.sumByStatisticsIdAndTypes(statistics.getId(), Arrays.asList(IntegralRecordEnum.Type.ORDER_CHILD_PLATFORM_CANCEL.getValue()));
if (sum > ruleInfo.getPlatformCompensationRule().getIntegralCancelLimit()){
log.info("达到当日平台补偿积分上限,本次无效, childNo:{}", orderChild.getChildNo());
return integralSum;
}
else if (sum+cancelIntegral > ruleInfo.getPlatformCompensationRule().getIntegralCancelLimit()){
cancelIntegral = ruleInfo.getPlatformCompensationRule().getIntegralCancelLimit()-sum;
}
else {
}
if (cancelIntegral > 0){
integralRecordService.save(statistics.getId(), statistics.getStatisticsDate(), statistics.getTruckNo(),
IntegralRecordEnum.Type.ORDER_CHILD_PLATFORM_CANCEL.getValue(), cancelIntegral, IntegralRecordEnum.Type.ORDER_CHILD_PLATFORM_CANCEL.getMsg());
}
// 装卸车超时(下期开发)
integralSum = cancelIntegral;
return integralSum;
}
/**
* 更新实时积分
*/
......
......@@ -3,6 +3,8 @@ package com.clx.performance.service.impl;
import com.clx.performance.service.OrderChildMqHandlerService;
import com.clx.performance.vo.mq.OrderChildAddMqParam;
import com.clx.performance.vo.mq.OrderChildDriverConfirmMqParam;
import com.clx.performance.vo.mq.OrderChildLoadMqParam;
import com.clx.performance.vo.mq.OrderChildUnloadMqParam;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
......@@ -20,4 +22,15 @@ public class OrderChildMqHandlerServiceImpl implements OrderChildMqHandlerServic
public void orderChildDriverConfirm(OrderChildDriverConfirmMqParam mq) {
}
@Override
public void orderChildLoad(OrderChildLoadMqParam mq) {
}
@Override
public void orderChildUnload(OrderChildUnloadMqParam mq) {
}
}
......@@ -7,6 +7,8 @@ import com.clx.performance.constant.RabbitKeyOrderChildConstants;
import com.clx.performance.service.OrderChildMqService;
import com.clx.performance.vo.mq.OrderChildAddMqParam;
import com.clx.performance.vo.mq.OrderChildDriverConfirmMqParam;
import com.clx.performance.vo.mq.OrderChildLoadMqParam;
import com.clx.performance.vo.mq.OrderChildUnloadMqParam;
import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.core.Message;
import org.springframework.amqp.core.MessageBuilder;
......@@ -43,4 +45,28 @@ public class OrderChildMqServiceImpl implements OrderChildMqService {
rabbitTemplate.send(RabbitKeyOrderChildConstants.DEFAULT_EXCHANGE, RabbitKeyOrderChildConstants.DEFAULT_DELAY_ROUTING_KEY, message);
}
@Override
public void orderChildLoad(String childNo) {
OrderChildLoadMqParam mq = new OrderChildLoadMqParam();
mq.setChildNo(childNo);
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.getMessageProperties().setExpiration("5000");
rabbitTemplate.send(RabbitKeyOrderChildConstants.DEFAULT_EXCHANGE, RabbitKeyOrderChildConstants.DEFAULT_DELAY_ROUTING_KEY, message);
}
@Override
public void orderChildUnLoad(String childNo) {
OrderChildUnloadMqParam mq = new OrderChildUnloadMqParam();
mq.setChildNo(childNo);
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.getMessageProperties().setExpiration("5000");
rabbitTemplate.send(RabbitKeyOrderChildConstants.DEFAULT_EXCHANGE, RabbitKeyOrderChildConstants.DEFAULT_DELAY_ROUTING_KEY, message);
}
}
......@@ -6,8 +6,8 @@ import com.clx.order.enums.OrderEnum;
import com.clx.order.feign.OrderFeign;
import com.clx.order.vo.feign.FeignAddressVO;
import com.clx.order.vo.feign.FeignOrderInfoVO;
import com.clx.performance.constant.RedisConstants;
import com.clx.performance.component.GoodsOrderTruckRecordComponent;
import com.clx.performance.constant.RedisConstants;
import com.clx.performance.constant.RedissonConstants;
import com.clx.performance.dao.*;
import com.clx.performance.dto.OrderChildExpectDTO;
......@@ -25,12 +25,6 @@ import com.clx.performance.param.pc.PageCarrierOrderChildParam;
import com.clx.performance.param.pc.PageMonitorOrderChildQCParam;
import com.clx.performance.param.pc.PagePoundAuditParam;
import com.clx.performance.service.*;
import com.clx.performance.service.OrderChildLogService;
import com.clx.performance.service.OrderChildPoundLogService;
import com.clx.performance.service.OrderChildService;
import com.clx.performance.service.OrderGoodsService;
import com.clx.performance.service.*;
import com.clx.performance.service.collect.CollectLineReportService;
import com.clx.performance.service.settle.SettlementDriverDetailService;
import com.clx.performance.service.settle.SettlementMqService;
import com.clx.performance.service.settle.SettlementOwnerDetailService;
......@@ -112,7 +106,6 @@ public class OrderChildServiceImpl implements OrderChildService {
private final OrderChildMqService orderChildMqService;
private final OwnerInfoService ownerInfoService;
private final CollectLineReportService collectLineReportService;
@Override
public SaveOrderChildVO saveOrderChild(OrderChildSaveParam param) {
......
......@@ -21,6 +21,7 @@ import com.msl.user.utils.TokenUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime;
import java.util.Objects;
......@@ -41,6 +42,7 @@ public class CollectLineReportServiceImpl implements CollectLineReportService {
@Autowired
private IntegralRecordService integralRecordService;
@Transactional(rollbackFor = Exception.class)
@Override
public void saveSendAddressReport(CollectLineReportSendAddressSaveParam param) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
......@@ -70,31 +72,26 @@ public class CollectLineReportServiceImpl implements CollectLineReportService {
collectLineReportDao.saveEntity(collectLineReport);
}
@Transactional(rollbackFor = Exception.class)
@Override
public void saveAbnormalReport(CollectLineReportAbnormalSaveParam param) {
CollectLineReport collectLineReport = null;
if (Objects.equals(param.getReportType(), CollectLineReport.ReportType.UNABLE_TO_SEND_ADDRESS.getCode())){
collectLineReport = saveSendAddressAbnormalReport(new CollectLineReportSendAddressAbnormalSaveParam(param.getChildNo(), param.getRemark()));
saveSendAddressAbnormalReport(new CollectLineReportSendAddressAbnormalSaveParam(param.getChildNo(), param.getRemark()));
}
else if (Objects.equals(param.getReportType(), CollectLineReport.ReportType.UNABLE_LOAD.getCode())){
collectLineReport = saveLoadAbnormalReport(new CollectLineReportLoadAbnormalSaveParam(param.getChildNo(), param.getRemark()));
saveLoadAbnormalReport(new CollectLineReportLoadAbnormalSaveParam(param.getChildNo(), param.getRemark()));
}
else if (Objects.equals(param.getReportType(), CollectLineReport.ReportType.UNABLE_TO_RECEIVE_ADDRESS.getCode())){
collectLineReport = saveReceiveAddressAbnormalReport(new CollectLineReportReceiveAddressAbnormalSaveParam(param.getChildNo(), param.getRemark()));
saveReceiveAddressAbnormalReport(new CollectLineReportReceiveAddressAbnormalSaveParam(param.getChildNo(), param.getRemark()));
}
else if (Objects.equals(param.getReportType(), CollectLineReport.ReportType.LOAD_UNLOAD.getCode())){
collectLineReport = saveLoadUnloadAbnormalReport(new CollectLineReportLoadUnloadAbnormalSaveParam(param.getChildNo(), param.getRemark()));
saveLoadUnloadAbnormalReport(new CollectLineReportLoadUnloadAbnormalSaveParam(param.getChildNo(), param.getRemark()));
}
// 查找规则
AppIntegralRuleVO ruleInfo = integralRuleService.getRuleInfo();
// 报存积分
integralRecordService.addRecord(ruleInfo, collectLineReport.getTruckNo(), IntegralRecordEnum.Type.REPORT_ABNORMAL.getValue(),
ruleInfo.getDriverReportRule().getIntegralQuality(), IntegralRecordEnum.Type.REPORT_ABNORMAL.getMsg());
}
@Transactional(rollbackFor = Exception.class)
@Override
public CollectLineReport saveSendAddressAbnormalReport(CollectLineReportSendAddressAbnormalSaveParam param) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
......@@ -126,6 +123,7 @@ public class CollectLineReportServiceImpl implements CollectLineReportService {
return collectLineReport;
}
@Transactional(rollbackFor = Exception.class)
@Override
public CollectLineReport saveLoadAbnormalReport(CollectLineReportLoadAbnormalSaveParam param) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
......@@ -157,6 +155,7 @@ public class CollectLineReportServiceImpl implements CollectLineReportService {
return collectLineReport;
}
@Transactional(rollbackFor = Exception.class)
@Override
public CollectLineReport saveReceiveAddressAbnormalReport(CollectLineReportReceiveAddressAbnormalSaveParam param) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
......@@ -188,6 +187,7 @@ public class CollectLineReportServiceImpl implements CollectLineReportService {
return collectLineReport;
}
@Transactional(rollbackFor = Exception.class)
@Override
public CollectLineReport saveLoadUnloadAbnormalReport(CollectLineReportLoadUnloadAbnormalSaveParam param) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
......@@ -218,7 +218,7 @@ public class CollectLineReportServiceImpl implements CollectLineReportService {
return collectLineReport;
}
@Transactional(rollbackFor = Exception.class)
@Override
public void saveNoTakeOrderAbnormalReport(CollectLineReportNoTakeOrderAbnormalSaveParam param) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
......@@ -248,6 +248,7 @@ public class CollectLineReportServiceImpl implements CollectLineReportService {
collectLineReportDao.saveEntity(collectLineReport);
}
@Transactional(rollbackFor = Exception.class)
@Override
public void saveOtherReport(CollectLineReportOtherSaveParam param) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
......@@ -269,6 +270,7 @@ public class CollectLineReportServiceImpl implements CollectLineReportService {
collectLineReportDao.saveEntity(collectLineReport);
}
@Transactional(rollbackFor = Exception.class)
@Override
public void saveQualityReport(CollectLineReportQualitySaveParam param) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
......@@ -298,13 +300,6 @@ public class CollectLineReportServiceImpl implements CollectLineReportService {
collectLineReport.setCreateTime(collectLineReport.getReportTime());
collectLineReportDao.saveEntity(collectLineReport);
// 查找规则
AppIntegralRuleVO ruleInfo = integralRuleService.getRuleInfo();
// 报存积分
integralRecordService.addRecord(ruleInfo, collectLineReport.getTruckNo(), IntegralRecordEnum.Type.REPORT_QUALITY.getValue(),
ruleInfo.getDriverReportRule().getIntegralQuality(), IntegralRecordEnum.Type.REPORT_QUALITY.getMsg());
}
@Override
......@@ -327,11 +322,50 @@ public class CollectLineReportServiceImpl implements CollectLineReportService {
return collectLineReportDao.carrierPageSendAddressReport(param);
}
@Transactional(rollbackFor = Exception.class)
@Override
public void updateSendAddressReportAudit(CollectLineReportSendAddressAuditParam param) {
CollectLineReport report = collectLineReportDao.getEntityByKey(param.getId()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
report.setAuditStatus(CollectLineReport.AuditStatus.AUDIT.getCode());
collectLineReportDao.updateAuditStatus(report);
CollectLineReport collectLineReport = collectLineReportDao.getEntityByKey(param.getId()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
collectLineReport.setAuditStatus(CollectLineReport.AuditStatus.AUDIT.getCode());
collectLineReportDao.updateAuditStatus(collectLineReport);
}
@Transactional(rollbackFor = Exception.class)
@Override
public void updateAbnormalReportAudit(CollectLineReportSendAddressAuditParam param) {
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.addRecord(ruleInfo, collectLineReport.getTruckNo(), IntegralRecordEnum.Type.REPORT_ABNORMAL.getValue(),
ruleInfo.getDriverReportRule().getIntegralQuality(), IntegralRecordEnum.Type.REPORT_ABNORMAL.getMsg());
}
@Transactional(rollbackFor = Exception.class)
@Override
public void updateNoTakeOrderReportAudit(CollectLineReportSendAddressAuditParam param) {
CollectLineReport collectLineReport = collectLineReportDao.getEntityByKey(param.getId()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
collectLineReport.setAuditStatus(CollectLineReport.AuditStatus.AUDIT.getCode());
collectLineReportDao.updateAuditStatus(collectLineReport);
}
@Transactional(rollbackFor = Exception.class)
@Override
public void updateQualityReportAudit(CollectLineReportSendAddressAuditParam param) {
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.addRecord(ruleInfo, collectLineReport.getTruckNo(), IntegralRecordEnum.Type.REPORT_QUALITY.getValue(),
ruleInfo.getDriverReportRule().getIntegralQuality(), IntegralRecordEnum.Type.REPORT_QUALITY.getMsg());
}
@Override
......
......@@ -21,6 +21,7 @@ import com.msl.user.utils.TokenUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.StringUtils;
import java.time.LocalDateTime;
......@@ -39,6 +40,7 @@ public class CollectTrafficCongestionServiceImpl implements CollectTrafficConges
@Autowired
private IntegralRuleService integralRuleService;
@Transactional(rollbackFor = Exception.class)
@Override
public void saveTrafficReport(CollectTrafficCongestionSaveParam param) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
......@@ -75,12 +77,6 @@ public class CollectTrafficCongestionServiceImpl implements CollectTrafficConges
collectTrafficCongestion.setCreateTime(collectTrafficCongestion.getReportTime());
collectTrafficCongestionDao.saveEntity(collectTrafficCongestion);
// 查找规则
AppIntegralRuleVO ruleInfo = integralRuleService.getRuleInfo();
// 报存积分
integralRecordService.addRecord(ruleInfo, collectTrafficCongestion.getTruckNo(), IntegralRecordEnum.Type.REPORT_TRAFFIC.getValue(),
ruleInfo.getDriverReportRule().getIntegralTraffic(), IntegralRecordEnum.Type.REPORT_TRAFFIC.getMsg());
}
......@@ -99,11 +95,20 @@ public class CollectTrafficCongestionServiceImpl implements CollectTrafficConges
return collectTrafficCongestionDao.pageTraffic(param);
}
@Transactional(rollbackFor = Exception.class)
@Override
public void updateTrafficCongestionAudit(CollectTrafficCongestionAuditParam param) {
CollectTrafficCongestion collectTrafficCongestion = collectTrafficCongestionDao.getEntityByKey(param.getId()).orElseThrow();
collectTrafficCongestion.setAuditStatus(CollectTrafficCongestion.AuditStatus.AUDIT.getCode());
collectTrafficCongestionDao.updateAuditStatus(collectTrafficCongestion);
// 查找规则
AppIntegralRuleVO ruleInfo = integralRuleService.getRuleInfo();
// 报存积分
integralRecordService.addRecord(ruleInfo, collectTrafficCongestion.getTruckNo(), IntegralRecordEnum.Type.REPORT_TRAFFIC.getValue(),
ruleInfo.getDriverReportRule().getIntegralTraffic(), IntegralRecordEnum.Type.REPORT_TRAFFIC.getMsg());
}
@Override
......
......@@ -17,6 +17,8 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Objects;
@Slf4j
@Service
public class CollectTruckServiceImpl implements CollectTruckService {
......@@ -36,6 +38,8 @@ public class CollectTruckServiceImpl implements CollectTruckService {
public void updateUnloadType(CollectTruckUnloadTypeUpdateParam param) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
Long userNo = loginUserInfo.getUserNo();
boolean flag;
CollectTruck truck = collectTruckDao.getByUserNoAndTruckNo(userNo, param.getTruckNo()).orNull();
if (truck == null) {
truck.setUserNo(userNo);
......@@ -43,11 +47,17 @@ public class CollectTruckServiceImpl implements CollectTruckService {
truck.setMobile(loginUserInfo.getUserMobile());
truck.setTruckNo(param.getTruckNo());
collectTruckDao.saveEntity(truck);
flag = true;
}
else {
flag = !Objects.equals(truck.getUnloadType(), param.getUnloadType());
}
truck.setUnloadType(param.getUnloadType());
collectTruckDao.update(truck);
if (!flag) {return;}
// 查找规则
AppIntegralRuleVO ruleInfo = integralRuleService.getRuleInfo();
......@@ -61,6 +71,8 @@ public class CollectTruckServiceImpl implements CollectTruckService {
public void updateAutoLoanStatus(CollectAutoLoanStatusUpdateParam param) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
Long userNo = loginUserInfo.getUserNo();
boolean flag;
CollectTruck truck = collectTruckDao.getByUserNoAndTruckNo(userNo, param.getTruckNo()).orNull();
if (truck == null) {
truck.setUserNo(userNo);
......@@ -68,12 +80,17 @@ public class CollectTruckServiceImpl implements CollectTruckService {
truck.setMobile(loginUserInfo.getUserMobile());
truck.setTruckNo(param.getTruckNo());
collectTruckDao.saveEntity(truck);
flag = true;
}
else {
flag = !(Objects.equals(truck.getAutoLoanStatus(), param.getAutoLoanStatus())&&Objects.equals(truck.getAutoLoanMonth(), param.getAutoLoanMonth()));
}
truck.setAutoLoanStatus(param.getAutoLoanStatus());
truck.setAutoLoanMonth(param.getAutoLoanMonth());
collectTruckDao.update(truck);
if (!flag) {return;}
// 查找规则
AppIntegralRuleVO ruleInfo = integralRuleService.getRuleInfo();
......@@ -88,6 +105,8 @@ public class CollectTruckServiceImpl implements CollectTruckService {
public void updateParkAddress(CollectTruckReportParkAddressUpdateParam param) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
Long userNo = loginUserInfo.getUserNo();
boolean flag;
CollectTruck truck = collectTruckDao.getByUserNoAndTruckNo(userNo, param.getTruckNo()).orNull();
if (truck == null) {
truck.setUserNo(userNo);
......@@ -95,11 +114,16 @@ public class CollectTruckServiceImpl implements CollectTruckService {
truck.setMobile(loginUserInfo.getUserMobile());
truck.setTruckNo(param.getTruckNo());
collectTruckDao.saveEntity(truck);
flag = true;
}
else {
flag = !Objects.equals(truck.getParkAddress(), param.getParkAddress());
}
truck.setParkAddress(param.getParkAddress());
collectTruckDao.update(truck);
if (!flag) {return;}
// 查找规则
AppIntegralRuleVO ruleInfo = integralRuleService.getRuleInfo();
......
......@@ -25,6 +25,7 @@ import com.msl.user.utils.TokenUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime;
import java.util.Objects;
......@@ -45,6 +46,7 @@ public class CollectWaitReportServiceImpl implements CollectWaitReportService {
@Autowired
private IntegralRecordService integralRecordService;
@Transactional(rollbackFor = Exception.class)
@Override
public void saveSendAddressReport(CollectWaitReportSendAddressSaveParam param) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
......@@ -72,21 +74,9 @@ public class CollectWaitReportServiceImpl implements CollectWaitReportService {
collectTruckWait.setCreateTime(collectTruckWait.getReportTime());
collectTruckWaitDao.saveEntity(collectTruckWait);
// 查找规则
AppIntegralRuleVO ruleInfo = integralRuleService.getRuleInfo();
// 报存积分
if (Objects.equals(collectTruckWait.getWaitType(), CollectTruckWaitEnum.waitType.INNER.getCode())
|| Objects.equals(collectTruckWait.getWaitType(), CollectTruckWaitEnum.waitType.OUTER.getCode()) ) {
integralRecordService.addRecord(ruleInfo, collectTruckWait.getTruckNo(), IntegralRecordEnum.Type.REPORT_SEND_ADDRESS_WAIT.getValue(),
ruleInfo.getDriverReportRule().getIntegralSendAddressWait(), IntegralRecordEnum.Type.REPORT_SEND_ADDRESS_WAIT.getMsg());
}
else {
integralRecordService.addRecord(ruleInfo, collectTruckWait.getTruckNo(), IntegralRecordEnum.Type.REPORT_SEND_ADDRESS_NO_WAIT.getValue(),
ruleInfo.getDriverReportRule().getIntegralSendAddressNoWait(), IntegralRecordEnum.Type.REPORT_SEND_ADDRESS_NO_WAIT.getMsg());
}
}
@Transactional(rollbackFor = Exception.class)
@Override
public void saveReceiveAddressReport(CollectWaitReportReceiveAddressSaveParam param) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
......@@ -114,19 +104,6 @@ public class CollectWaitReportServiceImpl implements CollectWaitReportService {
collectTruckWait.setCreateTime(collectTruckWait.getReportTime());
collectTruckWaitDao.saveEntity(collectTruckWait);
// 查找规则
AppIntegralRuleVO ruleInfo = integralRuleService.getRuleInfo();
// 报存积分
if (Objects.equals(collectTruckWait.getWaitType(), CollectTruckWaitEnum.waitType.INNER.getCode())
|| Objects.equals(collectTruckWait.getWaitType(), CollectTruckWaitEnum.waitType.OUTER.getCode()) ) {
integralRecordService.addRecord(ruleInfo, collectTruckWait.getTruckNo(), IntegralRecordEnum.Type.REPORT_RECEIVE_ADDRESS_WAIT.getValue(),
ruleInfo.getDriverReportRule().getIntegralReceiveAddressWait(), IntegralRecordEnum.Type.REPORT_RECEIVE_ADDRESS_WAIT.getMsg());
}
else {
integralRecordService.addRecord(ruleInfo, collectTruckWait.getTruckNo(), IntegralRecordEnum.Type.REPORT_RECEIVE_ADDRESS_NO_WAIT.getValue(),
ruleInfo.getDriverReportRule().getIntegralReceiveAddressNoWait(), IntegralRecordEnum.Type.REPORT_RECEIVE_ADDRESS_NO_WAIT.getMsg());
}
}
@Override
......@@ -144,11 +121,36 @@ public class CollectWaitReportServiceImpl implements CollectWaitReportService {
return collectTruckWaitDao.pageWaitReport(param);
}
@Transactional(rollbackFor = Exception.class)
@Override
public void updateWaitReportAudit(CollectLineReportTruckWaitAuditParam param) {
CollectTruckWait report = collectTruckWaitDao.getEntityByKey(param.getId()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
report.setAuditStatus(CollectTruckWait.AuditStatus.AUDIT.getCode());
collectTruckWaitDao.updateAuditStatus(report);
CollectTruckWait collectTruckWait = collectTruckWaitDao.getEntityByKey(param.getId()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
collectTruckWait.setAuditStatus(CollectTruckWait.AuditStatus.AUDIT.getCode());
collectTruckWaitDao.updateAuditStatus(collectTruckWait);
// 查找规则
AppIntegralRuleVO ruleInfo = integralRuleService.getRuleInfo();
// 保存积分
if (Objects.equals(collectTruckWait.getReportType(), CollectTruckWait.ReportType.LOAD.getCode())) {
if (Objects.equals(collectTruckWait.getWaitType(), CollectTruckWaitEnum.waitType.INNER.getCode())
|| Objects.equals(collectTruckWait.getWaitType(), CollectTruckWaitEnum.waitType.OUTER.getCode())) {
integralRecordService.addRecord(ruleInfo, collectTruckWait.getTruckNo(), IntegralRecordEnum.Type.REPORT_SEND_ADDRESS_WAIT.getValue(),
ruleInfo.getDriverReportRule().getIntegralSendAddressWait(), IntegralRecordEnum.Type.REPORT_SEND_ADDRESS_WAIT.getMsg());
} else {
integralRecordService.addRecord(ruleInfo, collectTruckWait.getTruckNo(), IntegralRecordEnum.Type.REPORT_SEND_ADDRESS_NO_WAIT.getValue(),
ruleInfo.getDriverReportRule().getIntegralSendAddressNoWait(), IntegralRecordEnum.Type.REPORT_SEND_ADDRESS_NO_WAIT.getMsg());
}
}else {
if (Objects.equals(collectTruckWait.getWaitType(), CollectTruckWaitEnum.waitType.INNER.getCode())
|| Objects.equals(collectTruckWait.getWaitType(), CollectTruckWaitEnum.waitType.OUTER.getCode())) {
integralRecordService.addRecord(ruleInfo, collectTruckWait.getTruckNo(), IntegralRecordEnum.Type.REPORT_RECEIVE_ADDRESS_WAIT.getValue(),
ruleInfo.getDriverReportRule().getIntegralReceiveAddressWait(), IntegralRecordEnum.Type.REPORT_RECEIVE_ADDRESS_WAIT.getMsg());
} else {
integralRecordService.addRecord(ruleInfo, collectTruckWait.getTruckNo(), IntegralRecordEnum.Type.REPORT_RECEIVE_ADDRESS_NO_WAIT.getValue(),
ruleInfo.getDriverReportRule().getIntegralReceiveAddressNoWait(), IntegralRecordEnum.Type.REPORT_RECEIVE_ADDRESS_NO_WAIT.getMsg());
}
}
}
@Override
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论