Browse Source

[update]#优化业务逻辑

chenfangchao 2 years ago
parent
commit
31f793ad9b

+ 17 - 15
beidou-analysis/src/main/java/cn/com/taiji/service/impl/BeidouAnalySisServiceImpl.java

@@ -57,7 +57,7 @@ public class BeidouAnalySisServiceImpl implements BeidouAnalySisService {
 
     @Override
     public List<ExportVo> export(QueryVo query) {
-        Map<String,Integer> result = new ConcurrentHashMap<>();
+        Map<String,CountDTO> result = new ConcurrentHashMap<>();
         List<String> beidouList = new LinkedList<>();
         Map<String, CountDTO> idenNewStringMap = new ConcurrentHashMap<>();
         String time = DateUtils.format(new Date(), "yyyy-MM-dd");
@@ -142,7 +142,7 @@ public class BeidouAnalySisServiceImpl implements BeidouAnalySisService {
                         List<String> data = countDTO.getData();
                         if(null != data && 0 < data.size()){
                             for (String item : data) {
-                                result.put(item,countDTO.getCount());
+                                result.put(item,countDTO);
                             }
                         }
                     }
@@ -155,7 +155,7 @@ public class BeidouAnalySisServiceImpl implements BeidouAnalySisService {
         //导出融合数据
         SearchRequest exportFusionSearchRequest = new SearchRequest(EsIndexConstants.INDEX_SEAT_REALTIMETRAJECTORY + time);
         SearchSourceBuilder exportSearchSourceBuilder = new SearchSourceBuilder();
-        exportSearchSourceBuilder.size(1000000);
+        exportSearchSourceBuilder.size(50000);
         exportSearchSourceBuilder.trackTotalHits(true);
         exportSearchSourceBuilder.query(QueryBuilders.termsQuery("mergeTarget",result.keySet()));
         exportFusionSearchRequest.source(exportSearchSourceBuilder);
@@ -168,21 +168,23 @@ public class BeidouAnalySisServiceImpl implements BeidouAnalySisService {
                 String mergeTarget = (String) sourceAsMap.get("mergeTarget");
                 String targetSource = (String) sourceAsMap.get("targetSource");
                 String mergeTime = (String) sourceAsMap.get("mergeTime");
-                Integer count = result.get(mergeTarget);
-                ExportVo exportVo = new ExportVo();
-                exportVo.setMergeTarget(mergeTarget);
-                exportVo.setTargetSource(targetSource);
-                exportVo.setEndTime(mergeTime);
-                exportVo.setCount(count);
-                List<FusionNewShipJsonDTO> targetSourceList = JSON.parseArray(targetSource, FusionNewShipJsonDTO.class);
-                for (FusionNewShipJsonDTO item : targetSourceList) {
-                    if (null != item) {
-                        if (null != item.getType() && "BEIDOU".equals(item.getType())) {
-                            exportVo.setStartTime(item.getSourceTime());
+                CountDTO countDTO = result.get(mergeTarget);
+                if(null != countDTO.getData() && 1 < countDTO.getData().size()){
+                    ExportVo exportVo = new ExportVo();
+                    exportVo.setMergeTarget(countDTO.getData().toString());
+                    exportVo.setTargetSource(targetSource);
+                    exportVo.setEndTime(mergeTime);
+                    exportVo.setCount(countDTO.getData().size());
+                    List<FusionNewShipJsonDTO> targetSourceList = JSON.parseArray(targetSource, FusionNewShipJsonDTO.class);
+                    for (FusionNewShipJsonDTO item : targetSourceList) {
+                        if (null != item) {
+                            if (null != item.getType() && "BEIDOU".equals(item.getType())) {
+                                exportVo.setStartTime(item.getTime());
+                            }
                         }
                     }
+                    data.add(exportVo);
                 }
-                data.add(exportVo);
             }
         } catch (IOException e) {
             e.printStackTrace();

+ 1 - 1
es-track-common/src/main/java/cn/com/taiji/entity/FusionNewShipJsonDTO.java

@@ -24,6 +24,6 @@ public class FusionNewShipJsonDTO implements Serializable {
 
     private String trackDeviceNo;
 
-    private String sourceTime;
+    private String time;
 
 }

BIN
es-track-common/target/classes/cn/com/taiji/EsTrackAnAlySisApplication.class


BIN
es-track-common/target/classes/cn/com/taiji/config/EsClientConfiguration.class


+ 17 - 15
hlx-one-fusion-analysis/src/main/java/cn/com/taiji/service/HlxOneLevelServiceImpl.java

@@ -56,7 +56,7 @@ public class HlxOneLevelServiceImpl implements HlxOneLevelService{
 
     @Override
     public List<ExportVo> hlx(QueryVo query) {
-        Map<String,Integer> result = new ConcurrentHashMap<>();
+        Map<String,CountDTO> result = new ConcurrentHashMap<>();
         List<String> hlxList = new LinkedList<>();
         Map<String, CountDTO> idenNewStringMap = new ConcurrentHashMap<>();
         String time = DateUtils.format(new Date(), "yyyy-MM-dd");
@@ -137,7 +137,7 @@ public class HlxOneLevelServiceImpl implements HlxOneLevelService{
                         if(null != data && 0 < data.size()){
                             for (String item : data) {
                                 //mergeTarget
-                                result.put(item,countDTO.getCount());
+                                result.put(item,countDTO);
                             }
                         }
                     }
@@ -151,7 +151,7 @@ public class HlxOneLevelServiceImpl implements HlxOneLevelService{
         //导出融合数据
         SearchRequest exportFusionSearchRequest = new SearchRequest(EsIndexConstants.INDEX_SEAT_REALTIMETRAJECTORY + time);
         SearchSourceBuilder exportSearchSourceBuilder = new SearchSourceBuilder();
-        exportSearchSourceBuilder.size(1000000);
+        exportSearchSourceBuilder.size(50000);
         exportSearchSourceBuilder.trackTotalHits(true);
         exportSearchSourceBuilder.query(QueryBuilders.termsQuery("mergeTarget",result.keySet()));
         exportFusionSearchRequest.source(exportSearchSourceBuilder);
@@ -164,21 +164,23 @@ public class HlxOneLevelServiceImpl implements HlxOneLevelService{
                 String mergeTarget = (String) sourceAsMap.get("mergeTarget");
                 String targetSource = (String) sourceAsMap.get("targetSource");
                 String mergeTime = (String) sourceAsMap.get("mergeTime");
-                Integer count = result.get(mergeTarget);
-                ExportVo exportVo = new ExportVo();
-                exportVo.setMergeTarget(mergeTarget);
-                exportVo.setTargetSource(targetSource);
-                exportVo.setEndTime(mergeTime);
-                exportVo.setCount(count);
-                List<FusionNewShipJsonDTO> targetSourceList = JSON.parseArray(targetSource, FusionNewShipJsonDTO.class);
-                for (FusionNewShipJsonDTO item : targetSourceList) {
-                    if (null != item) {
-                        if (null != item.getType() && "HLX_AIS_RADAR".equals(item.getType())) {
-                            exportVo.setStartTime(item.getSourceTime());
+                CountDTO countDTO = result.get(mergeTarget);
+                if(null != countDTO.getData() && 1 < countDTO.getData().size()){
+                    ExportVo exportVo = new ExportVo();
+                    exportVo.setMergeTarget(countDTO.getData().toString());
+                    exportVo.setTargetSource(targetSource);
+                    exportVo.setEndTime(mergeTime);
+                    exportVo.setCount(countDTO.getData().size());
+                    List<FusionNewShipJsonDTO> targetSourceList = JSON.parseArray(targetSource, FusionNewShipJsonDTO.class);
+                    for (FusionNewShipJsonDTO item : targetSourceList) {
+                        if (null != item) {
+                            if (null != item.getType() && "HLX_AIS_RADAR".equals(item.getType())) {
+                                exportVo.setStartTime(item.getTime());
+                            }
                         }
                     }
+                    data.add(exportVo);
                 }
-                data.add(exportVo);
             }
         } catch (IOException e) {
             e.printStackTrace();

+ 4 - 2
simulation-track/src/main/java/cn/com/taiji/service/impl/SimulationTrackImpl.java

@@ -35,7 +35,9 @@ public class SimulationTrackImpl implements SimulationTrackService {
 
     @Override
     public void beidouTrack() {
-        List<Location> list = LocationUtils.generateLogLat("2023-02-03 00:00:00", "2023-02-03 00:02:00", 109.287806, 19.718716, 101.287806, 20.918716);
+        //开始位置 109.67736635192313,18.18433770855554
+        //结束位置 109.70224312757544,18.183594250301038
+        List<Location> list = LocationUtils.generateLogLat("2023-02-03 00:00:00", "2023-02-03 00:02:00", 109.67736635192313, 18.18433770855554,  109.70224312757544, 18.183594250301038);
         for (Location location : list) {
             BeidouShipTrackDTO beidouShipTrackDTO = new BeidouShipTrackDTO();
             beidouShipTrackDTO.setTrackId(20236688L);
@@ -63,7 +65,7 @@ public class SimulationTrackImpl implements SimulationTrackService {
 
     @Override
     public void aisTrack() {
-        List<Location> list = LocationUtils.generateLogLat("2023-02-03 00:00:00", "2023-02-03 00:02:00", 101.287806, 20.718716, 101.387806, 20.818716);
+        List<Location> list = LocationUtils.generateLogLat("2023-02-03 00:00:00", "2023-02-03 00:02:00", 109.67736635192313, 18.18433770855554,  109.70224312757544, 18.183594250301038);
         for (Location location : list) {
             GlobalAisTrackDTO globalAisTrackDTO = new GlobalAisTrackDTO();
             globalAisTrackDTO.setUserid("2023111,2023222");

+ 3 - 3
simulation-track/src/main/resources/application-prod.yml

@@ -1,6 +1,6 @@
 spring:
   kafka:
-    bootstrap-servers: kafka67:9094,kafka68:9094,kafka69:9094,kafka70:9094,kafka71:9094
+    bootstrap-servers: app2833:9094,app2834:9094,app2835:9094,app2836:9094,app2837:9094
     #ip 74.10.28.67:9094,74.10.28.68:9094,74.10.28.69:9094,74.10.28.70:9094,74.10.28.71:9094
     #bootstrap-servers: localhost:9092
     producer:
@@ -30,7 +30,7 @@ spring:
       sasl:
         mechanism: SCRAM-SHA-512
         jaas:
-          config: 'org.apache.kafka.common.security.scram.ScramLoginModule required username="user01" password="user01";'
+          config: 'org.apache.kafka.common.security.scram.ScramLoginModule required username="user01" password="8b9dcf43";'
     listener:
       # 在侦听器容器中运行的线程数。
       concurrency: 5
@@ -55,4 +55,4 @@ taiji:
       ship_borne_terminal_redis_key_prefix: ship_borne_terminal_
       static_beidou_law_enforcement_ship_redis_key_prefix: STATIC_BEIDOU_LAW_ENFORCEMENT_SHIP_
       static_police_man_track_redis_key_prefix: STATIC_POLICE_MAN_TRACK_REDIS_
-      static_law_enforcement_car_redis_key_prefix: STATIC_LAW_ENFORCEMENT_CAR_
+      static_law_enforcement_car_redis_key_prefix: STATIC_LAW_ENFORCEMENT_CAR_

+ 18 - 15
tianao-analysis/src/main/java/cn/com/taiji/service/impl/TianaoServiceImpl.java

@@ -60,7 +60,7 @@ public class TianaoServiceImpl implements TianaoService {
 
     @Override
     public List<ExportVo> tianaRader(QueryVo query) {
-        Map<String,Integer> result = new ConcurrentHashMap<>();
+        Map<String,CountDTO> result = new ConcurrentHashMap<>();
         List<String> tianaoRadarList = new LinkedList<>();
         Map<String, CountDTO> idenNewStringMap = new ConcurrentHashMap<>();
         String time = DateUtils.format(new Date(), "yyyy-MM-dd");
@@ -146,7 +146,7 @@ public class TianaoServiceImpl implements TianaoService {
                         if(null != data && 0 < data.size()){
                             for (String item : data) {
                                 //mergeTarget
-                                result.put(item,countDTO.getCount());
+                                result.put(item,countDTO);
                             }
                         }
                     }
@@ -158,9 +158,9 @@ public class TianaoServiceImpl implements TianaoService {
         //导出融合数据
         SearchRequest exportFusionSearchRequest = new SearchRequest(EsIndexConstants.INDEX_SEAT_REALTIMETRAJECTORY + time);
         SearchSourceBuilder exportSearchSourceBuilder = new SearchSourceBuilder();
-        exportSearchSourceBuilder.size(1000000);
+        exportSearchSourceBuilder.size(50000);
         exportSearchSourceBuilder.trackTotalHits(true);
-        exportSearchSourceBuilder.query(QueryBuilders.termsQuery("mergeTarget",result));
+        exportSearchSourceBuilder.query(QueryBuilders.termsQuery("mergeTarget",result.keySet()));
         exportFusionSearchRequest.source(exportSearchSourceBuilder);
         List<ExportVo> data = new ArrayList<>();
         try {
@@ -171,19 +171,22 @@ public class TianaoServiceImpl implements TianaoService {
                 String mergeTarget = (String) sourceAsMap.get("mergeTarget");
                 String targetSource = (String) sourceAsMap.get("targetSource");
                 String mergeTime = (String) sourceAsMap.get("mergeTime");
-                Integer count = result.get(mergeTarget);
-                ExportVo exportVo = new ExportVo();
-                exportVo.setMergeTarget(mergeTarget);
-                exportVo.setTargetSource(targetSource);
-                exportVo.setEndTime(mergeTime);
-                exportVo.setCount(count);
-                List<FusionNewShipJsonDTO> targetSourceList = JSON.parseArray(targetSource, FusionNewShipJsonDTO.class);
-                for (FusionNewShipJsonDTO item : targetSourceList) {
-                    if (null != item) {
-                        if (null != item.getType() && "TA_RADAR".equals(item.getType())) {
-                            exportVo.setStartTime(item.getSourceTime());
+                CountDTO countDTO = result.get(mergeTarget);
+                if(null != countDTO.getData() && 1 < countDTO.getData().size()){
+                    ExportVo exportVo = new ExportVo();
+                    exportVo.setMergeTarget(countDTO.getData().toString());
+                    exportVo.setTargetSource(targetSource);
+                    exportVo.setEndTime(mergeTime);
+                    exportVo.setCount(countDTO.getData().size());
+                    List<FusionNewShipJsonDTO> targetSourceList = JSON.parseArray(targetSource, FusionNewShipJsonDTO.class);
+                    for (FusionNewShipJsonDTO item : targetSourceList) {
+                        if (null != item) {
+                            if (null != item.getType() && "TA_RADAR".equals(item.getType())) {
+                                exportVo.setStartTime(item.getTime());
+                            }
                         }
                     }
+                    data.add(exportVo);
                 }
             }
         } catch (IOException e) {

+ 0 - 10
tianao-analysis/target/classes/application.yml

@@ -1,10 +0,0 @@
-server:
-  port: 9003
-
-taiji:
-  elasticsearch.rest:
-    uris: 120.25.233.10:9200
-    username: elastic       #如果你设置了基于x-pack的验证就要填写账号和密码
-    password: root@2022!       #没有则不用配置
-    connection-timeout: 100 #连接超时
-    max-connection: 100  #最大连接数

BIN
tianao-analysis/target/classes/cn/com/taiji/TianaoAnalySisApplication.class