ソースを参照

添加手动初始化redis的数据值

wutt 5 年 前
コミット
150eedec43

+ 8 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/ImageProcessingController.java

@@ -30,4 +30,12 @@ public class ImageProcessingController {
         return screenshotService.saveAndProcessImage(screenshotvo);
     }
 
+    /**
+     * 初始化redis图片搜索的关键词
+     */
+    @RequestMapping("/updateKeyWords")
+    public HttpRespMsg updateRedisPicContentKeywords() {
+        return screenshotService.updateRedisPicContentKeywords();
+    }
+
 }

+ 2 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/ScreenshotService.java

@@ -21,4 +21,6 @@ public interface ScreenshotService extends IService<Screenshot> {
     HttpRespMsg getTodayScreenshotList(String userId);
 
     HttpRespMsg saveAndProcessImage(ScreenshotVO screenshotvo);
+
+    HttpRespMsg updateRedisPicContentKeywords();
 }

+ 11 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ScreenshotServiceImpl.java

@@ -223,6 +223,17 @@ public class ScreenshotServiceImpl extends ServiceImpl<ScreenshotMapper, Screens
         return new HttpRespMsg();
     }
 
+    @Override
+    public HttpRespMsg updateRedisPicContentKeywords() {
+        List<PicContentKeywords> picContentKeywords = picContentKeywordsMapper.selectList(null);
+        for (PicContentKeywords  keyWord : picContentKeywords) {
+            redisUtil.sSetJsonString("keyWords",keyWord);
+        }
+        HttpRespMsg msg = new HttpRespMsg();
+        msg.data = redisUtil.members("keyWords");
+        return msg;
+    }
+
     //判断文字内容是否是小说
     private boolean isNovel(List<String> textContents) {
         /**先粗糙地比较一下, 小说常规包含的词库,匹配频率高,则认为是小说。

+ 25 - 11
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/UserServiceImpl.java

@@ -244,14 +244,16 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
     @Override
     public HttpRespMsg importUser(MultipartFile multipartFile, HttpServletRequest request) {
         HttpRespMsg httpRespMsg = new HttpRespMsg();
+        //首先先搞到公司id
+        Integer companyId = userMapper.selectById(request.getHeader("Token")).getCompanyId();
+        //然后处理文件
+        String fileName = multipartFile.getOriginalFilename();
+        File file = new File(fileName == null ? "file" : fileName);
+        InputStream inputStream = null;
+        OutputStream outputStream = null;
         try {
-            //首先先搞到公司id
-            Integer companyId = userMapper.selectById(request.getHeader("Token")).getCompanyId();
-            //然后处理文件
-            String fileName = multipartFile.getOriginalFilename();
-            File file = new File(fileName == null ? "file" : fileName);
-            InputStream inputStream = multipartFile.getInputStream();
-            OutputStream outputStream = new FileOutputStream(file);
+            inputStream = multipartFile.getInputStream();
+            outputStream = new FileOutputStream(file);
             byte[] buffer = new byte[4096];
             int temp = 0;
             while ((temp = inputStream.read(buffer, 0, 4096)) != -1) {
@@ -290,11 +292,10 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
                         .setRole(0)
                         .setCompanyId(companyId));
             }
-//            file.delete();
             //最后删掉这个文件
-            if (!file.delete()) {
-                System.out.println("临时文件" + file.getName() + "删除失败");
-            }
+//            if (!file.delete()) {
+//                System.out.println("临时文件" + file.getName() + "删除失败");
+//            }
             //校验是否有重复账号
             if (userMapper.selectCount(new QueryWrapper<User>().in("phone", phoneList)) == 0) {
                 for (User user : userList) {
@@ -316,6 +317,19 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
             e.printStackTrace();
             httpRespMsg.setError("发生其他错误");
             return httpRespMsg;
+        }finally {
+            //关闭流
+            try {
+                if(outputStream != null && inputStream != null){
+                    outputStream.close();
+                    inputStream.close();
+                    System.out.println("流已关闭");
+                }
+            } catch (IOException e) {
+                e.printStackTrace();
+            }
+//            file.deleteOnExit();//程序退出时删除临时文件
+            System.out.println(file.delete());
         }
         return httpRespMsg;
     }

+ 10 - 6
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/test/TestApplicationTests.java

@@ -1,5 +1,6 @@
 package com.management.platform.test;
 
+import com.management.platform.entity.PicContentKeywords;
 import com.management.platform.mapper.PicContentKeywordsMapper;
 import com.management.platform.util.RedisUtil;
 import org.junit.Test;
@@ -8,6 +9,8 @@ import org.springframework.beans.factory.annotation.Value;
 import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.test.context.junit4.SpringRunner;
 import javax.annotation.Resource;
+import java.util.List;
+import java.util.Set;
 
 @RunWith(SpringRunner.class)
 @SpringBootTest
@@ -22,12 +25,13 @@ public class TestApplicationTests {
     public void contextLoads() {
 //        //初始化redis关键词
 //        redisUtil.deleteKey("keyWords");
-//        List<PicContentKeywords> picContentKeywords = picContentKeywordsMapper.selectList(null);
-//        for (PicContentKeywords  keyWord : picContentKeywords) {
-//            redisUtil.sSetJsonString("keyWords",keyWord);
-//        }
+        List<PicContentKeywords> picContentKeywords = picContentKeywordsMapper.selectList(null);
+        for (PicContentKeywords  keyWord : picContentKeywords) {
+            redisUtil.sSetJsonString("keyWords",keyWord);
+        }
 //
-//        Set<Object> keyWords = redisUtil.members("keyWords");
+        Set<Object> keyWords = redisUtil.members("keyWords");
+        System.out.println(keyWords);
 //        System.out.println(redisUtil.existsKey(Parameter.ACCESS_TOKEN.getName()));
 //        for (Object keyWord : keyWords) {
 //            JSONObject jsonMember = JSON.parseObject((String)keyWord);
@@ -48,7 +52,7 @@ public class TestApplicationTests {
 //        for (String keyWord : Constant.keyWords) {
 //            redisUtil.sSet("keyWords",keyWord);
 //        }
-        System.out.println(redisUtil.members("keyWords").toString());
+//        System.out.println(redisUtil.members("keyWords").toString());
 
     }
 

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

@@ -127,7 +127,7 @@ public class CheckPicUtil {
     }
 
     public static void main(String[] args) {
-        CheckPicUtil.generalPicTextContent("D:\\xlsx1.jpg",(String)AuthService.getAuth().get("accessToken"));
+        CheckPicUtil.generalPicTextContent("D:\\qt.jpg",(String)AuthService.getAuth().get("accessToken"));
 
         System.out.println("m]- IntelliJ IDEA(Administrator)".contains("Intellij IDEA"));