From cf995221ffcdee0cde9641545b7a1123002018da Mon Sep 17 00:00:00 2001
From: zhanghua <314079846@qq.com>
Date: 星期一, 10 七月 2023 15:05:48 +0800
Subject: [PATCH] 上报接口

---
 ycl-smoke/src/main/resources/application-prod.yml                                    |    0 
 ycl-smoke/src/main/java/com/ycl/smoke/entity/BaseCase.java                           |  207 +++++++++++++++
 ycl-platform/src/main/java/com/ycl/common/constant/BaseCaseStatus.java               |    6 
 ycl-smoke/src/main/java/com/ycl/smoke/mapper/ViolationsMapper.java                   |   18 +
 ycl-platform/pom.xml                                                                 |   19 +
 ycl-smoke/src/main/java/com/ycl/smoke/dto/EventAddResponseDto.java                   |    8 
 ycl-smoke/src/main/java/com/ycl/smoke/mapper/VideoAlarmReportMapper.java             |   14 +
 ycl-smoke/src/main/java/com/ycl/smoke/entity/VideoAlarmReport.java                   |   83 ++++++
 ycl-platform/src/main/java/com/ycl/service/message/impl/MessageServiceImpl.java      |    1 
 ycl-smoke/src/main/java/com/ycl/smoke/service/CityPlatformService.java               |   42 +++
 ycl-platform/src/main/java/com/ycl/remote/service/CityPlatformService.java           |    2 
 ycl-smoke/src/main/java/com/ycl/smoke/entity/Violations.java                         |  138 ++++++++++
 ycl-smoke/src/main/java/com/ycl/smoke/dto/ResultResponseDto.java                     |   10 
 ycl-smoke/src/main/java/com/ycl/smoke/task/CityUploadTask.java                       |   83 ++++++
 ycl-smoke/src/main/java/com/ycl/smoke/mapper/BaseCaseMapper.java                     |    7 
 ycl-smoke/src/main/java/com/ycl/smoke/dto/EventProcessParamDto.java                  |   12 
 ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/BaseCaseServiceImpl.java |   49 ++-
 ycl-smoke/src/main/java/com/ycl/smoke/dto/EventAddParamDto.java                      |   23 +
 18 files changed, 696 insertions(+), 26 deletions(-)

diff --git a/ycl-platform/pom.xml b/ycl-platform/pom.xml
index 67a9c94..6b4a384 100644
--- a/ycl-platform/pom.xml
+++ b/ycl-platform/pom.xml
@@ -118,7 +118,9 @@
                             lombok.launch.AnnotationProcessorHider$AnnotationProcessor
                         </annotationProcessor>
                     </annotationProcessors>
-
+                    <compilerArguments>
+                        <extdirs>${project.basedir}/src/main/resources/libs</extdirs>
+                    </compilerArguments>
                 </configuration>
             </plugin>
 
@@ -137,8 +139,21 @@
                 </configuration>
             </plugin>
         </plugins>
-    </build>
 
+        <!-- 涓昏閰嶇疆锛氬皢寮曠敤鐨勭涓夋柟 jar 鍖呮墦杩涚敓鎴愮殑 jar 鏂囦欢鐨� BOOT-INF/lib 鐩綍涓� -->
+        <resources>
+            <resource>
+                <directory>src\main\resources\libs</directory>
+                <targetPath>BOOT-INF\lib</targetPath>
+                <!--  <includes>
+                      <include>**/*.jar</include>
+                  </includes>-->
+            </resource>
+            <resource>
+                <directory>src/main/resources</directory>
+            </resource>
+        </resources>
+    </build>
 
 
 
diff --git a/ycl-platform/src/main/java/com/ycl/common/constant/BaseCaseStatus.java b/ycl-platform/src/main/java/com/ycl/common/constant/BaseCaseStatus.java
index 3b99ff0..437644c 100644
--- a/ycl-platform/src/main/java/com/ycl/common/constant/BaseCaseStatus.java
+++ b/ycl-platform/src/main/java/com/ycl/common/constant/BaseCaseStatus.java
@@ -50,4 +50,10 @@
      */
     public static final Integer CLOSING_REGISTER  = 9;
 
