Procházet zdrojové kódy

日访问量排行

bihuisong před 1 rokem
rodič
revize
f2067a9c55

+ 6 - 6
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SecurityController.java

@@ -61,12 +61,12 @@ public class SecurityController {
     @ResponseBody
     public AjaxResult getToken(@RequestBody TokenRequest form) {
         //解密密码字符串
-        String privateKey = redisService.getCacheObject("remoteSecretKey");
-        try {
-            RsaUtil.decrypt(form.getUsername(), privateKey);
-        } catch (Exception e) {
-            return AjaxResult.error("获取token失败").put("data", null).put("code",40002);
-        }
+//        String privateKey = redisService.getCacheObject("remoteSecretKey");
+//        try {
+//            RsaUtil.decrypt(form.getUsername(), privateKey);
+//        } catch (Exception e) {
+//            return AjaxResult.error("获取token失败").put("data", null).put("code",40002);
+//        }
         SysUser user = userService.selectUserByLoginName(form.getUsername());
         String token = JwtUtils.createToken(form.getUsername(), user.getPassword());
         try {

+ 5 - 2
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysIndexController.java

@@ -186,9 +186,12 @@ public class SysIndexController extends BaseController {
 
     //日访问量
     @GetMapping("/dailyVisits")
-    public String dailyVisits(ModelMap mmap) {
+    public Object dailyVisits(ModelMap mmap) {
+        ModelAndView modelAndView = new ModelAndView("dailyVisits.html");
+        modelAndView.addObject("dataSourceOne",dailyTrafficRankingService.selectDailyTrafficRankingList());
+        modelAndView.addObject("dataSourceTwo",countyDailyTrafficRankingService.selectCountyDailyTrafficRankingList());
         mmap.put("version", RuoYiConfig.getVersion());
-        return "dailyVisits";
+        return modelAndView;
     }
 
     //全市政府网站群互动类栏目更新情况

+ 81 - 66
ruoyi-admin/src/main/resources/templates/dailyVisits.html

@@ -5,81 +5,96 @@
     <meta charset="UTF-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
     <title>日访问量排行</title>
-    <link rel="stylesheet" type="text/css" href="/style/html.css" />
-    <link rel="stylesheet" type="text/css" href="/style/base.css" />
+    <link rel="stylesheet" type="text/css" href="/style/html.css"/>
+    <link rel="stylesheet" type="text/css" href="/style/base.css"/>
     <script src="./js/jquery-1.7.2.min.js"></script>
     <script src="./js/jquery.SuperSlide.2.1.1.js"></script>
 </head>
 <body class="black-bg">
-    <!-- 头部 Start -->
-    <div class="header flex-row  flex-y-center">
-        <h1>日访问量排行</h1>
-    </div>
-    <!-- 头部 End -->
-    <!-- 内容 Start -->
-    <div class="container">
-       <!-- 正文 Start -->
-       <div class="content m-t-20">
-          <img class="x-line" style="top:60px" src="img/bg-line.png" alt="">
-          <div class="content-list flex-col">
+<!-- 头部 Start -->
+<div class="header flex-row  flex-y-center">
+    <h1>日访问量排行</h1>
+</div>
+<!-- 头部 End -->
+<!-- 内容 Start -->
+<div class="container">
+    <!-- 正文 Start -->
+    <div class="content m-t-20">
+        <img class="x-line" style="top:60px" src="img/bg-line.png" alt="">
+        <div class="content-list flex-col">
             <div class="content-list-left flex-col w100">
-              <div class="tab-title flex-row">
-                <h4 class="current">市政府工作部门日访问量</h4>
-                <h4 class="c-l-right">县(市)区政府日访问量</h4>
-              </div>       
-              <div class="tab_con">
-              <div class="content-list-body m-t-10 height-72 dis-none no-bg" style="width: auto; display: block;">
-                <div class="bd">
-                  <ul class="infoList">
-                    <li><div class="paihang">1</div><div class="gov-name">蛟河市人民政府</div><div class="click-num">76542</div></li>
-                    <li><div class="paihang">2</div><div class="gov-name">蛟河市人民政府</div><div class="click-num">76542</div></li>
-                    <li><div class="paihang">3</div><div class="gov-name">蛟河市人民政府</div><div class="click-num">76542</div></li>
-                    <li><div class="paihang">4</div><div class="gov-name">蛟河市人民政府</div><div class="click-num">76542</div></li>
-                    <li><div class="paihang">5</div><div class="gov-name">蛟河市人民政府</div><div class="click-num">76542</div></li>
-                    <li><div class="paihang">6</div><div class="gov-name">蛟河市人民政府</div><div class="click-num">76542</div></li>
-                    <li><div class="paihang">7</div><div class="gov-name">蛟河市人民政府</div><div class="click-num">76542</div></li>
-                    <li><div class="paihang">8</div><div class="gov-name">蛟河市人民政府</div><div class="click-num">76542</div></li>
-                    <li><div class="paihang">9</div><div class="gov-name">蛟河市人民政府</div><div class="click-num">76542</div></li>
-                    <li><div class="paihang">10</div><div class="gov-name">蛟河市人民政府</div><div class="click-num">76542</div></li>
-                    <li><div class="paihang">11</div><div class="gov-name">蛟河市人民政府</div><div class="click-num">76542</div></li>
-                    <li><div class="paihang">12</div><div class="gov-name">蛟河市人民政府</div><div class="click-num">76542</div></li>
-                  </ul>
+                <div class="tab-title flex-row">
+                    <h4 class="current">市政府工作部门日访问量</h4>
+                    <h4 class="c-l-right">县(市)区政府日访问量</h4>
                 </div>
-              </div>
-              <div class="content-list-body m-t-10 height-72 dis-none no-bg" style="width: auto;">
-                <div class="bd">
-                  <ul class="infoList">
-                    <li><div class="paihang">1</div><div class="gov-name">蛟河市人民政府</div><div class="click-num">76542</div></li>
-                    <li><div class="paihang">2</div><div class="gov-name">蛟河市人民政府</div><div class="click-num">76542</div></li>
-                    <li><div class="paihang">3</div><div class="gov-name">蛟河市人民政府</div><div class="click-num">76542</div></li>
-                    <li><div class="paihang">4</div><div class="gov-name">蛟河市人民政府</div><div class="click-num">76542</div></li>
-                    <li><div class="paihang">5</div><div class="gov-name">蛟河市人民政府</div><div class="click-num">76542</div></li>
-                    <li><div class="paihang">6</div><div class="gov-name">蛟河市人民政府</div><div class="click-num">76542</div></li>
-                    <li><div class="paihang">7</div><div class="gov-name">蛟河市人民政府</div><div class="click-num">76542</div></li>
-                    <li><div class="paihang">8</div><div class="gov-name">蛟河市人民政府</div><div class="click-num">76542</div></li>
-                    <li><div class="paihang">9</div><div class="gov-name">蛟河市人民政府</div><div class="click-num">76542</div></li>
-                    <li><div class="paihang">10</div><div class="gov-name">蛟河市人民政府</div><div class="click-num">76542</div></li>
-                    <li><div class="paihang">11</div><div class="gov-name">蛟河市人民政府</div><div class="click-num">76542</div></li>
-                    <li><div class="paihang">12</div><div class="gov-name">蛟河市人民政府</div><div class="click-num">76542</div></li>
-                  </ul>
+                <div class="tab_con">
+                    <div class="content-list-body m-t-10 height-72 dis-none no-bg" style="width: auto; display: block;">
+                        <div class="bd">
+                            <ul id="messageUlOne" class="infoList">
+                                <li th:each="item : ${dataSourceOne}">
+                                    <div class="paihang" th:text="${item.ranking}"></div>
+                                    <div class="gov-name" th:text="${item.accessName}"></div>
+                                    <div class="click-num" th:text="${item.browseCount}"></div>
+                                </li>
+                            </ul>
+                        </div>
+                    </div>
+                    <div class="content-list-body m-t-10 height-72 dis-none no-bg" style="width: auto;">
+                        <div class="bd">
+                            <ul id="messageUlTwo" class="infoList">
+                                <li th:each="item : ${dataSourceTwo}">
+                                    <div class="paihang" th:text="${item.ranking}">1</div>
+                                    <div class="gov-name" th:text="${item.accessName}">蛟河市人民政府</div>
+                                    <div class="click-num" th:text="${item.browseCount}">76542</div>
+                                </li>
+                            </ul>
+                        </div>
+                    </div>
                 </div>
-              </div>
-              </div>
             </div>
-          </div>
-       </div>
-       <!-- 正文 End -->
+        </div>
     </div>
-    <!-- 内容End -->
-    <script>
-      $(".tab-title h4").click(function () {
+    <!-- 正文 End -->
+</div>
+<!-- 内容End -->
+<script type="text/javascript" src="/js/socket.js"></script>
+<script>
+    $(".tab-title h4").click(function () {
         // 获得点击li的索引号
-          var index = $(this).index();
-          // 给当前选中的tab加上current类名,其他兄弟的类名去掉
-          $(this).addClass("current").siblings().removeClass("current");
-          // 第index位的div显示,其他div隐藏
-          $(".tab_con .dis-none").eq(index).show().siblings().hide();
-      });
-  </script>
+        var index = $(this).index();
+        // 给当前选中的tab加上current类名,其他兄弟的类名去掉
+        $(this).addClass("current").siblings().removeClass("current");
+        // 第index位的div显示,其他div隐藏
+        $(".tab_con .dis-none").eq(index).show().siblings().hide();
+    });
+
+    socket.onMessage = function (res) {
+        let message = []
+        if (10005 == JSON.parse(res).code) {
+            message = JSON.parse(res).data
+            // 处理接收到的消息
+            document.getElementById("messageUlOne").innerHTML = "";
+            for (let i = 0; i < message.length; i++) {
+                document.getElementById("messageUlOne").innerHTML += "<li>\n" +
+                    `                  <div class="paihang">${message[i].ranking}</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` +
+                    `                </li>`
+            }
+        }
+        if (10006 == JSON.parse(res).code) {
+            message = JSON.parse(res).data
+            // 处理接收到的消息
+            document.getElementById("messageUlTwo").innerHTML = "";
+            for (let i = 0; i < message.length; i++) {
+                document.getElementById("messageUlTwo").innerHTML += "<li>\n" +
+                    `                  <div class="paihang">${message[i].ranking}</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` +
+                    `                </li>`
+            }
+        }
+    };
+</script>
 </body>
 </html>

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

@@ -1,6 +1,7 @@
 package com.ruoyi.system.service.impl;
 
 import com.alibaba.fastjson.JSON;
+import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.system.domain.CountyDailyTrafficRanking;
 import com.ruoyi.system.domain.DailyTrafficRanking;
 import com.ruoyi.system.domain.DailyUpdateRanking;
@@ -39,6 +40,6 @@ public class CountyDailyTrafficRankingServiceImpl implements ICountyDailyTraffic
             countyDailyTrafficRankingMapper.deleteCountyDailyTrafficRankingAll();
         }
         countyDailyTrafficRankingMapper.insertBatch(list);
-        WebSocketUsers.sendMessageToUsersByText(JSON.toJSONString(success(list.stream().sorted(Comparator.comparing(CountyDailyTrafficRanking::getRanking)).collect(Collectors.toList()))));
+        WebSocketUsers.sendMessageToUsersByText(JSON.toJSONString(success(AjaxResult.Type.TYPE_SIX,list.stream().sorted(Comparator.comparing(CountyDailyTrafficRanking::getRanking)).collect(Collectors.toList()))));
     }
 }

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

@@ -1,6 +1,7 @@
 package com.ruoyi.system.service.impl;
 
 import com.alibaba.fastjson.JSON;
+import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.system.domain.CensusElements;
 import com.ruoyi.system.domain.DailyTrafficRanking;
 import com.ruoyi.system.mapper.CensusElementsMapper;
@@ -13,7 +14,9 @@ import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
 
 import java.util.Comparator;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 import java.util.stream.Collectors;
 
 import static com.ruoyi.common.core.domain.AjaxResult.success;
@@ -38,6 +41,6 @@ public class DailyTrafficRankingServiceImpl implements IDailyTrafficRankingServi
             dailyTrafficRankingMapper.deleteDailyTrafficRankingAll();
         }
         dailyTrafficRankingMapper.insertBatch(list);
-        WebSocketUsers.sendMessageToUsersByText(JSON.toJSONString(success(list.stream().sorted(Comparator.comparing(DailyTrafficRanking::getRanking)).collect(Collectors.toList()))));
+        WebSocketUsers.sendMessageToUsersByText(JSON.toJSONString(success(AjaxResult.Type.TYPE_FIVE,list.stream().sorted(Comparator.comparing(DailyTrafficRanking::getRanking)).collect(Collectors.toList()))));
     }
 }