459242451@qq.com 3 жил өмнө
parent
commit
614c1c5149

+ 8 - 9
ruoyi-admin/src/main/java/com/ruoyi/web/controller/task/NoticeInfoListiner.java

@@ -33,6 +33,7 @@ import com.ruoyi.zhdd.service.IIncidentService;
 import com.ruoyi.zhdd.service.IIncidentTaskService;
 import com.ruoyi.zhdd.service.IIncidentUserService;
 import com.ruoyi.zhdd.service.ISmsOutboxService;
+import com.ruoyi.zhdd.service.IThirdInterfaceService;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -67,6 +68,7 @@ public class NoticeInfoListiner {
     private final IIncidentUserService incidentUserService;
     private final ISysDictDataService dictDataService;
     private final ISysDeptService sysDeptService;
+    private final IThirdInterfaceService thirdInterfaceService;
 
     @Value("${spring.profiles.active}")
     private String env;
@@ -415,15 +417,12 @@ public class NoticeInfoListiner {
         });
     }
 
-    public static void main(String[] args) {
-        MessagePushBo messagePushBo = new MessagePushBo();
-        List<MessagePushUser> list = new ArrayList<>();
-        MessagePushUser messagePushUser = new MessagePushUser();
-        messagePushUser.setUserId("231");
-        messagePushUser.setReadState("1");
-        list.add(messagePushUser);
-        messagePushBo.setMessageReadInfoList(list);
-        System.out.println(messagePushBo);
+    /**
+     * APP信息更新
+     */
+    @Bean
+    public void appUpdate() {
+        RedisUtils.subscribe(Constants.UPDATE_APP_PUSH, String.class, thirdInterfaceService::updateAppInfo);
     }
 
 }

+ 58 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/task/ScheduleTask.java

@@ -0,0 +1,58 @@
+package com.ruoyi.web.controller.task;
+
+import cn.hutool.core.util.NumberUtil;
+import com.ruoyi.common.constant.Constants;
+import com.ruoyi.common.utils.RedisUtils;
+import com.ruoyi.zhdd.service.*;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Async;
+import org.springframework.scheduling.annotation.EnableAsync;
+import org.springframework.scheduling.annotation.EnableScheduling;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import java.math.BigDecimal;
+
+/**
+ * @Description: TODO
+ * @Author: huangcheng
+ * @Date: 2022/7/5
+ * @Version V1.0
+ */
+@Component
+@EnableScheduling   // 1.开启定时任务
+@EnableAsync        // 2.开启多线程
+@Slf4j
+@RequiredArgsConstructor(onConstructor_ = @Autowired)
+public class ScheduleTask {
+
+    private final IChemicalDataService chemicalDataService;
+    private final IDutyReportService dutyReportService;
+    private final IDutyReportRecordService dutyReportRecordService;
+    private final IIncidentService incidentService;
+    private final IIncidentProcessService incidentProcessService;
+    private final IIncidentTaskService incidentTaskService;
+    private final IPlanService planService;
+    private final IResourceService resourceService;
+    private final IResourceDetailService resourceDetailService;
+
+
+    @Async
+    @Scheduled(cron = "0 0 0/1 * * ?")
+    public void countTable() {
+        log.info("开始计算表数据量");
+        long count = chemicalDataService.count();
+        long count1 = dutyReportService.count();
+        long count2 = dutyReportRecordService.count();
+        long count3 = incidentService.count();
+        long count4 = incidentProcessService.count();
+        long count5 = incidentTaskService.count();
+        long count6 = planService.count();
+        long count7 = resourceService.count();
+        long count8 = resourceDetailService.count();
+        BigDecimal add = NumberUtil.add(count, count1, count2, count3, count4, count5, count6, count7, count8);
+        RedisUtils.setCacheObject(Constants.DATA_TOTAL_COUNT, add);
+    }
+}

+ 4 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhdd/DhController.java

@@ -7,7 +7,9 @@ package com.ruoyi.web.controller.zhdd;
  * @Version V1.0
  */
 
