Browse Source

对接蓝太平洋

bihuisong 3 months ago
parent
commit
19f2ab3e9c
34 changed files with 390 additions and 211 deletions
  1. 13 6
      ruoyi-admin/src/main/java/com/ruoyi/RuoYiApplication.java
  2. 188 76
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/visual/VisualController.java
  3. 2 1
      ruoyi-admin/src/main/resources/static/js/socket.js
  4. 14 1
      ruoyi-admin/src/main/resources/static/style/base.css
  5. 12 12
      ruoyi-admin/src/main/resources/templates/InteractiveColumns.html
  6. 10 6
      ruoyi-admin/src/main/resources/templates/censusIndicators.html
  7. 19 6
      ruoyi-admin/src/main/resources/templates/dailyUpdateVolume.html
  8. 20 4
      ruoyi-admin/src/main/resources/templates/dailyVisits.html
  9. 13 13
      ruoyi-admin/src/main/resources/templates/misunderstanding.html
  10. 2 2
      ruoyi-admin/src/main/resources/templates/staggeredChain.html
  11. 11 10
      ruoyi-admin/src/main/resources/templates/usability.html
  12. 5 7
      ruoyi-admin/src/main/resources/templates/websiteAccess.html
  13. 1 1
      ruoyi-system/src/main/java/com/ruoyi/system/domain/CountyAndDistrictMisprint.java
  14. 1 1
      ruoyi-system/src/main/java/com/ruoyi/system/domain/MunicipalMisprint.java
  15. 7 2
      ruoyi-system/src/main/java/com/ruoyi/system/service/impl/AreaInteractiveColumnsServiceImpl.java
  16. 2 2
      ruoyi-system/src/main/java/com/ruoyi/system/service/impl/CensusElementsServiceImpl.java
  17. 2 2
      ruoyi-system/src/main/java/com/ruoyi/system/service/impl/CensusItemNegativeInformationServiceImpl.java
  18. 8 8
      ruoyi-system/src/main/java/com/ruoyi/system/service/impl/ColumnPageViewServiceImpl.java
  19. 2 2
      ruoyi-system/src/main/java/com/ruoyi/system/service/impl/CountyAndDistrictMisprintServiceImpl.java
  20. 2 2
      ruoyi-system/src/main/java/com/ruoyi/system/service/impl/CountyDailyTrafficRankingServiceImpl.java
  21. 2 2
      ruoyi-system/src/main/java/com/ruoyi/system/service/impl/CountyDailyUpdateRankingServiceImpl.java
  22. 7 2
      ruoyi-system/src/main/java/com/ruoyi/system/service/impl/CountyInteractiveColumnsServiceImpl.java
  23. 2 2
      ruoyi-system/src/main/java/com/ruoyi/system/service/impl/DailyTrafficRankingServiceImpl.java
  24. 2 2
      ruoyi-system/src/main/java/com/ruoyi/system/service/impl/DailyUpdateRankingServiceImpl.java
  25. 2 3
      ruoyi-system/src/main/java/com/ruoyi/system/service/impl/MunicipalErrorLinkMonitorServiceImpl.java
  26. 7 2
      ruoyi-system/src/main/java/com/ruoyi/system/service/impl/MunicipalInteractiveColumnsServiceImpl.java
  27. 2 2
      ruoyi-system/src/main/java/com/ruoyi/system/service/impl/MunicipalMisprintServiceImpl.java
  28. 2 2
      ruoyi-system/src/main/java/com/ruoyi/system/service/impl/PopularInformationServiceImpl.java
  29. 2 2
      ruoyi-system/src/main/java/com/ruoyi/system/service/impl/UnableToAccessWebsiteListTodayImpl.java
  30. 9 9
      ruoyi-system/src/main/java/com/ruoyi/system/service/impl/VisitingWebsiteRankingServiceImpl.java
  31. 9 9
      ruoyi-system/src/main/java/com/ruoyi/system/service/impl/WebSiteTenDaysHitsServiceImpl.java
  32. 2 2
      ruoyi-system/src/main/java/com/ruoyi/system/service/impl/WebsiteAvailabilityMonitorServiceImpl.java
  33. 4 4
      ruoyi-system/src/main/resources/mapper/system/CountyAndDistrictMisprintMapper.xml
  34. 4 4
      ruoyi-system/src/main/resources/mapper/system/MunicipalMisprintMapper.xml

+ 13 - 6
ruoyi-admin/src/main/java/com/ruoyi/RuoYiApplication.java

@@ -3,19 +3,26 @@ package com.ruoyi;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
 import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
+import org.springframework.context.annotation.Bean;
+import org.springframework.scheduling.annotation.EnableScheduling;
+import org.springframework.web.client.RestTemplate;
 
 
 /**
 /**
  * 启动程序
  * 启动程序
- * 
+ *
  * @author ruoyi
  * @author ruoyi
  */
  */
-@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class })
-public class RuoYiApplication
-{
-    public static void main(String[] args)
-    {
+@EnableScheduling // 启用定时任务
+@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})
+public class RuoYiApplication {
+    public static void main(String[] args) {
         // System.setProperty("spring.devtools.restart.enabled", "false");
         // System.setProperty("spring.devtools.restart.enabled", "false");
         SpringApplication.run(RuoYiApplication.class, args);
         SpringApplication.run(RuoYiApplication.class, args);
         System.out.println("(♥◠‿◠)ノ゙  启动成功   ლ(´ڡ`ლ)゙");
         System.out.println("(♥◠‿◠)ノ゙  启动成功   ლ(´ڡ`ლ)゙");
     }
     }
+
+    @Bean
+    public RestTemplate restTemplate() {
+        return new RestTemplate();
+    }
 }
 }

+ 188 - 76
ruoyi-admin/src/main/java/com/ruoyi/web/controller/visual/VisualController.java

@@ -1,6 +1,8 @@
 package com.ruoyi.web.controller.visual;
 package com.ruoyi.web.controller.visual;
 
 
 
 
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
 import com.ruoyi.system.domain.*;
 import com.ruoyi.system.domain.*;
 import com.ruoyi.common.core.domain.Result;
 import com.ruoyi.common.core.domain.Result;
 import com.ruoyi.system.dto.VisitingWebsiteRankingDTO;
 import com.ruoyi.system.dto.VisitingWebsiteRankingDTO;
@@ -8,12 +10,21 @@ import com.ruoyi.system.dto.WebSiteTenDaysHitsDTO;
 import com.ruoyi.system.service.*;
 import com.ruoyi.system.service.*;
 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.http.HttpEntity;
+import org.springframework.http.HttpHeaders;
+import org.springframework.http.MediaType;
+import org.springframework.http.ResponseEntity;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.http.*;
+import org.springframework.web.client.RestTemplate;
+
 
 
 import java.util.List;
 import java.util.List;
-import java.util.Map;
 
 
 @Slf4j
 @Slf4j
