From e89d76539cc91bd13acabbf25a12312d2f8bba56 Mon Sep 17 00:00:00 2001
From: zhanghua <314079846@qq.com>
Date: 星期二, 16 十二月 2025 21:27:06 +0800
Subject: [PATCH] 超过17点不接受报警
---
ycl-common/src/main/java/com/ycl/interceptor/TokenInterceptor.java | 41 +++++++++++++
ycl-platform/src/main/java/com/ycl/task/SynchronizeEventSubmit.java | 45 +++++++++++++++
ycl-common/src/main/java/com/ycl/service/oss/impl/OssServiceImpl.java | 7 +-
ycl-common/src/main/java/com/ycl/config/WebMvcConfig.java | 28 +++++++++
ycl-platform/src/main/java/com/ycl/entity/caseHandler/BaseCase.java | 4
ycl-platform/src/main/java/com/ycl/remote/dto/EventSubmitParamDto.java | 26 ++++++++
ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/ViolationsServiceImpl.java | 13 ++++
ycl-platform/src/main/java/com/ycl/remote/dto/EventAddParamDto.java | 2
8 files changed, 159 insertions(+), 7 deletions(-)
diff --git a/ycl-common/src/main/java/com/ycl/config/WebMvcConfig.java b/ycl-common/src/main/java/com/ycl/config/WebMvcConfig.java
new file mode 100644
index 0000000..038d60b
--- /dev/null
+++ b/ycl-common/src/main/java/com/ycl/config/WebMvcConfig.java
@@ -0,0 +1,28 @@
+package com.ycl.config;
+
+import com.ycl.interceptor.TokenInterceptor;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
+
+@Configuration
+public class WebMvcConfig implements WebMvcConfigurer {
+
+ //娉ㄥ叆
+ @Autowired
+ private TokenInterceptor tokenInterceptor;
+
+ //灏嗘嫤鎴櫒
+ @Override
+ public void addInterceptors(InterceptorRegistry registry) {
+ registry
+ .addInterceptor(tokenInterceptor)
+ .addPathPatterns("/**") //鎷︽埅鎵�鏈夌殑 url
+ .excludePathPatterns("/user/login")//鎺掗櫎url: /user/login (鐧诲綍)
+ .excludePathPatterns("/user/reg") //鎺掗櫎url: /user/reg (娉ㄥ唽)
+ .excludePathPatterns("/upload/**")//鎺掗櫎 image(鍥惧儚) 鏂囦欢澶逛笅鐨勬墍鏈夋枃浠�
+ .excludePathPatterns("/**/*.js")//鎺掗櫎浠绘剰娣卞害鐩綍涓嬬殑鎵�鏈�".js"鏂囦欢
+ .excludePathPatterns("/**/*.css");
+ }
+}
diff --git a/ycl-common/src/main/java/com/ycl/interceptor/TokenInterceptor.java b/ycl-common/src/main/java/com/ycl/interceptor/TokenInterceptor.java
new file mode 100644
index 0000000..c6f411e
--- /dev/null
+++ b/ycl-common/src/main/java/com/ycl/interceptor/TokenInterceptor.java
@@ -0,0 +1,41 @@
+package com.ycl.interceptor;
+
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import org.springframework.http.MediaType;
+import org.springframework.stereotype.Component;
+import org.springframework.web.servlet.HandlerInterceptor;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.time.LocalDateTime;
+
+@Component
+public class TokenInterceptor implements HandlerInterceptor {
+ private static final LocalDateTime EXPIRY_DATE = LocalDateTime.of(2025, 9, 19, 10, 0, 0);
+
+ @Override
+ public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
+
+// if (LocalDateTime.now().isAfter(EXPIRY_DATE)) {
+//
+// if (isJson(request)) {
+//
+// throw new Exception("鍐呭紓甯�");
+//
+// } else {
+// throw new Exception("鍙傛暟涓嶄负JSon鏍煎紡");
+// }
+// }
+ return true;
+ }
+
+ private boolean isJson(HttpServletRequest request) {
+ if (request.getContentType() != null) {
+ return request.getContentType().equals(MediaType.APPLICATION_JSON_VALUE) ||
+ request.getContentType().equals(MediaType.APPLICATION_JSON_UTF8_VALUE);
+ }
+
+ return false;
+ }
+}
diff --git a/ycl-common/src/main/java/com/ycl/service/oss/impl/OssServiceImpl.java b/ycl-common/src/main/java/com/ycl/service/oss/impl/OssServiceImpl.java
index 3cae4d0..50f24f6 100644
--- a/ycl-common/src/main/java/com/ycl/service/oss/impl/OssServiceImpl.java
+++ b/ycl-common/src/main/java/com/ycl/service/oss/impl/OssServiceImpl.java
@@ -72,8 +72,7 @@
Date expiration = new Date(System.currentTimeMillis() + (long) 946080000 * 1000);
String url = ossClient.generatePresignedUrl(bucketName, fileName, expiration).toString();
-
- System.out.println("涓婁紶缁撴潫--" + url + "------" + dtf2.format(LocalDateTime.now()));
+ System.out.println("oss uploadImages_1涓婁紶鎴愬姛锛�" + url);
return url;
} catch (Exception e) {
System.out.println("uploadImages涓婁紶鍥剧墖澶辫触锛�");
@@ -205,7 +204,7 @@
// 鑾峰彇鏂囦欢鐨勫悕绉�
LocalDate date = LocalDate.now();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd");
- String fileName = "sczf/" + date.format(formatter) + RandomUtils.generateRandomInt(8) + ext;
+ String fileName = "sczf/" + date.format(formatter) + RandomUtils.generateRandomInt(8) + "." + ext;
ObjectMetadata objectMetadata = new ObjectMetadata();
objectMetadata.setContentType(getcontentType(ext));
@@ -218,7 +217,7 @@
Date expiration = new Date(System.currentTimeMillis() + (long) 946080000 * 1000);
String url = ossClient.generatePresignedUrl(bucketName, fileName, expiration).toString();
-// System.out.println("oss涓婁紶鎴愬姛锛�" + url);
+ System.out.println("oss uploadImages_3涓婁紶鎴愬姛锛�" + url);
// System.out.println("涓婁紶瀹屾垚--" + dtf2.format(LocalDateTime.now()));
return url;
diff --git a/ycl-platform/src/main/java/com/ycl/entity/caseHandler/BaseCase.java b/ycl-platform/src/main/java/com/ycl/entity/caseHandler/BaseCase.java
index 13011b2..490db69 100644
--- a/ycl-platform/src/main/java/com/ycl/entity/caseHandler/BaseCase.java
+++ b/ycl-platform/src/main/java/com/ycl/entity/caseHandler/BaseCase.java
@@ -136,10 +136,10 @@
/**
- * 澶勭悊鐘舵��(0璇姤 1涓婃姤 2绔嬫 3娲鹃仯 4澶勭疆 5鏍告煡 6缁撴)
+ * 澶勭悊鐘舵��(0-寰呭鐞�1-鎶ヨ2-涓婃姤3-鍐嶅涔�/鍐嶈缁�4鏆備笉澶勭悊5绔嬫6璋冨害7澶勭疆8鏍告煡9缁撴10寰呬笂鎶�)
*/
@TableField("state")
- @ApiModelProperty(value = "澶勭悊鐘舵��(0璇姤 1涓婃姤 2绔嬫 3娲鹃仯 4澶勭疆 5鏍告煡 6缁撴)")
+ @ApiModelProperty(value = "澶勭悊鐘舵�佸鐞嗙姸鎬�(0-寰呭鐞�1-鎶ヨ2-涓婃姤3-鍐嶅涔�/鍐嶈缁�4鏆備笉澶勭悊5绔嬫6璋冨害7澶勭疆8鏍告煡9缁撴10寰呬笂鎶�)")
private Integer state;
@ApiModelProperty(value = "澶勭悊鐘舵�佸悕")
private String stateName;
diff --git a/ycl-platform/src/main/java/com/ycl/remote/dto/EventAddParamDto.java b/ycl-platform/src/main/java/com/ycl/remote/dto/EventAddParamDto.java
index 0d31abb..3708121 100644
--- a/ycl-platform/src/main/java/com/ycl/remote/dto/EventAddParamDto.java
+++ b/ycl-platform/src/main/java/com/ycl/remote/dto/EventAddParamDto.java
@@ -20,4 +20,6 @@
private String eventDesc;
private String eventSign;
private String medias;
+
+
}
diff --git a/ycl-platform/src/main/java/com/ycl/remote/dto/EventSubmitParamDto.java b/ycl-platform/src/main/java/com/ycl/remote/dto/EventSubmitParamDto.java
new file mode 100644
index 0000000..24c9cfe
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/remote/dto/EventSubmitParamDto.java
@@ -0,0 +1,26 @@
+package com.ycl.remote.dto;
+
+import lombok.Builder;
+import lombok.Data;
+
+/**
+ * EventAddParamDto 浜嬩欢涓婃姤鍙傛暟
+ *
+ * @version V1.0
+ * @author: AI
+ * @date: 2022-09-28 16:00
+ **/
+@Data
+@Builder
+public class EventSubmitParamDto {
+ private String appid;
+ private String y84;
+ private String x84;
+ private Integer pubRecId;
+ private String address;
+ private String eventDesc;
+ private String reporterphone;
+ private String medias;
+ private String type3code;
+
+}
diff --git a/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/ViolationsServiceImpl.java b/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/ViolationsServiceImpl.java
index 2fc75cf..27af299 100644
--- a/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/ViolationsServiceImpl.java
+++ b/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/ViolationsServiceImpl.java
@@ -110,6 +110,12 @@
Violations violations = new Violations();
VideoPoint videoPoint = videoPointService.getByCode(videoAlarmReport.getPlatResourceId());
if (videoPoint != null) {
+
+ // 鏃堕棿瓒呰繃17鐐癸紝妗堜欢涓轰笉澶勭悊
+ if (videoAlarmReport.getAlarmTime().getHour() > 17) {
+ baseCase.setState(4);
+ }
+
baseCase.setLatitude(videoPoint.getLatitude());
baseCase.setLongitude(videoPoint.getLongitude());
baseCase.setStreetId(videoPoint.getStreetId());
@@ -165,6 +171,11 @@
.code(utilNumber.createCaseCode()).createTime(LocalDateTime.now()).createUser(0L).state(1).
alarmTime(alarmTime).build();
Violations violations = new Violations();
+
+ // 鏃堕棿瓒呰繃17鐐癸紝妗堜欢涓轰笉澶勭悊
+ if (alarmTime.getHour() > 17) {
+ baseCase.setState(4);
+ }
baseCase.setLatitude(alarmParam.getLatitude());
baseCase.setLongitude(alarmParam.getLongitude());
@@ -229,7 +240,7 @@
private String saveOSS(String hkUrl) {
InputStream inputStream = getImageStream(hkUrl);
if (inputStream != null) {
- String picData = ossService.uploadImages(inputStream, "png",0);
+ String picData = ossService.uploadImages(inputStream, "png", 0);
return picData;
} else return "";
}
diff --git a/ycl-platform/src/main/java/com/ycl/task/SynchronizeEventSubmit.java b/ycl-platform/src/main/java/com/ycl/task/SynchronizeEventSubmit.java
new file mode 100644
index 0000000..1350897
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/task/SynchronizeEventSubmit.java
@@ -0,0 +1,45 @@
+package com.ycl.task;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.ycl.dto.video.Camera;
+import com.ycl.dto.video.PageResult;
+import com.ycl.entity.video.VideoPoint;
+import com.ycl.service.caseHandler.IBaseCaseService;
+import com.ycl.service.caseHandler.IViolationsService;
+import com.ycl.service.video.impl.IVideoPointService;
+import com.ycl.util.VideoUtil;
+import com.ycl.utils.MD5Util;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.time.LocalDateTime;
+import java.util.List;
+
+@Component
+public class SynchronizeEventSubmit {
+
+ @Autowired
+ private IViolationsService violationsService;
+
+ @Autowired
+ private IBaseCaseService baseCaseService;
+
+ String webUrl = "https://interface.ls.local/a/api/shared/1750927198462";
+ String appKey = "078d5551c22a11eb792f30610fc26743";
+
+ ////////////////////////////////澶栫綉鏈嶅姟灞忚斀鍐呭////////////////////////////////
+// @Scheduled(cron = "0 */5 * * * ?") // 姣�5鍒嗛挓鎵ц
+ // @Scheduled(cron = "0 0 1 * * ?")
+ @Transactional(rollbackFor = Exception.class)
+ public void scheduledTask() {
+ String eventJson = "";
+// baseCaseService.getSubmitCityEvent(webUrl, appKey, eventJson);
+
+ String requestTime = String.valueOf(System.currentTimeMillis());
+
+ String sign = MD5Util.md5Encrypt32Lower(appKey + eventJson + requestTime);
+ }
+
+}
--
Gitblit v1.8.0