shiqian 3 жил өмнө
parent
commit
e129b3be8d

+ 86 - 73
boman-web-core/src/main/java/com/boman/web/core/service/czrk/CzrkServiceImpl.java

@@ -53,7 +53,7 @@ import static com.google.common.base.Strings.nullToEmpty;
 @Slf4j
 public class CzrkServiceImpl implements ICzrkService {
 
-    private static JSONObject QIANSHANSHI = null, ZHEN = null, QIANSHANSHI_SINGEL = null;
+    private static JSONObject QIANSHANSHI = null, ZHEN = null, QIANSHANSHI_SINGEL = null, ECHARTS_LINE = null;
 
     @Autowired
     private CzrkMapper czrkMapper;
@@ -96,6 +96,7 @@ public class CzrkServiceImpl implements ICzrkService {
 
         czrk.setStartTime(DateUtils.getTodayStartStr());
         czrk.setEndTime(DateUtils.getTodayEndStr());
+        startPage();
         List<Czrk> czrks = czrkMapper.listByXz(czrk);
         handleList1(czrks);
         return czrks;
@@ -107,6 +108,7 @@ public class CzrkServiceImpl implements ICzrkService {
 
         czrk.setStartTime(DateUtils.getTodayStartStr());
         czrk.setEndTime(DateUtils.getTodayEndStr());
+        startPage();
         List<Czrk> czrks = czrkMapper.listByJs(czrk);
         handleList1(czrks);
         return czrks;
@@ -768,101 +770,112 @@ public class CzrkServiceImpl implements ICzrkService {
 
     @Override
     public JSONObject hjczLine() {
+        JSONObject resultData = new JSONObject(5);
         // 统计范围 从今天往前推7天
         java.util.Date startTimeDate = DateUtils.getNowDate();
         java.util.Date endTimeDate = DateUtils.addDays(startTimeDate, -7);
         String endTime = DateUtils.dateTime1(startTimeDate);
         String startTime = DateUtils.dateTime1(endTimeDate);
         SysUser sysUser = AuthUtils.getLoginUser().getSysUser();
-        int type = 0;
-        Long areaId = null;
-
-        // 市领导 todo 此处不应该写死
-        List<String> roleKeySets = map(sysUser.getRoles(), SysRole::getRoleKey);
-        if (roleKeySets.contains("city") || roleKeySets.contains("admin") || roleKeySets.contains("yanshi")) {
-            type = 3;
-            areaId = 340882000000L;
-        } else if (roleKeySets.contains("sys:town")) {
-            type = 4;
-            areaId = sysUser.getDeptId();
-        }
 
         List<java.util.Date> dateList = DateUtils.getWeek(startTimeDate);
+        JSONObject jsonObject = redisService.getCacheObject("hjczLine");
+        if (isNotEmpty(jsonObject)) {
+            ECHARTS_LINE = jsonObject;
+            return jsonObject;
+        }
 
-        // 常住人口信息
-        List<Czrk> czxzs = czrkMapper.listByCzXz(startTime, endTime, type, areaId);
-        List<Czrk> czjss = czrkMapper.listByCzJs(startTime, endTime, type, areaId);
-
-        // 户籍人口信息
-        List<Czrk> hjxzs = czrkMapper.countByHjXz(startTime, endTime, type, areaId); // 新增
-        List<Czrk> hjjss = czrkMapper.countByHjJs(startTime, endTime, type, areaId);// 减少
+        ThreadPoolService.execute(()->{
+            int type = 0;
+            Long areaId = null;
+            // 市领导 todo 此处不应该写死
+            List<String> roleKeySets = map(sysUser.getRoles(), SysRole::getRoleKey);
+            if (roleKeySets.contains("city") || roleKeySets.contains("admin") || roleKeySets.contains("yanshi")) {
+                type = 3;
+                areaId = 340882000000L;
+            } else if (roleKeySets.contains("sys:town")) {
+                type = 4;
+                areaId = sysUser.getDeptId();
+            }
 
-        List<JSONObject> result = new ArrayList<>();
-        for (java.util.Date week : dateList) {
-            java.util.Date tomorrow = DateUtils.addDays(week, 1);
-            int czxz = 0, czjs = 0, hjxz = 0, hjjs = 0;
-            JSONObject temp = new JSONObject();
-            for (Czrk czrkxz : czxzs) {
-                Timestamp createTime = czrkxz.getCreateTime();
-                if (createTime.after(week) && createTime.before(tomorrow)) {
-                    czxz++;
+            // 常住人口信息
+            List<Czrk> czxzs = czrkMapper.listByCzXz(startTime, endTime, type, areaId);
+            List<Czrk> czjss = czrkMapper.listByCzJs(startTime, endTime, type, areaId);
+
+            // 户籍人口信息
+            List<Czrk> hjxzs = czrkMapper.countByHjXz(startTime, endTime, type, areaId); // 新增
+            List<Czrk> hjjss = czrkMapper.countByHjJs(startTime, endTime, type, areaId);// 减少
+
+            List<JSONObject> result = new ArrayList<>();
+            for (java.util.Date week : dateList) {
+                java.util.Date tomorrow = DateUtils.addDays(week, 1);
+                int czxz = 0, czjs = 0, hjxz = 0, hjjs = 0;
+                JSONObject temp = new JSONObject();
+                for (Czrk czrkxz : czxzs) {
+                    Timestamp createTime = czrkxz.getCreateTime();
+                    if (createTime.after(week) && createTime.before(tomorrow)) {
+                        czxz++;
+                    }
                 }
-            }
 
-            for (Czrk czrkjs : czjss) {
-                Timestamp updateTime = czrkjs.getUpdateTime();
-                if (updateTime != null) {
-                    if (updateTime.after(week) && updateTime.before(tomorrow)) {
-                        czjs++;
+                for (Czrk czrkjs : czjss) {
+                    Timestamp updateTime = czrkjs.getUpdateTime();
+                    if (updateTime != null) {
+                        if (updateTime.after(week) && updateTime.before(tomorrow)) {
+                            czjs++;
+                        }
                     }
                 }
-            }
 
-            for (Czrk hjrkxz : hjxzs) {
-                Timestamp createTime = hjrkxz.getCreateTime();
-                if (createTime.after(week) && createTime.before(tomorrow)) {
-                    czxz++;
+                for (Czrk hjrkxz : hjxzs) {
+                    Timestamp createTime = hjrkxz.getCreateTime();
+                    if (createTime.after(week) && createTime.before(tomorrow)) {
+                        czxz++;
+                    }
                 }
-            }
 
-            for (Czrk hjrkjs : hjjss) {
-                Timestamp updateTime = hjrkjs.getUpdateTime();
-                if (updateTime != null) {
-                    if (updateTime.after(week) && updateTime.before(tomorrow)) {
-                        czjs++;
+                for (Czrk hjrkjs : hjjss) {
+                    Timestamp updateTime = hjrkjs.getUpdateTime();
+                    if (updateTime != null) {
+                        if (updateTime.after(week) && updateTime.before(tomorrow)) {
+                            czjs++;
+                        }
                     }
                 }
+
+                temp.put("czxz", czxz);
+                temp.put("czjs", czjs);
+                temp.put("hjxz", hjxz);
+                temp.put("hjjs", hjjs);
+                temp.put("time", DateUtils.setHmsZero(week));
+                result.add(temp);
             }
 
-            temp.put("czxz", czxz);
-            temp.put("czjs", czjs);
-            temp.put("hjxz", hjxz);
-            temp.put("hjjs", hjjs);
-            temp.put("time", DateUtils.setHmsZero(week));
-            result.add(temp);
-        }
+            // 处理成图表格式
+            List<String> xData = new ArrayList<>(7);
+            List<Integer> czxz = new ArrayList<>(7);
+            List<Integer> czjs = new ArrayList<>(7);
+            List<Integer> hjxz = new ArrayList<>(7);
+            List<Integer> hjjs = new ArrayList<>(7);
+            for (JSONObject json : result) {
+                xData.add(json.getString("time"));
+                czxz.add(json.getInteger("czxz"));
+                czjs.add(json.getInteger("czjs"));
+                hjxz.add(json.getInteger("hjxz"));
+                hjjs.add(json.getInteger("hjjs"));
+            }
 
-        // 处理成图表格式
-        List<String> xData = new ArrayList<>(7);
-        List<Integer> czxz = new ArrayList<>(7);
-        List<Integer> czjs = new ArrayList<>(7);
-        List<Integer> hjxz = new ArrayList<>(7);
-        List<Integer> hjjs = new ArrayList<>(7);
-        for (JSONObject jsonObject : result) {
-            xData.add(jsonObject.getString("time"));
-            czxz.add(jsonObject.getInteger("czxz"));
-            czjs.add(jsonObject.getInteger("czjs"));
-            hjxz.add(jsonObject.getInteger("hjxz"));
-            hjjs.add(jsonObject.getInteger("hjjs"));
-        }
 
-        JSONObject resultData = new JSONObject(5);
-        resultData.put("time", xData);
-        resultData.put("czxz", czxz);
-        resultData.put("czjs", czjs);
-        resultData.put("hjxz", hjxz);
-        resultData.put("hjjs", hjjs);
-        return resultData;
+            resultData.put("time", xData);
+            resultData.put("czxz", czxz);
+            resultData.put("czjs", czjs);
+            resultData.put("hjxz", hjxz);
+            resultData.put("hjjs", hjjs);
+            ECHARTS_LINE = resultData;
+            redisService.setCacheObject("hjczLine", resultData);
+        });
+
+        return ECHARTS_LINE;
     }
 
     /**