提交 c79d1031 authored 作者: aiqingguo's avatar aiqingguo

积分车辆mq

上级 2459eeda
...@@ -17,7 +17,8 @@ import lombok.ToString; ...@@ -17,7 +17,8 @@ import lombok.ToString;
@NoArgsConstructor @NoArgsConstructor
public class IntegralTuckAddMqParam { public class IntegralTuckAddMqParam {
private Integer statisticsId; //统计id
private String truckNo; //车牌号 private String truckNo; //车牌号
private String driverName; //司机姓名
private String driverMobile; //司机手机号
} }
...@@ -2,7 +2,7 @@ package com.clx.performance.service; ...@@ -2,7 +2,7 @@ package com.clx.performance.service;
public interface IntegralMqService { public interface IntegralMqService {
void truckAdd(Integer statisticsId, String truckNo); void truckAdd(String truckNo, String driverName, String driverMobile);
void orderGoodsAdd(String orderGoodsNo, void orderGoodsAdd(String orderGoodsNo,
Integer sendAddressId, String sendAddress, Integer sendAddressId, String sendAddress,
......
...@@ -46,7 +46,48 @@ public class IntegralMqHandlerServiceImpl implements IntegralMqHandlerService { ...@@ -46,7 +46,48 @@ public class IntegralMqHandlerServiceImpl implements IntegralMqHandlerService {
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void truckAdd(IntegralTuckAddMqParam mq){ public void truckAdd(IntegralTuckAddMqParam mq){
String truckNo = mq.getTruckNo();
boolean existFlag = integralTruckDao.existByTruckNo(truckNo);
if (existFlag) {return;}
IntegralTruck truck = new IntegralTruck();
truck.setTruckNo(truckNo);
truck.setDriverName(mq.getDriverName());
truck.setDriverMobile(mq.getDriverMobile());
truck.setEchelon(1);
String statisticsDate = LocalDateTimeUtils.getWeekStart();
int protectionIntegral = integralStatisticsService.protectionIntegralCalc(statisticsDate);
int baseIntegral = 100;
// 初始化统计
IntegralStatistics statistics = new IntegralStatistics();
statistics.setTruckNo(truckNo);
statistics.setStatisticsDate(statisticsDate);
statistics.setIntegralBase(0);
statistics.setIntegral(protectionIntegral+baseIntegral); //保护分+基础分
statistics.setRank(1);
integralStatisticsDao.saveEntity(statistics);
IntegralStatistics statisticsNext = new IntegralStatistics();
statisticsNext.setTruckNo(truckNo);
statisticsNext.setStatisticsDate(LocalDateTimeUtils.formatTime(LocalDateTimeUtils.parseTime(statistics.getStatisticsDate()).plusDays(7)));
statisticsNext.setIntegralBase(0);
statisticsNext.setIntegral(0);
statisticsNext.setRank(1);
integralStatisticsDao.saveEntity(statisticsNext);
// 新增车辆
truck.setIntegral(statistics.getIntegral());
integralTruckDao.saveEntity(truck);
// 新增积分记录
integralRecordService.save(statistics.getId(), statistics.getStatisticsDate(), statistics.getTruckNo(), IntegralRecord.type.PROTECTION.getValue(), protectionIntegral, "新用户");
integralRecordService.save(statistics.getId(), statistics.getStatisticsDate(), statistics.getTruckNo(), IntegralRecord.type.BASE.getValue(), baseIntegral, "基础分");
// 实时积分统计
integralRealTimeStatistics(statistics.getId());
} }
......
...@@ -31,19 +31,17 @@ public class IntegralMqServiceImpl implements IntegralMqService { ...@@ -31,19 +31,17 @@ public class IntegralMqServiceImpl implements IntegralMqService {
private IntegralMqHandlerServiceImpl integralMqHandlerService; private IntegralMqHandlerServiceImpl integralMqHandlerService;
/** /**
* 新增车辆 (performance) * 新增车辆 (user)
*/ */
@Override @Override
public void truckAdd(Integer statisticsId, String truckNo){ public void truckAdd(String truckNo, String driverName, String driverMobile){
// IntegralTuckAddMqParam mq = new IntegralTuckAddMqParam(); IntegralTuckAddMqParam mq = new IntegralTuckAddMqParam();
// mq.setStatisticsId(statisticsId); mq.setTruckNo(truckNo);
// mq.setTruckNo(truckNo); mq.setDriverName(driverName);
// Message message = MessageBuilder.withBody(JSON.toJSONString(new MqWrapper<>(mq)).getBytes()).build(); mq.setDriverMobile(driverMobile);
// rabbitTemplate.send(RabbitKeyIntegralConstants.DEFAULT_EXCHANGE, RabbitKeyIntegralConstants.INTEGRAL_TRUCK_ADD_ROUTING_KEY, message); Message message = MessageBuilder.withBody(JSON.toJSONString(new MqWrapper<>(mq)).getBytes()).build();
rabbitTemplate.send(RabbitKeyIntegralConstants.DEFAULT_EXCHANGE, RabbitKeyIntegralConstants.INTEGRAL_TRUCK_ADD_ROUTING_KEY, message);
// 实时积分统计
integralMqHandlerService.integralRealTimeStatistics(statisticsId);
} }
......
...@@ -3,7 +3,6 @@ package com.clx.performance.service.impl; ...@@ -3,7 +3,6 @@ package com.clx.performance.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.dao.IntegralStatisticsDao; import com.clx.performance.dao.IntegralStatisticsDao;
import com.clx.performance.dao.IntegralTruckDao; import com.clx.performance.dao.IntegralTruckDao;
import com.clx.performance.enums.PerformanceResultEnum;
import com.clx.performance.extranal.user.DriverService; import com.clx.performance.extranal.user.DriverService;
import com.clx.performance.model.IntegralRecord; import com.clx.performance.model.IntegralRecord;
import com.clx.performance.model.IntegralStatistics; import com.clx.performance.model.IntegralStatistics;
...@@ -11,14 +10,10 @@ import com.clx.performance.model.IntegralTruck; ...@@ -11,14 +10,10 @@ import com.clx.performance.model.IntegralTruck;
import com.clx.performance.param.pc.IntegralTruckAddParam; import com.clx.performance.param.pc.IntegralTruckAddParam;
import com.clx.performance.param.pc.PageIntegralTruckParam; import com.clx.performance.param.pc.PageIntegralTruckParam;
import com.clx.performance.param.pc.PageIntegralTruckRankParam; import com.clx.performance.param.pc.PageIntegralTruckRankParam;
import com.clx.performance.service.IntegralMqService; import com.clx.performance.service.*;
import com.clx.performance.service.IntegralRecordService;
import com.clx.performance.service.IntegralStatisticsService;
import com.clx.performance.service.IntegralTruckService;
import com.clx.performance.utils.LocalDateTimeUtils; import com.clx.performance.utils.LocalDateTimeUtils;
import com.clx.performance.vo.pc.IntegralTruckVO; import com.clx.performance.vo.pc.IntegralTruckVO;
import com.clx.user.vo.feign.DriverInfoFeignVo; import com.clx.user.vo.feign.DriverInfoFeignVo;
import com.msl.common.exception.ServiceSystemException;
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;
...@@ -48,6 +43,9 @@ public class IntegralTruckServiceImpl implements IntegralTruckService { ...@@ -48,6 +43,9 @@ public class IntegralTruckServiceImpl implements IntegralTruckService {
@Autowired @Autowired
private IntegralMqService integralMqService; private IntegralMqService integralMqService;
@Autowired
private IntegralMqHandlerService integralMqHandlerService;
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Override @Override
public void saveTruck(IntegralTruckAddParam param) { public void saveTruck(IntegralTruckAddParam param) {
...@@ -91,8 +89,8 @@ public class IntegralTruckServiceImpl implements IntegralTruckService { ...@@ -91,8 +89,8 @@ public class IntegralTruckServiceImpl implements IntegralTruckService {
integralRecordService.save(statistics.getId(), statistics.getStatisticsDate(), statistics.getTruckNo(), IntegralRecord.type.PROTECTION.getValue(), protectionIntegral, "新用户"); integralRecordService.save(statistics.getId(), statistics.getStatisticsDate(), statistics.getTruckNo(), IntegralRecord.type.PROTECTION.getValue(), protectionIntegral, "新用户");
integralRecordService.save(statistics.getId(), statistics.getStatisticsDate(), statistics.getTruckNo(), IntegralRecord.type.BASE.getValue(), baseIntegral, "基础分"); integralRecordService.save(statistics.getId(), statistics.getStatisticsDate(), statistics.getTruckNo(), IntegralRecord.type.BASE.getValue(), baseIntegral, "基础分");
// 发送mq (车辆新增) // 实时积分统计
integralMqService.truckAdd(statistics.getId(), param.getTruckNo()); integralMqHandlerService.integralRealTimeStatistics(statistics.getId());
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论