+@Component
 @RestController
 @RestController
 @RequestMapping("/api/webSite/")
 @RequestMapping("/api/webSite/")
 public class VisualController {
 public class VisualController {
@@ -54,15 +65,20 @@ public class VisualController {
     private IAreaInteractiveColumnsService areaInteractiveColumnsService;
     private IAreaInteractiveColumnsService areaInteractiveColumnsService;
     @Autowired
     @Autowired
     private ICountyInteractiveColumnsService countyInteractiveColumnsService;
     private ICountyInteractiveColumnsService countyInteractiveColumnsService;
-
+    @Autowired
+    private RestTemplate restTemplate;
+    private final String postUrl = "http://175.22.1.26:8080";
+    private final String authorization = "Bearer ";
 
 
     /**
     /**
      * 网站可用性实时监测-数据推送接口
      * 网站可用性实时监测-数据推送接口
      */
      */
-    @PostMapping("putWebsiteAvailabilityMonitor")
-    @ResponseBody
-    public Result<?> insertBatchWebsiteAvailabilityMonitor(@RequestBody List<WebsiteAvailabilityMonitor> list) {
-        log.info("网站可用性实时监测:{}",list);
+    @Scheduled(cron = "0/10 * * * * ?")
+    public Result<?> insertBatchWebsiteAvailabilityMonitor() {
+        log.info("网站可用性实时监测执行,时间:" + System.currentTimeMillis());
+        String token = getToken();
+        JSONObject jsonObject = getDatasource("/api/webSite/putWebsiteAvailabilityMonitor", token);
+        List<WebsiteAvailabilityMonitor> list = JSON.parseArray(jsonObject.get("data").toString(), WebsiteAvailabilityMonitor.class);
         websiteAvailabilityMonitorService.insertBatch(list);
         websiteAvailabilityMonitorService.insertBatch(list);
         return Result.ok();
         return Result.ok();
     }
     }
@@ -70,10 +86,12 @@ public class VisualController {
     /**
     /**
      * 本日无法访问网站列表-数据推送接口
      * 本日无法访问网站列表-数据推送接口
      */
      */
-    @PostMapping("putUnableToAccessWebsiteListToday")
-    @ResponseBody
-    public Result<?> insertBatchUnableToAccessWebsiteListToday(@RequestBody List<UnableToAccessWebsiteListToday> list) {
-        log.info("本日无法访问网站列表:{}",list);
+    @Scheduled(cron = "0/10 * * * * ?")
+    public Result<?> insertBatchUnableToAccessWebsiteListToday() {
+        log.info("本日无法访问网站列表,时间:" + System.currentTimeMillis());
+        String token = getToken();
+        JSONObject jsonObject = getDatasource("/api/webSite/putUnableToAccessWebsiteListToday", token);
+        List<UnableToAccessWebsiteListToday> list = JSON.parseArray(jsonObject.get("data").toString(), UnableToAccessWebsiteListToday.class);
         unableToAccessWebsiteListTodayService.insertBatch(list);
         unableToAccessWebsiteListTodayService.insertBatch(list);
         return Result.ok();
         return Result.ok();
     }
     }
@@ -81,32 +99,38 @@ public class VisualController {
     /**
     /**
      * 市政府网站十日内点击量-数据推送接口
      * 市政府网站十日内点击量-数据推送接口
      */
      */
-    @PostMapping("putWebSiteTenDaysHits")
-    @ResponseBody
-    public Result<?> insertBatchWebSiteTenDaysHits(@RequestBody WebSiteTenDaysHitsDTO dto) {
-        log.info("市政府网站十日内点击量:{}",dto);
-        webSiteTenDaysHitsService.insertBatch(dto);
+    @Scheduled(cron = "0/10 * * * * ?")
+    public Result<?> insertBatchWebSiteTenDaysHits() {
+        log.info("市政府网站十日内点击量:" + System.currentTimeMillis());
+        String token = getToken();
+        JSONObject jsonObject = getDatasource("/api/webSite/putWebSiteTenDaysHits", token);
+        List<WebSiteTenDaysHitsDTO> list = JSON.parseArray(jsonObject.get("data").toString(), WebSiteTenDaysHitsDTO.class);
+        webSiteTenDaysHitsService.insertBatch(list.get(0));
         return Result.ok();
         return Result.ok();
     }
     }
 
 
     /**
     /**
      * 市政府门户网站访问情况监测-全国各省访问吉林市政府网站排名-数据推送接口
      * 市政府门户网站访问情况监测-全国各省访问吉林市政府网站排名-数据推送接口
      */
      */
-    @PostMapping("putVisitingWebsiteRanking")
-    @ResponseBody
-    public Result<?> insertBatchVisitingWebsiteRanking(@RequestBody VisitingWebsiteRankingDTO dto) {
-        log.info("全国各省访问吉林市政府网站排名:{}",dto);
-        visitingWebsiteRankingService.insertBatch(dto);
+    @Scheduled(cron = "0/10 * * * * ?")
+    public Result<?> insertBatchVisitingWebsiteRanking() {
+        log.info("全国各省访问吉林市政府网站排名:" + System.currentTimeMillis());
+        String token = getToken();
+        JSONObject jsonObject = getDatasource("/api/webSite/putVisitingWebsiteRanking", token);
+        List<VisitingWebsiteRankingDTO> list = JSON.parseArray(jsonObject.get("data").toString(), VisitingWebsiteRankingDTO.class);
+        visitingWebsiteRankingService.insertBatch(list.get(0));
         return Result.ok();
         return Result.ok();
     }
     }
 
 
     /**
     /**
      * 市政府门户网站访问情况监测-门户网站栏目浏览量排名-数据推送接口
      * 市政府门户网站访问情况监测-门户网站栏目浏览量排名-数据推送接口
      */
      */
-    @PostMapping("putColumnPageView")
-    @ResponseBody
-    public Result<?> insertColumnPageView(@RequestBody List<ColumnPageView> list) {
-        log.info("门户网站栏目浏览量排名:{}",list);
+    @Scheduled(cron = "0/10 * * * * ?")
+    public Result<?> insertColumnPageView() {
+        log.info("门户网站栏目浏览量排名:" + System.currentTimeMillis());
+        String token = getToken();
+        JSONObject jsonObject = getDatasource("/api/webSite/putColumnPageView", token);
+        List<ColumnPageView> list = JSON.parseArray(jsonObject.get("data").toString(), ColumnPageView.class);
         columnPageViewService.insertBatch(list);
         columnPageViewService.insertBatch(list);
         return Result.ok();
         return Result.ok();
     }
     }
@@ -114,10 +138,12 @@ public class VisualController {
     /**
     /**
      * 市政府门户网站访问情况监测-每日最受欢迎信息排名-数据推送接口
      * 市政府门户网站访问情况监测-每日最受欢迎信息排名-数据推送接口
      */
      */
-    @PostMapping("putPopularInformation")
-    @ResponseBody
-    public Result<?> insertPopularInformation(@RequestBody List<PopularInformation> list) {
-        log.info("每日最受欢迎信息排名:{}",list);
+    @Scheduled(cron = "0/10 * * * * ?")
+    public Result<?> insertPopularInformation() {
+        log.info("每日最受欢迎信息排名:" + System.currentTimeMillis());
+        String token = getToken();
+        JSONObject jsonObject = getDatasource("/api/webSite/putPopularInformation", token);
+        List<PopularInformation> list = JSON.parseArray(jsonObject.get("data").toString(), PopularInformation.class);
         popularInformationService.insertBatch(list);
         popularInformationService.insertBatch(list);
         return Result.ok();
         return Result.ok();
     }
     }
@@ -125,10 +151,12 @@ public class VisualController {
     /**
     /**
      * 市政府门户网站错别字监测-市政府工作部门-数据推送接口
      * 市政府门户网站错别字监测-市政府工作部门-数据推送接口
      */
      */
-    @PostMapping("putMunicipalMisprint")
-    @ResponseBody
-    public Result<?> insertMunicipalMisprint(@RequestBody List<MunicipalMisprint> list) {
-        log.info("市政府门户网站错别字监测-市政府工作部门:{}",list);
+    @Scheduled(cron = "0/10 * * * * ?")
+    public Result<?> insertMunicipalMisprint() {
+        log.info("市政府门户网站错别字监测-市政府工作部门:" + System.currentTimeMillis());
+        String token = getToken();
+        JSONObject jsonObject = getDatasource("/api/webSite/putMunicipalMisprint", token);
+        List<MunicipalMisprint> list = JSON.parseArray(jsonObject.get("data").toString(), MunicipalMisprint.class);
         municipalMisprintService.insertBatch(list);
         municipalMisprintService.insertBatch(list);
         return Result.ok();
         return Result.ok();
     }
     }
@@ -136,10 +164,12 @@ public class VisualController {
     /**
     /**
      * 市政府门户网站错别字监测-县(市)区政府-数据推送接口
      * 市政府门户网站错别字监测-县(市)区政府-数据推送接口
      */
      */
-    @PostMapping("putCountyAndDistrictMisprint")
-    @ResponseBody
-    public Result<?> insertCountyAndDistrictMisprint(@RequestBody List<CountyAndDistrictMisprint> list) {
-        log.info("市政府门户网站错别字监测-县(市)区政府:{}",list);
+    @Scheduled(cron = "0/10 * * * * ?")
+    public Result<?> insertCountyAndDistrictMisprint() {
+        log.info("市政府门户网站错别字监测-县(市)区政府:" + System.currentTimeMillis());
+        String token = getToken();
+        JSONObject jsonObject = getDatasource("/api/webSite/putCountyAndDistrictMisprint", token);
+        List<CountyAndDistrictMisprint> list = JSON.parseArray(jsonObject.get("data").toString(), CountyAndDistrictMisprint.class);
         countyAndDistrictMisprintService.insertBatch(list);
         countyAndDistrictMisprintService.insertBatch(list);
         return Result.ok();
         return Result.ok();
     }
     }
@@ -147,10 +177,12 @@ public class VisualController {
     /**
     /**
      * 市政府门户网站错误链接监测-市政府门户网站错误链接监测-数据推送接口
      * 市政府门户网站错误链接监测-市政府门户网站错误链接监测-数据推送接口
      */
      */
-    @PostMapping("putMunicipalErrorLinkMonitor")
-    @ResponseBody
-    public Result<?> insertMunicipalErrorLinkMonitor(@RequestBody List<MunicipalErrorLinkMonitor> list) {
-        log.info("市政府门户网站错误链接监测-市政府门户网站错误链接监测:{}",list);
+    @Scheduled(cron = "0/10 * * * * ?")
+    public Result<?> insertMunicipalErrorLinkMonitor() {
+        log.info("市政府门户网站错误链接监测-市政府门户网站错误链接监测:" + System.currentTimeMillis());
+        String token = getToken();
+        JSONObject jsonObject = getDatasource("/api/webSite/putMunicipalErrorLinkMonitor", token);
+        List<MunicipalErrorLinkMonitor> list = JSON.parseArray(jsonObject.get("data").toString(), MunicipalErrorLinkMonitor.class);
         municipalErrorLinkMonitorService.insertBatch(list);
         municipalErrorLinkMonitorService.insertBatch(list);
         return Result.ok();
         return Result.ok();
     }
     }
@@ -158,10 +190,12 @@ public class VisualController {
     /**
     /**
      * 网站普查指标监测-网站普查要素-数据推送接口
      * 网站普查指标监测-网站普查要素-数据推送接口
      */
      */
-    @PostMapping("putCensusElements")
-    @ResponseBody
-    public Result<?> insertCensusElements(@RequestBody List<CensusElements> list) {
-        log.info("网站普查指标监测-网站普查要素:{}",list);
+    @Scheduled(cron = "0/10 * * * * ?")
+    public Result<?> insertCensusElements() {
+        log.info("网站普查指标监测-网站普查要素:" + System.currentTimeMillis());
+        String token = getToken();
+        JSONObject jsonObject = getDatasource("/api/webSite/putCensusElements", token);
+        List<CensusElements> list = JSON.parseArray(jsonObject.get("data").toString(), CensusElements.class);
         censusElementsService.insertBatch(list);
         censusElementsService.insertBatch(list);
         return Result.ok();
         return Result.ok();
     }
     }
@@ -169,10 +203,12 @@ public class VisualController {
     /**
     /**
      * 网站普查指标监测-网站普查单项否信息-数据推送接口
      * 网站普查指标监测-网站普查单项否信息-数据推送接口
      */
      */
-    @PostMapping("putCensusItemNegativeInformation")
-    @ResponseBody
-    public Result<?> insertCensusItemNegativeInformation(@RequestBody List<CensusItemNegativeInformation> list) {
-        log.info("网站普查指标监测-网站普查单项否信息:{}",list);
+    @Scheduled(cron = "0/10 * * * * ?")
+    public Result<?> insertCensusItemNegativeInformation() {
+        log.info("网站普查指标监测-网站普查单项否信息:" + System.currentTimeMillis());
+        String token = getToken();
+        JSONObject jsonObject = getDatasource("/api/webSite/putCensusItemNegativeInformation", token);
+        List<CensusItemNegativeInformation> list = JSON.parseArray(jsonObject.get("data").toString(), CensusItemNegativeInformation.class);
         censusItemNegativeInformationService.insertBatch(list);
         censusItemNegativeInformationService.insertBatch(list);
         return Result.ok();
         return Result.ok();
     }
     }
@@ -180,10 +216,12 @@ public class VisualController {
     /**
     /**
      * 市直部门日更新访问量排名-市直部门日访问量排名-数据推送接口
      * 市直部门日更新访问量排名-市直部门日访问量排名-数据推送接口
      */
      */
-    @PostMapping("putDailyTrafficRanking")
-    @ResponseBody
-    public Result<?> insertDailyTrafficRanking(@RequestBody List<DailyTrafficRanking> list) {
-        log.info("市直部门日更新访问量排名-市直部门日访问量排名:{}",list);
+    @Scheduled(cron = "0/10 * * * * ?")
+    public Result<?> insertDailyTrafficRanking() {
+        log.info("市直部门日更新访问量排名-市直部门日访问量排名:" + System.currentTimeMillis());
+        String token = getToken();
+        JSONObject jsonObject = getDatasource("/api/webSite/putDailyTrafficRanking", token);
+        List<DailyTrafficRanking> list = JSON.parseArray(jsonObject.get("data").toString(), DailyTrafficRanking.class);
         dailyTrafficRankingService.insertBatch(list);
         dailyTrafficRankingService.insertBatch(list);
         return Result.ok();
         return Result.ok();
     }
     }
@@ -191,10 +229,12 @@ public class VisualController {
     /**
     /**
      * 市直部门日更新访问量排名-市直部门日更新量排名-数据推送接口
      * 市直部门日更新访问量排名-市直部门日更新量排名-数据推送接口
      */
      */
-    @PostMapping("putDailyUpdateRanking")
-    @ResponseBody
-    public Result<?> insertDailyUpdateRanking(@RequestBody List<DailyUpdateRanking> list) {
-        log.info("市直部门日更新访问量排名-市直部门日更新量排名:{}",list);
+    @Scheduled(cron = "0/10 * * * * ?")
+    public Result<?> insertDailyUpdateRanking() {
+        log.info("市直部门日更新访问量排名-市直部门日更新量排名:" + System.currentTimeMillis());
+        String token = getToken();
+        JSONObject jsonObject = getDatasource("/api/webSite/putDailyUpdateRanking", token);
+        List<DailyUpdateRanking> list = JSON.parseArray(jsonObject.get("data").toString(), DailyUpdateRanking.class);
         dailyUpdateRankingService.insertBatch(list);
         dailyUpdateRankingService.insertBatch(list);
         return Result.ok();
         return Result.ok();
     }
     }
@@ -202,10 +242,12 @@ public class VisualController {
     /**
     /**
      * 县(市)区政府日更新访问量排名-县(市)区政府日访问量排名-数据推送接口
      * 县(市)区政府日更新访问量排名-县(市)区政府日访问量排名-数据推送接口
      */
      */
-    @PostMapping("putCountyDailyTrafficRanking")
-    @ResponseBody
-    public Result<?> insertCountyDailyTrafficRanking(@RequestBody List<CountyDailyTrafficRanking> list) {
-        log.info("县(市)区政府日更新访问量排名-县(市)区政府日访问量排名:{}",list);
+    @Scheduled(cron = "0/10 * * * * ?")
+    public Result<?> insertCountyDailyTrafficRanking() {
+        log.info("县(市)区政府日更新访问量排名-县(市)区政府日访问量排名:" + System.currentTimeMillis());
+        String token = getToken();
+        JSONObject jsonObject = getDatasource("/api/webSite/putCountyDailyTrafficRanking", token);
+        List<CountyDailyTrafficRanking> list = JSON.parseArray(jsonObject.get("data").toString(), CountyDailyTrafficRanking.class);
         countyDailyTrafficRankingService.insertBatch(list);
         countyDailyTrafficRankingService.insertBatch(list);
         return Result.ok();
         return Result.ok();
     }
     }
@@ -213,10 +255,12 @@ public class VisualController {
     /**
     /**
      * 县(市)区政府日更新访问量排名 - 县(市)区政府日更新量排名-数据推送接口
      * 县(市)区政府日更新访问量排名 - 县(市)区政府日更新量排名-数据推送接口
      */
      */
-    @PostMapping("putCountyDailyUpdateRanking")
-    @ResponseBody
-    public Result<?> insertCountyDailyUpdateRanking(@RequestBody List<CountyDailyUpdateRanking> list) {
-        log.info("县(市)区政府日更新访问量排名 - 县(市)区政府日更新量排名:{}",list);
+    @Scheduled(cron = "0/10 * * * * ?")
+    public Result<?> insertCountyDailyUpdateRanking() {
+        log.info("县(市)区政府日更新访问量排名 - 县(市)区政府日更新量排名:" + System.currentTimeMillis());
+        String token = getToken();
+        JSONObject jsonObject = getDatasource("/api/webSite/putCountyDailyUpdateRanking", token);
+        List<CountyDailyUpdateRanking> list = JSON.parseArray(jsonObject.get("data").toString(), CountyDailyUpdateRanking.class);
         countyDailyUpdateRankingService.insertBatch(list);
         countyDailyUpdateRankingService.insertBatch(list);
         return Result.ok();
         return Result.ok();
     }
     }
@@ -224,10 +268,12 @@ public class VisualController {
     /**
     /**
      * 市政府网站群互动类栏目更新情况-市直部门-数据推送接口
      * 市政府网站群互动类栏目更新情况-市直部门-数据推送接口
      */
      */
-    @PostMapping("putMunicipalInteractiveColumns")
-    @ResponseBody
-    public Result<?> insertMunicipalInteractiveColumns(@RequestBody List<MunicipalInteractiveColumns> list) {
-        log.info("市政府网站群互动类栏目更新情况-市直部门:{}",list);
+    @Scheduled(cron = "0/5 * * * * ?")
+    public Result<?> insertMunicipalInteractiveColumns() {
+        log.info("市政府网站群互动类栏目更新情况-市直部门:" + System.currentTimeMillis());
+        String token = getToken();
+        JSONObject jsonObject = getDatasource("/api/webSite/putMunicipalInteractiveColumns", token);
+        List<MunicipalInteractiveColumns> list = JSON.parseArray(jsonObject.get("data").toString(), MunicipalInteractiveColumns.class);
         municipalInteractiveColumnsService.insertBatch(list);
         municipalInteractiveColumnsService.insertBatch(list);
         return Result.ok();
         return Result.ok();
     }
     }
@@ -235,10 +281,12 @@ public class VisualController {
     /**
     /**
      * 市政府网站群互动类栏目更新情况-区、开发区-数据推送接口
      * 市政府网站群互动类栏目更新情况-区、开发区-数据推送接口
      */
      */
-    @PostMapping("putAreaInteractiveColumns")
-    @ResponseBody
-    public Result<?> insertAreaInteractiveColumns(@RequestBody List<AreaInteractiveColumns> list) {
-        log.info("市政府网站群互动类栏目更新情况-区、开发区:{}",list);
+    @Scheduled(cron = "0/10 * * * * ?")
+    public Result<?> insertAreaInteractiveColumns() {
+        log.info("市政府网站群互动类栏目更新情况-区、开发区:" + System.currentTimeMillis());
+        String token = getToken();
+        JSONObject jsonObject = getDatasource("/api/webSite/putAreaInteractiveColumns", token);
+        List<AreaInteractiveColumns> list = JSON.parseArray(jsonObject.get("data").toString(), AreaInteractiveColumns.class);
         areaInteractiveColumnsService.insertBatch(list);
         areaInteractiveColumnsService.insertBatch(list);
         return Result.ok();
         return Result.ok();
     }
     }
@@ -246,13 +294,77 @@ public class VisualController {
     /**
     /**
      * 市政府网站群互动类栏目更新情况告警展示-县(市)-数据推送接口
      * 市政府网站群互动类栏目更新情况告警展示-县(市)-数据推送接口
      */
      */
-    @PostMapping("putCountyInteractiveColumns")
-    @ResponseBody
-    public Result<?> insertCountyInteractiveColumns(@RequestBody List<CountyInteractiveColumns> list) {
-        log.info("市政府网站群互动类栏目更新情况告警展示-县(市):{}",list);
+    @Scheduled(cron = "0/15 * * * * ?")
+    public Result<?> insertCountyInteractiveColumns() {
+        log.info("市政府网站群互动类栏目更新情况告警展示-县(市):" + System.currentTimeMillis());
+        String token = getToken();
+        JSONObject jsonObject = getDatasource("/api/webSite/putCountyInteractiveColumns", token);
+        List<CountyInteractiveColumns> list = JSON.parseArray(jsonObject.get("data").toString(), CountyInteractiveColumns.class);
         countyInteractiveColumnsService.insertBatch(list);
         countyInteractiveColumnsService.insertBatch(list);
         return Result.ok();
         return Result.ok();
     }
     }
 
 
 
 
+    // 获取 Token
+    public String getToken() {
+        // 请求 URL
+        String url = postUrl + "/auth/getToken";
+        // 请求头
+        HttpHeaders headers = new HttpHeaders();
+        headers.set("Accept", "*/*");
+        headers.set("Accept-Encoding", "gzip, deflate, br");
+        headers.set("User-Agent", "PostmanRuntime-ApipostRuntime/1.1.0");
+        headers.set("Connection", "keep-alive");
+        headers.setContentType(MediaType.APPLICATION_JSON);
+        // 请求体(JSON)
+        String requestBody = "{\"username\": \"admin\", \"password\": \"admin\"}";
+        // 封装请求实体
+        HttpEntity<String> requestEntity = new HttpEntity<>(requestBody, headers);
+        try {
+            // 发送 POST 请求
+            ResponseEntity<String> response = restTemplate.exchange(
+                    url,
+                    HttpMethod.POST,
+                    requestEntity,
+                    String.class
+            );
+            JSONObject json = JSONObject.parseObject(response.getBody());
+            return json.get("data").toString();
+        } catch (Exception e) {
+            log.error("获取 Token 失败: {}", e.getMessage());
+        }
+        return null;
+    }
+
+
+
+    // 获取 Token
+    public JSONObject getDatasource(String getUrl,String token) {
+        // 请求 URL
+        String url = postUrl + getUrl;
+        // 请求头
+        HttpHeaders headers = new HttpHeaders();
+        headers.set("Accept", "*/*");
+        headers.set("Accept-Encoding", "gzip, deflate, br");
+        headers.set("User-Agent", "PostmanRuntime-ApipostRuntime/1.1.0");
+        headers.set("Connection", "keep-alive");
+        headers.set("Authori-Zation",authorization + token);
+        // 封装请求实体
+        HttpEntity<String> requestEntity = new HttpEntity<>(null, headers);
+        try {
+            // 发送 POST 请求
+            ResponseEntity<String> response = restTemplate.exchange(
+                    url,
+                    HttpMethod.POST,
+                    requestEntity,
+                    String.class
+            );
+            return JSONObject.parseObject(response.getBody());
+        } catch (Exception e) {
+            log.error("请求这个接口 " + getUrl + " 失败: {}", e.getMessage());
+        }
+        return null;
+    }
+
+
 }
 }

+ 2 - 1
ruoyi-admin/src/main/resources/static/js/socket.js

@@ -95,7 +95,8 @@ WebSocketWithHeartbeat.prototype.close = function() {
 };
 };
 
 
 // 示例用法
 // 示例用法
-const socket = new WebSocketWithHeartbeat('ws://127.0.0.1:16006/ws');
+// const socket = new WebSocketWithHeartbeat('ws://192.168.4.9:16006/ws');
+const socket = new WebSocketWithHeartbeat('ws://175.22.1.26:16006/ws');
 
 
 socket.onOpen = function() {
 socket.onOpen = function() {
     console.log('连接已打开');
     console.log('连接已打开');

+ 14 - 1
ruoyi-admin/src/main/resources/static/style/base.css

@@ -390,4 +390,17 @@
 }
 }
 .ph-title-gx .title{
 .ph-title-gx .title{
   font-size: 14px !important;
   font-size: 14px !important;
-}
+}
+.flex-num{
+  display: flex;
+  align-items: baseline;
+  justify-content: end;
+
+}
+.num-dw{
+  font-size: 18px !important;
+  font-family: 'ysbth';
+  color: transparent;
+  background-image: linear-gradient(0deg, #003cff, #ffffff, #003cff);
+  background-clip: text;
+}

+ 12 - 12
ruoyi-admin/src/main/resources/templates/InteractiveColumns.html

@@ -49,7 +49,7 @@
                                     <div class="w30">
                                     <div class="w30">
                                         <span>
                                         <span>
                                             <div class="horizontal-percen">
                                             <div class="horizontal-percen">
-                                                <span th:style="'width:'+${item.municipalReply} + '%'"></span>
+                                                <span th:style="'width:'+${item.municipalReply}"></span>
                                             </div>
                                             </div>
                                         </span>
                                         </span>
                                     </div>
                                     </div>
@@ -82,7 +82,7 @@
                                     <div class="w30">
                                     <div class="w30">
                                         <span>
                                         <span>
                                             <div class="horizontal-percen">
                                             <div class="horizontal-percen">
-                                                <span th:style="'width:'+${item.areaReply} + '%'"></span>
+                                                <span th:style="'width:'+${item.areaReply}"></span>
                                             </div>
                                             </div>
                                         </span>
                                         </span>
                                     </div>
                                     </div>
@@ -115,7 +115,7 @@
                                     <div class="w30">
                                     <div class="w30">
                                         <span>
                                         <span>
                                             <div class="horizontal-percen">
                                             <div class="horizontal-percen">
-                                                <span th:style="'width:'+${item.countyReply} + '%'"></span>
+                                                <span th:style="'width:'+${item.countyReply}"></span>
                                             </div>
                                             </div>
                                         </span>
                                         </span>
                                     </div>
                                     </div>
@@ -162,7 +162,7 @@
             for (let i = 0; i < message.length; i++) {
             for (let i = 0; i < message.length; i++) {
                 document.getElementById("messageUlOne").innerHTML += "<li>\n" +
                 document.getElementById("messageUlOne").innerHTML += "<li>\n" +
                     `                 <div class="w20 flex-row ph-title-gx" style="padding-left: 0;">
                     `                 <div class="w20 flex-row ph-title-gx" style="padding-left: 0;">
-                                        <div class="ph-img-bg"><h3>1</h3></div>
+                                        <div class="ph-img-bg"><h3>${i + 1}</h3></div>
                                         <div class="title">${message[i].deptName}</div>
                                         <div class="title">${message[i].deptName}</div>
                                     </div>\n` +
                                     </div>\n` +
                     `               <div class="w30">
                     `               <div class="w30">
@@ -175,8 +175,8 @@
                     `                  <div class="w15"><span>${message[i].municipalReply}%</span></div>\n` +
                     `                  <div class="w15"><span>${message[i].municipalReply}%</span></div>\n` +
                     `                  <div class="w15"><span>${message[i].leaveCount}</span></div>\n` +
                     `                  <div class="w15"><span>${message[i].leaveCount}</span></div>\n` +
                     `                  <div class="w15"><span>${message[i].replyCount}</span></div>\n` +
                     `                  <div class="w15"><span>${message[i].replyCount}</span></div>\n` +
-                    `                  <img class="table-triangle-top" th:src="@{img/triangle.png}" />\n` +
-                    `                  <img class="table-triangle-btm" th:src="@{img/triangle.png}" />\n` +
+                    `                  <img class="table-triangle-top" src="../img/triangle.png" />\n` +
+                    `                  <img class="table-triangle-btm" src="../img/triangle.png" />\n` +
                     `                </li>`
                     `                </li>`
             }
             }
         }
         }
@@ -193,7 +193,7 @@
             for (let i = 0; i < message.length; i++) {
             for (let i = 0; i < message.length; i++) {
                 document.getElementById("messageUlTwo").innerHTML += "<li>\n" +
                 document.getElementById("messageUlTwo").innerHTML += "<li>\n" +
                     `                 <div class="w20 flex-row ph-title-gx" style="padding-left: 0;">
                     `                 <div class="w20 flex-row ph-title-gx" style="padding-left: 0;">
-                                        <div class="ph-img-bg"><h3>1</h3></div>
+                                        <div class="ph-img-bg"><h3>${i + 1}</h3></div>
                                         <div class="title">${message[i].areaName}</div>
                                         <div class="title">${message[i].areaName}</div>
                                     </div>\n` +
                                     </div>\n` +
                     `               <div class="w30">
                     `               <div class="w30">
@@ -206,8 +206,8 @@
                     `                  <div class="w15"><span>${message[i].areaReply}%</span></div>\n` +
                     `                  <div class="w15"><span>${message[i].areaReply}%</span></div>\n` +
                     `                  <div class="w15"><span>${message[i].areaLeaveCount}</span></div>\n` +
                     `                  <div class="w15"><span>${message[i].areaLeaveCount}</span></div>\n` +
                     `                  <div class="w15"><span>${message[i].areaReplyCount}</span></div>\n` +
                     `                  <div class="w15"><span>${message[i].areaReplyCount}</span></div>\n` +
-                    `                  <img class="table-triangle-top" th:src="@{img/triangle.png}" />\n` +
-                    `                  <img class="table-triangle-btm" th:src="@{img/triangle.png}" />\n` +
+                    `                  <img class="table-triangle-top" src="../img/triangle.png" />\n` +
+                    `                  <img class="table-triangle-btm" src="../img/triangle.png" />\n` +
                     `                </li>`
                     `                </li>`
             }
             }
         }
         }
@@ -224,7 +224,7 @@
             for (let i = 0; i < message.length; i++) {
             for (let i = 0; i < message.length; i++) {
                 document.getElementById("messageUlThree").innerHTML += "<li>\n" +
                 document.getElementById("messageUlThree").innerHTML += "<li>\n" +
                     `                 <div class="w20 flex-row ph-title-gx" style="padding-left: 0;">
                     `                 <div class="w20 flex-row ph-title-gx" style="padding-left: 0;">
-                                        <div class="ph-img-bg"><h3>1</h3></div>
+                                        <div class="ph-img-bg"><h3>${i + 1}</h3></div>
                                         <div class="title">${message[i].countyName}</div>
                                         <div class="title">${message[i].countyName}</div>
                                     </div>\n` +
                                     </div>\n` +
                     `               <div class="w30">
                     `               <div class="w30">
@@ -237,8 +237,8 @@
                     `                  <div class="w15"><span>${message[i].countyReply}%</span></div>\n` +
                     `                  <div class="w15"><span>${message[i].countyReply}%</span></div>\n` +
                     `                  <div class="w15"><span>${message[i].countyLeaveCount}</span></div>\n` +
                     `                  <div class="w15"><span>${message[i].countyLeaveCount}</span></div>\n` +
                     `                  <div class="w15"><span>${message[i].countyReplyCount}</span></div>\n` +
                     `                  <div class="w15"><span>${message[i].countyReplyCount}</span></div>\n` +
-                    `                  <img class="table-triangle-top" th:src="@{img/triangle.png}" />\n` +
-                    `                  <img class="table-triangle-btm" th:src="@{img/triangle.png}" />\n` +
+                    `                  <img class="table-triangle-top" src="../img/triangle.png" />\n` +
+                    `                  <img class="table-triangle-btm" src="../img/triangle.png" />\n` +
                     `                </li>`
                     `                </li>`
             }
             }
         }
         }

+ 10 - 6
ruoyi-admin/src/main/resources/templates/censusIndicators.html

@@ -40,10 +40,10 @@
                   ? ${#strings.substring(item.siteName, 0, 20) + '...'}
                   ? ${#strings.substring(item.siteName, 0, 20) + '...'}
                   : ${item.siteName}"></span></div>
                   : ${item.siteName}"></span></div>
                             <div class="w15">
                             <div class="w15">
-                                <span th:if="${item.result == '1'}">
+                                <span th:if="${item.result == ''}">
                                     <img th:src="@{img/yes-img.png}" alt=""/>
                                     <img th:src="@{img/yes-img.png}" alt=""/>
                                 </span>
                                 </span>
-                                <span th:if="${item.result == '2'}">
+                                <span th:if="${item.result == ''}">
                                     <img th:src="@{img/no-img.png}" alt=""/>
                                     <img th:src="@{img/no-img.png}" alt=""/>
                                 </span>
                                 </span>
                             </div>
                             </div>
@@ -90,6 +90,8 @@
                             <div class="w10"><span th:text="${item.columnTen}"></span></div>
                             <div class="w10"><span th:text="${item.columnTen}"></span></div>
                             <div class="w10"><span th:text="${item.notice}"></span></div>
                             <div class="w10"><span th:text="${item.notice}"></span></div>
                             <div class="w10"><span th:text="${item.monitorTime}"></span></div>
                             <div class="w10"><span th:text="${item.monitorTime}"></span></div>
+                            <img class="table-triangle-top" th:src="@{img/triangle.png}"/>
+                            <img class="table-triangle-btm" th:src="@{img/triangle.png}"/>
                         </li>
                         </li>
                     </ul>
                     </ul>
                 </div>
                 </div>
@@ -108,18 +110,18 @@
             // 处理接收到的消息
             // 处理接收到的消息
             document.getElementById("messageUlOne").innerHTML = "";
             document.getElementById("messageUlOne").innerHTML = "";
             for (let i = 0; i < message.length; i++) {
             for (let i = 0; i < message.length; i++) {
-                let imgSrc = message[i].result == "1" ? 'img/yes-img.png' : 'img/no-img.png';
+                let imgSrc = message[i].result == "是" ? '../img/yes-img.png' : '../img/no-img.png';
                 document.getElementById("messageUlOne").innerHTML += "<li>\n" +
                 document.getElementById("messageUlOne").innerHTML += "<li>\n" +
                     `                  <div class="w50"><span>${message[i].siteName}</span></div>\n` +
                     `                  <div class="w50"><span>${message[i].siteName}</span></div>\n` +
                     `                  <div class="w15">
                     `                  <div class="w15">
                                         <span>
                                         <span>
-                                           <img th:src="@{${imgSrc}}" alt="" />
+                                           <img src="${imgSrc}" alt="" />
                                         </span>
                                         </span>
                                    </div>\n` +
                                    </div>\n` +
                     `                  <div class="w15"><span>${message[i].censusTime}</span></div>\n` +
                     `                  <div class="w15"><span>${message[i].censusTime}</span></div>\n` +
                     `                  <div class="w15"><span>${message[i].remark}</span></div>\n` +
                     `                  <div class="w15"><span>${message[i].remark}</span></div>\n` +
-                    `                  <img class="table-triangle-top" th:src="@{img/triangle.png}"/>\n` +
-                    `                  <img class="table-triangle-btm" th:src="@{img/triangle.png}"/>\n` +
+                    `                  <img class="table-triangle-top" src="../img/triangle.png"/>\n` +
+                    `                  <img class="table-triangle-btm" src="../img/triangle.png"/>\n` +
                     `                </li>`
                     `                </li>`
             }
             }
         }
         }
@@ -138,6 +140,8 @@
                     `                  <div class=\"w10\"><span>${message[i].columnTen}</span></div>\n` +
                     `                  <div class=\"w10\"><span>${message[i].columnTen}</span></div>\n` +
                     `                  <div class=\"w10\"><span>${message[i].notice}</span></div>\n` +
                     `                  <div class=\"w10\"><span>${message[i].notice}</span></div>\n` +
                     `                  <div class=\"w10\"><span>${message[i].monitorTime}</span></div>\n` +
                     `                  <div class=\"w10\"><span>${message[i].monitorTime}</span></div>\n` +
+                    `                  <img class="table-triangle-top" src="../img/triangle.png"/>\n` +
+                    `                  <img class="table-triangle-btm" src="../img/triangle.png"/>\n` +
                     `                </li>`
                     `                </li>`
             }
             }
         }
         }

+ 19 - 6
ruoyi-admin/src/main/resources/templates/dailyUpdateVolume.html

@@ -37,8 +37,10 @@
                                     <div class="gov-name" th:attr="title=${item.renewName}" th:text="${#strings.length(item.renewName) > 20}
                                     <div class="gov-name" th:attr="title=${item.renewName}" th:text="${#strings.length(item.renewName) > 20}
                   ? ${#strings.substring(item.renewName, 0, 20) + '...'}
                   ? ${#strings.substring(item.renewName, 0, 20) + '...'}
                   : ${item.renewName}"></div>
                   : ${item.renewName}"></div>
-                                    <div class="click-num" th:text="${T(com.ruoyi.web.controller.tool.NumberUtils).tenThousandFormatCount(item.renewCount)}"><span
-                                            class="font-small-size">条</span></div>
+                                    <div class="flex-num click-num">
+                                        <div th:text="${T(com.ruoyi.web.controller.tool.NumberUtils).tenThousandFormatCount(item.renewCount)}"></div>
+                                        <span class="num-dw">条</span>
+                                    </div>
                                 </li>
                                 </li>
                             </ul>
                             </ul>
                         </div>
                         </div>
@@ -51,8 +53,10 @@
                                     <div class="gov-name" th:attr="title=${item.renewName}" th:text="${#strings.length(item.renewName) > 20}
                                     <div class="gov-name" th:attr="title=${item.renewName}" th:text="${#strings.length(item.renewName) > 20}
                   ? ${#strings.substring(item.renewName, 0, 20) + '...'}
                   ? ${#strings.substring(item.renewName, 0, 20) + '...'}
                   : ${item.renewName}"></div>
                   : ${item.renewName}"></div>
-                                    <div class="click-num" th:text="${T(com.ruoyi.web.controller.tool.NumberUtils).tenThousandFormatCount(item.renewCount)}"><span
-                                            class="font-small-size">条</span></div>
+                                    <div class="flex-num click-num">
+                                        <div th:text="${T(com.ruoyi.web.controller.tool.NumberUtils).tenThousandFormatCount(item.renewCount)}"></div>
+                                        <span class="num-dw">条</span>
+                                    </div>
                                 </li>
                                 </li>
                             </ul>
                             </ul>
                         </div>
                         </div>
@@ -82,10 +86,11 @@
             // 处理接收到的消息
             // 处理接收到的消息
             document.getElementById("messageUlOne").innerHTML = "";
             document.getElementById("messageUlOne").innerHTML = "";
             for (let i = 0; i < message.length; i++) {
             for (let i = 0; i < message.length; i++) {
+                const formattedCount = formatToTenThousand(message[i].renewCount);
                 document.getElementById("messageUlOne").innerHTML += "<li>\n" +
                 document.getElementById("messageUlOne").innerHTML += "<li>\n" +
                     `                  <div class="paihang">${message[i].ranking}</div>\n` +
                     `                  <div class="paihang">${message[i].ranking}</div>\n` +
                     `                  <div class="gov-name">${message[i].renewName}</div>\n` +
                     `                  <div class="gov-name">${message[i].renewName}</div>\n` +
-                    `                  <div class="click-num">${message[i].renewCount}<span class="font-small-size">条</span></div>\n` +
+                    `                  <div class="flex-num click-num"><div>${formattedCount}</div><span class="num-dw">条</span></div>\n` +
                     `                </li>`
                     `                </li>`
             }
             }
         }
         }
@@ -93,15 +98,23 @@
             message = JSON.parse(res).data
             message = JSON.parse(res).data
             document.getElementById("messageUlTwo").innerHTML = "";
             document.getElementById("messageUlTwo").innerHTML = "";
             for (let i = 0; i < message.length; i++) {
             for (let i = 0; i < message.length; i++) {
+                const formattedCount = formatToTenThousand(message[i].renewCount);
                 document.getElementById("messageUlTwo").innerHTML += "<li>\n" +
                 document.getElementById("messageUlTwo").innerHTML += "<li>\n" +
                     `                  <div class="paihang">${message[i].ranking}</div>\n` +
                     `                  <div class="paihang">${message[i].ranking}</div>\n` +
                     `                  <div class="gov-name">${message[i].renewName}</div>\n` +
                     `                  <div class="gov-name">${message[i].renewName}</div>\n` +
-                    `                  <div class="click-num">${message[i].renewCount}<span class="font-small-size">条</span></div>\n` +
+                    `                  <div class="flex-num click-num"><div>${formattedCount}</div><span class="num-dw">条</span></div>\n` +
                     `                </li>`
                     `                </li>`
             }
             }
         }
         }
     };
     };
 
 
+    // 数字转"万"单位格式化函数
+    function formatToTenThousand(num) {
+        if (num >= 10000) {
+            return (num / 10000).toFixed(1) + '万'; // 例如:1.2万
+        }
+        return num.toString(); // 不足1万直接显示数字
+    }
 </script>
 </script>
 </body>
 </body>
 </html>
 </html>

+ 20 - 4
ruoyi-admin/src/main/resources/templates/dailyVisits.html

@@ -37,7 +37,10 @@
                                     <div class="gov-name" th:attr="title=${item.accessName}" th:text="${#strings.length(item.accessName) > 20}
                                     <div class="gov-name" th:attr="title=${item.accessName}" th:text="${#strings.length(item.accessName) > 20}
                   ? ${#strings.substring(item.accessName, 0, 20) + '...'}
                   ? ${#strings.substring(item.accessName, 0, 20) + '...'}
                   : ${item.accessName}"></div>
                   : ${item.accessName}"></div>
-                                    <div class="click-num" th:text="${T(com.ruoyi.web.controller.tool.NumberUtils).tenThousandFormatCount(item.browseCount)}"></div>
+                                    <div class="flex-num click-num">
+                                        <div th:text="${T(com.ruoyi.web.controller.tool.NumberUtils).tenThousandFormatCount(item.browseCount)}"></div>
+                                        <span class="num-dw">条</span>
+                                    </div>
                                 </li>
                                 </li>
                             </ul>
                             </ul>
                         </div>
                         </div>
@@ -50,7 +53,10 @@
                                     <div class="gov-name" th:attr="title=${item.accessName}" th:text="${#strings.length(item.accessName) > 20}
                                     <div class="gov-name" th:attr="title=${item.accessName}" th:text="${#strings.length(item.accessName) > 20}
                   ? ${#strings.substring(item.accessName, 0, 20) + '...'}
                   ? ${#strings.substring(item.accessName, 0, 20) + '...'}
                   : ${item.accessName}"></div>
                   : ${item.accessName}"></div>
-                                    <div class="click-num" th:text="${T(com.ruoyi.web.controller.tool.NumberUtils).tenThousandFormatCount(item.browseCount)}"></div>
+                                    <div class="flex-num click-num">
+                                        <div th:text="${T(com.ruoyi.web.controller.tool.NumberUtils).tenThousandFormatCount(item.browseCount)}"></div>
+                                        <span class="num-dw">条</span>
+                                    </div>
                                 </li>
                                 </li>
                             </ul>
                             </ul>
                         </div>
                         </div>
@@ -80,10 +86,11 @@
             // 处理接收到的消息
             // 处理接收到的消息
             document.getElementById("messageUlOne").innerHTML = "";
             document.getElementById("messageUlOne").innerHTML = "";
             for (let i = 0; i < message.length; i++) {
             for (let i = 0; i < message.length; i++) {
+                const formattedCount = formatToTenThousand(message[i].browseCount);
                 document.getElementById("messageUlOne").innerHTML += "<li>\n" +
                 document.getElementById("messageUlOne").innerHTML += "<li>\n" +
                     `                  <div class="paihang">${message[i].ranking}</div>\n` +
                     `                  <div class="paihang">${message[i].ranking}</div>\n` +
                     `                  <div class="gov-name">${message[i].accessName}</div>\n` +
                     `                  <div class="gov-name">${message[i].accessName}</div>\n` +
-                    `                  <div class="click-num">${message[i].browseCount}<span class="font-small-size">条</span></div>\n` +
+                    `                  <div class="flex-num click-num"><div>${formattedCount}</div><span class="num-dw">条</span></div>\n` +
                     `                </li>`
                     `                </li>`
             }
             }
         }
         }
@@ -92,14 +99,23 @@
             // 处理接收到的消息
             // 处理接收到的消息
             document.getElementById("messageUlTwo").innerHTML = "";
             document.getElementById("messageUlTwo").innerHTML = "";
             for (let i = 0; i < message.length; i++) {
             for (let i = 0; i < message.length; i++) {
+                const formattedCount = formatToTenThousand(message[i].browseCount);
                 document.getElementById("messageUlTwo").innerHTML += "<li>\n" +
                 document.getElementById("messageUlTwo").innerHTML += "<li>\n" +
                     `                  <div class="paihang">${message[i].ranking}</div>\n` +
                     `                  <div class="paihang">${message[i].ranking}</div>\n` +
                     `                  <div class="gov-name">${message[i].accessName}</div>\n` +
                     `                  <div class="gov-name">${message[i].accessName}</div>\n` +
-                    `                  <div class="click-num">${message[i].browseCount}<span class="font-small-size">条</span></div>\n` +
+                    `                  <div class="flex-num click-num"><div>${formattedCount}</div><span class="num-dw">条</span></div>\n` +
                     `                </li>`
                     `                </li>`
             }
             }
         }
         }
     };
     };
+
+    // 数字转"万"单位格式化函数
+    function formatToTenThousand(num) {
+        if (num >= 10000) {
+            return (num / 10000).toFixed(1) + '万'; // 例如:1.2万
+        }
+        return num.toString(); // 不足1万直接显示数字
+    }
 </script>
 </script>
 </body>
 </body>
 </html>
 </html>

+ 13 - 13
ruoyi-admin/src/main/resources/templates/misunderstanding.html

@@ -30,9 +30,9 @@
                     <div class="w25"><h5>错别字数量</h5></div>
                     <div class="w25"><h5>错别字数量</h5></div>
                   </li>
                   </li>
                     <li th:each="item : ${dataSource}">
                     <li th:each="item : ${dataSource}">
-                        <div class="w50"><span th:attr="title=${item.misprintName}" th:text="${#strings.length(item.misprintName) > 20}
-                  ? ${#strings.substring(item.misprintName, 0, 20) + '...'}
-                  : ${item.misprintName}"></span></div>
+                        <div class="w50"><span th:attr="title=${item.siteName}" th:text="${#strings.length(item.siteName) > 20}
+                  ? ${#strings.substring(item.siteName, 0, 20) + '...'}
+                  : ${item.siteName}"></span></div>
                         <div class="w25"><span th:text="${T(com.ruoyi.web.controller.tool.NumberUtils).thousandFormatCount(item.misprintCount)}"></span></div>
                         <div class="w25"><span th:text="${T(com.ruoyi.web.controller.tool.NumberUtils).thousandFormatCount(item.misprintCount)}"></span></div>
                         <img class="table-triangle-top" th:src="@{img/triangle.png}">
                         <img class="table-triangle-top" th:src="@{img/triangle.png}">
                         <img class="table-triangle-btm" th:src="@{img/triangle.png}">
                         <img class="table-triangle-btm" th:src="@{img/triangle.png}">
@@ -49,9 +49,9 @@
                     <div class="w25"><h5>错别字数量</h5></div>
                     <div class="w25"><h5>错别字数量</h5></div>
                   </li>
                   </li>
                     <li th:each="item : ${dataAccess}">
                     <li th:each="item : ${dataAccess}">
-                        <div class="w50"><span th:attr="title=${item.misprintName}" th:text="${#strings.length(item.misprintName) > 20}
-                  ? ${#strings.substring(item.misprintName, 0, 20) + '...'}
-                  : ${item.misprintName}"></span></div>
+                        <div class="w50"><span th:attr="title=${item.siteName}" th:text="${#strings.length(item.siteName) > 20}
+                  ? ${#strings.substring(item.siteName, 0, 20) + '...'}
+                  : ${item.siteName}"></span></div>
                         <div class="w25"><span th:text="${T(com.ruoyi.web.controller.tool.NumberUtils).thousandFormatCount(item.misprintCount)}"></span></div>
                         <div class="w25"><span th:text="${T(com.ruoyi.web.controller.tool.NumberUtils).thousandFormatCount(item.misprintCount)}"></span></div>
                     <img class="table-triangle-top" th:src="@{img/triangle.png}">
                     <img class="table-triangle-top" th:src="@{img/triangle.png}">
                     <img class="table-triangle-btm" th:src="@{img/triangle.png}">
                     <img class="table-triangle-btm" th:src="@{img/triangle.png}">
@@ -77,10 +77,10 @@
                     "                        </li>";
                     "                        </li>";
                 for (let i = 0; i < message.length; i++) {
                 for (let i = 0; i < message.length; i++) {
                     document.getElementById("messageUlOne").innerHTML += "<li>\n" +
                     document.getElementById("messageUlOne").innerHTML += "<li>\n" +
-                        `                  <div class="w50"><span>${message[i].misprintName}</span></div>\n` +
+                        `                  <div class="w50"><span>${message[i].siteName}</span></div>\n` +
                         `                  <div class="w25"><span>${message[i].misprintCount}</span></div>\n` +
                         `                  <div class="w25"><span>${message[i].misprintCount}</span></div>\n` +
-                        `                  <img class="table-triangle-top" th:src="@{img/triangle.png}"/>\n` +
-                        `                  <img class="table-triangle-btm" th:src="@{img/triangle.png}"/>\n` +
+                        `                  <img class="table-triangle-top" src="../img/triangle.png"/>\n` +
+                        `                  <img class="table-triangle-btm" src="../img/triangle.png"/>\n` +
                         `                </li>`
                         `                </li>`
                 }
                 }
             }
             }
@@ -93,10 +93,10 @@
                     "            </li";
                     "            </li";
                 for (let i = 0; i < message.length; i++) {
                 for (let i = 0; i < message.length; i++) {
                     document.getElementById("messageUlTwo").innerHTML += "<li>\n" +
                     document.getElementById("messageUlTwo").innerHTML += "<li>\n" +
-                        `                  <div class=\"W50\"><span>${message[i].misprintName}</span></div>\n` +
-                        `                  <div class=\"W25\"><span>${message[i].misprintCount}</span></div>\n` +
-                        `                  <img class="table-triangle-top" th:src="@{img/triangle.png}">\n` +
-                        `                  <img class="table-triangle-btm" th:src="@{img/triangle.png}">\n` +
+                        `                  <div class=\"w50\"><span>${message[i].siteName}</span></div>\n` +
+                        `                  <div class=\"w25\"><span>${message[i].misprintCount}</span></div>\n` +
+                        `                  <img class="table-triangle-top" src="../img/triangle.png">\n` +
+                        `                  <img class="table-triangle-btm" src="../img/triangle.png">\n` +
                         `                </li>`
                         `                </li>`
                 }
                 }
             }
             }

+ 2 - 2
ruoyi-admin/src/main/resources/templates/staggeredChain.html

@@ -66,8 +66,8 @@
                     `                  <div class="w15"><span>${message[i].errorCount}</span></div>\n` +
                     `                  <div class="w15"><span>${message[i].errorCount}</span></div>\n` +
                     `                  <div class="w15"><span>${message[i].maliciousCount}</span></div>\n` +
                     `                  <div class="w15"><span>${message[i].maliciousCount}</span></div>\n` +
                     `                  <div class="w15"><span>${message[i].gambleCount}</span></div>\n` +
                     `                  <div class="w15"><span>${message[i].gambleCount}</span></div>\n` +
-                    `                  <img class="table-triangle-top" th:src="@{img/triangle.png}" />\n` +
-                    `                  <img class="table-triangle-btm" th:src="@{img/triangle.png}" />\n` +
+                    `                  <img class="table-triangle-top" src="../img/triangle.png" />\n` +
+                    `                  <img class="table-triangle-btm" src="../img/triangle.png" />\n` +
                     `                </li>`
                     `                </li>`
             }
             }
         }
         }

