Browse Source

小程序数据统计-电梯数据调整

黄远 5 years ago
parent
commit
c5920e5a5b

+ 1 - 23
lift-batch-service/src/main/java/cn/com/ty/lift/batch/applet/service/AnnualInspectionDataService.java

@@ -4,13 +4,11 @@ import cn.com.ty.lift.batch.applet.constants.DataStatisticsConstants;
 import cn.com.ty.lift.batch.applet.dao.mapper.AnnualInspectionDataMapper;
 import cn.com.ty.lift.batch.applet.dao.model.AnnualInspectionDataModel;
 import cn.com.ty.lift.batch.applet.dao.model.request.AnnualInspectionDataRequest;
-import cn.com.ty.lift.batch.applet.dao.model.request.CommonRequest;
 import cn.com.ty.lift.batch.applet.util.DataStatisticsUtil;
 import cn.com.ty.lift.common.constants.ApiConstants;
 import cn.com.ty.lift.common.utils.ProjectUtils;
 import cn.com.xwy.boot.web.dto.RestResponse;
 import org.apache.commons.lang3.StringUtils;
-import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
@@ -30,23 +28,6 @@ public class AnnualInspectionDataService {
     @Resource
     private AnnualInspectionDataMapper annualInspectionDataMapper;
 
-    @Resource
-    private RedisTemplate redisTemplate;
-
-    /**
-     * @param commonRequest 起始时间 终止时间
-     * @return
-     * @description 将年检数据放入redis中
-     * @date 2020/2/4 11:52 上午
-     */
-    public void putAnnualInspectionDataToRedis(CommonRequest commonRequest) {
-        List<AnnualInspectionDataModel> annualInspectionDataModelList =
-                annualInspectionDataMapper.getAnnualInspectionDataList(commonRequest);
-        //将树通过公司id分组后方法redis中
-        DataStatisticsUtil.putStatisticsDataToRedis(annualInspectionDataModelList, redisTemplate,
-                DataStatisticsConstants.ANNUAL_INSPECTION_DATA_FIELD);
-    }
-
     /**
      * @param annualInspectionDataRequest
      * @return
@@ -58,9 +39,6 @@ public class AnnualInspectionDataService {
         //从redis中获取当前公司的年检信息
         List<AnnualInspectionDataModel> annualInspectionDataModelList =
                 annualInspectionDataMapper.getAnnualInspectionDataList(annualInspectionDataRequest);
-//                (List<AnnualInspectionDataModel>)
-//                DataStatisticsUtil.getStatisticsDataFromRedis(redisTemplate,
-//                        DataStatisticsConstants.ANNUAL_INSPECTION_DATA_FIELD, annualInspectionDataRequest.getMtCompanyId());
         if (annualInspectionDataModelList != null && annualInspectionDataModelList.size() > 0) {
             if (annualInspectionDataRequest.getStartTimeDate() != null) {
                 //通过起始时间过滤数据
@@ -78,7 +56,7 @@ public class AnnualInspectionDataService {
                 annualInspectionDataModelList = annualInspectionDataModelList.stream()
                         .filter(a -> {
                             if (a.getPlanDate() != null) {
-                                a.getPlanDate().isBefore(annualInspectionDataRequest.getEndTimeDate().toLocalDate());
+                                return a.getPlanDate().isBefore(annualInspectionDataRequest.getEndTimeDate().toLocalDate());
                             }
                             return false;
                         })

+ 7 - 29
lift-batch-service/src/main/java/cn/com/ty/lift/batch/applet/service/ContractDataService.java

@@ -3,15 +3,12 @@ package cn.com.ty.lift.batch.applet.service;
 import cn.com.ty.lift.batch.applet.constants.DataStatisticsConstants;
 import cn.com.ty.lift.batch.applet.dao.mapper.ContractDataMapper;
 import cn.com.ty.lift.batch.applet.dao.model.ContractDataModel;
-import cn.com.ty.lift.batch.applet.dao.model.request.CommonRequest;
 import cn.com.ty.lift.batch.applet.dao.model.request.ContractDataRequest;
 import cn.com.ty.lift.batch.applet.dao.model.response.DueToContractResponse;
 import cn.com.ty.lift.batch.applet.dao.model.response.LostContractResponse;
-import cn.com.ty.lift.batch.applet.util.DataStatisticsUtil;
 import cn.com.ty.lift.common.constants.ApiConstants;
 import cn.com.ty.lift.common.utils.ProjectUtils;
 import cn.com.xwy.boot.web.dto.RestResponse;
-import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
@@ -33,17 +30,15 @@ public class ContractDataService {
     @Resource
     private ContractDataMapper contractDataMapper;
 
-    @Resource
-    private RedisTemplate redisTemplate;
-
     /**
-     * @param commonRequest 起始时间 结束时间
+     * @param contractDataRequest 起始时间 终止时间
      * @return
-     * @description 将合同数据放入redis中
-     * @date 2020/2/4 11:17 上午
+     * @description 获取合同数据
+     * @date 2020/2/4 11:47 上午
      */
-    public void putContractDataToRedis(CommonRequest commonRequest) {
-        List<ContractDataModel> contractDataModelList = contractDataMapper.getContractDataList(commonRequest);
+    public List<ContractDataModel> getContractDataListFromRedis(ContractDataRequest contractDataRequest) {
+        //从redis中获取当前公司合同数据
+        List<ContractDataModel> contractDataModelList = contractDataMapper.getContractDataList(contractDataRequest);
         if (contractDataModelList != null && contractDataModelList.size() > 0) {
             //将合同数据变为 id->数据的map
             Map<Long, Long> idToContractModel = contractDataModelList.stream().collect(
@@ -65,23 +60,6 @@ public class ContractDataService {
                 }
             });
         }
-        //通过公司id给数据分组
-        DataStatisticsUtil.putStatisticsDataToRedis(contractDataModelList, redisTemplate,
-                DataStatisticsConstants.CONTRACT_DATA_FIELD);
-    }
-
-    /**
-     * @param contractDataRequest 起始时间 终止时间
-     * @return
-     * @description 获取合同数据
-     * @date 2020/2/4 11:47 上午
-     */
-    public List<ContractDataModel> getContractDataListFromRedis(ContractDataRequest contractDataRequest) {
-        //从redis中获取当前公司合同数据
-        List<ContractDataModel> contractDataModelList = contractDataMapper.getContractDataList(contractDataRequest);
-//                (List<ContractDataModel>) DataStatisticsUtil
-//                .getStatisticsDataFromRedis(redisTemplate,
-//                        DataStatisticsConstants.CONTRACT_DATA_FIELD, contractDataRequest.getMtCompanyId());
         if (contractDataModelList != null && contractDataModelList.size() > 0) {
             //通过起始时间过滤合同信息
             if (contractDataRequest.getStartTimeDate() != null) {
@@ -186,7 +164,7 @@ public class ContractDataService {
             });
             //通过应收金额降序排列,并取前5的数据
             lostContractResponseList = finalLostContractResponseList.stream()
-                    .sorted(Comparator.comparing(a -> a.getNotReceiveMoney())).limit(5)
+                    .sorted(Comparator.comparing(LostContractResponse::getNotReceiveMoney)).limit(5)
                     .collect(Collectors.toList());
         }
         return RestResponse.success(lostContractResponseList, ApiConstants.RESULT_SUCCESS, "获取统计数据成功");

+ 8 - 32
lift-batch-service/src/main/java/cn/com/ty/lift/batch/applet/service/EmergencyRepairDataService.java

@@ -1,16 +1,13 @@
 package cn.com.ty.lift.batch.applet.service;
 
-import cn.com.ty.lift.batch.applet.constants.DataStatisticsConstants;
 import cn.com.ty.lift.batch.applet.dao.mapper.EmergencyRepairDataMapper;
 import cn.com.ty.lift.batch.applet.dao.model.EmergencyRepairDataModel;
-import cn.com.ty.lift.batch.applet.dao.model.request.CommonRequest;
 import cn.com.ty.lift.batch.applet.dao.model.request.EmergencyRepairDataRequest;
 import cn.com.ty.lift.batch.applet.dao.model.response.EmergencyTimeStatisticsResponse;
 import cn.com.ty.lift.batch.applet.util.DataStatisticsUtil;
 import cn.com.ty.lift.common.constants.ApiConstants;
 import cn.com.ty.lift.common.utils.ProjectUtils;
 import cn.com.xwy.boot.web.dto.RestResponse;
-import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
@@ -30,19 +27,17 @@ public class EmergencyRepairDataService {
     @Resource
     private EmergencyRepairDataMapper emergencyRepairDataMapper;
 
-    @Resource
-    private RedisTemplate redisTemplate;
-
     /**
-     * @param commonRequest 起始时间,结束时间
+     * @param emergencyRepairDataRequest 起始时间,结束时间
      * @return
-     * @description 将指定的急修数据放入redis中
-     * @date 2020/2/3 3:33 下午
+     * @description 获取年度急修数据
+     * @date 2020/2/3 4:28 下午
      */
-    public void putEmergencyRepairDataListToRedis(CommonRequest commonRequest) {
-        //获取时间段内的急修数据
-        List<EmergencyRepairDataModel> emergencyRepairDataModelList = emergencyRepairDataMapper
-                .getEmergencyRepairDataList(commonRequest);
+    public List<EmergencyRepairDataModel> getEmergencyRepairDataListFromRedis(EmergencyRepairDataRequest
+                                                                                      emergencyRepairDataRequest) {
+        //从redis获取当前公司的急修信息
+        List<EmergencyRepairDataModel> emergencyRepairDataModelList =
+                emergencyRepairDataMapper.getEmergencyRepairDataList(emergencyRepairDataRequest);
         if (emergencyRepairDataModelList != null && emergencyRepairDataModelList.size() > 0) {
             emergencyRepairDataModelList.forEach(a -> {
                 //计算接单时长
@@ -59,25 +54,6 @@ public class EmergencyRepairDataService {
                 }
             });
         }
-        //通过公司id给数据分组,并将数据放入redis中
-        DataStatisticsUtil.putStatisticsDataToRedis(emergencyRepairDataModelList, redisTemplate,
-                DataStatisticsConstants.EMERGENCY_REPAIR_DATA_FIELD);
-    }
-
-    /**
-     * @param emergencyRepairDataRequest 起始时间,结束时间
-     * @return
-     * @description 获取年度急修数据
-     * @date 2020/2/3 4:28 下午
-     */
-    public List<EmergencyRepairDataModel> getEmergencyRepairDataListFromRedis(EmergencyRepairDataRequest
-                                                                                      emergencyRepairDataRequest) {
-        //从redis获取当前公司的急修信息
-        List<EmergencyRepairDataModel> emergencyRepairDataModelList =
-                emergencyRepairDataMapper.getEmergencyRepairDataList(emergencyRepairDataRequest);
-//                (List<EmergencyRepairDataModel>)
-//                DataStatisticsUtil.getStatisticsDataFromRedis(redisTemplate,
-//                        DataStatisticsConstants.EMERGENCY_REPAIR_DATA_FIELD, emergencyRepairDataRequest.getMtCompanyId());
         if (emergencyRepairDataModelList != null && emergencyRepairDataModelList.size() > 0) {
             //过滤起始时间之前的数据
             if (emergencyRepairDataRequest.getStartTimeDate() != null) {

+ 13 - 36
lift-batch-service/src/main/java/cn/com/ty/lift/batch/applet/service/LiftDataService.java

@@ -1,9 +1,7 @@
 package cn.com.ty.lift.batch.applet.service;
 
-import cn.com.ty.lift.batch.applet.constants.DataStatisticsConstants;
 import cn.com.ty.lift.batch.applet.dao.mapper.LiftDataMapper;
 import cn.com.ty.lift.batch.applet.dao.model.LiftDataModel;
-import cn.com.ty.lift.batch.applet.dao.model.request.CommonRequest;
 import cn.com.ty.lift.batch.applet.dao.model.request.LiftDataRequest;
 import cn.com.ty.lift.batch.applet.dao.model.response.RegionLiftResponse;
 import cn.com.ty.lift.batch.applet.dao.model.response.RegionLiftResponseTotal;
@@ -12,7 +10,6 @@ import cn.com.ty.lift.common.constants.ApiConstants;
 import cn.com.ty.lift.common.constants.CommonEnum;
 import cn.com.ty.lift.common.utils.ProjectUtils;
 import cn.com.xwy.boot.web.dto.RestResponse;
-import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
@@ -31,9 +28,6 @@ public class LiftDataService {
     @Resource
     private LiftDataMapper liftDataMapper;
 
-    @Resource
-    private RedisTemplate redisTemplate;
-
     /**
      * @param
      * @return
@@ -41,20 +35,7 @@ public class LiftDataService {
      * @date 2020/2/7 12:01 下午
      */
     private List<LiftDataModel> getLiftDataModels(LiftDataRequest liftDataRequest) {
-        return liftDataMapper.getLiftDataList(liftDataRequest);
-//                (List<LiftDataModel>)
-//                DataStatisticsUtil.getStatisticsDataFromRedis(redisTemplate,
-//                        DataStatisticsConstants.LIFT_DATA_FIELD, liftDataRequest.getMtCompanyId());
-    }
-
-    /**
-     * @param commonRequest 起始时间 终止时间
-     * @return
-     * @description 将电梯数据放入redis中
-     * @date 2020/2/4 10:24 上午
-     */
-    public void putLiftDataListToRedis(CommonRequest commonRequest) {
-        List<LiftDataModel> liftDataModelList = liftDataMapper.getLiftDataList(commonRequest);
+        List<LiftDataModel> liftDataModelList = liftDataMapper.getLiftDataList(liftDataRequest);
         //设置电梯状态:1:新增, 3:丢失
         if (liftDataModelList != null && liftDataModelList.size() > 0) {
             liftDataModelList.forEach(entry -> {
@@ -69,11 +50,10 @@ public class LiftDataService {
                 }
             });
         }
-        //通过公司id将数据进行分组,并将数据放入redis中
-        DataStatisticsUtil.putStatisticsDataToRedis(liftDataModelList, redisTemplate,
-                DataStatisticsConstants.LIFT_DATA_FIELD);
+        return liftDataModelList;
     }
 
+
     /**
      * @param liftDataRequest 起始时间 终止时间
      * @return
@@ -128,16 +108,13 @@ public class LiftDataService {
         DataStatisticsUtil.setBeginYearToNow(liftDataRequest);
         //从redis中获取当前公司时间段之内的电梯信息
         List<LiftDataModel> liftDataModelList = getLiftDataListFromRedis(liftDataRequest);
-
-
-        if ((companyTotalLiftDataList != null && companyTotalLiftDataList.size() > 0) &&
-                liftDataModelList != null && liftDataModelList.size() > 0) {
+        if ((companyTotalLiftDataList != null && companyTotalLiftDataList.size() > 0)) {
             //获取传递起始时间之前的电梯信息
             List<LiftDataModel> beforeLiftDataList = companyTotalLiftDataList.stream()
                     //新建时间在起始时间之前的
-                    .filter(a -> {
-                        if (a.getConnectTime() != null) {
-                            return a.getConnectTime().isBefore(liftDataRequest.getStartTimeDate());
+                    .filter(liftDataModel -> {
+                        if (liftDataModel.getConnectTime() != null) {
+                            return liftDataModel.getConnectTime().isBefore(liftDataRequest.getStartTimeDate());
                         }
                         return false;
                     })
@@ -146,9 +123,9 @@ public class LiftDataService {
             long beforeLiftTotalNum = 0L;
             if (beforeLiftDataList.size() > 0) {
                 beforeLiftTotalNum = beforeLiftDataList.stream()
-                        .filter(a -> {
-                            if (a.getLiftStatus() != null) {
-                                return a.getLiftStatus() != 3;
+                        .filter(liftDataModel -> {
+                            if (liftDataModel.getLiftStatus() != null) {
+                                return liftDataModel.getLiftStatus() != 3;
                             }
                             return false;
                         }).count();
@@ -157,9 +134,9 @@ public class LiftDataService {
             //获取时间段内按月份统计的新增电梯数量
             Map<Integer, Long> monthToNewLiftNums = liftDataModelList.stream()
                     //获取电梯状态是新增的电梯数据
-                    .filter(a -> {
-                        if (a.getLiftStatus() != null) {
-                            return a.getLiftStatus() == 1;
+                    .filter(liftDataModel -> {
+                        if (liftDataModel.getLiftStatus() != null) {
+                            return liftDataModel.getLiftStatus() == 1;
                         }
                         return false;
                     })

+ 0 - 23
lift-batch-service/src/main/java/cn/com/ty/lift/batch/applet/service/MaintenanceDataService.java

@@ -1,16 +1,13 @@
 package cn.com.ty.lift.batch.applet.service;
 
-import cn.com.ty.lift.batch.applet.constants.DataStatisticsConstants;
 import cn.com.ty.lift.batch.applet.dao.mapper.MaintenanceDataMapper;
 import cn.com.ty.lift.batch.applet.dao.model.MaintenanceDataModel;
-import cn.com.ty.lift.batch.applet.dao.model.request.CommonRequest;
 import cn.com.ty.lift.batch.applet.dao.model.request.MaintenanceDataRequest;
 import cn.com.ty.lift.batch.applet.dao.model.response.MaintenanceOverViewResponse;
 import cn.com.ty.lift.batch.applet.util.DataStatisticsUtil;
 import cn.com.ty.lift.common.constants.ApiConstants;
 import cn.com.ty.lift.common.utils.ProjectUtils;
 import cn.com.xwy.boot.web.dto.RestResponse;
-import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
@@ -32,23 +29,6 @@ public class MaintenanceDataService {
 
     @Resource
     private MaintenanceDataMapper maintenanceDataMapper;
-
-    @Resource
-    private RedisTemplate redisTemplate;
-
-    /**
-     * @param commonRequest 起始时间 终止时间
-     * @return
-     * @description 将维保数据放入redis中
-     * @date 2020/2/4 1:50 下午
-     */
-    public void putMaintenanceDataListToRedis(CommonRequest commonRequest) {
-        List<MaintenanceDataModel> maintenanceDataModelList = maintenanceDataMapper.getMaintenanceDataList(commonRequest);
-        //通过公司id对数据进行分组,并将维保数据放入redis中
-        DataStatisticsUtil.putStatisticsDataToRedis(maintenanceDataModelList, redisTemplate,
-                DataStatisticsConstants.MAINTENANCE_DATA_FIELD);
-    }
-
     /**
      * @param
      * @return
@@ -59,9 +39,6 @@ public class MaintenanceDataService {
         //从redis中获取当前公司维保数据
         List<MaintenanceDataModel> maintenanceDataModelList = maintenanceDataMapper
                 .getMaintenanceDataList(maintenanceDataRequest);
-//                (List<MaintenanceDataModel>) DataStatisticsUtil
-//                .getStatisticsDataFromRedis(redisTemplate, DataStatisticsConstants.MAINTENANCE_DATA_FIELD,
-//                        maintenanceDataRequest.getMtCompanyId());
         if (maintenanceDataModelList != null && maintenanceDataModelList.size() > 0) {
             //通过起始时间过滤
             if (maintenanceDataRequest.getStartDate() != null) {

+ 0 - 21
lift-batch-service/src/main/java/cn/com/ty/lift/batch/applet/service/PaymentDataService.java

@@ -3,7 +3,6 @@ package cn.com.ty.lift.batch.applet.service;
 import cn.com.ty.lift.batch.applet.constants.DataStatisticsConstants;
 import cn.com.ty.lift.batch.applet.dao.mapper.PaymentDataMapper;
 import cn.com.ty.lift.batch.applet.dao.model.PaymentDataModel;
-import cn.com.ty.lift.batch.applet.dao.model.request.CommonRequest;
 import cn.com.ty.lift.batch.applet.dao.model.request.PaymentDataRequest;
 import cn.com.ty.lift.batch.applet.dao.model.response.ProjectPaymentResponse;
 import cn.com.ty.lift.batch.applet.dao.model.response.RegionPaymentResponse;
@@ -12,7 +11,6 @@ import cn.com.ty.lift.common.constants.ApiConstants;
 import cn.com.ty.lift.common.utils.ProjectUtils;
 import cn.com.xwy.boot.web.dto.RestResponse;
 import org.apache.commons.lang3.StringUtils;
-import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
@@ -34,22 +32,6 @@ public class PaymentDataService {
     @Resource
     private PaymentDataMapper paymentDataMapper;
 
-    @Resource
-    private RedisTemplate redisTemplate;
-
-    /**
-     * @param commonRequest 起始时间 结束时间
-     * @return
-     * @description 将收款数据放入redis中
-     * @date 2020/2/4 2:20 下午
-     */
-    public void putPaymentDataToRedis(CommonRequest commonRequest) {
-//        List<PaymentDataModel> paymentDataModelList = paymentDataMapper.getPaymentDataList(commonRequest);
-//        //将收款数据放入redis中
-//        DataStatisticsUtil.putStatisticsDataToRedis(paymentDataModelList, redisTemplate,
-//                DataStatisticsConstants.PAYMENT_DATA_FIELD);
-    }
-
     /**
      * @param paymentDataRequest
      * @return
@@ -59,9 +41,6 @@ public class PaymentDataService {
     public List<PaymentDataModel> getPaymentDataListFromRedis(PaymentDataRequest paymentDataRequest) {
         //从redis中获取当前公司的收款数据
         List<PaymentDataModel> paymentDataModelList = paymentDataMapper.getPaymentDataList(paymentDataRequest);
-//                (List<PaymentDataModel>)
-//                DataStatisticsUtil.getStatisticsDataFromRedis(redisTemplate,
-//                        DataStatisticsConstants.PAYMENT_DATA_FIELD, paymentDataRequest.getMtCompanyId());
         if (paymentDataModelList != null && paymentDataModelList.size() > 0) {
             //通过终止时间过滤
             if (paymentDataRequest.getEndDate() != null) {

+ 0 - 21
lift-batch-service/src/main/java/cn/com/ty/lift/batch/applet/util/DataInitUtil.java

@@ -45,27 +45,6 @@ public class DataInitUtil {
         //除维保以外其他统计类数据获取数据时间段: 3年前 - 当前时间
         CommonRequest otherCommonRequest = DataStatisticsUtil.initCommonRequest(-3L,
                 DataStatisticsConstants.INTERVAL_TYPE_YEAR);
-        //初始化急修数据
-        emergencyRepairDataService.putEmergencyRepairDataListToRedis(otherCommonRequest);
-        log.info("初始化急修数据成功");
-        //初始化收款数据
-        paymentDataService.putPaymentDataToRedis(otherCommonRequest);
-        log.info("初始化收款数据成功");
-        //初始化电梯数据
-        liftDataService.putLiftDataListToRedis(otherCommonRequest);
-        log.info("初始化电梯数据成功");
-        //初始化合同数据
-        contractDataService.putContractDataToRedis(otherCommonRequest);
-        log.info("初始化合同数据成功");
-        //初始化年检数据
-        annualInspectionDataService.putAnnualInspectionDataToRedis(otherCommonRequest);
-        log.info("初始化年检数据成功");
-        //维保数据获取数据的时间段: 1年前 - 当前时间
-        //测试数据 3个月前 - 当前时间
-        CommonRequest maintenanceCommonRequest = DataStatisticsUtil.initCommonRequest(-30L,
-                DataStatisticsConstants.INTERVAL_TYPE_DAY);
-        maintenanceDataService.putMaintenanceDataListToRedis(maintenanceCommonRequest);
-        log.info("初始化维保数据成功");
     }
 
 }

+ 1 - 1
lift-batch-service/src/main/resources/mapper/AnnualInspectionDataMapper.xml

@@ -5,7 +5,7 @@
     <!-- 获取时间段内的年检数据 -->
     <select id="getAnnualInspectionDataList" parameterType="cn.com.ty.lift.batch.applet.dao.model.request.CommonRequest"
             resultType="cn.com.ty.lift.batch.applet.dao.model.AnnualInspectionDataModel">
-        select
+        select distinct
             ai.plan_date as planDate,
             ai.mt_company_id as mtCompanyId,
             ai.status as status,