提交 64305cf5 authored 作者: aiqingguo's avatar aiqingguo

车辆排名

上级 626049b9
package com.clx.performance.param.app.integral; package com.clx.performance.param.app.integral;
import com.msl.common.base.PageParam; import com.msl.common.base.PageParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter; import lombok.Getter;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import lombok.Setter; import lombok.Setter;
import java.util.List;
@Getter @Getter
@Setter @Setter
@NoArgsConstructor @NoArgsConstructor
public class DriverPageIntegralTruckRankParam extends PageParam { public class DriverPageIntegralTruckRankParam extends PageParam {
@ApiModelProperty(value = "车牌列表", hidden = true)
List<String> truckNoList;
} }
package com.clx.performance.extranal.user; package com.clx.performance.extranal.user;
import com.clx.user.vo.app.driver.truck.DriverTruckAppVo;
import com.msl.common.base.Optional; import com.msl.common.base.Optional;
import com.msl.user.param.user.external.PageProductUsersParam; import com.msl.user.param.user.external.PageProductUsersParam;
import com.msl.user.vo.company.external.ListUserCompanyVo; import com.msl.user.vo.company.external.ListUserCompanyVo;
...@@ -32,4 +33,6 @@ public interface UserService { ...@@ -32,4 +33,6 @@ public interface UserService {
Optional<List<ListUserCompanyVo>> listUserCompany(Long userNo); Optional<List<ListUserCompanyVo>> listUserCompany(Long userNo);
Optional<List<DriverTruckAppVo>> driverTruckList(Long userNo);
} }
package com.clx.performance.extranal.user.impl; package com.clx.performance.extranal.user.impl;
import com.clx.performance.extranal.user.UserService; import com.clx.performance.extranal.user.UserService;
import com.clx.user.feign.TruckFeign;
import com.clx.user.vo.app.driver.truck.DriverTruckAppVo;
import com.msl.common.base.Optional; import com.msl.common.base.Optional;
import com.msl.common.result.Result;
import com.msl.user.param.user.external.PageProductUsersParam; import com.msl.user.param.user.external.PageProductUsersParam;
import com.msl.user.vo.company.external.ListUserCompanyVo; import com.msl.user.vo.company.external.ListUserCompanyVo;
import com.msl.user.vo.user.UserVo; import com.msl.user.vo.user.UserVo;
...@@ -9,6 +12,7 @@ import com.msl.user.vo.user.external.PageProductUserVo; ...@@ -9,6 +12,7 @@ import com.msl.user.vo.user.external.PageProductUserVo;
import com.msl.user.vo.user.external.UserDetailInfoVo; import com.msl.user.vo.user.external.UserDetailInfoVo;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List; import java.util.List;
...@@ -17,6 +21,10 @@ import java.util.List; ...@@ -17,6 +21,10 @@ import java.util.List;
@Slf4j @Slf4j
@AllArgsConstructor @AllArgsConstructor
public class UserServiceImpl implements UserService { public class UserServiceImpl implements UserService {
@Autowired
private TruckFeign truckFeign;
@Override @Override
public Optional<UserVo> getUserByNo(Long userNo, boolean containDeleted) { public Optional<UserVo> getUserByNo(Long userNo, boolean containDeleted) {
return null; return null;
...@@ -41,4 +49,14 @@ public class UserServiceImpl implements UserService { ...@@ -41,4 +49,14 @@ public class UserServiceImpl implements UserService {
public Optional<List<ListUserCompanyVo>> listUserCompany(Long userNo) { public Optional<List<ListUserCompanyVo>> listUserCompany(Long userNo) {
return null; return null;
} }
@Override
public Optional<List<DriverTruckAppVo>> driverTruckList(Long userNo){
return Optional.ofNullable(truckFeign.driverTruckList(userNo))
.filter(Result::succeed)
.map(Result::getData);
}
} }
package com.clx.performance.service.impl; package com.clx.performance.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.dao.IntegralRecordDao; import com.clx.performance.dao.IntegralRecordDao;
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.integral.IntegralRecordEnum; import com.clx.performance.enums.integral.IntegralRecordEnum;
import com.clx.performance.extranal.user.DriverService; import com.clx.performance.extranal.user.DriverService;
import com.clx.performance.extranal.user.UserService;
import com.clx.performance.model.IntegralRecord; import com.clx.performance.model.IntegralRecord;
import com.clx.performance.model.IntegralStatistics; import com.clx.performance.model.IntegralStatistics;
import com.clx.performance.model.IntegralTruck; import com.clx.performance.model.IntegralTruck;
...@@ -16,7 +18,10 @@ import com.clx.performance.param.pc.PageIntegralTruckRankParam; ...@@ -16,7 +18,10 @@ import com.clx.performance.param.pc.PageIntegralTruckRankParam;
import com.clx.performance.service.*; import com.clx.performance.service.*;
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.app.driver.truck.DriverTruckAppVo;
import com.clx.user.vo.feign.DriverInfoFeignVo; import com.clx.user.vo.feign.DriverInfoFeignVo;
import com.msl.user.data.UserSessionData;
import com.msl.user.utils.TokenUtil;
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;
...@@ -53,6 +58,9 @@ public class IntegralTruckServiceImpl implements IntegralTruckService { ...@@ -53,6 +58,9 @@ public class IntegralTruckServiceImpl implements IntegralTruckService {
@Autowired @Autowired
private IntegralMqHandlerService integralMqHandlerService; private IntegralMqHandlerService integralMqHandlerService;
@Autowired
private UserService userService;
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Override @Override
public void saveTruck(IntegralTruckAddParam param) { public void saveTruck(IntegralTruckAddParam param) {
...@@ -153,9 +161,19 @@ public class IntegralTruckServiceImpl implements IntegralTruckService { ...@@ -153,9 +161,19 @@ public class IntegralTruckServiceImpl implements IntegralTruckService {
public IPage<IntegralTruckVO> driverPageTruckRank(DriverPageIntegralTruckRankParam param) { public IPage<IntegralTruckVO> driverPageTruckRank(DriverPageIntegralTruckRankParam param) {
String time = LocalDateTimeUtils.formatTime(LocalDateTimeUtils.getStartWeek().minusDays(7)); String time = LocalDateTimeUtils.formatTime(LocalDateTimeUtils.getStartWeek().minusDays(7));
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
Long userNo = loginUserInfo.getUserNo();
// 查找司机车辆
List<DriverTruckAppVo> driverTruckList = userService.driverTruckList(userNo).orNull();
if (driverTruckList == null || driverTruckList.isEmpty()) {return new Page<>();}
List<String> truckNoList = driverTruckList.stream().map(item -> item.getTruckNo()).collect(Collectors.toList());
param.setTruckNoList(truckNoList);
IPage<IntegralTruckVO> page = integralTruckDao.driverPageTruckRank(param); IPage<IntegralTruckVO> page = integralTruckDao.driverPageTruckRank(param);
List<String> truckNoList = page.getRecords().stream().map(item -> item.getTruckNo()).collect(Collectors.toList()); truckNoList = page.getRecords().stream().map(item -> item.getTruckNo()).collect(Collectors.toList());
if (!truckNoList.isEmpty()) { if (!truckNoList.isEmpty()) {
List<IntegralStatistics> statisticsList = integralStatisticsDao.selectListByStatisticsDateAndTruckNoList(time, truckNoList); List<IntegralStatistics> statisticsList = integralStatisticsDao.selectListByStatisticsDateAndTruckNoList(time, truckNoList);
Map<String, Integer> rankMap = statisticsList.stream().collect(Collectors.toMap(item -> item.getTruckNo(), item -> item.getRank())); Map<String, Integer> rankMap = statisticsList.stream().collect(Collectors.toMap(item -> item.getTruckNo(), item -> item.getRank()));
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论