Browse Source

添加解析进程逻辑

wutt 5 years ago
parent
commit
412f206bf6

+ 1 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/UserController.java

@@ -5,6 +5,7 @@ import com.management.platform.service.UserService;
 import com.management.platform.util.HttpRespMsg;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
 /**

+ 8 - 9
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ScreenshotServiceImpl.java

@@ -71,23 +71,22 @@ public class ScreenshotServiceImpl extends ServiceImpl<ScreenshotMapper, Screens
         List<String> textContents = (List<String>) picResultMap.get("wordsList");
         screenshot.setPicContext((String) picResultMap.get("picContent"));
         Set<Object> members = redisUtil.members(Constant.COMMON_SOFTWARE_KEYWORDS);
+        List<String> exeprocessList = ProcessUtil.getExeprocessListfromProcessStr(screenshotvo.getProcessList());
         for (String textContent : textContents) {
             for (Object member : members) {
                 //由于redis里存储的member是一个PicContentKeywords类型的json字符串,所以取出关键字内容比较
                 JSONObject jsonMember = JSON.parseObject((String) member);
-                if (textContent.contains(jsonMember.getString("content"))) {
+                if (textContent.toLowerCase().contains(jsonMember.getString("content").toLowerCase())) {
                     log.info("图片文字中包含了关键词--->"+jsonMember.getString("content"));
                     log.info("图片文字识别出的类型--->"+jsonMember.getInteger("type"));
-                    //确定图片是哪个类型的图片
-                    screenshot.setPicType(jsonMember.getInteger("type"));
+                    //找到对应关键字,确定图片是哪个类型的图片
+                    //结合进程判断
+                    if(exeprocessList.contains(jsonMember.getString("processName").toLowerCase())){
+                        log.info("图片中关键字对应的进程名--->"+jsonMember.getString("processName"));
+                        screenshot.setPicType(jsonMember.getInteger("type"));
+                    }
                 }
             }
-        }
-        //结合进程判断
-        List<String> exeprocessList = ProcessUtil.getExeprocessListfromProcessStr(screenshotvo.getProcessList());
-        for (String process : exeprocessList) {
-
-            
         }
         screenshot.setIsHandle(1);
         screenshotMapper.insert(screenshot);

+ 1 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/util/ProcessUtil.java

@@ -46,7 +46,7 @@ public class ProcessUtil {
 //                        "svchost.exe                   1840 Services                   0      4,204 K\n" +
 //                        "svchost.exe                   1848 Services";
         List<String> exeprocessList = new ArrayList<>();
-        String[] list = processStr.split("K\n");
+        String[] list = processStr.toLowerCase().split("k\n");
         //从第三行开始才是系统的.exe进程
         for (int i = 3; i < list.length; i++) {
             // 必须写死,截取长度,因为是固定的