+import com.ruoyi.common.constant.Constants;
 import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.utils.RedisUtils;
 import com.ruoyi.zhdd.service.IDhService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -41,12 +43,14 @@ public class DhController {
     @ApiOperation("获取大华token")
     @GetMapping("/getVideoToken")
     public AjaxResult getToken(@RequestParam(required = false) String account) {
+        RedisUtils.publish(Constants.UPDATE_APP_PUSH, "hd");
         return AjaxResult.success(dhService.getVideoToken(account));
     }
 
     @ApiOperation("获取大华tokenV2.用于PC端业务")
     @GetMapping("/v2/getVideoToken")
     public AjaxResult getTokenV2() {
+        RedisUtils.publish(Constants.UPDATE_APP_PUSH, "pc");
         return AjaxResult.success(dhService.getVideoToken(dhAccount));
     }
 

+ 9 - 1
ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhdd/IncidentController.java

@@ -203,7 +203,15 @@ public class IncidentController extends BaseController {
         }
         map.put("planFile", planFileVos);
         // 查询处置方案
-        map.put("task", incidentTaskService.listTaskInfo(id));
+        List<IncidentTaskVo> incidentTaskVos = incidentTaskService.listTaskInfo(id);
+        map.put("task", incidentTaskVos);
+        // 查询应急资源待办的发送时间
+        Date resourceSendTime = null;
+        Optional<IncidentTaskVo> any = incidentTaskVos.stream().filter(a -> StrUtil.equals(a.getSendFlag(), "3") && StrUtil.equals(a.getTaskSend(), "1")).findAny();
+        if (any.isPresent()) {
+            resourceSendTime = any.get().getCreateTime();
+        }
+        map.put("resourceSendTime", resourceSendTime);
         List<IncidentProcess> list = processService.list(Wrappers.<IncidentProcess>lambdaQuery()
             .eq(IncidentProcess::getIncidentId, id)
 //            .in(IncidentProcess::getIncidentStatus, 3, 4, 5)

+ 7 - 0
ruoyi-common/src/main/java/com/ruoyi/common/constant/Constants.java

@@ -164,4 +164,11 @@ public class Constants {
      * 大华tokon缓存=用于刷新
      */
     public static final String CACHE_DH_TOKEN_REFRESH = "dh:token:refresh";
+
+    public static final String DATA_TOTAL_COUNT = "dataTotalCount";
+    public static final String VISIT_PC = "visit:pc";
+    public static final String VISIT_HD = "visit:hd";
+
+    public static final String UPDATE_APP_PUSH = "appUpdate_push";
+
 }

+ 10 - 0
ruoyi-common/src/main/java/com/ruoyi/common/utils/RedisUtils.java

@@ -72,6 +72,16 @@ public class RedisUtils {
     }
 
     /**
+     * 缓存值自增
+     *
+     * @param key
+     * @return
+     */
+    public static long incr(String key) {
+        return client.getAtomicLong(key).incrementAndGet();
+    }
+
+    /**
      * 缓存基本的对象,Integer、String、实体类等
      *
      * @param key      缓存的键值

+ 4 - 1
ruoyi-framework/src/main/java/com/ruoyi/framework/config/FeignConfig.java

@@ -58,6 +58,9 @@ public class FeignConfig {
                 }
                 requestTemplate.header(tokenProperties.getHeader(), token);
                 requestTemplate.header("user", user);
+            } else {
+                // 传递固定的用户信息
+                requestTemplate.header("user", "%7B%22principal%22%3A%7B%22userName%22%3A%22sqadmin1%22%2C%22orgId%22%3A%22255d0081f46f48f290109c373a73cfba%22%2C%22orgName%22%3A%22%E5%AE%BF%E8%BF%81%E5%B8%82%E4%BA%A4%E9%80%9A%E8%BF%90%E8%BE%93%E7%BB%BC%E5%90%88%E8%A1%8C%E6%94%BF%E6%89%A7%E6%B3%95%E6%94%AF%E9%98%9F%22%2C%22permissions%22%3A%5B%5D%7D%2C%22user_name%22%3A%22sqadmin1%22%2C%22scope%22%3A%5B%22all%22%2C%22PRODUCT_API%22%2C%22MEMBER_READ%22%5D%2C%22id%22%3A%22a4349c10bf454b3f83047734b5d742ff%22%2C%22exp%22%3A1657739822%2C%22jti%22%3A%22c4f70336-36e3-467f-b438-41664bf310c9%22%2C%22user_group_id%22%3A2%2C%22client_id%22%3A%22tpbd%22%2C%22username%22%3A%22sqadmin1%22%7D");
             }
         };
     }
@@ -79,7 +82,7 @@ public class FeignConfig {
 
     @Bean
     public Logger.Level feignLoggerLevel() {
-        return Logger.Level.BASIC;
+        return Logger.Level.FULL;
     }
 
     @Bean

+ 53 - 0
ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/domain/AppInfo.java

@@ -0,0 +1,53 @@
+package com.ruoyi.zhdd.domain;
+
+import lombok.Data;
+
+/**
+ * @Description: TODO
+ * @Author: huangcheng
+ * @Date: 2022/7/5
+ * @Version V1.0
+ */
+@Data
+public class AppInfo {
+    private String appId;
+
+    private String appName;
+    // 系统数据量
+    private Integer dataCount;
+
+    private String description;
+
+    private String endTime;
+
+    private String icon;
+
+    private String opPersonnel;
+
+    private String opTel;
+
+    private String opUnit;
+
+    private String projectLeadUnit;
+
+    private String projectLeadUnitLeader;
+
+    private String projectLeader;
+
+    private String projectName;
+
+    private String simpleappname;
+
+    private String startTime;
+
+    private String url;
+    // 系统用户数
+    private Integer userCount;
+
+    private String userUnit;
+
+    private String version;
+    // 系统使用量
+    private Integer visit;
+
+}

+ 11 - 0
ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/feign/FeignUserManageService.java

@@ -1,10 +1,14 @@
 package com.ruoyi.zhdd.feign;
 
+import cn.hutool.json.JSONObject;
+import com.ruoyi.zhdd.domain.AppInfo;
 import com.ruoyi.zhdd.domain.GatewayUserDetail;
 import com.ruoyi.zhdd.domain.GatewayUserPage;
 import com.ruoyi.zhdd.feign.fallback.FeignUserManageFallback;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestParam;
 
 /**
@@ -27,4 +31,11 @@ public interface FeignUserManageService {
     @GetMapping("/user/pageList")
     GatewayUserPage userPage(@RequestParam(value = "name") String name, @RequestParam(value = "pageNum") Integer pageNum, @RequestParam(value = "pageSize") Integer pageSize);
 
+    /**
+     * 第三方进行更新应用操作
+     *
+     * @return
+     */
+    @PostMapping("/app/updateApp/systemInfo")
+    JSONObject updateSystemInfo(@RequestBody AppInfo appInfo);
 }

+ 8 - 0
ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/feign/fallback/FeignUserManageFallback.java

@@ -1,5 +1,7 @@
 package com.ruoyi.zhdd.feign.fallback;
 
+import cn.hutool.json.JSONObject;
+import com.ruoyi.zhdd.domain.AppInfo;
 import com.ruoyi.zhdd.domain.GatewayUserDetail;
 import com.ruoyi.zhdd.domain.GatewayUserPage;
 import com.ruoyi.zhdd.feign.FeignUserManageService;
@@ -28,4 +30,10 @@ public class FeignUserManageFallback implements FeignUserManageService {
         log.error("获取用户列表失败");
         return null;
     }
+
+    @Override
+    public JSONObject updateSystemInfo(AppInfo appInfo) {
+        log.error("更新应用信息失败");
+        return null;
+    }
 }

+ 2 - 0
ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/service/IThirdInterfaceService.java

@@ -8,4 +8,6 @@ package com.ruoyi.zhdd.service;
  */
 public interface IThirdInterfaceService {
 
+    void updateAppInfo(String channel);
+
 }

Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 14 - 0
ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/service/impl/ThirdInterfaceServiceImpl.java


Энэ ялгаанд хэт олон файл өөрчлөгдсөн тул зарим файлыг харуулаагүй болно