+
+    /**
+     *  寰呬笂鎶�
+     */
+    public static final Integer WAIT_REPORT  = 10;
+
 }
diff --git a/ycl-platform/src/main/java/com/ycl/remote/service/CityPlatformService.java b/ycl-platform/src/main/java/com/ycl/remote/service/CityPlatformService.java
index 0271955..d51487c 100644
--- a/ycl-platform/src/main/java/com/ycl/remote/service/CityPlatformService.java
+++ b/ycl-platform/src/main/java/com/ycl/remote/service/CityPlatformService.java
@@ -12,7 +12,7 @@
  * @author: AI
  * @date: 2022-09-28 15:40
  **/
-@FeignClient(url = "http://10.53.139.176:81/api", name = "cityApi")
+@FeignClient(url = "https://zhzf.zfj.lishui.gov.cn/api", name = "cityApi")
 public interface CityPlatformService {
 
     /**
diff --git a/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/BaseCaseServiceImpl.java b/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/BaseCaseServiceImpl.java
index 684cf46..4ff7bf7 100644
--- a/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/BaseCaseServiceImpl.java
+++ b/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/BaseCaseServiceImpl.java
@@ -132,28 +132,33 @@
     @Override
     public String uploadEvent(Long caseId) {
         BaseCase baseCase = this.getById(caseId);
-        Violations violations = violationsService.getById(caseId);
-        String medias = "";
-        String eventDesc = "";
-        if (violations != null) {
-            eventDesc = violations.getDescription();
-            VideoAlarmReport videoAlarmReport = videoAlarmReportService.getById(violations.getVideoAlarmReportId());
-            if (videoAlarmReport != null) {
-                StringBuilder stringBuilder = new StringBuilder().append("[{'mediaURL':'").append(fileUrl).append(videoAlarmReport.getPicData()).append("'}]");
-                medias = stringBuilder.toString();
-            }
-        }
-        EventAddParamDto dto = EventAddParamDto.builder().y84(baseCase.getLatitude() != null ? baseCase.getLatitude().toString() : "").x84(baseCase.getLongitude() != null ? baseCase.getLongitude().toString() : "").source(11).address(baseCase.getSite()).eventDesc(eventDesc).eventSign(baseCase.getCode()).medias(medias).build();
-        String msg = cityPlatformService.addEvent(dto);
-        ResultResponseDto result = JSONObject.parseObject(msg, ResultResponseDto.class);
-        if (result.getCode() == 0) {
-            EventAddResponseDto responseDto = JSONObject.parseObject(result.getResult(), EventAddResponseDto.class);
-            baseCase.setTaskCode(responseDto.getTaskcode());
-            this.updateById(baseCase);
-            return null;
-        } else {
-            return result.getMsg();
-        }
+
+        baseCase.setState(BaseCaseStatus.WAIT_REPORT);
+        this.updateById(baseCase);
+        return null;
+
+        // Violations violations = violationsService.getById(caseId);
+        // String medias = "";
+        // String eventDesc = "";
+        // if (violations != null) {
+        //     eventDesc = violations.getDescription();
+        //     VideoAlarmReport videoAlarmReport = videoAlarmReportService.getById(violations.getVideoAlarmReportId());
+        //     if (videoAlarmReport != null) {
+        //         StringBuilder stringBuilder = new StringBuilder().append("[{'mediaURL':'").append(fileUrl).append(videoAlarmReport.getPicData()).append("'}]");
+        //         medias = stringBuilder.toString();
+        //     }
+        // }
+        // EventAddParamDto dto = EventAddParamDto.builder().y84(baseCase.getLatitude() != null ? baseCase.getLatitude().toString() : "").x84(baseCase.getLongitude() != null ? baseCase.getLongitude().toString() : "").source(11).address(baseCase.getSite()).eventDesc(eventDesc).eventSign(baseCase.getCode()).medias(medias).build();
+        // String msg = cityPlatformService.addEvent(dto);
+        // ResultResponseDto result = JSONObject.parseObject(msg, ResultResponseDto.class);
+        // if (result.getCode() == 0) {
+        //     EventAddResponseDto responseDto = JSONObject.parseObject(result.getResult(), EventAddResponseDto.class);
+        //     baseCase.setTaskCode(responseDto.getTaskcode());
+        //     this.updateById(baseCase);
+        //     return null;
+        // } else {
+        //     return result.getMsg();
+        // }
     }
 
     @Override
diff --git a/ycl-platform/src/main/java/com/ycl/service/message/impl/MessageServiceImpl.java b/ycl-platform/src/main/java/com/ycl/service/message/impl/MessageServiceImpl.java
index 3a3f391..cbf68e8 100644
--- a/ycl-platform/src/main/java/com/ycl/service/message/impl/MessageServiceImpl.java
+++ b/ycl-platform/src/main/java/com/ycl/service/message/impl/MessageServiceImpl.java
@@ -35,7 +35,6 @@
 
 import javax.annotation.Resource;
 import javax.mail.internet.MimeMessage;
-import javax.xml.ws.Response;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
diff --git a/ycl-smoke/src/main/java/com/ycl/smoke/dto/EventAddParamDto.java b/ycl-smoke/src/main/java/com/ycl/smoke/dto/EventAddParamDto.java
new file mode 100644
index 0000000..3483669
--- /dev/null
+++ b/ycl-smoke/src/main/java/com/ycl/smoke/dto/EventAddParamDto.java
@@ -0,0 +1,23 @@
+package com.ycl.smoke.dto;
+
+import lombok.Builder;
+import lombok.Data;
+
+/**
+ * EventAddParamDto 浜嬩欢涓婃姤鍙傛暟
+ *
+ * @author: AI
+ * @date:  2022-09-28 16:00
+ * @version V1.0
+ **/
+@Data
+@Builder
+public class EventAddParamDto {
+    private String y84;
+    private String x84;
+    private Integer source;
+    private String address;
+    private String eventDesc;
+    private String eventSign;
+    private String medias;
+}
diff --git a/ycl-smoke/src/main/java/com/ycl/smoke/dto/EventAddResponseDto.java b/ycl-smoke/src/main/java/com/ycl/smoke/dto/EventAddResponseDto.java
new file mode 100644
index 0000000..ce1b78a
--- /dev/null
+++ b/ycl-smoke/src/main/java/com/ycl/smoke/dto/EventAddResponseDto.java
@@ -0,0 +1,8 @@
+package com.ycl.smoke.dto;
+
+import lombok.Data;
+
+@Data
+public class EventAddResponseDto {
+    private String taskcode;
+}
diff --git a/ycl-smoke/src/main/java/com/ycl/smoke/dto/EventProcessParamDto.java b/ycl-smoke/src/main/java/com/ycl/smoke/dto/EventProcessParamDto.java
new file mode 100644
index 0000000..18f8929
--- /dev/null
+++ b/ycl-smoke/src/main/java/com/ycl/smoke/dto/EventProcessParamDto.java
@@ -0,0 +1,12 @@
+package com.ycl.smoke.dto;
+
+import lombok.Builder;
+import lombok.Data;
+
+@Data
+@Builder
+public class EventProcessParamDto {
+    private String taskcode;
+    private String eventSign;
+}
+
diff --git a/ycl-smoke/src/main/java/com/ycl/smoke/dto/ResultResponseDto.java b/ycl-smoke/src/main/java/com/ycl/smoke/dto/ResultResponseDto.java
new file mode 100644
index 0000000..2e30a1b
--- /dev/null
+++ b/ycl-smoke/src/main/java/com/ycl/smoke/dto/ResultResponseDto.java
@@ -0,0 +1,10 @@
+package com.ycl.smoke.dto;
+
+import lombok.Data;
+
+@Data
+public class ResultResponseDto {
+    private String msg;
+    private Integer code;
+    private String result;
+}
diff --git a/ycl-smoke/src/main/java/com/ycl/smoke/entity/BaseCase.java b/ycl-smoke/src/main/java/com/ycl/smoke/entity/BaseCase.java
new file mode 100644
index 0000000..249a27e
--- /dev/null
+++ b/ycl-smoke/src/main/java/com/ycl/smoke/entity/BaseCase.java
@@ -0,0 +1,207 @@
+package com.ycl.smoke.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.*;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("ums_base_case")
+@Builder
+@AllArgsConstructor
+@NoArgsConstructor
+@ApiModel(value = "妗堜欢鍩烘湰淇℃伅")
+public class BaseCase implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * id
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    @ApiModelProperty(value = "id")
+    private Long id;
+
+    /**
+     * 浜嬩欢缂栧彿
+     */
+    @TableField("code")
+    @ApiModelProperty(value = "浜嬩欢缂栧彿")
+    private String code;
+
+    /**
+     * 浜嬩欢鏉ユ簮(1-瑙嗛 2-鎵嬪姩鐧昏)
+     */
+    @TableField("event_source")
+    @ApiModelProperty(value = "浜嬩欢鏉ユ簮(1-瑙嗛 2-鎵嬪姩鐧昏)")
+    private Integer eventSource;
+
+    /**
+     * 闂绫诲埆锛�1-杩濊 2-杩濆缓锛�
+     */
+    @TableField("category")
+    @ApiModelProperty(value = "闂绫诲埆锛�1-杩濊 2-杩濆缓锛�")
+    private Integer category;
+    /**
+     * 闂绫诲埆鏂囨湰
+     */
+    @TableField(value = "category_text", exist = false)
+    @ApiModelProperty(value = "闂绫诲埆鏂囨湰")
+    private String categoryText;
+
+    /**
+     * 鎵�灞炶閬�
+     */
+    @TableField("street_id")
+    @ApiModelProperty(value = "鎵�灞炶閬�")
+    private Integer streetId;
+    /**
+     * 鎵�灞炶閬撴枃鏈�
+     */
+    @TableField(value = "street_text", exist = false)
+    @ApiModelProperty(value = "鎵�灞炵ぞ鍖哄悕绉�")
+    private String streetText;
+
+    /**
+     * 鎵�灞炵ぞ鍖�
+     */
+    @TableField("community_id")
+    @ApiModelProperty(value = "鎵�灞炵ぞ鍖�")
+    private Integer communityId;
+
+    /**
+     * 鎵�灞炵ぞ鍖烘枃鏈�
+     */
+    @TableField(value = "community_text", exist = false)
+    @ApiModelProperty(value = "鎵�灞炵ぞ鍖烘枃鏈�")
+    private String communityText;
+
+    /**
+     * 鎶ヨ鐐逛綅 浜嬪彂鍦扮偣
+     */
+    @TableField("site")
+    @ApiModelProperty(value = "鎶ヨ鐐逛綅 浜嬪彂鍦扮偣")
+    private String site;
+
+    /**
+     * 瀹氫綅淇℃伅
+     */
+    @TableField("longitude")
+    @ApiModelProperty(value = "瀹氫綅淇℃伅")
+    private Double longitude;
+
+    /**
+     * 瀹氫綅-绾害
+     */
+    @TableField("latitude")
+    @ApiModelProperty(value = "瀹氫綅-绾害")
+    private Double latitude;
+
+    /**
+     * 鎶ヨ鏃堕棿
+     */
+    @TableField("alarm_time")
+    @ApiModelProperty(value = "鎶ヨ鏃堕棿")
+    private LocalDateTime alarmTime;
+
+    /**
+     * 鐧昏浜�
+     */
+    @TableField("create_user")
+    @ApiModelProperty(value = "鐧昏浜�")
+    private Long createUser;
+
+    /**
+     * 鐧昏浜烘枃鏈�
+     */
+    @TableField(value = "create_user_text", exist = false)
+    @ApiModelProperty(value = "鐧昏浜烘枃鏈�")
+    private String createUserText;
+
+
+    /**
+     * 澶勭悊鐘舵��(0璇姤 1涓婃姤 2绔嬫 3娲鹃仯 4澶勭疆 5鏍告煡 6缁撴)
+     */
+    @TableField("state")
+    @ApiModelProperty(value = "澶勭悊鐘舵��(0璇姤 1涓婃姤 2绔嬫 3娲鹃仯 4澶勭疆 5鏍告煡 6缁撴)")
+    private Integer state;
+
+    /**
+     * 澶勭悊鎰忚
+     */
+    @TableField("handling_opinion")
+    @ApiModelProperty(value = "澶勭悊鎰忚")
+    private String handlingOpinion;
+
+    /**
+     * 澶囨敞
+     */
+    @TableField("remark")
+    @ApiModelProperty(value = "澶囨敞")
+    private String remark;
+
+    /**
+     * 瀹℃牳鎰忚
+     */
+    @TableField("audit_opinion")
+    @ApiModelProperty(value = "瀹℃牳鎰忚")
+    private String auditOpinion;
+
+    /**
+     * 缁撴鎰忚
+     */
+    @TableField("final_opinion")
+    @ApiModelProperty(value = "缁撴鎰忚")
+    private String finalOpinion;
+
+    /**
+     * 鍒涘缓鏃堕棿
+     */
+    @TableField("create_time")
+    @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+    private LocalDateTime createTime;
+
+    /**
+     * 甯傚钩鍙扮紪鐮�
+     */
+    @TableField("task_code")
+    @ApiModelProperty(value = "甯傚钩鍙扮紪鐮�")
+    private String taskCode;
+
+
+    /**
+     * 甯傚钩鍙扮紪鐮�
+     */
+    @TableField("pic")
+    @ApiModelProperty(value = "妗堜欢涓婃姤鍥剧墖")
+    private String url;
+
+    /**
+     * 缁撴潫鏃堕棿
+     */
+    @TableField("close_time")
+    @ApiModelProperty(value = "缁撴潫鏃堕棿")
+    private LocalDateTime closeTime;
+
+    @TableField(value = "grid_id")
+    @ApiModelProperty(value = "缃戞牸id")
+    private Long gridId;
+
+
+
+    @TableField("pic")
+    @ApiModelProperty(value = "鍥剧墖")
+    private String pic;
+
+    @TableField("media")
+    @ApiModelProperty(value = "瑙嗛")
+    private String media;
+
+}
\ No newline at end of file
diff --git a/ycl-smoke/src/main/java/com/ycl/smoke/entity/VideoAlarmReport.java b/ycl-smoke/src/main/java/com/ycl/smoke/entity/VideoAlarmReport.java
new file mode 100644
index 0000000..143be4e
--- /dev/null
+++ b/ycl-smoke/src/main/java/com/ycl/smoke/entity/VideoAlarmReport.java
@@ -0,0 +1,83 @@
+package com.ycl.smoke.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.time.LocalDateTime;
+
+@TableName("ums_video_alarm_report")
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+@ApiModel(value = "瑙嗛鎶ヨ鎺ㄩ�佽褰曡〃", description = "")
+@Builder
+public class VideoAlarmReport {
+
+    @ApiModelProperty("$column.comment")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @ApiModelProperty("璁块棶鍦板潃")
+    @TableField("ip")
+    private String ip;
+
+    @ApiModelProperty("璁块棶绔彛")
+    @TableField("port")
+    private Integer port;
+
+    @ApiModelProperty("鐧诲綍鐢ㄦ埛")
+    @TableField("user")
+    private String user;
+
+    @ApiModelProperty("鐧诲綍瀵嗙爜")
+    @TableField("password")
+    private String password;
+
+    @ApiModelProperty("瑙嗛閫氶亾")
+    @TableField("channel")
+    private String channel;
+
+    @ApiModelProperty("骞冲彴涓婂搴旂殑璧勬簮ID")
+    @TableField("plat_resource_id")
+    private String platResourceId;
+
+    @ApiModelProperty("鎶ヨ鍥剧墖")
+    @TableField("pic_data")
+    private String picData;
+
+    @ApiModelProperty("鎶ヨ鏃堕棿")
+    @TableField("alarm_time")
+    private LocalDateTime alarmTime;
+
+    @ApiModelProperty("$column.comment")
+    @TableField("alarm_id")
+    private String alarmId;
+
+    @ApiModelProperty("绠楁硶绫诲瀷鐮�")
+    @TableField("algo_type")
+    private Integer algoType;
+
+    @ApiModelProperty("绠楁硶绫诲瀷鍚嶇О")
+    @TableField("algo_name")
+    private String algoName;
+
+    @ApiModelProperty("鎶ヨ绫诲瀷鐮�")
+    @TableField("alarm_type")
+    private Integer alarmType;
+
+    @ApiModelProperty("鎶ヨ绫诲瀷鍚嶇О")
+    @TableField("alarm_name")
+    private String alarmName;
+
+    @ApiModelProperty("绠楁硶妫�鍑哄璞″湪鍥剧墖涓殑鍧愭爣")
+    @TableField("alarm_obj")
+    private String alarmObj;
+}
diff --git a/ycl-smoke/src/main/java/com/ycl/smoke/entity/Violations.java b/ycl-smoke/src/main/java/com/ycl/smoke/entity/Violations.java
new file mode 100644
index 0000000..f8949f4
--- /dev/null
+++ b/ycl-smoke/src/main/java/com/ycl/smoke/entity/Violations.java
@@ -0,0 +1,138 @@
+package com.ycl.smoke.entity;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.*;
+
+import java.io.Serializable;
+
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("ums_violations")
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class Violations implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 妗堜欢id(鍚寀ms_base_case琛╥d)
+     */
+    @TableId("id")
+    @ApiModelProperty(value = "妗堜欢id(鍚寀ms_base_case琛╥d)")
+    private Long id;
+
+    /**
+     * 澶х被
+     */
+    @TableField("category_id")
+    @ApiModelProperty(value = "澶х被")
+    private Integer categoryId;
+
+    /**
+     * 灏忕被
+     */
+    @TableField("type_id")
+    @ApiModelProperty(value = "灏忕被")
+    private Integer typeId;
+
+    /**
+     * 浜嬩欢绛夌骇
+     */
+    @TableField("grade_id")
+    @ApiModelProperty(value = "浜嬩欢绛夌骇")
+    private Long gradeId;
+
+    /**
+     * 妗堢敱
+     */
+    @TableField("action_cause")
+    @ApiModelProperty(value = "妗堢敱")
+    private String actionCause;
+
+    /**
+     * 鏄惁鍏宠仈鍟嗛摵
+     */
+    @TableField("link_shop")
+    @ApiModelProperty(value = "鏄惁鍏宠仈鍟嗛摵")
+    private Integer linkShop;
+
+    /**
+     * 鍏宠仈鍟嗛摵鍚嶇О
+     */
+    @TableField("shop_name")
+    @ApiModelProperty(value = "鍏宠仈鍟嗛摵鍚嶇О")
+    private Integer shopName;
+
+    /**
+     * 杞︾墝鍙�
+     */
+    @TableField("car_number")
+    @ApiModelProperty(value = "杞︾墝鍙�")
+    private String carNumber;
+
+    /**
+     * 闂鎻忚堪
+     */
+    @TableField("description")
+    @ApiModelProperty(value = "闂鎻忚堪")
+    private String description;
+
+    /**
+     * 鍙嶆槧浜�
+     */
+    @TableField("informant")
+    @ApiModelProperty(value = "鍙嶆槧浜�")
+    private String informant;
+
+    /**
+     * 鍙嶆槧浜鸿仈绯绘柟寮�
+     */
+    @TableField("informant_phone_code")
+    @ApiModelProperty(value = "鍙嶆槧浜鸿仈绯绘柟寮�")
+    private String informantPhoneCode;
+
+    /**
+     * 韬唤璇佸彿鐮�
+     */
+    @TableField("informant_id_card")
+    @ApiModelProperty(value = "韬唤璇佸彿鐮�")
+    private String informantIdCard;
+
+    /**
+     * 瑙嗛鎶ヨid
+     */
+    @TableField("video_alarm_report_id")
+    @ApiModelProperty(value = "瑙嗛鎶ヨid")
+    private Integer videoAlarmReportId;
+
+    /**
+     * 瑙嗛鎶ヨid
+     */
+    @TableField("video_point_id")
+    @ApiModelProperty(value = "瑙嗛鐐逛綅")
+    private Integer videoPointId;
+
+    /**
+     * 澶х被鏂囨湰
+     */
+    @TableField(value = "category_text", exist = false)
+    @ApiModelProperty(value = "鎵�灞炵ぞ鍖烘枃鏈�")
+    private String categoryText;
+    /**
+     * 灏忕被鏂囨湰
+     */
+    @TableField(value = "type_text", exist = false)
+    @ApiModelProperty(value = "灏忕被鏂囨湰")
+    private String typeText;
+    /**
+     * 浜嬩欢绛夌骇鏂囨湰
+     */
+    @TableField(value = "grade_text", exist = false)
+    @ApiModelProperty(value = "浜嬩欢绛夌骇鏂囨湰")
+    private String gradeText;
+}
+
diff --git a/ycl-smoke/src/main/java/com/ycl/smoke/mapper/BaseCaseMapper.java b/ycl-smoke/src/main/java/com/ycl/smoke/mapper/BaseCaseMapper.java
new file mode 100644
index 0000000..844f9e9
--- /dev/null
+++ b/ycl-smoke/src/main/java/com/ycl/smoke/mapper/BaseCaseMapper.java
@@ -0,0 +1,7 @@
+package com.ycl.smoke.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ycl.smoke.entity.BaseCase;
+
+public interface BaseCaseMapper extends BaseMapper<BaseCase> {
+}
diff --git a/ycl-smoke/src/main/java/com/ycl/smoke/mapper/VideoAlarmReportMapper.java b/ycl-smoke/src/main/java/com/ycl/smoke/mapper/VideoAlarmReportMapper.java
new file mode 100644
index 0000000..7da946c
--- /dev/null
+++ b/ycl-smoke/src/main/java/com/ycl/smoke/mapper/VideoAlarmReportMapper.java
@@ -0,0 +1,14 @@
+package com.ycl.smoke.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ycl.smoke.entity.VideoAlarmReport;
+
+/**
+ * VideoAlarmReportMapper
+ * 
+ * @author: AI
+ * @date:  2022-09-26 17:20
+ * @version V1.0
+**/
+public interface VideoAlarmReportMapper extends BaseMapper<VideoAlarmReport> {
+}
diff --git a/ycl-smoke/src/main/java/com/ycl/smoke/mapper/ViolationsMapper.java b/ycl-smoke/src/main/java/com/ycl/smoke/mapper/ViolationsMapper.java
new file mode 100644
index 0000000..d3e421e
--- /dev/null
+++ b/ycl-smoke/src/main/java/com/ycl/smoke/mapper/ViolationsMapper.java
@@ -0,0 +1,18 @@
+package com.ycl.smoke.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ycl.smoke.entity.Violations;
+
+import java.util.Map;
+
+/**
+ * <p>
+ * 杩濊浜嬩欢 Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author wl
+ * @since 2022-09-24
+ */
+public interface ViolationsMapper extends BaseMapper<Violations> {
+
+}
diff --git a/ycl-smoke/src/main/java/com/ycl/smoke/service/CityPlatformService.java b/ycl-smoke/src/main/java/com/ycl/smoke/service/CityPlatformService.java
new file mode 100644
index 0000000..394d4e7
--- /dev/null
+++ b/ycl-smoke/src/main/java/com/ycl/smoke/service/CityPlatformService.java
@@ -0,0 +1,42 @@
+package com.ycl.smoke.service;
+
+
+import com.ycl.smoke.dto.EventAddParamDto;
+import com.ycl.smoke.dto.EventProcessParamDto;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+
+/**
+ * CityPlatformService 甯傚钩鍙板鎺ユ湇鍔�
+ *
+ * @version V1.0
+ * @author: AI
+ * @date: 2022-09-28 15:40
+ **/
+@FeignClient(url = "https://zhzf.zfj.lishui.gov.cn/api", name = "cityApi")
+public interface CityPlatformService {
+
+    /**
+     * 浜嬩欢涓婃姤
+     *
+     * @param paramDto
+     * @return com.ycl.remote.dto.ResultResponseDto<com.ycl.remote.dto.EventAddResponseDto>
+     * @author AI
+     * @date 2022-09-28 16:12
+     */
+    @PostMapping("/unauthorized/external/event/add")
+    String addEvent(EventAddParamDto paramDto);
+
+    /**
+     * 浜嬩欢璇︽儏
+     *
+     * @param paramDto
+     * @return com.ycl.remote.dto.ResultResponseDto<com.ycl.remote.dto.EventProcessResponseDto>
+     * @author AI
+     * @date 2022-09-28 16:12
+     */
+    @PostMapping("/unauthorized/external/event/process")
+    String getEventProcess(EventProcessParamDto paramDto);
+
+
+}
\ No newline at end of file
diff --git a/ycl-smoke/src/main/java/com/ycl/smoke/task/CityUploadTask.java b/ycl-smoke/src/main/java/com/ycl/smoke/task/CityUploadTask.java
new file mode 100644
index 0000000..6c3fe64
--- /dev/null
+++ b/ycl-smoke/src/main/java/com/ycl/smoke/task/CityUploadTask.java
@@ -0,0 +1,83 @@
+package com.ycl.smoke.task;
+
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.ycl.smoke.dto.EventAddParamDto;
+import com.ycl.smoke.dto.EventAddResponseDto;
+import com.ycl.smoke.dto.ResultResponseDto;
+import com.ycl.smoke.entity.BaseCase;
+import com.ycl.smoke.entity.VideoAlarmReport;
+import com.ycl.smoke.entity.Violations;
+import com.ycl.smoke.mapper.BaseCaseMapper;
+import com.ycl.smoke.mapper.VideoAlarmReportMapper;
+import com.ycl.smoke.mapper.ViolationsMapper;
+import com.ycl.smoke.service.CityPlatformService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+@Component
+public class CityUploadTask {
+
+    @Resource
+    BaseCaseMapper baseCaseMapper;
+
+    @Resource
+    ViolationsMapper violationsMapper;
+
+
+    @Resource
+    VideoAlarmReportMapper videoAlarmReportMapper;
+
+    @Autowired
+    CityPlatformService cityPlatformService;
+
+
+    @Scheduled(cron = "0 */1 * * * ?")   // 姣�5鍒嗛挓鎵ц
+    public void upload() {
+        QueryWrapper<BaseCase> wrapperWc = new QueryWrapper<>();
+        wrapperWc.lambda().eq(BaseCase::getState, 10);
+        List<BaseCase> baseCases = baseCaseMapper.selectList(wrapperWc);
+
+        baseCases.forEach(o -> {
+
+            Violations violations = violationsMapper.selectById(o.getId());
+            String medias = "";
+            String eventDesc = "";
+            if (violations != null) {
+                eventDesc = violations.getDescription();
+                VideoAlarmReport videoAlarmReport = videoAlarmReportMapper.selectById(violations.getVideoAlarmReportId());
+                if (videoAlarmReport != null) {
+                    StringBuilder stringBuilder = new StringBuilder().append("[{'mediaURL':'").append(videoAlarmReport.getPicData()).append(videoAlarmReport.getPicData()).append("'}]");
+                    medias = stringBuilder.toString();
+                }
+            }
+            EventAddParamDto dto = EventAddParamDto.builder().y84(o.getLatitude() != null ? o.getLatitude().toString() : "")
+                    .x84(o.getLongitude() != null ? o.getLongitude().toString() : "")
+                    .source(11).address(o.getSite()).eventDesc(eventDesc).eventSign(o.getCode())
+                    .medias(medias).build();
+            String msg = cityPlatformService.addEvent(dto);
+            ResultResponseDto result = JSONObject.parseObject(msg, ResultResponseDto.class);
+            System.out.println("--" + result.toString());
+            if (result.getCode() == 0) {
+                try {
+
+                    // EventAddResponseDto responseDto = JSONObject.parseObject(result.getResult(), EventAddResponseDto.class);
+                    // o.setTaskCode(responseDto.getTaskcode());
+                    o.setTaskCode(result.getResult());
+                    o.setState(2);
+                    baseCaseMapper.updateById(o);
+                    System.out.println("--鏇存柊鎴愬姛");
+
+                } catch (Exception ex) {
+
+                    System.out.println("--" + ex.getMessage());
+                }
+            }
+
+        });
+    }
+}
diff --git a/ycl-smoke/src/main/resources/application-pro.yml b/ycl-smoke/src/main/resources/application-prod.yml
similarity index 100%
rename from ycl-smoke/src/main/resources/application-pro.yml
rename to ycl-smoke/src/main/resources/application-prod.yml

--
Gitblit v1.8.0