+ 11 - 10
ruoyi-admin/src/main/resources/templates/usability.html

@@ -57,7 +57,7 @@
                       </span>
                       </span>
                             </div>
                             </div>
                             <div class="w25"><span class="h-span" th:text="${item.monitorTime}"></span></div>
                             <div class="w25"><span class="h-span" th:text="${item.monitorTime}"></span></div>
-                            <div class="w25"><span class="h-span" th:text="${item.status}"></span></div>
+                            <div class="w25"><span class="h-span" th:text="${(item.status == 1) ? '可用' : '不可用'}"></span></div>
                             <img class="table-triangle-top" th:src="@{img/triangle.png}">
                             <img class="table-triangle-top" th:src="@{img/triangle.png}">
                             <img class="table-triangle-btm" th:src="@{img/triangle.png}">
                             <img class="table-triangle-btm" th:src="@{img/triangle.png}">
                         </li>
                         </li>
@@ -104,12 +104,13 @@
                 "                            <div class=\"w25\"><h5>网站状态</h5></div>\n" +
                 "                            <div class=\"w25\"><h5>网站状态</h5></div>\n" +
                 "                        </li>";
                 "                        </li>";
             for (let i = 0; i < message.length; i++) {
             for (let i = 0; i < message.length; i++) {
+                let formatterStatus = message[i].status == "1" ? '可用' : '不可用';
                 document.getElementById("messageUlOne").innerHTML += "<li>\n" +
                 document.getElementById("messageUlOne").innerHTML += "<li>\n" +
                     `                  <div class="w50"><span>${message[i].siteName}</span></div>\n` +
                     `                  <div class="w50"><span>${message[i].siteName}</span></div>\n` +
-                    `                  <div class="w15"><span>${message[i].monitorTime}</span></div>\n` +
-                    `                  <div class="w15"><span>${message[i].status}</span></div>\n` +
-                    `                  <img class="table-triangle-top" th:src="@{img/triangle.png}"/>\n` +
-                    `                  <img class="table-triangle-btm" th:src="@{img/triangle.png}"/>\n` +
+                    `                  <div class="w25"><span>${message[i].monitorTime}</span></div>\n` +
+                    `                  <div class="w25"><span>${formatterStatus}</span></div>\n` +
+                    `                  <img class="table-triangle-top" src="../img/triangle.png"/>\n` +
+                    `                  <img class="table-triangle-btm" src="../img/triangle.png"/>\n` +
                     `                </li>`
                     `                </li>`
             }
             }
         }
         }
