提交 2c81e2d2 authored 作者: aiqingguo's avatar aiqingguo

积分上报代码优化

上级 c56d9a3d
......@@ -5,7 +5,6 @@ import lombok.Getter;
import java.util.Arrays;
import java.util.List;
import java.util.Optional;
public enum IntegralRecordEnum {
;
......@@ -28,6 +27,7 @@ public enum IntegralRecordEnum {
ORDER_CHILD_CANCEL(21, "运单取消"),
ORDER_CHILD_CANCEL_TIMEOUT(22, "运单取消超时"),
ORDER_CHILD_PLATFORM_CANCEL(23, "平台取消"),
ORDER_CHILD_PLATFORM_COMPENSATION(25, "平台补偿"),
REPORT_TRUCK_INFO(50, "提交基础信息"),
REPORT_REFUEL(51, "油表上报"),
......
package com.clx.performance.param.app.integral;
import com.msl.common.base.PageParam;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@NoArgsConstructor
public class DriverPageIntegralTruckRankParam extends PageParam {
}
package com.clx.performance.controller.app.integral;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.param.app.integral.DriverPageIntegralTruckRankParam;
import com.clx.performance.service.IntegralTruckService;
import com.clx.performance.vo.pc.IntegralTruckVO;
import com.msl.common.base.PageData;
import com.msl.common.result.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
@Slf4j
@RestController
@RequestMapping(value="/app/driver/integral")
@Validated
@Api(tags = "司机APP-积分车辆")
@AllArgsConstructor
public class AppIntegralTruckController {
private final IntegralTruckService integralTruckService;
@ApiOperation(value = "获取车辆积分排名", notes = "<br>By:艾庆国")
@RequestMapping(value = "pageTruckRank", method = RequestMethod.POST)
public Result<PageData<IntegralTruckVO>> pageTruckRank(@RequestBody @Validated DriverPageIntegralTruckRankParam param) {
IPage<IntegralTruckVO> page = integralTruckService.driverPageTruckRank(param);
return Result.page(page.getRecords(), page.getTotal(), page.getPages());
}
}
......@@ -30,7 +30,7 @@ public class IntegralRecordController {
@PostMapping(value = "addIntegral")
public Result<Void> addRecord(@RequestBody @Validated IntegralRecordAddParam param) {
integralRecordService.addRecord(param);
integralRecordService.addDriverReportRecord(param);
return Result.ok();
}
......
......@@ -3,6 +3,7 @@ package com.clx.performance.dao;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.mapper.IntegralTruckMapper;
import com.clx.performance.model.IntegralTruck;
import com.clx.performance.param.app.integral.DriverPageIntegralTruckRankParam;
import com.clx.performance.param.pc.PageIntegralTruckRankParam;
import com.clx.performance.param.pc.PageIntegralTruckParam;
import com.clx.performance.vo.pc.IntegralTruckVO;
......@@ -34,6 +35,7 @@ public interface IntegralTruckDao extends BaseDao<IntegralTruckMapper, IntegralT
List<IntegralTruck> listByTruckNoList(@Param("truckNoList") List<String> truckNoList);
IPage<IntegralTruckVO> pageTruckRank(PageIntegralTruckRankParam param);
IPage<IntegralTruckVO> driverPageTruckRank(DriverPageIntegralTruckRankParam param);
List<IntegralTruck> selectListByTime(@Param("beginTime") String beginTime, @Param("endTime") String endTime);
......
......@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.dao.IntegralTruckDao;
import com.clx.performance.mapper.IntegralTruckMapper;
import com.clx.performance.model.IntegralTruck;
import com.clx.performance.param.app.integral.DriverPageIntegralTruckRankParam;
import com.clx.performance.param.pc.PageIntegralTruckRankParam;
import com.clx.performance.param.pc.PageIntegralTruckParam;
import com.clx.performance.vo.pc.IntegralTruckVO;
......@@ -76,6 +77,11 @@ public class IntegralTruckDaoImpl extends BaseDaoImpl<IntegralTruckMapper, Integ
return baseMapper.pageTruckRank(Page.of(param.getPage(), param.getPageSize()));
}
@Override
public IPage<IntegralTruckVO> driverPageTruckRank(DriverPageIntegralTruckRankParam param) {
return baseMapper.pageTruckRank(Page.of(param.getPage(), param.getPageSize()));
}
@Override
public List<IntegralTruck> selectListByTime(String beginTime, String endTime) {
return list(lQrWrapper()
......
......@@ -8,9 +8,9 @@ import java.time.LocalDateTime;
public interface IntegralRecordService {
void addRecord(IntegralRecordAddParam param);
void addDriverReportRecord(IntegralRecordAddParam param);
void addRecord(AppIntegralRuleVO ruleInfo, String truckNo, Integer type, Integer integral, String remark);
void addDriverReportRecord(AppIntegralRuleVO ruleInfo, String truckNo, Integer type, Integer integral, String remark);
IntegralRecord save(Integer statisticsId, LocalDateTime statisticsDate, String truckNo, Integer type, Integer integral, String remark);
......
package com.clx.performance.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.param.app.integral.DriverPageIntegralTruckRankParam;
import com.clx.performance.param.pc.IntegralTruckAddParam;
import com.clx.performance.param.pc.PageIntegralTruckRankParam;
import com.clx.performance.param.pc.PageIntegralTruckParam;
......@@ -16,5 +17,6 @@ public interface IntegralTruckService {
Integer getTruckCount(Integer truckEchelon);
IPage<IntegralTruckVO> pageTruckRank(PageIntegralTruckRankParam param);
IPage<IntegralTruckVO> driverPageTruckRank(DriverPageIntegralTruckRankParam param);
}
......@@ -37,7 +37,7 @@ public class IntegralRecordServiceImpl implements IntegralRecordService {
private IntegralMqService integralMqService;
@Override
public void addRecord(IntegralRecordAddParam param) {
public void addDriverReportRecord(IntegralRecordAddParam param) {
String statisticsDate = LocalDateTimeUtils.getWeekStart();
IntegralTruck truck = integralTruckDao.getByTruckNo(param.getTruckNo()).orElseThrow(PerformanceResultEnum.INTEGRAL_TRUCK_NO_EXIST);
......@@ -61,7 +61,7 @@ public class IntegralRecordServiceImpl implements IntegralRecordService {
}
@Override
public void addRecord(AppIntegralRuleVO ruleInfo, String truckNo, Integer type, Integer integral, String remark) {
public void addDriverReportRecord(AppIntegralRuleVO ruleInfo, String truckNo, Integer type, Integer integral, String remark) {
String statisticsDate = LocalDateTimeUtils.getWeekStart();
IntegralTruck truck = integralTruckDao.getByTruckNo(truckNo).orNull();
......
......@@ -7,6 +7,7 @@ import com.clx.performance.extranal.user.DriverService;
import com.clx.performance.model.IntegralRecord;
import com.clx.performance.model.IntegralStatistics;
import com.clx.performance.model.IntegralTruck;
import com.clx.performance.param.app.integral.DriverPageIntegralTruckRankParam;
import com.clx.performance.param.pc.IntegralTruckAddParam;
import com.clx.performance.param.pc.PageIntegralTruckParam;
import com.clx.performance.param.pc.PageIntegralTruckRankParam;
......@@ -143,4 +144,21 @@ public class IntegralTruckServiceImpl implements IntegralTruckService {
}
@Override
public IPage<IntegralTruckVO> driverPageTruckRank(DriverPageIntegralTruckRankParam param) {
IPage<IntegralTruckVO> page = integralTruckDao.driverPageTruckRank(param);
List<String> truckNoList = page.getRecords().stream().map(item -> item.getTruckNo()).collect(Collectors.toList());
if (!truckNoList.isEmpty()) {
List<IntegralStatistics> statisticsList = integralStatisticsDao.selectListByStatisticsDateAndTruckNoList(LocalDateTimeUtils.formatTime(LocalDateTimeUtils.getStartWeek().minusDays(7)), truckNoList);
Map<String, Integer> rankMap = statisticsList.stream().collect(Collectors.toMap(item -> item.getTruckNo(), item -> item.getRank()));
for (IntegralTruckVO item : page.getRecords()) {
item.setRank(rankMap.get(item.getTruckNo()));
}
}
return page;
}
}
......@@ -340,7 +340,7 @@ public class CollectLineReportServiceImpl implements CollectLineReportService {
// 查找规则
AppIntegralRuleVO ruleInfo = integralRuleService.getRuleInfo();
// 报存积分
integralRecordService.addRecord(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());
}
......@@ -364,7 +364,7 @@ public class CollectLineReportServiceImpl implements CollectLineReportService {
AppIntegralRuleVO ruleInfo = integralRuleService.getRuleInfo();
// 报存积分
integralRecordService.addRecord(ruleInfo, collectLineReport.getTruckNo(), IntegralRecordEnum.Type.REPORT_QUALITY.getValue(),
integralRecordService.addDriverReportRecord(ruleInfo, collectLineReport.getTruckNo(), IntegralRecordEnum.Type.REPORT_QUALITY.getValue(),
ruleInfo.getDriverReportRule().getIntegralQuality(), IntegralRecordEnum.Type.REPORT_QUALITY.getMsg());
}
......
......@@ -106,7 +106,7 @@ public class CollectTrafficCongestionServiceImpl implements CollectTrafficConges
AppIntegralRuleVO ruleInfo = integralRuleService.getRuleInfo();
// 报存积分
integralRecordService.addRecord(ruleInfo, collectTrafficCongestion.getTruckNo(), IntegralRecordEnum.Type.REPORT_TRAFFIC.getValue(),
integralRecordService.addDriverReportRecord(ruleInfo, collectTrafficCongestion.getTruckNo(), IntegralRecordEnum.Type.REPORT_TRAFFIC.getValue(),
ruleInfo.getDriverReportRule().getIntegralTraffic(), IntegralRecordEnum.Type.REPORT_TRAFFIC.getMsg());
}
......
......@@ -77,7 +77,7 @@ public class CollectTruckRefuelServiceImpl implements CollectTruckRefuelService
AppIntegralRuleVO ruleInfo = integralRuleService.getRuleInfo();
// 报存积分
integralRecordService.addRecord(ruleInfo, collectTruckRefuel.getTruckNo(), IntegralRecordEnum.Type.REPORT_REFUEL.getValue(),
integralRecordService.addDriverReportRecord(ruleInfo, collectTruckRefuel.getTruckNo(), IntegralRecordEnum.Type.REPORT_REFUEL.getValue(),
ruleInfo.getDriverReportRule().getIntegralRefuel(), IntegralRecordEnum.Type.REPORT_REFUEL.getMsg());
}
......
......@@ -62,7 +62,7 @@ public class CollectTruckServiceImpl implements CollectTruckService {
AppIntegralRuleVO ruleInfo = integralRuleService.getRuleInfo();
// 报存积分
integralRecordService.addRecord(ruleInfo, truck.getTruckNo(), IntegralRecordEnum.Type.REPORT_TRUCK_INFO.getValue(),
integralRecordService.addDriverReportRecord(ruleInfo, truck.getTruckNo(), IntegralRecordEnum.Type.REPORT_TRUCK_INFO.getValue(),
ruleInfo.getDriverReportRule().getIntegralTruck(), IntegralRecordEnum.Type.REPORT_TRUCK_INFO.getMsg());
}
......@@ -95,7 +95,7 @@ public class CollectTruckServiceImpl implements CollectTruckService {
AppIntegralRuleVO ruleInfo = integralRuleService.getRuleInfo();
// 报存积分
integralRecordService.addRecord(ruleInfo, truck.getTruckNo(), IntegralRecordEnum.Type.REPORT_TRUCK_INFO.getValue(),
integralRecordService.addDriverReportRecord(ruleInfo, truck.getTruckNo(), IntegralRecordEnum.Type.REPORT_TRUCK_INFO.getValue(),
ruleInfo.getDriverReportRule().getIntegralTruck(), IntegralRecordEnum.Type.REPORT_TRUCK_INFO.getMsg());
}
......@@ -128,7 +128,7 @@ public class CollectTruckServiceImpl implements CollectTruckService {
AppIntegralRuleVO ruleInfo = integralRuleService.getRuleInfo();
// 报存积分
integralRecordService.addRecord(ruleInfo, truck.getTruckNo(), IntegralRecordEnum.Type.REPORT_TRUCK_INFO.getValue(),
integralRecordService.addDriverReportRecord(ruleInfo, truck.getTruckNo(), IntegralRecordEnum.Type.REPORT_TRUCK_INFO.getValue(),
ruleInfo.getDriverReportRule().getIntegralTruck(), IntegralRecordEnum.Type.REPORT_TRUCK_INFO.getMsg());
}
......
......@@ -135,19 +135,19 @@ public class CollectWaitReportServiceImpl implements CollectWaitReportService {
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(),
integralRecordService.addDriverReportRecord(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(),
integralRecordService.addDriverReportRecord(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(),
integralRecordService.addDriverReportRecord(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(),
integralRecordService.addDriverReportRecord(ruleInfo, collectTruckWait.getTruckNo(), IntegralRecordEnum.Type.REPORT_RECEIVE_ADDRESS_NO_WAIT.getValue(),
ruleInfo.getDriverReportRule().getIntegralReceiveAddressNoWait(), IntegralRecordEnum.Type.REPORT_RECEIVE_ADDRESS_NO_WAIT.getMsg());
}
}
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论