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