@@ -123,11 +124,11 @@
                 "            </li";
                 "            </li";
             for (let i = 0; i < message.length; i++) {
             for (let i = 0; i < message.length; i++) {
                 document.getElementById("messageUlTwo").innerHTML += "<li>\n" +
                 document.getElementById("messageUlTwo").innerHTML += "<li>\n" +
-                    `                  <div class=\"w20\"><span>${message[i].siteName}</span></div>\n` +
-                    `                  <div class=\"w10\"><span>${message[i].lastMonitorTime}</span></div>\n` +
-                    `                  <div class=\"w10 j-left\"><span>${message[i].accessCountFail}</span></div>\n` +
-                    `                  <img class="table-triangle-top" th:src="@{img/triangle.png}">\n` +
-                    `                  <img class="table-triangle-btm" th:src="@{img/triangle.png}">\n` +
+                    `                  <div class=\"w50\"><span>${message[i].siteName}</span></div>\n` +
+                    `                  <div class=\"w25\"><span>${message[i].lastMonitorTime}</span></div>\n` +
+                    `                  <div class=\"w25\"><span>${message[i].accessCountFail}</span></div>\n` +
+                    `                  <img class="table-triangle-top" src="../img/triangle.png"/>\n` +
+                    `                  <img class="table-triangle-btm" src="../img/triangle.png"/>\n` +
                     `                </li>`
                     `                </li>`
             }
             }
         }
         }

