From 7ef4892f9f24f941aca37e6b3991b808a0aca619 Mon Sep 17 00:00:00 2001
From: zhanghua <314079846@qq.com>
Date: 星期五, 08 九月 2023 11:16:35 +0800
Subject: [PATCH] 优化
---
ycl-platform/src/main/java/com/ycl/util/VideoUtil.java | 67 ++++++++++++++++++----
ycl-platform/src/main/java/com/ycl/timer/GetDingUserOrgTimer.java | 6 +-
ycl-platform/src/main/resources/application-prod.yml | 10 +++
ycl-platform/src/main/java/com/ycl/controller/platformApi/AlarmController.java | 44 ++++++++++++--
ycl-platform/src/main/java/com/ycl/task/SynchronizeHKVideo.java | 27 +++++----
5 files changed, 119 insertions(+), 35 deletions(-)
diff --git a/ycl-platform/src/main/java/com/ycl/controller/platformApi/AlarmController.java b/ycl-platform/src/main/java/com/ycl/controller/platformApi/AlarmController.java
index 257e41b..fda52c9 100644
--- a/ycl-platform/src/main/java/com/ycl/controller/platformApi/AlarmController.java
+++ b/ycl-platform/src/main/java/com/ycl/controller/platformApi/AlarmController.java
@@ -2,12 +2,15 @@
import cn.hutool.json.JSONConverter;
import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.ycl.annotation.LogSave;
import com.ycl.api.CommonResult;
import com.ycl.dto.video.AlarmParam;
+import com.ycl.entity.video.VideoPoint;
import com.ycl.enums.common.ResultCode;
import com.ycl.service.video.IVideoAlarmReportService;
+import com.ycl.service.video.impl.IVideoPointService;
import com.ycl.util.VideoUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -27,6 +30,7 @@
import java.util.Base64;
import java.util.Dictionary;
import java.util.Hashtable;
+import java.util.List;
/**
* @author admin
@@ -35,6 +39,7 @@
@RestController
@RequestMapping("/API")
public class AlarmController {
+ private IVideoPointService videoPointService;
private IVideoAlarmReportService videoAlarmReportService;
private static Dictionary<String, Integer> sessionDic = new Hashtable<>();
@@ -45,6 +50,11 @@
@Autowired
public void setVideoAlarmReportService(IVideoAlarmReportService videoAlarmReportService) {
this.videoAlarmReportService = videoAlarmReportService;
+ }
+
+ @Autowired
+ public void setVideoPointService(IVideoPointService videoPointService) {
+ this.videoPointService = videoPointService;
}
@ApiOperation("瑙嗛鎶ヨ鎺ㄩ�丄PI")
@@ -62,13 +72,33 @@
public CommonResult getMonitorAddress(@PathVariable String code, @PathVariable Integer subType,
@RequestParam(required = false) String scheme) {
- if (subType == null) {
- subType = 1;
+ LambdaQueryWrapper<VideoPoint> queryWrapper = new LambdaQueryWrapper<VideoPoint>()
+ .eq(VideoPoint::getPlatResourceId, code)
+ .or().eq(VideoPoint::getCode, code);
+ List<VideoPoint> pointList = videoPointService.list(queryWrapper);
+ if (pointList.size() > 0) {
+ VideoPoint videoPoint = pointList.get(0);
+ if (videoPoint.getType() == 1) {
+ return CommonResult.successApi(videoUtil.getKHVideo(code));
+ } else {
+ if (subType == null) {
+ subType = 1;
+ }
+ if (!StringUtils.isNotBlank(scheme)) {
+ scheme = "RTSP";
+ }
+ return CommonResult.successApi(videoUtil.getVideo(code, scheme, subType));
+ }
+ } else {
+
+ if (subType == null) {
+ subType = 1;
+ }
+ if (!StringUtils.isNotBlank(scheme)) {
+ scheme = "RTSP";
+ }
+ return CommonResult.successApi(videoUtil.getVideo(code, scheme, subType));
}
- if (!StringUtils.isNotBlank(scheme)) {
- scheme = "RTSP";
- }
- return CommonResult.successApi(videoUtil.getVideo(code, scheme, subType));
}
@@ -90,7 +120,7 @@
try {
if (sessionDic.get(sessionId) < 10) {
sessionDic.remove(sessionId);
- fileUrl = fileUrl.replace("Expires","v");
+ fileUrl = fileUrl.replace("Expires", "v");
System.out.println("getImages鑾峰彇鍥剧墖鍦板潃锛�" + fileUrl + "&OSSAccessKeyId=" + OSSAccessKeyId + "&Signature=" + Signature);
URL url = new URL(fileUrl + "&OSSAccessKeyId=" + OSSAccessKeyId + "&Signature=" + Signature);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
diff --git a/ycl-platform/src/main/java/com/ycl/task/SynchronizeHKVideo.java b/ycl-platform/src/main/java/com/ycl/task/SynchronizeHKVideo.java
index 3a3b6c9..d06fefc 100644
--- a/ycl-platform/src/main/java/com/ycl/task/SynchronizeHKVideo.java
+++ b/ycl-platform/src/main/java/com/ycl/task/SynchronizeHKVideo.java
@@ -25,27 +25,30 @@
@Autowired
private VideoUtil videoUtil;
- @Scheduled(cron = "0/1 * * * * ?") // 姣忕鎵ц
+// @Scheduled(cron = "0/9 * * * * ?") // 姣忕鎵ц
// @Scheduled(cron = "0 0/1 * ?")
@Transactional(rollbackFor = Exception.class)
public void scheduledTask() {
- try {
- findVideoList(1, 20);
- } catch (Exception ex) {
+ System.out.println("娴峰悍锛氬紑濮嬫墽琛�");
- }
+ findVideoList(1, 20);
+
}
- private void findVideoList(Integer pageNo, Integer pageSize) throws Exception {
- PageResult<Camera> pageResult = videoUtil.callPostCameras(pageNo, pageSize, "0");
- if (pageResult.getTotal() > 0) {
- if (pageResult.getList().size() > 0) {
- saveVideoFromCamera(pageResult.getList());
+ private void findVideoList(Integer pageNo, Integer pageSize) {
+ try {
+ PageResult<Camera> pageResult = videoUtil.callPostCameras(pageNo, pageSize, "0");
+ if (pageResult.getTotal() > 0) {
+ if (pageResult.getList().size() > 0) {
+ saveVideoFromCamera(pageResult.getList());
- if (pageResult.getList().size() >= pageSize) {
- findVideoList(pageNo + 1, pageSize);
+ if (pageResult.getList().size() >= pageSize) {
+ findVideoList(pageNo + 1, pageSize);
+ }
}
}
+ } catch (Exception ex) {
+ System.out.println("娴峰悍锛�" + ex.getMessage());
}
}
diff --git a/ycl-platform/src/main/java/com/ycl/timer/GetDingUserOrgTimer.java b/ycl-platform/src/main/java/com/ycl/timer/GetDingUserOrgTimer.java
index 86e4f07..28e3e36 100644
--- a/ycl-platform/src/main/java/com/ycl/timer/GetDingUserOrgTimer.java
+++ b/ycl-platform/src/main/java/com/ycl/timer/GetDingUserOrgTimer.java
@@ -105,7 +105,7 @@
umsDepartService.saveOrUpdate(dingOrg);
});
- log.info(TAG + "update organization size " + dingOrgList.size());
+// log.info(TAG + "update organization size " + dingOrgList.size());
TimeInterval timer = DateUtil.timer();
/**
// * 鏍规嵁缁勭粐code 鏌ヨ 閫氳褰曚汉鍛樹俊鎭�
@@ -134,7 +134,7 @@
}
}
ArrayList<UmsAdminRoleRelation> relations = new ArrayList<>();
- log.info(TAG + " elapsed time:" + timer.interval());
+// log.info(TAG + " elapsed time:" + timer.interval());
for (DingUserInfo dingUserInfo : dingList) {
//1.娣诲姞鐢ㄦ埛
UmsAdmin user = new UmsAdmin();
@@ -185,7 +185,7 @@
if (CollUtil.isNotEmpty(relations)) {
umsAdminRoleRelationService.saveBatch(relations, IService.DEFAULT_BATCH_SIZE);
}
- log.info(TAG + "update user size " + dingList.size());
+// log.info(TAG + "update user size " + dingList.size());
// getEmployeeAvatar();
}
diff --git a/ycl-platform/src/main/java/com/ycl/util/VideoUtil.java b/ycl-platform/src/main/java/com/ycl/util/VideoUtil.java
index e99ce7b..cb8bc5d 100644
--- a/ycl-platform/src/main/java/com/ycl/util/VideoUtil.java
+++ b/ycl-platform/src/main/java/com/ycl/util/VideoUtil.java
@@ -123,7 +123,7 @@
return objectMapper.readTree(monitorReq.getBody()).get("url").textValue();
} catch (Exception ex) {
- System.out.println("鑾峰彇瑙嗛寮傚父锛�" + ex);
+ System.out.println("鑾峰彇瑙嗛寮傚父锛�" + ex.getMessage());
return "鑾峰彇鍦板潃澶辫触锛岃妫�鏌ode鍊�";
}
}
@@ -135,11 +135,58 @@
private final String APP_SECRET = "LElVf9Ct3ykStZHCmFNZ";
public PageResult<Camera> callPostCameras(Integer pageNo, Integer pageSize, String treeCode) throws Exception {
+ System.out.println("娴峰悍瑙嗛-callPostCameras");
ArtemisConfig config = new ArtemisConfig();
config.setHost(HOST); // 浠g悊API缃戝叧nginx鏈嶅姟鍣╥p绔彛
config.setAppKey(APP_KEY); // 绉橀挜appkey
config.setAppSecret(APP_SECRET);// 绉橀挜appSecret
+ System.out.println("娴峰悍瑙嗛-鍒濆鍖朿onfig");
final String getSecurityApi = ARTEMIS_PATH + "/api/resource/v1/cameras"; // 鎺ュ彛璺緞
+ Map<String, String> path = new HashMap<String, String>(2) {
+ {
+ put("https://", getSecurityApi);
+ }
+ };
+ Map<String, String> head = new HashMap<String, String>(2) { //get璇锋眰鐨刪ead鍙傛暟
+ {
+ put("headpost", "sky-test");
+ }
+ };
+ JSONObject jsonBody = new JSONObject();
+ jsonBody.put("pageNo", pageNo);
+ jsonBody.put("pageSize", pageSize);
+ jsonBody.put("treeCode", treeCode);
+ String body = jsonBody.toString();
+ System.out.println("娴峰悍瑙嗛寮�濮嬭姹傦細");
+ //鍙傛暟鏍规嵁鎺ュ彛瀹為檯鎯呭喌璁剧疆
+ HttpResponse result = ArtemisHttpUtil.doPostStringImgArtemis(config, path, body, null, null, "application/json", head);
+ try {
+ String strResult = EntityUtils.toString(result.getEntity());
+ HttpResponseResult responseResult = com.alibaba.fastjson.JSONObject.parseObject(strResult, HttpResponseResult.class);
+ System.out.println("娴峰悍瑙嗛缁撴灉锛�" + responseResult.toString());
+ if ("0".equals(responseResult.getCode())) {
+ com.alibaba.fastjson.JSONObject jsonObject = responseResult.getData();
+ String strList = jsonObject.getString("list");
+ Integer total = Integer.parseInt(jsonObject.getString("total"));
+ Integer resultPageSize = Integer.parseInt(jsonObject.getString("pageSize"));
+ Integer resultPageNo = Integer.parseInt(jsonObject.getString("pageNo"));
+ List<Camera> ls = com.alibaba.fastjson.JSONObject.parseArray(strList, Camera.class);
+ PageResult<Camera> pageResult = new PageResult<>(total, resultPageSize, resultPageNo, ls);
+ return pageResult;
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+
+ public String getKHVideo(String code) throws Exception {
+
+ ArtemisConfig config = new ArtemisConfig();
+ config.setHost(HOST); // 浠g悊API缃戝叧nginx鏈嶅姟鍣╥p绔彛
+ config.setAppKey(APP_KEY); // 绉橀挜appkey
+ config.setAppSecret(APP_SECRET);// 绉橀挜appSecret
+ final String getSecurityApi = ARTEMIS_PATH + "/api/resource/v1/cameras/previewURLs"; // 鎺ュ彛璺緞
Map<String, String> path = new HashMap<String, String>(2) {
{
put("https://", getSecurityApi);
@@ -156,9 +203,10 @@
}
};
JSONObject jsonBody = new JSONObject();
- jsonBody.put("pageNo", pageNo);
- jsonBody.put("pageSize", pageSize);
- jsonBody.put("treeCode", treeCode);
+ jsonBody.put("cameraIndexCode", code);
+ jsonBody.put("streamType", 0);
+ jsonBody.put("protocol", "hls");
+ jsonBody.put("transmode", 0);
String body = jsonBody.toString();
//鍙傛暟鏍规嵁鎺ュ彛瀹為檯鎯呭喌璁剧疆
HttpResponse result = ArtemisHttpUtil.doPostStringImgArtemis(config, path, body, query, null, "application/json", head);
@@ -167,17 +215,12 @@
HttpResponseResult responseResult = com.alibaba.fastjson.JSONObject.parseObject(strResult, HttpResponseResult.class);
if ("0".equals(responseResult.getCode())) {
com.alibaba.fastjson.JSONObject jsonObject = responseResult.getData();
- String strList = jsonObject.getString("list");
- Integer total = Integer.parseInt(jsonObject.getString("total"));
- Integer resultPageSize = Integer.parseInt(jsonObject.getString("pageSize"));
- Integer resultPageNo = Integer.parseInt(jsonObject.getString("pageNo"));
- List<Camera> ls = com.alibaba.fastjson.JSONObject.parseArray(strList, Camera.class);
- PageResult<Camera> pageResult = new PageResult<>(total, resultPageSize, resultPageNo, ls);
- return pageResult;
+ String url = jsonObject.getString("url");
+ return url;
}
} catch (Exception e) {
e.printStackTrace();
}
- return null;
+ return "";
}
}
diff --git a/ycl-platform/src/main/resources/application-prod.yml b/ycl-platform/src/main/resources/application-prod.yml
index 6201f09..e1181ec 100644
--- a/ycl-platform/src/main/resources/application-prod.yml
+++ b/ycl-platform/src/main/resources/application-prod.yml
@@ -77,4 +77,12 @@
endpoint: http://oss-cn-zjls-lszwy-d01-a.ops.zjlscloud.com
keyId: Tkf72Q1gdzETsZf6
keySecret: tRk39S6B1kSGARRdS4DF6jxr5nBYj5
- bucketName: zhzfptoss
\ No newline at end of file
+ bucketName: zhzfptoss
+
+#涓撴湁閽夐拤鍙傛暟
+zzding :
+ app-key : SC_ZHZF-IC5g2YiRDW8tug1DfAfiui
+ app-secret : 39RIHFOKd8fUeeW9T7CdBcwEqA6dMKx5d3686B6P
+ domain-name : openplatform.dg-work.cn
+ protocal : https
+ tenant-id : 50645661
\ No newline at end of file
--
Gitblit v1.8.0