Quellcode durchsuchen

修改保存到违法船舶的表逻辑

459242451@qq.com vor 3 Jahren
Ursprung
Commit
b6403f1fbd

+ 14 - 2
ruoyi-admin/src/main/java/com/ruoyi/web/job/CanalScheduling.java

@@ -272,8 +272,8 @@ public class CanalScheduling implements Runnable, ApplicationContextAware {
                         afterDataMap.put("deviceId", heiyanDeviceMap.get(Convert.toStr(afterDataMap.get("snapPos"))));
                     }
 
-                    // 保存数据
-                    saveIllegalData(afterDataMap, ElasticConstants.HEIYAN_SHIP_RECOGNITION);
+                    // 保存数据(黑烟暂时不需要推送到行政检查)
+//                    saveIllegalData(afterDataMap, ElasticConstants.HEIYAN_SHIP_RECOGNITION);
                     client.createDocument(ElasticConstants.HEIYAN_SHIP_RECOGNITION, Convert.toStr(afterDataMap.get("id")), afterDataMap);
                 } else if (StrUtil.equalsIgnoreCase(database, "smoke_api") && StrUtil.equalsIgnoreCase(table, "ship_snap_address")) {
                     // 删除设备和类型的统计缓存
@@ -461,9 +461,21 @@ public class CanalScheduling implements Runnable, ApplicationContextAware {
         if (Convert.toInt(afterDataMap.get("illegalStatus")) != 1) {
             IllegalShipData illegalShipData = new IllegalShipData();
             BeanUtil.fillBeanWithMap(afterDataMap, illegalShipData, CopyOptions.create().setIgnoreProperties("id"));
+            if (StrUtil.isBlank(illegalShipData.getMmsi()) || "0".equals(illegalShipData.getMmsi())) {
+                return;
+            }
             illegalShipData.setId(IdUtils.fastSimpleUUID());
             illegalShipData.setSystemId(Convert.toStr(afterDataMap.get("id")));
             illegalShipData.setSystemEsIndex(indexName);
+            // 查询此船是否已上报过,如果是,则不需要再上报.根据mmsi和uploadFlag=1,illegalStatus=2
+            IllegalShipData existBean = new IllegalShipData();
+            existBean.setMmsi(illegalShipData.getMmsi());
+            existBean.setIllegalStatus(2);
+            existBean.setUploadFlag(1);
+            List<IllegalShipData> exist = illegalShipDataService.selectIllegalShipDataList(existBean);
+            if (exist != null && exist.size() > 0) {
+                illegalShipData.setIllegalStatus(4);
+            }
             try {
                 illegalShipDataService.insertIllegalShipData(illegalShipData);
             } catch (Exception ignored) {

+ 4 - 4
ruoyi-system/src/main/java/com/ruoyi/system/domain/IllegalShipData.java

@@ -22,7 +22,7 @@ public class IllegalShipData extends BaseEntity {
     private String id;
 
     private String systemId;
-    
+
     private String systemEsIndex;
 
     /**
@@ -134,16 +134,16 @@ public class IllegalShipData extends BaseEntity {
     private String allImgUrl;
 
     /**
-     * 违法状态
+     * 违法状态.1-确认正常.2-嫌疑,3-确认违法,4-此船已上报,暂时不需要上报
      */
     @Excel(name = "违法状态")
-    private Long illegalStatus;
+    private Integer illegalStatus;
 
     /**
      * 上报标记
      */
     @Excel(name = "上报标记")
-    private Long uploadFlag;
+    private Integer uploadFlag;
 
     /**
      * $column.columnComment

+ 2 - 2
ruoyi-system/src/main/resources/mapper/system/IllegalShipDataMapper.xml

@@ -38,8 +38,8 @@
     <sql id="selectIllegalShipDataVo">
         select id,
                system_id,
-               system_es_index
-                   illegal_type,
+               system_es_index,
+               illegal_type,
                mmsi,
                ship_name,
                destination,