Переглянути джерело

Merge remote-tracking branch 'origin/dev_1' into dev_1

cc 2 місяців тому
батько
коміт
8a50fb2530

+ 2 - 2
src/main/java/com/qingjian/module/dm/pre/PreTask.java

@@ -11,7 +11,7 @@ import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.csv.CSVFormat;
 import org.apache.fesod.sheet.ExcelReader;
 import org.apache.fesod.sheet.FesodSheet;
-import org.apache.fesod.sheet.cache.MapCache;
+import org.apache.fesod.sheet.cache.selector.SimpleReadCacheSelector;
 import org.apache.fesod.sheet.read.metadata.ReadWorkbook;
 import org.apache.fesod.sheet.read.metadata.holder.ReadWorkbookHolder;
 import org.apache.fesod.sheet.read.metadata.holder.csv.CsvReadWorkbookHolder;
@@ -133,7 +133,7 @@ public class PreTask {
         // 创建预览数据监听器并开始解析
         PreDataListener preDataListener = new PreDataListener(fileInfoList, fileName, fileId, batchId);
         try (ExcelReader reader = FesodSheet.read(Files.newInputStream(filePath), preDataListener)
-                .readCache(new MapCache())
+                .readCacheSelector(new SimpleReadCacheSelector(20L, 500))
                 .password(password).headRowNumber(0).excelType(excelTypeEnum)
                 .autoTrim(true).charset(charset).registerConverter(new Str2NullConverter())
                 .registerConverter(new DateNumberConverter()).build()) {

+ 1 - 1
src/main/java/com/qingjian/module/dm/service/DmService.java

@@ -57,7 +57,7 @@ import java.util.stream.Collectors;
 @Slf4j
 @Managed
 public class DmService {
-    private static final int PREVIEW_MAX_CONCURRENCY = 100;
+    private static final int PREVIEW_MAX_CONCURRENCY = 20;
     private static final long PREVIEW_ACQUIRE_TIMEOUT_MINUTES = 10;
     private static final long PREVIEW_TOTAL_TIMEOUT_MINUTES = 40;
 

+ 5 - 1
src/main/java/com/qingjian/module/graph/service/GraphService.java

@@ -10,6 +10,7 @@ import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
 import com.qingjian.common.cache.CaseDataCache;
 import com.qingjian.common.constants.PathConst;
+import com.qingjian.common.exception.ServerException;
 import com.qingjian.common.model.call.entity.CallRecord;
 import com.qingjian.common.model.govern.query.ConditionQuery;
 import com.qingjian.common.model.govern.query.Conditions;
@@ -107,6 +108,9 @@ public class GraphService {
         }*/
         System.out.println(sql);
         List<RelEdgeDTO> edgeList = graphMapper.graphView(sql);
+        if (edgeList.size() > 10000) {
+            throw new ServerException("当前数据量过大,请根据条件缩数据范围!");
+        }
         Map<String, Object> map = Maps.newHashMap();
         map.put("edgeList", edgeList);
 
@@ -527,7 +531,7 @@ public class GraphService {
                     sum(num::DECIMAL) AS num,
                     any_value(fx) AS fx,
                     any_value(lx) AS lx
-                FROM final_rel_edge group by node1,node2,clazz;
+                FROM final_rel_edge group by node1,node2,clazz limit 10005;
                 """;
     }
 

+ 3 - 0
src/main/java/com/qingjian/module/person/service/DataProfileService.java

@@ -168,6 +168,9 @@ public class DataProfileService {
      */
     public Page<TransOftenTop10DTO> transOfPersons(TransOftenTop10Query query) {
         query.setTableName(governConfService.getTransTableName());
+        if ("交易次数".equals(query.getDimension())) {
+            query.setOrderKey("transCount");
+        }
         return transRecordMapper.transOfPersons(Page.of(query.getPage(), query.getLimit()), query);
     }
 

+ 1 - 0
src/main/java/com/qingjian/module/person/service/IntimacyService.java

@@ -118,6 +118,7 @@ public class IntimacyService extends ServiceImpl<IntimacyMapper, Intimacy> {
         return results.stream()
                 .filter(i -> i.getIntimacy() != 0)
                 .sorted(Comparator.comparingInt(IntimacyDTO::getIntimacy).reversed())
+                .limit(100)
                 .toList();
     }
 

+ 1 - 1
src/main/resources/mappers/call/CallRecordMapper.xml

@@ -189,7 +189,7 @@
             and callDate &lt;= #{query.endDate}
         </if>
         GROUP BY COALESCE(otherPhone, '未知卡号')
-        ORDER BY callCount, otherPhone DESC
+        ORDER BY callCount DESC
     </select>
 
     <select id="callStatStation" resultType="com.qingjian.common.model.person.dto.CallStatStationDTO">