+ 5 - 7
ruoyi-admin/src/main/resources/templates/websiteAccess.html

@@ -149,7 +149,6 @@
                 data: dataSourceOne.timeNames,
                 data: dataSourceOne.timeNames,
             },
             },
         ],
         ],
-
         yAxis: [
         yAxis: [
             {
             {
                 type: "value",
                 type: "value",
@@ -279,7 +278,7 @@
                     textStyle: {
                     textStyle: {
                         color: "#ACCFFF",
                         color: "#ACCFFF",
                         fontStyle: "normal",
                         fontStyle: "normal",
-                        fontSize: 12,
+                        fontSize: 9,
                     },
                     },
                 },
                 },
                 axisLine: {
                 axisLine: {
@@ -305,7 +304,7 @@
                 },
                 },
                 axisLabel: {
                 axisLabel: {
                     //坐标轴刻度标签的相关设置。
                     //坐标轴刻度标签的相关设置。
-                    interval: 0, //设置为 1,表示『隔一个标签显示一个标签』
+                    interval: 1, //设置为 1,表示『隔一个标签显示一个标签』
                     margin: 15,
                     margin: 15,
                     textStyle: {
                     textStyle: {
                         color: "#ACCFFF",
                         color: "#ACCFFF",
@@ -331,7 +330,7 @@
                     normal: {
                     normal: {
                         show: true,
                         show: true,
                         position: "top",
                         position: "top",
-                        fontSize: 12,
+                        fontSize: 9,
                         color: "#fff",
                         color: "#fff",
                     },
                     },
                 },
                 },
@@ -354,7 +353,6 @@
             },
             },
         ],
         ],
     };
     };
