Преглед изворни кода

定时任务, 用量长度溢出导致bug

wuweihao пре 2 година
родитељ
комит
b6daa4ded5

+ 2 - 1
720yun_fd_manage/gis_mapper/src/main/java/com/gis/mapper/FodderMapper.java

@@ -45,7 +45,8 @@ public interface FodderMapper extends IBaseMapper<FodderEntity, Long> {
     @SelectProvider(type = BaseProvider.class, method = "selectSql")
     List<String> getListStr(String strSql);
 
-    @Select("select sum(file_size) from tb_fodder where is_delete=0")
+    // 容量是MB, 四舍五入
+    @Select("select ROUND(sum(file_size)/1024) from tb_fodder where is_delete=0")
     String sumSize();
 
     @SelectProvider(type = BaseProvider.class, method = "selectSql")

+ 6 - 20
720yun_fd_manage/gis_oss/src/main/java/com/gis/oss/util/FileUtils.java

@@ -824,17 +824,7 @@ public class FileUtils {
         }
     }
 
-    /**
-     * 真删除文件
-     * @param path 参数是相对地址
-     */
-//    public void del(String path){
-//        if (StrUtil.isNotBlank(path)){
-//            String delPath = configConstant.serverBasePath + path;
-//            FileUtil.del(delPath);
-//            log.info("真删除文件: {}", delPath);
-//        }
-//    }
+
 
     /**
      * 真删除文件
@@ -860,20 +850,16 @@ public class FileUtils {
 
     /**
      * 转换文件单位
-     * @param unit KB 默认
+     * @param unit MB 默认
      * @param num
      * @return
      */
