wangliang 2 vuotta sitten
vanhempi
commit
7b784e3196

+ 0 - 1
themis-admin/src/main/java/com/qmth/themis/admin/api/TBUserController.java

@@ -583,7 +583,6 @@ public class TBUserController {
         } else {
             orgIdNew = Long.parseLong(orgId);
         }
-        SystemConstant.getSearcher();
         IPage<TBUserDto> tbUserIPage = tbUserService.userQuery(new Page<>(pageNumber, pageSize), id, loginName, name, roleCode, enable, orgIdNew);
         tbUserIPage.getRecords().forEach(s -> {
             if (Objects.nonNull(s.getRoleNameStr())) {

+ 1 - 1
themis-admin/src/main/java/com/qmth/themis/admin/start/StartRunning.java

@@ -21,7 +21,7 @@ public class StartRunning implements CommandLineRunner {
     public void run(String... args) throws Exception {
         log.info("服务器启动时执行 start");
         SystemConstant.initTempFiles();
-        SystemConstant.getSearcher();
+        SystemConstant.getSearcher(SystemConstant.TEMP_FILES_DIR);
         log.info("服务器启动时执行 end");
     }
 }

+ 4 - 5
themis-business/src/main/java/com/qmth/themis/business/constant/SystemConstant.java

@@ -1,17 +1,14 @@
 package com.qmth.themis.business.constant;
 
-import cn.hutool.core.date.DateUtil;
 import com.google.common.collect.Sets;
 import com.qmth.themis.business.cache.ExamRecordCacheUtil;
 import com.qmth.themis.business.dto.ExpireTimeDTO;
 import com.qmth.themis.business.dto.cache.TEStudentCacheDto;
-import com.qmth.themis.business.entity.TBUser;
 import com.qmth.themis.business.entity.TOeExamRecord;
 import com.qmth.themis.business.enums.*;
 import com.qmth.themis.business.service.CacheService;
 import com.qmth.themis.business.service.TOeExamRecordService;
 import com.qmth.themis.business.util.RedisUtil;
-import com.qmth.themis.business.util.ServletUtil;
 import com.qmth.themis.business.util.SessionUtil;
 import com.qmth.themis.common.contanst.Constants;
 import com.qmth.themis.common.enums.ExceptionResultEnum;
@@ -504,9 +501,11 @@ public class SystemConstant {
 
     /**
      * 获取searcher
+     *
+     * @param path
      */
-    public static void getSearcher() {
-        SEARCHER = Objects.isNull(SEARCHER) ? IpUtil.getSearcher() : SEARCHER;
+    public static void getSearcher(String path) {
+        SEARCHER = Objects.isNull(SEARCHER) ? IpUtil.getSearcher(path) : SEARCHER;
     }
 
     /**

+ 14 - 16
themis-common/src/main/java/com/qmth/themis/common/util/IpUtil.java

@@ -1,6 +1,7 @@
 package com.qmth.themis.common.util;
 
 import com.qmth.themis.common.exception.BusinessException;
+import org.apache.commons.io.FileUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.lionsoul.ip2region.xdb.Searcher;
 import org.slf4j.Logger;
@@ -9,8 +10,7 @@ import org.slf4j.LoggerFactory;
 import javax.servlet.http.HttpServletRequest;
 import java.io.File;
 import java.io.IOException;
-import java.net.URL;
-import java.util.Enumeration;
+import java.io.InputStream;
 import java.util.Objects;
 
 public class IpUtil {
@@ -120,24 +120,22 @@ public class IpUtil {
     /**
      * 获取全局searcher
      *
+     * @param path
      * @return
      */
-    public static Searcher getSearcher() {
-        String path = null;
-        try {
-            Enumeration<URL> urls = IpUtil.class.getClassLoader().getResources("ip2region.xdb");
-            int i = 1;
-            while (urls.hasMoreElements()) {
-                URL url = urls.nextElement();
-                path = url.getPath();
-                log.info("===={}, {}", i++, url.getPath());
+    public static Searcher getSearcher(String path) {
+        File file = null;
+        InputStream inputStream = IpUtil.class.getClassLoader().getResourceAsStream("ip2region.xdb");
+        if (Objects.isNull(inputStream)) {
+            log.info("inputstream is null");
+        } else {
+            file = new File(path + File.separator + "ip2region.xdb");
+            try {
+                FileUtils.copyInputStreamToFile(inputStream, file);
+            } catch (IOException e) {
+                e.printStackTrace();
             }
-        } catch (IOException e) {
-            e.printStackTrace();
         }
-        URL url = IpUtil.class.getClassLoader().getResource("ip2region.xdb");
-        log.info("ip2region url:{},file:{}", url, url.getFile());
-        File file = Objects.nonNull(path) ? new File(path) : null;
         if (Objects.isNull(file)) {
             return null;
         }

+ 1 - 1
themis-task/src/main/java/com/qmth/themis/task/start/StartRunning.java

@@ -124,7 +124,7 @@ public class StartRunning implements CommandLineRunner {
          */
         rocketMessageConsumer.setRocketMQConsumer(nameServer, dictionaryConfig.mqConfigDomain().getMap().get(MqGroupEnum.TENCENT_VIDEO_GROUP.name()), dictionaryConfig.mqConfigDomain().getTopic(), MqTagEnum.TENCENT_VIDEO.name(), MessageModel.CLUSTERING, SpringContextHolder.getBean(TencentVideoConcurrentlyImpl.class));
         SystemConstant.initTempFiles();
-        SystemConstant.getSearcher();
+        SystemConstant.getSearcher(SystemConstant.TEMP_FILES_DIR);
         log.info("服务器启动时执行 end");
     }
 }