Forráskód Böngészése

【情报二期】数据域服务 - 布控资源表消费逻辑开发

peifj 1 hónapja
szülő
commit
7cea8b6eb2

+ 24 - 16
src/main/java/com/hhwy/qbeqsjy/kafka/service/ConsumeService.java

@@ -317,9 +317,10 @@ public class ConsumeService implements ApplicationListener<ContextRefreshedEvent
                                 String mxbh = (String) modelInfoMap.get("mxbh");
                                 if("DRYJ-BSJJ-KYCC".equals(mxbh)){   // 单人预警-本市进京-客运乘车
                                     if(StringUtils.isNotBlank(sfdxzqhdm) && StringUtils.isNotBlank(mddxzqhdm)){
-                                        // 始发地:天津,目的地:北京
+                                        // 业务需求:始发地:天津,目的地:北京
                                         if("12".equals(sfdxzqhdm.substring(0, 2)) && "11".equals(mddxzqhdm.substring(0, 2))){
                                             warningInfoList.add(new Object[]{rwbh, rwmc, rwlx, rwlxmc, rwdxlxmc, yjxxbh, lkXm, lkSfzh, lkSjh, yjxxsm.toString(), yjzt, Constants.YJZT_WD, captureTimeKy, zrjz, zrmjid, zrmjxm, zrmjjh, zrmjlxfs, zrdwbm, CommonUtil.getConfValueByKey(zrdwbm), zrbmbm, CommonUtil.getConfValueByKey(zrbmbm), sqrXm, sqrSfzh, sqrJh, sqrDwbm, sqrDwmc, yjryLb, yjryBq, gkjb, gkjbmc, resourceCode, null, null, currentTime, currentTime, null, null, null, null, null});
+                                            yjxxsm.setLength(0);
                                             break;
                                         }
                                     }
@@ -398,18 +399,20 @@ public class ConsumeService implements ApplicationListener<ContextRefreshedEvent
                                 String mxbh = (String) modelInfoMap.get("mxbh");
                                 if("DRYJ-WSLJ-MHDP".equals(mxbh)){   // 单人预警-外省来津-民航订票
                                     if(StringUtils.isNotBlank(ddjcdm)){
-                                        // 业务需求:到达机场代码为TSN(中国-天津-天津滨海国际机场)
+                                        // 业务需求:到达机场代码为TSN(天津滨海国际机场)
                                         if("TSN".equals(ddjcdm.trim())){
                                             warningInfoList.add(new Object[]{rwbh, rwmc, rwlx, rwlxmc, rwdxlxmc, yjxxbh, lkzwm, zjhm, yjrySjh, yjxxsm.toString(), yjzt, Constants.YJZT_WD, captureTimeMhdp, zrjz, zrmjid, zrmjxm, zrmjjh, zrmjlxfs, zrdwbm, CommonUtil.getConfValueByKey(zrdwbm), zrbmbm, CommonUtil.getConfValueByKey(zrbmbm), sqrXm, sqrSfzh, sqrJh, sqrDwbm, sqrDwmc, yjryLb, yjryBq, gkjb, gkjbmc, resourceCode, null, null, currentTime, currentTime, null, null, null, null, ddjcmc});
+                                            yjxxsm.setLength(0);
                                             break;
                                         }
                                     }
                                 } else if ("DRYJ-KSGJ-MHDP".equals(mxbh)) {   // 单人预警-跨省轨迹-民航订票
                                     if(StringUtils.isNotBlank(qfjcdm) && StringUtils.isNotBlank(ddjcmc)){
                                         String mddShi = (String) modelInfoMap.get("mdd_shi");
-                                        // 业务需求:起飞机场代码为TSN(中国-天津-天津滨海国际机场),到达机场处在当前任务所记录的目的地市境内
-                                        if("TSN".equals(qfjcdm.trim()) && ddjcmc.contains(mddShi)){
+                                        // 业务需求:起飞机场代码为TSN(天津滨海国际机场),到达机场须属于当前任务所记录的目的地市
+                                        if("TSN".equals(qfjcdm.trim()) && ddjcmc.trim().contains(mddShi)){
                                             warningInfoList.add(new Object[]{rwbh, rwmc, rwlx, rwlxmc, rwdxlxmc, yjxxbh, lkzwm, zjhm, yjrySjh, yjxxsm.toString(), yjzt, Constants.YJZT_WD, captureTimeMhdp, zrjz, zrmjid, zrmjxm, zrmjjh, zrmjlxfs, zrdwbm, CommonUtil.getConfValueByKey(zrdwbm), zrbmbm, CommonUtil.getConfValueByKey(zrbmbm), sqrXm, sqrSfzh, sqrJh, sqrDwbm, sqrDwmc, yjryLb, yjryBq, gkjb, gkjbmc, resourceCode, null, null, currentTime, currentTime, null, null, null, null, ddjcmc});
+                                            yjxxsm.setLength(0);
                                             break;
                                         }
                                     }
@@ -489,6 +492,7 @@ public class ConsumeService implements ApplicationListener<ContextRefreshedEvent
                                     // 该需求不合理,待定
                                 }
                                 else*/
+                                // 业务需求:线索人员所住旅馆位置须在当前任务所记录的布控区域范围内
                                 if("DRYJ-BSMGQY-LKZD".equals(mxbh)){   // 单人预警-本市敏感区域-旅客住店
                                     JSONArray areaInfoList = JSON.parseArray(bkqyxx);
                                     for (Object obj : areaInfoList) {
@@ -498,19 +502,17 @@ public class ConsumeService implements ApplicationListener<ContextRefreshedEvent
                                         JSONObject locationJSONObj = JSON.parseObject(String.valueOf(ctrlAreaInfo.get("qyfwjwdjhFh")));
                                         JSONArray locationSet = locationJSONObj.getJSONArray("location");
                                         if(!"null".equals(lgjd) && !"null".equals(lgwd)){
-                                            if(Constants.NUM_0 == qyjhlx){
+                                            if(Constants.NUM_0 == qyjhlx){   // 圆形区域
                                                 JSONObject loc = locationSet.getJSONObject(0);
                                                 String centerLon84 = loc.getString("lon");
                                                 String centerLat84 = loc.getString("lat");
                                                 String radius = loc.getString("radius");
                                                 if(GeoUtils.isPointInCircle(Double.valueOf(lgwd), Double.valueOf(lgjd), Double.valueOf(centerLat84), Double.valueOf(centerLon84), Double.valueOf(radius))){
-                                                    yjxxsm.append(",所在区域:");
-                                                    yjxxsm.append(qymc);
                                                     warningInfoList.add(new Object[]{rwbh, rwmc, rwlx, rwlxmc, rwdxlxmc, yjxxbh, rzrXm, rzrSfzh, rzrLxdh, yjxxsm.toString(), yjzt, Constants.YJZT_WD, captureTimeJnryzs, zrjz, zrmjid, zrmjxm, zrmjjh, zrmjlxfs, zrdwbm, CommonUtil.getConfValueByKey(zrdwbm), zrbmbm, CommonUtil.getConfValueByKey(zrbmbm), sqrXm, sqrSfzh, sqrJh, sqrDwbm, sqrDwmc, yjryLb, yjryBq, gkjb, gkjbmc, resourceCode, lgjd, lgwd, currentTime, currentTime, null, null, null, qymc, lgdz});
                                                     yjxxsm.setLength(0);
                                                     break;
                                                 }
-                                            } else {
+                                            } else {   // 多边形区域
                                                 List<Coordinate> coordinates = new ArrayList<>();
                                                 for (Object item : locationSet) {
                                                     JSONObject loc = (JSONObject) item;
@@ -519,8 +521,6 @@ public class ConsumeService implements ApplicationListener<ContextRefreshedEvent
                                                     coordinates.add(new Coordinate(Double.valueOf(vertexLon84), Double.valueOf(vertexLat84)));
                                                 }
                                                 if(GeoUtils.isPointInPolygon(coordinates, new Coordinate(Double.valueOf(lgjd), Double.valueOf(lgwd)))){
-                                                    yjxxsm.append(",所在区域:");
-                                                    yjxxsm.append(qymc);
                                                     warningInfoList.add(new Object[]{rwbh, rwmc, rwlx, rwlxmc, rwdxlxmc, yjxxbh, rzrXm, rzrSfzh, rzrLxdh, yjxxsm.toString(), yjzt, Constants.YJZT_WD, captureTimeJnryzs, zrjz, zrmjid, zrmjxm, zrmjjh, zrmjlxfs, zrdwbm, CommonUtil.getConfValueByKey(zrdwbm), zrbmbm, CommonUtil.getConfValueByKey(zrbmbm), sqrXm, sqrSfzh, sqrJh, sqrDwbm, sqrDwmc, yjryLb, yjryBq, gkjb, gkjbmc, resourceCode, lgjd, lgwd, currentTime, currentTime, null, null, null, qymc, lgdz});
                                                     yjxxsm.setLength(0);
                                                     break;
@@ -588,6 +588,7 @@ public class ConsumeService implements ApplicationListener<ContextRefreshedEvent
                                     // 表中无经、纬度数据,无法判断是否出现在布控区域
                                     // 暂时不做过滤处理
                                     warningInfoList.add(new Object[]{rwbh, rwmc, rwlx, rwlxmc, rwdxlxmc, yjxxbh, swryXm, swrySfzh, swryLxdh, yjxxsm.toString(), yjzt, Constants.YJZT_WD, captureTimeWbsw, zrjz, zrmjid, zrmjxm, zrmjjh, zrmjlxfs, zrdwbm, CommonUtil.getConfValueByKey(zrdwbm), zrbmbm, CommonUtil.getConfValueByKey(zrbmbm), sqrXm, sqrSfzh, sqrJh, sqrDwbm, sqrDwmc, yjryLb, yjryBq, gkjb, gkjbmc, resourceCode, null, null, currentTime, currentTime, null, null, null, null, yycsmc});
+                                    yjxxsm.setLength(0);
                                     break;
                                 }
                             }
@@ -654,6 +655,7 @@ public class ConsumeService implements ApplicationListener<ContextRefreshedEvent
                                     // 表中无经、纬度数据,无法判断是否出现在布控区域
                                     // 暂时不做过滤处理
                                     warningInfoList.add(new Object[]{rwbh, rwmc, rwlx, rwlxmc, rwdxlxmc, yjxxbh, ckXm, ckSfzh, ckLxdh, yjxxsm.toString(), yjzt, Constants.YJZT_WD, captureTimeDt, zrjz, zrmjid, zrmjxm, zrmjjh, zrmjlxfs, zrdwbm, CommonUtil.getConfValueByKey(zrdwbm), zrbmbm, CommonUtil.getConfValueByKey(zrbmbm), sqrXm, sqrSfzh, sqrJh, sqrDwbm, sqrDwmc, yjryLb, yjryBq, gkjb, gkjbmc, resourceCode, null, null, currentTime, currentTime, null, null, null, null, czmc});
+                                    yjxxsm.setLength(0);
                                     break;
                                 }
                             }
@@ -715,8 +717,9 @@ public class ConsumeService implements ApplicationListener<ContextRefreshedEvent
                             for (Map<String, Object> modelInfoMap : modelInfoList) {
                                 String mxbh = (String) modelInfoMap.get("mxbh");
                                 if("DRYJ-BSJJ-SJRD".equals(mxbh)){   // 单人预警-本市进京-手机热点
-                                    // 暂时不做过滤处理
+                                    // 不做过滤处理
                                     warningInfoList.add(new Object[]{rwbh, rwmc, rwlx, rwlxmc, rwdxlxmc, yjxxbh, yjryXm, yjrySfzh, yddh, yjxxsm.toString(), yjzt, Constants.YJZT_WD, captureTimeSjrd, zrjz, zrmjid, zrmjxm, zrmjjh, zrmjlxfs, zrdwbm, CommonUtil.getConfValueByKey(zrdwbm), zrbmbm, CommonUtil.getConfValueByKey(zrbmbm), sqrXm, sqrSfzh, sqrJh, sqrDwbm, sqrDwmc, yjryLb, yjryBq, gkjb, gkjbmc, resourceCode, jd, wd, currentTime, currentTime, null, null, null, null, addressName});
+                                    yjxxsm.setLength(0);
                                     break;
                                 }
                             }
@@ -830,8 +833,9 @@ public class ConsumeService implements ApplicationListener<ContextRefreshedEvent
                             for (Map<String, Object> modelInfoMap : modelInfoList) {
                                 String mxbh = (String) modelInfoMap.get("mxbh");
                                 if("DRYJ-BSJJ-XLPC".equals(mxbh)){   // 单人预警-本市进京-巡逻盘查
-                                    // 暂时不做过滤处理
+                                    // 不做过滤处理
                                     warningInfoList.add(new Object[]{rwbh, rwmc, rwlx, rwlxmc, rwdxlxmc, yjxxbh, xm, sfzh, lxdh, yjxxsm.toString(), yjzt, Constants.YJZT_WD, captureTimeXlpc, zrjz, zrmjid, zrmjxm, zrmjjh, zrmjlxfs, zrdwbm, CommonUtil.getConfValueByKey(zrdwbm), zrbmbm, CommonUtil.getConfValueByKey(zrbmbm), sqrXm, sqrSfzh, sqrJh, sqrDwbm, sqrDwmc, yjryLb, yjryBq, gkjb, gkjbmc, resourceCode, pcdJd, pcdWd, currentTime, currentTime, null, null, null, null, addressName});
+                                    yjxxsm.setLength(0);
                                     break;
                                 }
                             }
@@ -896,8 +900,9 @@ public class ConsumeService implements ApplicationListener<ContextRefreshedEvent
                             for (Map<String, Object> modelInfoMap : modelInfoList) {
                                 String mxbh = (String) modelInfoMap.get("mxbh");
                                 if("DRYJ-BSJJ-ZDJC".equals(mxbh)){   // 单人预警-本市进京-站点检查
-                                    // 暂时不做过滤处理
+                                    // 不做过滤处理
                                     warningInfoList.add(new Object[]{rwbh, rwmc, rwlx, rwlxmc, rwdxlxmc, yjxxbh, xm, sfzh, yjrySjh, yjxxsm.toString(), yjzt, Constants.YJZT_WD, captureTimeZdjc, zrjz, zrmjid, zrmjxm, zrmjjh, zrmjlxfs, zrdwbm, CommonUtil.getConfValueByKey(zrdwbm), zrbmbm, CommonUtil.getConfValueByKey(zrbmbm), sqrXm, sqrSfzh, sqrJh, sqrDwbm, sqrDwmc, yjryLb, yjryBq, gkjb, gkjbmc, resourceCode, null, null, currentTime, currentTime, null, null, null, null, jczmc});
+                                    yjxxsm.setLength(0);
                                     break;
                                 }
                             }
@@ -956,9 +961,10 @@ public class ConsumeService implements ApplicationListener<ContextRefreshedEvent
                             for (Map<String, Object> modelInfoMap : modelInfoList) {
                                 String mxbh = (String) modelInfoMap.get("mxbh");
                                 if("DRYJ-BSJJ-HCZDW".equals(mxbh)){   // 单人预警-本市进京-火车站电围
-                                    // 只保留命中点位在火车站区域内的数据
+                                    // 业务需求:只保留命中点位在火车站区域内的数据
                                     if(GeoUtils.isPointInCircle(Double.valueOf(jzdqWd), Double.valueOf(jzdqJd), Double.valueOf(centerPointLatHcz), Double.valueOf(centerPointLonHcz), Double.valueOf(radiusHcz))){
                                         warningInfoList.add(new Object[]{rwbh, rwmc, rwlx, rwlxmc, rwdxlxmc, yjxxbh, yjryXm, yjrySfzh, yddh, yjxxsm.toString(), yjzt, Constants.YJZT_WD, captureTimeDzwl, zrjz, zrmjid, zrmjxm, zrmjjh, zrmjlxfs, zrdwbm, CommonUtil.getConfValueByKey(zrdwbm), zrbmbm, CommonUtil.getConfValueByKey(zrbmbm), sqrXm, sqrSfzh, sqrJh, sqrDwbm, sqrDwmc, yjryLb, yjryBq, gkjb, gkjbmc, resourceCode, jzdqJd, jzdqWd, currentTime, currentTime, null, null, null, "火车站", addressName});
+                                        yjxxsm.setLength(0);
                                         break;
                                     }
                                 }
@@ -1012,15 +1018,16 @@ public class ConsumeService implements ApplicationListener<ContextRefreshedEvent
                             for (Map<String, Object> modelInfoMap : modelInfoList) {
                                 String mxbh = (String) modelInfoMap.get("mxbh");
                                 if("DRYJ-BSJJ-HCZRLGZ".equals(mxbh)){   // 单人预警-本市进京-火车站人脸感知
-                                    // 只保留命中点位在火车站区域内的数据
+                                    // 业务需求:只保留命中点位在火车站区域内的数据
                                     if(GeoUtils.isPointInCircle(Double.valueOf(wd), Double.valueOf(jd), Double.valueOf(centerPointLatHcz), Double.valueOf(centerPointLonHcz), Double.valueOf(radiusHcz))){
                                         warningInfoList.add(new Object[]{rwbh, rwmc, rwlx, rwlxmc, rwdxlxmc, yjxxbh, yjryXm, gjryZjhm, yjrySjh, yjxxsm.toString(), yjzt, Constants.YJZT_WD, gjsj, zrjz, zrmjid, zrmjxm, zrmjjh, zrmjlxfs, zrdwbm, CommonUtil.getConfValueByKey(zrdwbm), zrbmbm, CommonUtil.getConfValueByKey(zrbmbm), sqrXm, sqrSfzh, sqrJh, sqrDwbm, sqrDwmc, yjryLb, yjryBq, gkjb, gkjbmc, resourceCode, jd, wd, currentTime, currentTime, null, null, null, "火车站", addressName});
+                                        yjxxsm.setLength(0);
                                         break;
                                     }
                                 }
                             }
                             yjxxsm.setLength(0);
-                        } else if (resCodeGmszy.equals(resourceCode)) {   // =========== 购买散装油
+                        } else if (resCodeGmszy.equals(resourceCode)) {   // =========== 购买散装油   todo
                             // 抓拍机编号
                             String snashoMachNo = oriField.getString("SNASHO_MACH_NO");
                             String zpjbh = StringUtils.isNotBlank(snashoMachNo)? snashoMachNo : "暂无";
@@ -1061,6 +1068,7 @@ public class ConsumeService implements ApplicationListener<ContextRefreshedEvent
                                 String mxbh = (String) modelInfoMap.get("mxbh");
                                 if("DRYJ-FXXW-GMSZY".equals(mxbh)){   // 单人预警-风险行为-购买散装油
                                     warningInfoList.add(new Object[]{rwbh, rwmc, rwlx, rwlxmc, rwdxlxmc, yjxxbh, yjryXm, gjryZjhm, yjrySjh, yjxxsm.toString(), yjzt, Constants.YJZT_WD, gjsj, zrjz, zrmjid, zrmjxm, zrmjjh, zrmjlxfs, zrdwbm, CommonUtil.getConfValueByKey(zrdwbm), zrbmbm, CommonUtil.getConfValueByKey(zrbmbm), sqrXm, sqrSfzh, sqrJh, sqrDwbm, sqrDwmc, yjryLb, yjryBq, gkjb, gkjbmc, resourceCode, jd, wd, currentTime, currentTime, null, null, null, "火车站", addressName});
+                                    yjxxsm.setLength(0);
                                     break;
                                 }
                             }

+ 1 - 0
src/main/resources/application.properties

@@ -196,6 +196,7 @@ JJYJ-TRZ-LG=01A1200002660
 # \u673A\u573A\u4EE3\u7801\u5B57\u5178
 PEK=\u5317\u4EAC\u9996\u90FD\u56FD\u9645\u673A\u573A
 NAY=\u5317\u4EAC\u5357\u82D1\u673A\u573A
+PKX=\u5317\u4EAC\u5927\u5174\u56FD\u9645\u673A\u573A
 TSN=\u5929\u6D25\u6EE8\u6D77\u56FD\u9645\u673A\u573A
 CDE=\u627F\u5FB7\u666E\u5B81\u673A\u573A
 SJW=\u77F3\u5BB6\u5E84\u6B63\u5B9A\u56FD\u9645\u673A\u573A