-    public int convertUnit(String unit, int num){
-        String volume = num + "";
+    public int convertUnit(String unit, String volume){
         BigDecimal decimal = new BigDecimal(volume);
-        if ("KB".equals(unit) || StrUtil.isBlank(unit)){
-            log.info("KB: {}", volume);
-        } else if ("MB".equals(unit)){
-            decimal = decimal.divide(new BigDecimal("1024"),  BigDecimal.ROUND_HALF_UP);
-            log.info("MB: {}", decimal.toString());
+       if ("MB".equals(unit) || StrUtil.isBlank(unit)){
+            log.info("MB: {}", volume);
         } else if ("GB".equals(unit)){
-            decimal = decimal.divide(new BigDecimal("1024"),  BigDecimal.ROUND_HALF_UP);
+            decimal = decimal.divide(new BigDecimal("1024"), 0, BigDecimal.ROUND_HALF_UP);
             log.info("GB: {}", decimal);
         }
         return Integer.valueOf(decimal.toString());

+ 39 - 33
720yun_fd_manage/gis_service/src/main/java/com/gis/service/impl/FodderServiceImpl.java

@@ -388,8 +388,8 @@ public class FodderServiceImpl extends IBaseServiceImpl<FodderEntity, Long> impl
     public Result listAndDir(FodderPageDto param) {
 
         String userName = getUserNameForToken();
-        // 2022-12-20 记录用户登录-数据统计使用
-        userRecord(userName);
+//        // 2022-12-20 记录用户登录-数据统计使用
+//        userRecord(userName);
 
         String type = param.getType();
         String searchKey = param.getSearchKey();
@@ -454,23 +454,23 @@ public class FodderServiceImpl extends IBaseServiceImpl<FodderEntity, Long> impl
         return Result.success(pageInfo);
     }
 
-    /**
-     * 2022-12-20 记录用户登录-数据统计使用
-     * @param userName
-     */
-    private void userRecord(String userName) {
-        String baseKey = RedisConstant.REPORT_USER + LocalDate.now();
-        String key = baseKey +  "_" + userName;
-        log.info("该用户:{} redis key:{}", userName, key);
-        if (redisUtil.hasKey(key)){
-            return;
-        }
-
-
-        redisUtil.setEx(key, key, 1, TimeUnit.DAYS);
-        Long aLong = redisUtil.incrBy(baseKey, 1);
-        log.info("key:{}, value:{}", baseKey, aLong);
-    }
+//    /**
+//     * 2022-12-20 记录用户登录-数据统计使用
+//     * @param userName
+//     */
+//    private void userRecord(String userName) {
+//        String baseKey = RedisConstant.REPORT_USER + LocalDate.now();
+//        String key = baseKey +  "_" + userName;
+//        log.info("该用户:{} redis key:{}", userName, key);
+//        if (redisUtil.hasKey(key)){
+//            return;
+//        }
+//
+//
+//        redisUtil.setEx(key, key, 1, TimeUnit.DAYS);
+//        Long aLong = redisUtil.incrBy(baseKey, 1);
+//        log.info("key:{}, value:{}", baseKey, aLong);
+//    }
 
 
     @Override
@@ -493,31 +493,37 @@ public class FodderServiceImpl extends IBaseServiceImpl<FodderEntity, Long> impl
 
     /**
      * 获取素材占用空容量
-     * @param unit 默认KB
+     * @param unit 默认MB
      * @return
      */
+//    @Override
+//    public Integer getVolume(String unit) {
+//        String volume = entityMapper.sumSize();
+//        log.info("查询使用空间:{} MB", volume);
+//        BigDecimal decimal = new BigDecimal(volume);
+//       if ("MB".equals(unit) || StrUtil.isBlank(unit)){
+//            log.info("MB: {}", volume);
+//        } else if ("GB".equals(unit)){
+//            decimal = decimal.divide(new BigDecimal("1024"), 0, BigDecimal.ROUND_HALF_UP);
+//            log.info("GB: {}", decimal);
+//        }
+//        return Integer.valueOf(decimal.toString());
+//    }
+
     @Override
     public Integer getVolume(String unit) {
         String volume = entityMapper.sumSize();
-        BigDecimal decimal = new BigDecimal(volume);
-        if ("KB".equals(unit) || StrUtil.isBlank(unit)){
-            log.info("KB: {}", volume);
-        } else if ("MB".equals(unit)){
-            decimal = decimal.divide(new BigDecimal("1024"),  BigDecimal.ROUND_HALF_UP);
-            log.info("MB: {}", decimal.toString());
-        } else if ("GB".equals(unit)){
-            decimal = decimal.divide(new BigDecimal("1024"),  BigDecimal.ROUND_HALF_UP);
-            log.info("GB: {}", decimal);
-        }
-        return Integer.valueOf(decimal.toString());
+        log.info("查询使用空间:{} MB", volume);
+        return fileUtils.convertUnit("GB", volume);
     }
 
     @Override
     public int getTodaySize(LocalDate today, String unit) {
-        Integer num = entityMapper.countIntSize(StrUtil.format("select sum(file_size) from tb_fodder " +
+        // 单位是MB
+        Integer num = entityMapper.countIntSize(StrUtil.format("select ROUND(sum(file_size)/1024) from tb_fodder " +
                 "where is_delete=0 and DATE(create_time) = '{}' ", today));
         num = num == null ? 0 : num;
-        int gb = fileUtils.convertUnit("GB", num);
+        int gb = fileUtils.convertUnit("GB", num+"");
         return gb;
     }
 

+ 30 - 166
720yun_fd_manage/gis_service/src/main/java/com/gis/service/impl/ReportServiceImpl.java

@@ -12,13 +12,9 @@ import com.gis.service.FodderService;
 import com.gis.service.ReportService;
 import com.gis.service.WorkService;
 import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-import tk.mybatis.mapper.entity.Condition;
 
-import javax.validation.constraints.NotBlank;
-import java.time.LocalDate;
 import java.util.*;
 
 
@@ -51,179 +47,48 @@ public class ReportServiceImpl extends IBaseServiceImpl<ReportEntity, Long> impl
 
     }
 
-//    private List<Map> getTrent(ReportPo po){
-//        StringBuilder builder = new StringBuilder();
-//
-//
-//        String startTime = po.getStartTime();
-//        String endTime = po.getEndTime();
-//        String timeType = po.getTimeType();
-//        String type = po.getPoType();
-//        String infoType = po.getInfoType();
-//        if (StrUtil.isBlank(infoType)){
-//            infoType = "all";
-//        }
-//        if (StrUtil.isNotBlank(startTime) && StrUtil.isNotBlank(endTime)){
-//
-//            if ("day".equals(timeType)){
-//                builder.append("select DATE_FORMAT( day, '%Y-%m-%d' ) as groupKey, total as count, type from tb_report where is_delete=0 ");
-//                builder.append(" and day between '").append(startTime).append("' and '").append(endTime).append("'");
-//                builder.append(" and type='").append(type).append("'");
-//                builder.append(" and info_type='").append(infoType).append("'");
-//
-//            } else if ("week".equals(timeType)){
-//                builder.append(" select groupKey, sum(total) as count,type from (");
-//                builder.append(" select DATE_FORMAT(DATE_ADD(day,INTERVAL- (WEEKDAY(day)) day),  '%Y-%m-%d' )  as groupKey, total,type from tb_report where is_delete=0 ");
-//                builder.append(" and day between '").append(startTime).append("' and '").append(endTime).append("'");
-//                builder.append(" and type='").append(type).append("'");
-//                builder.append(" and info_type='").append(infoType).append("'");
-//                builder.append(" ) as a group by groupKey");
-//            } else {
-//                builder.append(" select groupKey, sum(total) as count,type from (");
-//                builder.append(" select DATE_FORMAT(day, '%Y-%m')  as groupKey, total,type from tb_report where is_delete=0");
-//                builder.append(" and day between '").append(startTime).append("' and '").append(endTime).append("'");
-//                builder.append(" and type='").append(type).append("'");
-//                builder.append(" and info_type='").append(infoType).append("'");
-//                builder.append(" ) as a group by groupKey");
-//            }
-//
-//        } else {
-//
-//            if ("day".equals(timeType)){ // 默认最近30天
-//                builder.append("select DATE_FORMAT( day, '%Y-%m-%d' ) as groupKey, total as count, type from tb_report where is_delete=0  and DATE(day)>=DATE_SUB(CURDATE(), INTERVAL 30 DAY)");
-//                builder.append(" and type='").append(type).append("'");
-//                builder.append(" and info_type='").append(infoType).append("'");
-//            } else if ("week".equals(timeType)){ // 默认最近半年
-//                builder.append(" select groupKey, sum(total) as count,type from (");
-//                builder.append(" select DATE_FORMAT(DATE_ADD(day,INTERVAL- (WEEKDAY(day)) day),  '%Y-%m-%d' )  as groupKey, total,type from tb_report where is_delete=0  and DATE(day)>=DATE_SUB(CURDATE(), INTERVAL 200 DAY)");
-//                builder.append(" and type='").append(type).append("'");
-//                builder.append(" and info_type='").append(infoType).append("'");
-//                builder.append(" ) as a group by groupKey");
-//            } else { // 默认最近6个月
-//                builder.append(" select groupKey, sum(total) as count,type from (");
-//                builder.append(" select DATE_FORMAT(day, '%Y-%m')  as groupKey, total,type from tb_report where is_delete=0");
-//                builder.append( " and DATE(day) >= DATE_FORMAT(DATE_SUB( now(), INTERVAL 6 MONTH),'%Y-%m')");
-//                builder.append(" and type='").append(type).append("'");
-//                builder.append(" and info_type='").append(infoType).append("'");
-//                builder.append(" ) as a group by groupKey");
-//            }
-//        }
-//
-//
-//        builder.append(" order by groupKey desc");
-//
-//        List<Map> res = entityMapper.listMapSql(builder.toString());
-//        return res;
-//    }
-//
-//
-//    private List<ReportVo> getWorkTrent(ReportPo po){
-//        StringBuilder builder = new StringBuilder();
-//
-//
-//        String startTime = po.getStartTime();
-//        String endTime = po.getEndTime();
-//        String timeType = po.getTimeType();
-//        String type = po.getPoType();
-//        String infoType = po.getInfoType();
-//        if (StrUtil.isBlank(infoType)){
-//            infoType = "all";
-//        }
-//        if (StrUtil.isNotBlank(startTime) && StrUtil.isNotBlank(endTime)){
-//
-//            if ("day".equals(timeType)){
-//                builder.append("select DATE_FORMAT( day, '%Y-%m-%d' ) as groupKey, mix, pano, age,  type from tb_report where is_delete=0 ");
-//                builder.append(" and day between '").append(startTime).append("' and '").append(endTime).append("'");
-//                builder.append(" and type='").append(type).append("'");
-//                builder.append(" and info_type='").append(infoType).append("'");
-//
-//            } else if ("week".equals(timeType)){
-//                builder.append(" select groupKey, sum(mix) as mix,sum(age) as age,sum(pano) as pano,type from (");
-//                builder.append(" select DATE_FORMAT(DATE_ADD(day,INTERVAL- (WEEKDAY(day)) day),  '%Y-%m-%d' )  as groupKey, mix, pano, age,type from tb_report where is_delete=0 ");
-//                builder.append(" and day between '").append(startTime).append("' and '").append(endTime).append("'");
-//                builder.append(" and type='").append(type).append("'");
-//                builder.append(" and info_type='").append(infoType).append("'");
-//                builder.append(" ) as a group by groupKey");
-//            } else {
-//                builder.append(" select groupKey, sum(mix) as mix,sum(age) as age,sum(pano) as pano,type from (");
-//                builder.append(" select DATE_FORMAT(day, '%Y-%m')  as groupKey, mix,age, pano,type from tb_report where is_delete=0");
-//                builder.append(" and day between '").append(startTime).append("' and '").append(endTime).append("'");
-//                builder.append(" and type='").append(type).append("'");
-//                builder.append(" and info_type='").append(infoType).append("'");
-//                builder.append(" ) as a group by groupKey");
-//            }
-//
-//        } else {
-//
-//            if ("day".equals(timeType)){ // 默认最近30天
-//                builder.append("select DATE_FORMAT( day, '%Y-%m-%d' ) as groupKey, mix, pano, age, type from tb_report where is_delete=0  and DATE(day)>=DATE_SUB(CURDATE(), INTERVAL 30 DAY)");
-//                builder.append(" and type='").append(type).append("'");
-//                builder.append(" and info_type='").append(infoType).append("'");
-//            } else if ("week".equals(timeType)){ // 默认最近半年
-//                builder.append(" select groupKey, sum(mix) as mix,sum(age) as age,sum(pano) as pano,type from (");
-//                builder.append(" select DATE_FORMAT(DATE_ADD(day,INTERVAL- (WEEKDAY(day)) day),  '%Y-%m-%d' )  as groupKey, mix, pano, age,type from tb_report where is_delete=0  and DATE(day)>=DATE_SUB(CURDATE(), INTERVAL 200 DAY)");
-//                builder.append(" and type='").append(type).append("'");
-//                builder.append(" and info_type='").append(infoType).append("'");
-//                builder.append(" ) as a group by groupKey");
-//            } else { // 默认最近6个月
-//                builder.append(" select groupKey, sum(mix) as mix,sum(age) as age,sum(pano) as pano,type from (");
-//                builder.append(" select DATE_FORMAT(day, '%Y-%m')  as groupKey, mix,age, pano,type from tb_report where is_delete=0");
-//                builder.append( " and DATE(day) >= DATE_FORMAT(DATE_SUB( now(), INTERVAL 6 MONTH),'%Y-%m')");
-//                builder.append(" and type='").append(type).append("'");
-//                builder.append(" and info_type='").append(infoType).append("'");
-//                builder.append(" ) as a group by groupKey");
-//            }
-//        }
-//
-//
-//        builder.append(" order by groupKey desc");
-//
-//        List<ReportVo> res = entityMapper.listReportVoSql(builder.toString());
-//        return res;
-//    }
-
-
-    private List<Map> getTrent(ReportPo po){
+
+    private List<Map> getTrent(ReportPo po) {
 
         String startTime = po.getStartTime();
         String endTime = po.getEndTime();
         String timeType = po.getTimeType();
         String type = po.getPoType();
         String infoType = po.getInfoType();
-        if (StrUtil.isBlank(infoType)){
+        if (StrUtil.isBlank(infoType)) {
             infoType = "all";
         }
 
-        String sqlStr ;
-            if ("day".equals(timeType)){
-                sqlStr = dayTrentSql(infoType, type, startTime, endTime);
+        String sqlStr;
+        if ("day".equals(timeType)) {
+            sqlStr = dayTrentSql(infoType, type, startTime, endTime);
 
-            } else if ("week".equals(timeType)){
-                sqlStr = weekTrentSql(infoType, type, startTime, endTime);
-            } else {
-                sqlStr = monthTrentSql(infoType, type, startTime, endTime);
-            }
+        } else if ("week".equals(timeType)) {
+            sqlStr = weekTrentSql(infoType, type, startTime, endTime);
+        } else {
+            sqlStr = monthTrentSql(infoType, type, startTime, endTime);
+        }
 
         List<Map> res = entityMapper.listMapSql(sqlStr);
         return res;
     }
 
 
-    private List<ReportVo> getWorkTrent(ReportPo po){
+    private List<ReportVo> getWorkTrent(ReportPo po) {
         String startTime = po.getStartTime();
         String endTime = po.getEndTime();
         String timeType = po.getTimeType();
         String type = po.getPoType();
         String infoType = po.getInfoType();
-        if (StrUtil.isBlank(infoType)){
+        if (StrUtil.isBlank(infoType)) {
             infoType = "all";
         }
 
-        String sqlStr ;
-        if ("day".equals(timeType)){
+        String sqlStr;
+        if ("day".equals(timeType)) {
             sqlStr = dayWorkTrentSql(infoType, type, startTime, endTime);
 
-        } else if ("week".equals(timeType)){
+        } else if ("week".equals(timeType)) {
             sqlStr = weekWorkTrentSql(infoType, type, startTime, endTime);
         } else {
             sqlStr = monthWorkTrentSql(infoType, type, startTime, endTime);
@@ -234,10 +99,10 @@ public class ReportServiceImpl extends IBaseServiceImpl<ReportEntity, Long> impl
         return res;
     }
 
-    private String dayTrentSql(String infoType, String type, String startTime, String endTime){
+    private String dayTrentSql(String infoType, String type, String startTime, String endTime) {
         StringBuilder builder = new StringBuilder();
         builder.append("select DATE_FORMAT( day, '%Y-%m-%d' ) as groupKey, total as count,  type from tb_report where is_delete=0 ");
-        if (StrUtil.isNotBlank(startTime) && StrUtil.isNotBlank(endTime)){
+        if (StrUtil.isNotBlank(startTime) && StrUtil.isNotBlank(endTime)) {
             builder.append(" and day between '").append(startTime).append("' and '").append(endTime).append("'");
         } else {
             builder.append(" and DATE(day)>=DATE_SUB(CURDATE(), INTERVAL 30 DAY)");
@@ -249,12 +114,12 @@ public class ReportServiceImpl extends IBaseServiceImpl<ReportEntity, Long> impl
         return builder.toString();
     }
 
-    private String weekTrentSql(String infoType, String type, String startTime, String endTime){
+    private String weekTrentSql(String infoType, String type, String startTime, String endTime) {
         StringBuilder builder = new StringBuilder();
         builder.append(" select groupKey, sum(total) as count,type from (");
         builder.append(" select DATE_FORMAT(DATE_ADD(day,INTERVAL- (WEEKDAY(day)) day),  '%Y-%m-%d' )  as groupKey, total," +
                 " type from tb_report where is_delete=0 ");
-        if (StrUtil.isNotBlank(startTime) && StrUtil.isNotBlank(endTime)){
+        if (StrUtil.isNotBlank(startTime) && StrUtil.isNotBlank(endTime)) {
             builder.append(" and day between '").append(startTime).append("' and '").append(endTime).append("'");
         } else {
             builder.append(" and DATE(day)>=DATE_SUB(CURDATE(), INTERVAL 200 DAY)");
@@ -267,15 +132,15 @@ public class ReportServiceImpl extends IBaseServiceImpl<ReportEntity, Long> impl
         return builder.toString();
     }
 
-    private String monthTrentSql(String infoType, String type, String startTime, String endTime){
+    private String monthTrentSql(String infoType, String type, String startTime, String endTime) {
         StringBuilder builder = new StringBuilder();
         builder.append(" select groupKey, sum(total) as count,type from (");
         builder.append(" select DATE_FORMAT(day, '%Y-%m')  as groupKey, total,type from tb_report where is_delete=0");
-        if (StrUtil.isNotBlank(startTime) && StrUtil.isNotBlank(endTime)){
+        if (StrUtil.isNotBlank(startTime) && StrUtil.isNotBlank(endTime)) {
             builder.append(" and day between '").append(startTime).append("' and '").append(endTime).append("'");
         } else {
             // 默认6个月
-            builder.append( " and DATE(day) >= DATE_FORMAT(DATE_SUB( now(), INTERVAL 6 MONTH),'%Y-%m')");
+            builder.append(" and DATE(day) >= DATE_FORMAT(DATE_SUB( now(), INTERVAL 6 MONTH),'%Y-%m')");
         }
         builder.append(" and type='").append(type).append("'");
         builder.append(" and info_type='").append(infoType).append("'");
@@ -286,10 +151,10 @@ public class ReportServiceImpl extends IBaseServiceImpl<ReportEntity, Long> impl
     }
 
 
-    private String dayWorkTrentSql(String infoType, String type, String startTime, String endTime){
+    private String dayWorkTrentSql(String infoType, String type, String startTime, String endTime) {
         StringBuilder builder = new StringBuilder();
         builder.append("select DATE_FORMAT( day, '%Y-%m-%d' ) as groupKey, mix, pano, age,  type from tb_report where is_delete=0 ");
-        if (StrUtil.isNotBlank(startTime) && StrUtil.isNotBlank(endTime)){
+        if (StrUtil.isNotBlank(startTime) && StrUtil.isNotBlank(endTime)) {
             builder.append(" and day between '").append(startTime).append("' and '").append(endTime).append("'");
         } else {
             builder.append(" and DATE(day)>=DATE_SUB(CURDATE(), INTERVAL 30 DAY)");
@@ -301,12 +166,12 @@ public class ReportServiceImpl extends IBaseServiceImpl<ReportEntity, Long> impl
         return builder.toString();
     }
 
-    private String weekWorkTrentSql(String infoType, String type, String startTime, String endTime){
+    private String weekWorkTrentSql(String infoType, String type, String startTime, String endTime) {
         StringBuilder builder = new StringBuilder();
         builder.append(" select groupKey, sum(mix) as mix,sum(age) as age,sum(pano) as pano,type from (");
         builder.append(" select DATE_FORMAT(DATE_ADD(day,INTERVAL- (WEEKDAY(day)) day),  '%Y-%m-%d' )  as groupKey, " +
                 "mix, pano, age,type from tb_report where is_delete=0 ");
-        if (StrUtil.isNotBlank(startTime) && StrUtil.isNotBlank(endTime)){
+        if (StrUtil.isNotBlank(startTime) && StrUtil.isNotBlank(endTime)) {
             builder.append(" and day between '").append(startTime).append("' and '").append(endTime).append("'");
         } else {
             builder.append(" and DATE(day)>=DATE_SUB(CURDATE(), INTERVAL 200 DAY)");
@@ -319,15 +184,15 @@ public class ReportServiceImpl extends IBaseServiceImpl<ReportEntity, Long> impl
         return builder.toString();
     }
 
-    private String monthWorkTrentSql(String infoType, String type, String startTime, String endTime){
+    private String monthWorkTrentSql(String infoType, String type, String startTime, String endTime) {
         StringBuilder builder = new StringBuilder();
         builder.append(" select groupKey, sum(mix) as mix,sum(age) as age,sum(pano) as pano,type from (");
         builder.append(" select DATE_FORMAT(day, '%Y-%m')  as groupKey, mix,age, pano,type from tb_report where is_delete=0");
-        if (StrUtil.isNotBlank(startTime) && StrUtil.isNotBlank(endTime)){
+        if (StrUtil.isNotBlank(startTime) && StrUtil.isNotBlank(endTime)) {
             builder.append(" and day between '").append(startTime).append("' and '").append(endTime).append("'");
         } else {
             // 默认6个月
-            builder.append( " and DATE(day) >= DATE_FORMAT(DATE_SUB( now(), INTERVAL 6 MONTH),'%Y-%m')");
+            builder.append(" and DATE(day) >= DATE_FORMAT(DATE_SUB( now(), INTERVAL 6 MONTH),'%Y-%m')");
         }
         builder.append(" and type='").append(type).append("'");
         builder.append(" and info_type='").append(infoType).append("'");
@@ -351,5 +216,4 @@ public class ReportServiceImpl extends IBaseServiceImpl<ReportEntity, Long> impl
     }
 
 
-
 }

+ 23 - 0
720yun_fd_manage/gis_service/src/main/java/com/gis/service/impl/WorkServiceImpl.java

@@ -89,11 +89,34 @@ public class WorkServiceImpl extends IBaseStrServiceImpl<WorkEntity, String> imp
             userNameForToken = null;
         }
         List<WorkEntity> search = entityMapper.search(param, userNameForToken);
+
+         // 2023-01-30 记录用户登录-数据统计使用
+        userRecord(userNameForToken);
+
         return Result.success(new PageInfo<>(search));
     }
 
 
     /**
+     * 2022-12-20 记录用户登录-数据统计使用
+     * @param userName
+     */
+    private void userRecord(String userName) {
+        String baseKey = RedisConstant.REPORT_USER + LocalDate.now();
+        String key = baseKey +  "_" + userName;
+        log.info("该用户:{} redis key:{}", userName, key);
+        if (redisUtil.hasKey(key)){
+            return;
+        }
+
+
+        redisUtil.setEx(key, key, 1, TimeUnit.DAYS);
+        Long aLong = redisUtil.incrBy(baseKey, 1);
+        log.info("key:{}, value:{}", baseKey, aLong);
+    }
+
+
+    /**
      * 目前只是用来保存密码, 也可以使用保存实体信息
      */
     @Override

+ 2 - 1
720yun_fd_manage/gis_service/src/main/java/com/gis/task/VisitTask.java

@@ -46,6 +46,7 @@ public class VisitTask {
      * Scheduled(cron = "0 0 3 * * ?") 每天凌晨三点
      */
     @Scheduled(cron = "0 0 2 * * ?")
+//    @Scheduled(cron=" 10 0/5 * * * ? ")
     public void task() {
 
         log.warn("每天02:00开始执行定时任务:redis访问量数据同步到数据库");
@@ -99,7 +100,7 @@ public class VisitTask {
 
         ReportEntity entity = new ReportEntity();
         entity.setType("user");
-        entity.setTotal(count); // 容量是GB
+        entity.setTotal(count);
         entity.setDay(today);
         entity.setInfoType("all");
         reportService.save(entity);