瀏覽代碼

修改一堆BUG。

wukai 1 年之前
父節點
當前提交
c2721d1595

+ 2 - 0
dayun-admin/src/main/java/com/jjt/biz/controller/ApiController.java

@@ -128,6 +128,7 @@ public class ApiController extends BaseController {
             wsMap.put("time", info.getTime());
             wsMap.put("illegal", info.getIsIllegal());
             wsMap.put("keyword", info.getKeyType());
+            wsMap.put("mac", info.getBssid());
             WebSocketUsers.sendMessageToUsersByText(JSON.toJSONString(wsMap));
             if ("Y".equals(info.getIsIllegal())) {
                 //如果是恶意动态,则发送钉钉预警
@@ -202,6 +203,7 @@ public class ApiController extends BaseController {
             wsMap.put("time", info.getTime());
             wsMap.put("illegal", info.getIsIllegal());
             wsMap.put("keyword", info.getKeyType());
+            wsMap.put("mac", info.getMac());
             WebSocketUsers.sendMessageToUsersByText(JSON.toJSONString(wsMap));
             if ("Y".equals(info.getIsIllegal())) {
                 //如果是恶意动态,则发送钉钉预警

+ 6 - 6
dayun-admin/src/main/java/com/jjt/biz/controller/IndexController.java

@@ -69,29 +69,29 @@ public class IndexController extends BaseController {
             //为了兼容以前的代码,不至于程序报错,所以这样写
             filter = req.getFilter();
         }
-        switch (filter) {
+         switch (filter) {
             case "1":
                 //当天
                 req.setStart(nowDate.toString());
-                req.setStart(nowDate.toString());
+                req.setEnd(nowDate.toString());
                 break;
             case "2":
                 //本周
                 LocalDate monday = nowDate.with(DayOfWeek.MONDAY);
                 req.setStart(monday.toString());
-                req.setStart(DateUtils.getDate());
+                req.setEnd(DateUtils.getDate());
                 break;
             case "3":
                 //本月
                 LocalDate month1 = nowDate.withDayOfMonth(1);
                 req.setStart(month1.toString());
-                req.setStart(nowDate.toString());
+                req.setEnd(nowDate.toString());
                 break;
             case "4":
                 //本年
                 LocalDate year1 = nowDate.withDayOfYear(1);
                 req.setStart(year1.toString());
-                req.setStart(nowDate.toString());
+                req.setEnd(nowDate.toString());
                 break;
            /* case "5":
                 //全部
@@ -104,7 +104,7 @@ public class IndexController extends BaseController {
             default:
                 //默认查询全部
                 req.setStart("");
-                req.setStart("");
+                req.setEnd("");
         }
 
         Map<String, Object> params = new HashMap<>();

+ 47 - 5
dayun-admin/src/main/java/com/jjt/biz/domain/RealTimeInfoVO.java

@@ -1,5 +1,9 @@
 package com.jjt.biz.domain;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+import java.util.Date;
+
 /**
  * WIFI信息对象 wifi_info
  *
@@ -24,8 +28,14 @@ public class RealTimeInfoVO {
     /**
      * 正常/恶意
      */
-    private String state;
+    private String name;
+
+    private String illegal;
 
+    private String keyword;
+    private String mac;
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date time;
 
     public String getLat() {
         return lat;
@@ -51,11 +61,43 @@ public class RealTimeInfoVO {
         this.type = type;
     }
 
-    public String getState() {
-        return state;
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getIllegal() {
+        return illegal;
+    }
+
+    public void setIllegal(String illegal) {
+        this.illegal = illegal;
+    }
+
+    public String getKeyword() {
+        return keyword;
+    }
+
+    public void setKeyword(String keyword) {
+        this.keyword = keyword;
+    }
+
+    public String getMac() {
+        return mac;
+    }
+
+    public void setMac(String mac) {
+        this.mac = mac;
+    }
+
+    public Date getTime() {
+        return time;
     }
 
-    public void setState(String state) {
-        this.state = state;
+    public void setTime(Date time) {
+        this.time = time;
     }
 }

+ 4 - 7
dayun-admin/src/main/java/com/jjt/biz/service/DingTalkService.java

@@ -1,14 +1,11 @@
 package com.jjt.biz.service;
 
+import com.alibaba.fastjson2.JSON;
 import com.dingtalk.api.DefaultDingTalkClient;
 import com.dingtalk.api.DingTalkClient;
 import com.dingtalk.api.request.OapiRobotSendRequest;
 import com.dingtalk.api.response.OapiRobotSendResponse;
-import com.jjt.biz.domain.RealTimeInfoVO;
-import com.jjt.biz.domain.WifiInfo;
-import com.jjt.biz.mapper.WifiInfoMapper;
 import com.jjt.common.core.redis.RedisCache;
-import com.jjt.framework.web.domain.server.Sys;
 import com.jjt.system.service.ISysConfigService;
 import com.taobao.api.ApiException;
 import org.apache.commons.codec.binary.Base64;
@@ -25,7 +22,6 @@ import java.net.URLEncoder;
 import java.security.InvalidKeyException;
 import java.security.NoSuchAlgorithmException;
 import java.util.ArrayList;
-import java.util.Date;
 import java.util.List;
 import java.util.Map;
 
@@ -90,8 +86,9 @@ public class DingTalkService {
             markdown.setTitle("恶意动态预警");
             String text = "###恶意动态预警\n";
             for (Map<String, Object> wsMap : list) {
-                String msgUrl = "http://api.map.baidu.com/marker?location=" + wsMap.get("lat") + "," + wsMap.get("lng") + "&title=恶意" + wsMap.get("type") + "&content=信息地址&output=html";
-                text += "> 发现类型为”" + wsMap.get("keyword") + "“的恶意" + wsMap.get("type") + "\t[位置](" + msgUrl + ") \n\n";
+                String msgUrl = accessURL + "/showMap.html?data=" + URLEncoder.encode(JSON.toJSONString(wsMap), "utf-8");
+                text += "> 发现类型为”" + wsMap.get("keyword") + "“的恶意" + wsMap.get("type") + "(" + wsMap.get("mac") + ")\t[位置](" + msgUrl + ") \n\n";
+                System.err.println(JSON.toJSONString(wsMap));
             }
             System.err.println(text);
             markdown.setText(text);

+ 5 - 5
dayun-admin/src/main/resources/mapper/biz/WifiInfoMapper.xml

@@ -62,15 +62,15 @@
     <select id="selectRealTimeInfoList" resultType="com.jjt.biz.domain.RealTimeInfoVO">
         select *
         from (SELECT *
-              FROM (SELECT lat, lng, 'WIFI' TYPE, case is_illegal when 'Y' then '恶意' ELSE '正常' END state, time
+              FROM (SELECT lat, lng, 'WIFI' TYPE, is_illegal illegal, ssid name, bssid mac, key_type keyword, time
                     FROM wifi_info
-                    ORDER BY TIME DESC LIMIT 40) a
+                    ORDER BY TIME DESC LIMIT 100) a
               UNION ALL
               SELECT *
-              FROM (SELECT lat, lng, '蓝牙' type, case is_illegal when 'Y' then '恶意' ELSE '正常' END state, time
+              FROM (SELECT lat, lng, '蓝牙' type, is_illegal illegal, name, mac, key_type keyword, time
                     FROM bluetooth_info
-                    ORDER BY TIME DESC LIMIT 40) b) t
-        order by time desc limit 20
+                    ORDER BY TIME DESC LIMIT 100) b) t
+        order by time desc limit 100
     </select>
 
     <insert id="insertWifiInfo" parameterType="WifiInfo" useGeneratedKeys="true" keyProperty="wifiInfoId">

+ 6 - 4
dayun-admin/src/test/java/DingTest.java

@@ -47,10 +47,12 @@ public class DingTest {
 //
         request.setMsgtype("markdown");
         OapiRobotSendRequest.Markdown markdown = new OapiRobotSendRequest.Markdown();
-        markdown.setTitle("杭州天气");
-        String text="###恶意动态预警\n" +
-                "> 发现类型为”反动“的恶意蓝牙”测试“\t[位置](http://8.142.173.95:18001/?t=1689242765017&type=蓝牙&name=%E6%B5%8B%E8%AF%95&keyword=%E5%8F%8D%E5%8A%A8&time=1688549244000) \n\n" +
-                "> 发现类型为”反动“的恶意WIFI”法轮大法好哇“\t[位置](http://8.142.173.95:18001/?t=1689242765017&type=WIFI&name=%E6%B3%95%E8%BD%AE%E5%8A%9F%E5%A5%BD%E5%93%87&keyword=%E5%8F%8D%E5%8A%A8&time=1688549244000) ";
+        markdown.setTitle("恶意动态预警");
+        String content = "MAC地址(11:22:33:44)";
+        content = URLEncoder.encode(content, "utf-8");
+        String text = "###恶意动态预警\n" +
+                "> 发现类型为”反动“的恶意蓝牙”测试“\t[位置](http://api.map.baidu.com/marker?location=30.67,104.88&title=恶意WIFI&content=" + content + "&output=html) \n\n" +
+                "> 发现类型为”反动“的恶意WIFI”“\t[位置](http://8.142.173.95:18001/?t=1689242765017&type=WIFI&name=%E6%B3%95%E8%BD%AE%E5%8A%9F%E5%A5%BD%E5%93%87&keyword=%E5%8F%8D%E5%8A%A8&time=1688549244000) ";
         markdown.setText(text);
         request.setMarkdown(markdown);
         OapiRobotSendResponse response = client.execute(request);

+ 34 - 21
dayun-admin/src/test/java/Test.java

@@ -1,15 +1,24 @@
+import com.alibaba.fastjson2.JSON;
 import com.jjt.common.utils.sign.Base64;
 import net.sf.jsqlparser.expression.DateTimeLiteralExpression;
 
+import java.io.UnsupportedEncodingException;
+import java.net.URLEncoder;
 import java.nio.charset.StandardCharsets;
 import java.text.SimpleDateFormat;
 import java.time.DayOfWeek;
 import java.time.LocalDate;
 import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
 
 public class Test {
-    public static void main(String[] args) {
+    public static void main(String[] args) throws Exception {
         String yy = Base64.encode(xx.getBytes(StandardCharsets.UTF_8));
+        Map<String, Object> map = new HashMap<>();
+        map.put("code", "咦儿呀儿喂");
+        map.put("test", 12321);
+        System.err.println(URLEncoder.encode("{\"lng\":\"104.019503\",\"name\":\"法轮功不好哇\",\"time\":\"2023-07-05 17:27:24\",\"type\":\"WIFI\",\"keyword\":\"反动\",\"illegal\":\"Y\",\"lat\":\"30.473968\",\"mac\":\"法轮功不好哇\"}", "utf-8"));
         System.err.println(yy);
         String str = "http://localhost:8080/profile/upload/2023/07/10/drawio修改记录_20230710141959A001.txt";
         String xx = str.substring(str.indexOf("profile"));
@@ -18,28 +27,32 @@ public class Test {
 //        System.err.println(zz);
         LocalDate date = LocalDate.now().withDayOfMonth(1);
         System.err.println(date.toString());
-         date = LocalDate.now().withDayOfYear(1);
+        date = LocalDate.now().withDayOfYear(1);
         System.err.println(date.toString());
+        System.err.println("===================================");
     }
 
-    static String xx = "<!DOCTYPE html>\n" +
-            "<html>\n" +
-            "\t<head>\n" +
-            "\t\t<meta charset=\"utf-8\">\n" +
-            "\t\t<title></title>\n" +
-            "\t</head>\n" +
-            "\t<body>\n" +
-            "\t\t<font color=\"red\">我是一</font><br/>\n" +
-            "\t\t<font color=\"blue\">我是二</font><br/>\n" +
-            "\t\t<font color=\"red\">我是3</font><br/>\n" +
-            "\t\t<font color=\"red\">我是4</font><br/>\n" +
-            "\t\t<font color=\"red\">我是5</font><br/>\n" +
-            "\t\t<h1>我是标题哎</h1>\n" +
-            "\t\t<h1>我是标题哎</h1>\n" +
-            "\t\t<h1>我是标题哎</h1>\n" +
-            "\t\t<h1>我是标题哎</h1>\n" +
-            "\t\t<h1 style=\"color:red\">我是红色标题哎</h1>\n" +
-            "\t</body>\n" +
-            "</html>";
+    static String xx = "[\n" +
+            "  {\n" +
+            "    \"deviceId\": \"fd5sfds\", //当前设备ID\n" +
+            "    \"venueId\": \"1-2\", //场馆ID\n" +
+            "    \"time\": 1688549244000, //收集时间,13位时间戳\n" +
+            "    \"authPage\": \"PCFET0NUWVBFIGh0bWw+CjxodG1sPgoJPGhlYWQ+CgkJPG1ldGEgY2hhcnNldD0idXRmLTgiPgoJCTx0aXRsZT48L3RpdGxlPgoJPC9oZWFkPgoJPGJvZHk+CgkJPGZvbnQgY29sb3I9InJlZCI+5oiR5piv5LiAPC9mb250Pjxici8+CgkJPGZvbnQgY29sb3I9ImJsdWUiPuaIkeaYr+S6jDwvZm9udD48YnIvPgoJCTxmb250IGNvbG9yPSJyZWQiPuaIkeaYrzM8L2ZvbnQ+PGJyLz4KCQk8Zm9udCBjb2xvcj0icmVkIj7miJHmmK80PC9mb250Pjxici8+CgkJPGZvbnQgY29sb3I9InJlZCI+5oiR5pivNTwvZm9udD48YnIvPgoJCTxoMT7miJHmmK/moIfpopjlk448L2gxPgoJCTxoMT7miJHmmK/moIfpopjlk448L2gxPgoJCTxoMT7miJHmmK/moIfpopjlk448L2gxPgoJCTxoMT7miJHmmK/moIfpopjlk448L2gxPgoJCTxoMSBzdHlsZT0iY29sb3I6cmVkIj7miJHmmK/nuqLoibLmoIfpopjlk448L2gxPgoJPC9ib2R5Pgo8L2h0bWw+\", //认证页面\n" +
+            "    \"bssid\": \"1233333\",\n" +
+            "    \"lat\":\"30.473968\",\n" +
+            "    \"lng\":\"104.019503\",\n" +
+            "    \"ssid\": \"法轮功不好哇\"\n" +
+            "  },\n" +
+            "  {\n" +
+            "    \"deviceId\": \"fd5sfds\", //当前设备ID\n" +
+            "    \"venueId\": \"2-1\", //场馆ID\n" +
+            "    \"time\": 1688549244000, //收集时间,13位时间戳\n" +
+            "    \"authPage\": \"\", //认证页面\n" +
+            "    \"bssid\": \"设备MAC地址\",\n" +
+            "    \"ssid\": \"很好的名字\",\n" +
+            "    \"lat\":\"30.473968\",\n" +
+            "    \"lng\":\"104.019503\"\n" +
+            "  }\n" +
+            "]";
 
 }