-
     if (option) {
     if (option) {
         myChart.setOption(option);
         myChart.setOption(option);
     }
     }
@@ -800,7 +798,7 @@
                         },
                         },
                         axisLabel: {
                         axisLabel: {
                             //坐标轴刻度标签的相关设置。
                             //坐标轴刻度标签的相关设置。
-                            interval: 0, //设置为 1,表示『隔一个标签显示一个标签』
+                            interval: 1, //设置为 1,表示『隔一个标签显示一个标签』
                             margin: 15,
                             margin: 15,
                             textStyle: {
                             textStyle: {
                                 color: "#ACCFFF",
                                 color: "#ACCFFF",
@@ -826,7 +824,7 @@
                             normal: {
                             normal: {
                                 show: true,
                                 show: true,
                                 position: "top",
                                 position: "top",
-                                fontSize: 12,
+                                fontSize: 9,
                                 color: "#fff",
                                 color: "#fff",
                             },
                             },
                         },
                         },

+ 1 - 1
ruoyi-system/src/main/java/com/ruoyi/system/domain/CountyAndDistrictMisprint.java

@@ -8,7 +8,7 @@ public class CountyAndDistrictMisprint {
 
 
     private Long id;
     private Long id;
 
 
-    private String misprintName;
+    private String siteName;
 
 
     private String misprintCount;
     private String misprintCount;
 
 

+ 1 - 1
ruoyi-system/src/main/java/com/ruoyi/system/domain/MunicipalMisprint.java

@@ -8,7 +8,7 @@ public class MunicipalMisprint {
 
 
     private Long id;
     private Long id;
 
 
-    private String misprintName;
+    private String siteName;
 
 
     private String misprintCount;
     private String misprintCount;
 
 

+ 7 - 2
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/AreaInteractiveColumnsServiceImpl.java

@@ -35,8 +35,13 @@ public class AreaInteractiveColumnsServiceImpl implements IAreaInteractiveColumn
     public void insertBatch(List<AreaInteractiveColumns> list) {
     public void insertBatch(List<AreaInteractiveColumns> list) {
         if (!CollectionUtils.isEmpty(list)) {
         if (!CollectionUtils.isEmpty(list)) {
             areaInteractiveColumnsMapper.deleteAreaInteractiveColumnsAll();
             areaInteractiveColumnsMapper.deleteAreaInteractiveColumnsAll();
+            list.forEach(item -> {
+                if (item.getAreaReply() != null) {
+                    item.setAreaReply(item.getAreaReply().replace("%", ""));
+                }
+            });
+            areaInteractiveColumnsMapper.insertBatch(list);
+            WebSocketUsers.sendMessageToUsersByText(JSON.toJSONString(success(AjaxResult.Type.TYPE_EIGHT,list)));
         }
         }
-        areaInteractiveColumnsMapper.insertBatch(list);
-        WebSocketUsers.sendMessageToUsersByText(JSON.toJSONString(success(AjaxResult.Type.TYPE_EIGHT,list)));
     }
     }
 }
 }

+ 2 - 2
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/CensusElementsServiceImpl.java

@@ -35,8 +35,8 @@ public class CensusElementsServiceImpl implements ICensusElementsService {
     public void insertBatch(List<CensusElements> list) {
     public void insertBatch(List<CensusElements> list) {
         if (!CollectionUtils.isEmpty(list)) {
         if (!CollectionUtils.isEmpty(list)) {
             censusElementsMapper.deleteCensusElementsAll();
             censusElementsMapper.deleteCensusElementsAll();
+            censusElementsMapper.insertBatch(list);
+            WebSocketUsers.sendMessageToUsersByText(JSON.toJSONString(success(AjaxResult.Type.TYPE_ONE,list)));
         }
         }
-        censusElementsMapper.insertBatch(list);
-        WebSocketUsers.sendMessageToUsersByText(JSON.toJSONString(success(AjaxResult.Type.TYPE_ONE,list)));
     }
     }
 }
 }

+ 2 - 2
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/CensusItemNegativeInformationServiceImpl.java

@@ -32,8 +32,8 @@ public class CensusItemNegativeInformationServiceImpl implements ICensusItemNega
     public void insertBatch(List<CensusItemNegativeInformation> list) {
     public void insertBatch(List<CensusItemNegativeInformation> list) {
         if (!CollectionUtils.isEmpty(list)) {
         if (!CollectionUtils.isEmpty(list)) {
             censusItemNegativeInformationMapper.deleteCensusItemNegativeInformationAll();
             censusItemNegativeInformationMapper.deleteCensusItemNegativeInformationAll();
+            censusItemNegativeInformationMapper.insertBatch(list);
+            WebSocketUsers.sendMessageToUsersByText(JSON.toJSONString(success(AjaxResult.Type.TYPE_TWO,list)));
         }
         }
-        censusItemNegativeInformationMapper.insertBatch(list);
-        WebSocketUsers.sendMessageToUsersByText(JSON.toJSONString(success(AjaxResult.Type.TYPE_TWO,list)));
     }
     }
 }
 }

+ 8 - 8
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/ColumnPageViewServiceImpl.java

@@ -52,14 +52,14 @@ public class ColumnPageViewServiceImpl implements IColumnPageViewService {
         List<String> browseList = new ArrayList<>();
         List<String> browseList = new ArrayList<>();
         if (!CollectionUtils.isEmpty(list)) {
         if (!CollectionUtils.isEmpty(list)) {
             columnPageViewMapper.deleteColumnPageViewAll();
             columnPageViewMapper.deleteColumnPageViewAll();
+            columnPageViewMapper.insertBatch(list);
+            for (ColumnPageView var : list) {
+                columnRankingList.add(var.getColumnRanking() + "-" + var.getRanking());
+                browseList.add(var.getBrowse());
+            }
+            returnMap.put("columnRankingList",columnRankingList);
+            returnMap.put("browseList",browseList);
+            WebSocketUsers.sendMessageToUsersByText(JSON.toJSONString(success(AjaxResult.Type.TYPE_EIGHTEEN,returnMap)));
         }
         }
-        columnPageViewMapper.insertBatch(list);
-        for (ColumnPageView var : list) {
-            columnRankingList.add(var.getColumnRanking() + "-" + var.getRanking());
-            browseList.add(var.getBrowse());
-        }
-        returnMap.put("columnRankingList",columnRankingList);
-        returnMap.put("browseList",browseList);
-        WebSocketUsers.sendMessageToUsersByText(JSON.toJSONString(success(AjaxResult.Type.TYPE_EIGHTEEN,returnMap)));
     }
     }
 }
 }

+ 2 - 2
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/CountyAndDistrictMisprintServiceImpl.java

@@ -35,9 +35,9 @@ public class CountyAndDistrictMisprintServiceImpl implements ICountyAndDistrictM
     public void insertBatch(List<CountyAndDistrictMisprint> list) {
     public void insertBatch(List<CountyAndDistrictMisprint> list) {
         if (!CollectionUtils.isEmpty(list)) {
         if (!CollectionUtils.isEmpty(list)) {
             countyAndDistrictMisprintMapper.deleteCountyAndDistrictMisprintAll();
             countyAndDistrictMisprintMapper.deleteCountyAndDistrictMisprintAll();
+            countyAndDistrictMisprintMapper.insertBatch(list);
+            WebSocketUsers.sendMessageToUsersByText(JSON.toJSONString(success(AjaxResult.Type.TYPE_TWELVE,list)));
         }
         }
-        countyAndDistrictMisprintMapper.insertBatch(list);
-        WebSocketUsers.sendMessageToUsersByText(JSON.toJSONString(success(AjaxResult.Type.TYPE_TWELVE,list)));
 
 
     }
     }
 }
 }

+ 2 - 2
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/CountyDailyTrafficRankingServiceImpl.java

@@ -38,8 +38,8 @@ public class CountyDailyTrafficRankingServiceImpl implements ICountyDailyTraffic
     public void insertBatch(List<CountyDailyTrafficRanking> list) {
     public void insertBatch(List<CountyDailyTrafficRanking> list) {
         if (!CollectionUtils.isEmpty(list)) {
         if (!CollectionUtils.isEmpty(list)) {
             countyDailyTrafficRankingMapper.deleteCountyDailyTrafficRankingAll();
             countyDailyTrafficRankingMapper.deleteCountyDailyTrafficRankingAll();
+            countyDailyTrafficRankingMapper.insertBatch(list);
+            WebSocketUsers.sendMessageToUsersByText(JSON.toJSONString(success(AjaxResult.Type.TYPE_SIX,list.stream().sorted(Comparator.comparing(CountyDailyTrafficRanking::getRanking)).collect(Collectors.toList()))));
         }
         }
-        countyDailyTrafficRankingMapper.insertBatch(list);
-        WebSocketUsers.sendMessageToUsersByText(JSON.toJSONString(success(AjaxResult.Type.TYPE_SIX,list.stream().sorted(Comparator.comparing(CountyDailyTrafficRanking::getRanking)).collect(Collectors.toList()))));
     }
     }
 }
 }

+ 2 - 2
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/CountyDailyUpdateRankingServiceImpl.java

@@ -37,8 +37,8 @@ public class CountyDailyUpdateRankingServiceImpl implements ICountyDailyUpdateRa
     public void insertBatch(List<CountyDailyUpdateRanking> list) {
     public void insertBatch(List<CountyDailyUpdateRanking> list) {
         if (!CollectionUtils.isEmpty(list)) {
         if (!CollectionUtils.isEmpty(list)) {
             countyDailyUpdateRankingMapper.deleteCountyDailyUpdateRankingAll();
             countyDailyUpdateRankingMapper.deleteCountyDailyUpdateRankingAll();
+            countyDailyUpdateRankingMapper.insertBatch(list);
+            WebSocketUsers.sendMessageToUsersByText(JSON.toJSONString(success(AjaxResult.Type.TYPE_FOUR,list)));
         }
         }
-        countyDailyUpdateRankingMapper.insertBatch(list);
-        WebSocketUsers.sendMessageToUsersByText(JSON.toJSONString(success(AjaxResult.Type.TYPE_FOUR,list.stream().sorted(Comparator.comparing(CountyDailyUpdateRanking::getRanking)).collect(Collectors.toList()))));
     }
     }
 }
 }

+ 7 - 2
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/CountyInteractiveColumnsServiceImpl.java

@@ -35,8 +35,13 @@ public class CountyInteractiveColumnsServiceImpl implements ICountyInteractiveCo
     public void insertBatch(List<CountyInteractiveColumns> list) {
     public void insertBatch(List<CountyInteractiveColumns> list) {
         if (!CollectionUtils.isEmpty(list)) {
         if (!CollectionUtils.isEmpty(list)) {
             countyInteractiveColumnsMapper.deleteCountyInteractiveColumnsAll();
             countyInteractiveColumnsMapper.deleteCountyInteractiveColumnsAll();
+            list.forEach(item -> {
+                if (item.getCountyReply() != null) {
+                    item.setCountyReply(item.getCountyReply().replace("%", ""));
+                }
+            });
+            countyInteractiveColumnsMapper.insertBatch(list);
+            WebSocketUsers.sendMessageToUsersByText(JSON.toJSONString(success(AjaxResult.Type.TYPE_NINE,list)));
         }
         }
-        countyInteractiveColumnsMapper.insertBatch(list);
-        WebSocketUsers.sendMessageToUsersByText(JSON.toJSONString(success(AjaxResult.Type.TYPE_NINE,list)));
     }
     }
 }
 }

+ 2 - 2
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/DailyTrafficRankingServiceImpl.java

@@ -39,8 +39,8 @@ public class DailyTrafficRankingServiceImpl implements IDailyTrafficRankingServi
     public void insertBatch(List<DailyTrafficRanking> list) {
     public void insertBatch(List<DailyTrafficRanking> list) {
         if (!CollectionUtils.isEmpty(list)) {
         if (!CollectionUtils.isEmpty(list)) {
             dailyTrafficRankingMapper.deleteDailyTrafficRankingAll();
             dailyTrafficRankingMapper.deleteDailyTrafficRankingAll();
+            dailyTrafficRankingMapper.insertBatch(list);
+            WebSocketUsers.sendMessageToUsersByText(JSON.toJSONString(success(AjaxResult.Type.TYPE_FIVE,list.stream().sorted(Comparator.comparing(DailyTrafficRanking::getRanking)).collect(Collectors.toList()))));
         }
         }
-        dailyTrafficRankingMapper.insertBatch(list);
-        WebSocketUsers.sendMessageToUsersByText(JSON.toJSONString(success(AjaxResult.Type.TYPE_FIVE,list.stream().sorted(Comparator.comparing(DailyTrafficRanking::getRanking)).collect(Collectors.toList()))));
     }
     }
 }
 }

+ 2 - 2
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/DailyUpdateRankingServiceImpl.java

@@ -34,8 +34,8 @@ public class DailyUpdateRankingServiceImpl implements IDailyUpdateRankingService
     public void insertBatch(List<DailyUpdateRanking> list) {
     public void insertBatch(List<DailyUpdateRanking> list) {
         if (!CollectionUtils.isEmpty(list)) {
         if (!CollectionUtils.isEmpty(list)) {
             dailyUpdateRankingMapper.deleteDailyUpdateRankingAll();
             dailyUpdateRankingMapper.deleteDailyUpdateRankingAll();
+            dailyUpdateRankingMapper.insertBatch(list);
+            WebSocketUsers.sendMessageToUsersByText(JSON.toJSONString(success(AjaxResult.Type.TYPE_THREE, list)));
         }
         }
-        dailyUpdateRankingMapper.insertBatch(list);
-        WebSocketUsers.sendMessageToUsersByText(JSON.toJSONString(success(AjaxResult.Type.TYPE_THREE,list.stream().sorted(Comparator.comparing(DailyUpdateRanking::getRanking)).collect(Collectors.toList()))));
     }
     }
 }
 }

+ 2 - 3
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/MunicipalErrorLinkMonitorServiceImpl.java

@@ -35,9 +35,8 @@ public class MunicipalErrorLinkMonitorServiceImpl implements IMunicipalErrorLink
     public void insertBatch(List<MunicipalErrorLinkMonitor> list) {
     public void insertBatch(List<MunicipalErrorLinkMonitor> list) {
         if (!CollectionUtils.isEmpty(list)) {
         if (!CollectionUtils.isEmpty(list)) {
             municipalErrorLinkMonitorMapper.deleteMunicipalErrorLinkMonitorAll();
             municipalErrorLinkMonitorMapper.deleteMunicipalErrorLinkMonitorAll();
+            municipalErrorLinkMonitorMapper.insertBatch(list);
+            WebSocketUsers.sendMessageToUsersByText(JSON.toJSONString(success(AjaxResult.Type.TYPE_TEN,list)));
         }
         }
-        municipalErrorLinkMonitorMapper.insertBatch(list);
-        WebSocketUsers.sendMessageToUsersByText(JSON.toJSONString(success(AjaxResult.Type.TYPE_TEN,list)));
-//        WebSocketUsers.sendMessageToUsersByText(JSON.toJSONString(success((AjaxResult.Type.TYPE_TEN,list)));
     }
     }
 }
 }

+ 7 - 2
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/MunicipalInteractiveColumnsServiceImpl.java

@@ -35,8 +35,13 @@ public class MunicipalInteractiveColumnsServiceImpl implements IMunicipalInterac
     public void insertBatch(List<MunicipalInteractiveColumns> list) {
     public void insertBatch(List<MunicipalInteractiveColumns> list) {
         if (!CollectionUtils.isEmpty(list)) {
         if (!CollectionUtils.isEmpty(list)) {
             municipalInteractiveColumnsMapper.deleteMunicipalInteractiveColumnsAll();
             municipalInteractiveColumnsMapper.deleteMunicipalInteractiveColumnsAll();
+            list.forEach(item -> {
+                if (item.getMunicipalReply() != null) {
+                    item.setMunicipalReply(item.getMunicipalReply().replace("%", ""));
+                }
+            });
+            municipalInteractiveColumnsMapper.insertBatch(list);
+            WebSocketUsers.sendMessageToUsersByText(JSON.toJSONString(success(AjaxResult.Type.TYPE_SEVEN,list)));
         }
         }
-        municipalInteractiveColumnsMapper.insertBatch(list);
-        WebSocketUsers.sendMessageToUsersByText(JSON.toJSONString(success(AjaxResult.Type.TYPE_SEVEN,list)));
     }
     }
 }
 }

+ 2 - 2
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/MunicipalMisprintServiceImpl.java

@@ -35,9 +35,9 @@ public class MunicipalMisprintServiceImpl implements IMunicipalMisprintService {
     public void insertBatch(List<MunicipalMisprint> list) {
     public void insertBatch(List<MunicipalMisprint> list) {
         if (!CollectionUtils.isEmpty(list)) {
         if (!CollectionUtils.isEmpty(list)) {
             municipalMisprintMapper.deleteMunicipalMisprintAll();
             municipalMisprintMapper.deleteMunicipalMisprintAll();
+            municipalMisprintMapper.insertBatch(list);
+            WebSocketUsers.sendMessageToUsersByText(JSON.toJSONString(success(AjaxResult.Type.TYPE_ELEVEN,list)));
         }
         }
-        municipalMisprintMapper.insertBatch(list);
-        WebSocketUsers.sendMessageToUsersByText(JSON.toJSONString(success(AjaxResult.Type.TYPE_ELEVEN,list)));
 
 
     }
     }
 }
 }

+ 2 - 2
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/PopularInformationServiceImpl.java

@@ -35,8 +35,8 @@ public class PopularInformationServiceImpl implements IPopularInformationService
     public void insertBatch(List<PopularInformation> list) {
     public void insertBatch(List<PopularInformation> list) {
         if (!CollectionUtils.isEmpty(list)) {
         if (!CollectionUtils.isEmpty(list)) {
             popularInformationMapper.deletePopularInformationAll();
             popularInformationMapper.deletePopularInformationAll();
+            popularInformationMapper.insertBatch(list);
+            WebSocketUsers.sendMessageToUsersByText(JSON.toJSONString(success(AjaxResult.Type.TYPE_NINETEEN,list)));
         }
         }
-        popularInformationMapper.insertBatch(list);
-        WebSocketUsers.sendMessageToUsersByText(JSON.toJSONString(success(AjaxResult.Type.TYPE_NINETEEN,list)));
     }
     }
 }
 }

+ 2 - 2
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/UnableToAccessWebsiteListTodayImpl.java

@@ -38,8 +38,8 @@ public class UnableToAccessWebsiteListTodayImpl implements IUnableToAccessWebsit
     public void insertBatch(List<UnableToAccessWebsiteListToday> list) {
     public void insertBatch(List<UnableToAccessWebsiteListToday> list) {
         if (!CollectionUtils.isEmpty(list)) {
         if (!CollectionUtils.isEmpty(list)) {
             unableToAccessWebsiteListTodayMapper.deleteUnableToAccessWebsiteListTodayAll();
             unableToAccessWebsiteListTodayMapper.deleteUnableToAccessWebsiteListTodayAll();
+            unableToAccessWebsiteListTodayMapper.insertBatch(list);
+            WebSocketUsers.sendMessageToUsersByText(JSON.toJSONString(success(AjaxResult.Type.TYPE_FIFTEEN,list)));
         }
         }
-        unableToAccessWebsiteListTodayMapper.insertBatch(list);
-        WebSocketUsers.sendMessageToUsersByText(JSON.toJSONString(success(AjaxResult.Type.TYPE_FIFTEEN,list)));
     }
     }
 }
 }

+ 9 - 9
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/VisitingWebsiteRankingServiceImpl.java

@@ -51,15 +51,15 @@ public class VisitingWebsiteRankingServiceImpl implements IVisitingWebsiteRankin
     public void insertBatch(VisitingWebsiteRankingDTO dto) {
     public void insertBatch(VisitingWebsiteRankingDTO dto) {
         if (!CollectionUtils.isEmpty(dto.getDeptDatas()) && !CollectionUtils.isEmpty(dto.getDeptNames())) {
         if (!CollectionUtils.isEmpty(dto.getDeptDatas()) && !CollectionUtils.isEmpty(dto.getDeptNames())) {
             visitingWebsiteRankingMapper.deleteVisitingWebsiteRankingAll();
             visitingWebsiteRankingMapper.deleteVisitingWebsiteRankingAll();
+            List<VisitingWebsiteRanking> saveList = new ArrayList<>();
+            for (int i = 0; i < dto.getDeptNames().size(); i++) {
+                VisitingWebsiteRanking visitingWebsiteRanking = new VisitingWebsiteRanking();
+                visitingWebsiteRanking.setDeptNames(dto.getDeptNames().get(i));
+                visitingWebsiteRanking.setDeptDatas(dto.getDeptDatas().get(i));
+                saveList.add(visitingWebsiteRanking);
+            }
+            visitingWebsiteRankingMapper.insertBatch(saveList);
+            WebSocketUsers.sendMessageToUsersByText(JSON.toJSONString(success(AjaxResult.Type.TYPE_SEVENTEEN,dto)));
         }
         }
-        List<VisitingWebsiteRanking> saveList = new ArrayList<>();
-        for (int i = 0; i < dto.getDeptNames().size(); i++) {
-            VisitingWebsiteRanking visitingWebsiteRanking = new VisitingWebsiteRanking();
-            visitingWebsiteRanking.setDeptNames(dto.getDeptNames().get(i));
-            visitingWebsiteRanking.setDeptDatas(dto.getDeptDatas().get(i));
-            saveList.add(visitingWebsiteRanking);
-        }
-        visitingWebsiteRankingMapper.insertBatch(saveList);
-        WebSocketUsers.sendMessageToUsersByText(JSON.toJSONString(success(AjaxResult.Type.TYPE_SEVENTEEN,dto)));
     }
     }
 }
 }

+ 9 - 9
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/WebSiteTenDaysHitsServiceImpl.java

@@ -51,15 +51,15 @@ public class WebSiteTenDaysHitsServiceImpl implements IWebSiteTenDaysHitsService
     public void insertBatch(WebSiteTenDaysHitsDTO dto) {
     public void insertBatch(WebSiteTenDaysHitsDTO dto) {
         if (!CollectionUtils.isEmpty(dto.getTimeDatas()) && !CollectionUtils.isEmpty(dto.getTimeNames())) {
         if (!CollectionUtils.isEmpty(dto.getTimeDatas()) && !CollectionUtils.isEmpty(dto.getTimeNames())) {
             webSiteTenDaysHitsMapper.deleteWebSiteTenDaysHitsAll();
             webSiteTenDaysHitsMapper.deleteWebSiteTenDaysHitsAll();
+            List<WebSiteTenDaysHits> saveList = new ArrayList<>();
+            for (int i = 0; i < dto.getTimeNames().size(); i++) {
+                WebSiteTenDaysHits webSiteTenDaysHits = new WebSiteTenDaysHits();
+                webSiteTenDaysHits.setTimeNames(dto.getTimeNames().get(i));
+                webSiteTenDaysHits.setTimeDatas(dto.getTimeDatas().get(i));
+                saveList.add(webSiteTenDaysHits);
+            }
+            webSiteTenDaysHitsMapper.insertBatch(saveList);
+            WebSocketUsers.sendMessageToUsersByText(JSON.toJSONString(success(AjaxResult.Type.TYPE_SIXTEEN,dto)));
         }
         }
-        List<WebSiteTenDaysHits> saveList = new ArrayList<>();
-        for (int i = 0; i < dto.getTimeNames().size(); i++) {
-            WebSiteTenDaysHits webSiteTenDaysHits = new WebSiteTenDaysHits();
-            webSiteTenDaysHits.setTimeNames(dto.getTimeNames().get(i));
-            webSiteTenDaysHits.setTimeDatas(dto.getTimeDatas().get(i));
-            saveList.add(webSiteTenDaysHits);
-        }
-        webSiteTenDaysHitsMapper.insertBatch(saveList);
-        WebSocketUsers.sendMessageToUsersByText(JSON.toJSONString(success(AjaxResult.Type.TYPE_SIXTEEN,dto)));
     }
     }
 }
 }

+ 2 - 2
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/WebsiteAvailabilityMonitorServiceImpl.java

@@ -37,9 +37,9 @@ public class WebsiteAvailabilityMonitorServiceImpl implements IWebsiteAvailabili
     public void insertBatch(List<WebsiteAvailabilityMonitor> list) {
     public void insertBatch(List<WebsiteAvailabilityMonitor> list) {
         if (!CollectionUtils.isEmpty(list)) {
         if (!CollectionUtils.isEmpty(list)) {
             websiteAvailabilityMonitorMapper.deleteWebsiteAvailabilityMonitorAll();
             websiteAvailabilityMonitorMapper.deleteWebsiteAvailabilityMonitorAll();
+            websiteAvailabilityMonitorMapper.insertBatch(list);
+            WebSocketUsers.sendMessageToUsersByText(JSON.toJSONString(success(AjaxResult.Type.TYPE_FOURTEEN,list)));
         }
         }
-        websiteAvailabilityMonitorMapper.insertBatch(list);
-        WebSocketUsers.sendMessageToUsersByText(JSON.toJSONString(success(AjaxResult.Type.TYPE_FOURTEEN,list)));
     }
     }
 
 
 }
 }

+ 4 - 4
ruoyi-system/src/main/resources/mapper/system/CountyAndDistrictMisprintMapper.xml

@@ -6,12 +6,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     
     
     <resultMap type="CountyAndDistrictMisprint" id="CountyAndDistrictMisprintResult">
     <resultMap type="CountyAndDistrictMisprint" id="CountyAndDistrictMisprintResult">
     	<id     property="id"      column="id"      />
     	<id     property="id"      column="id"      />
-        <result property="misprintName"    column="misprint_name"    />
+        <result property="siteName"    column="site_name"    />
         <result property="misprintCount"     column="misprint_count"     />
         <result property="misprintCount"     column="misprint_count"     />
     </resultMap>
     </resultMap>
     
     
     <sql id="selectCountyAndDistrictMisprintVo">
     <sql id="selectCountyAndDistrictMisprintVo">
-        select id, misprint_name, misprint_count from sooka_county_and_district_misprint
+        select id, site_name, misprint_count from sooka_county_and_district_misprint
     </sql>
     </sql>
 
 
     <select id="selectCountyAndDistrictMisprintList" parameterType="CountyAndDistrictMisprint" resultMap="CountyAndDistrictMisprintResult">
     <select id="selectCountyAndDistrictMisprintList" parameterType="CountyAndDistrictMisprint" resultMap="CountyAndDistrictMisprintResult">
@@ -23,9 +23,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 	</delete>
 	</delete>
 
 
 	<insert id="insertBatch">
 	<insert id="insertBatch">
-		insert into sooka_county_and_district_misprint (misprint_name, misprint_count) values
+		insert into sooka_county_and_district_misprint (site_name, misprint_count) values
 		<foreach item="item" collection="list" separator=",">
 		<foreach item="item" collection="list" separator=",">
-			(#{item.misprintName},#{item.misprintCount})
+			(#{item.siteName},#{item.misprintCount})
 		</foreach>
 		</foreach>
 	</insert>
 	</insert>
 
 

+ 4 - 4
ruoyi-system/src/main/resources/mapper/system/MunicipalMisprintMapper.xml

@@ -6,12 +6,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     
     
     <resultMap type="MunicipalMisprint" id="MunicipalMisprintResult">
     <resultMap type="MunicipalMisprint" id="MunicipalMisprintResult">
     	<id     property="id"      column="id"      />
     	<id     property="id"      column="id"      />
-        <result property="misprintName"    column="misprint_name"    />
+        <result property="siteName"    column="site_name"    />
         <result property="misprintCount"     column="misprint_count"     />
         <result property="misprintCount"     column="misprint_count"     />
     </resultMap>
     </resultMap>
     
     
     <sql id="selectMunicipalMisprintVo">
     <sql id="selectMunicipalMisprintVo">
-        select id, misprint_name, misprint_count from sooka_municipal_misprint
+        select id, site_name, misprint_count from sooka_municipal_misprint
     </sql>
     </sql>
 
 
     <select id="selectMunicipalMisprintList" parameterType="MunicipalMisprint" resultMap="MunicipalMisprintResult">
     <select id="selectMunicipalMisprintList" parameterType="MunicipalMisprint" resultMap="MunicipalMisprintResult">
@@ -23,9 +23,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 	</delete>
 	</delete>
 
 
 	<insert id="insertBatch">
 	<insert id="insertBatch">
-		insert into sooka_municipal_misprint (misprint_name, misprint_count) values
+		insert into sooka_municipal_misprint (site_name, misprint_count) values
 		<foreach item="item" collection="list" separator=",">
 		<foreach item="item" collection="list" separator=",">
-			(#{item.misprintName},#{item.misprintCount})
+			(#{item.siteName},#{item.misprintCount})
 		</foreach>
 		</foreach>
 	</insert>
 	</insert>