From d491a7503e9b33f26afa39834d8c456a673607bb Mon Sep 17 00:00:00 2001
From: sgj <1442489573@qq.com>
Date: 星期四, 18 十二月 2025 17:43:32 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
fzzy-igdss-web/src/main/java/com/fzzy/sys/manager/security/SecManager.java | 129 ++++++++++++++++++++++++++++++++++++++++++
1 files changed, 128 insertions(+), 1 deletions(-)
diff --git a/fzzy-igdss-web/src/main/java/com/fzzy/sys/manager/security/SecManager.java b/fzzy-igdss-web/src/main/java/com/fzzy/sys/manager/security/SecManager.java
index dfaa182..e4a03d4 100644
--- a/fzzy-igdss-web/src/main/java/com/fzzy/sys/manager/security/SecManager.java
+++ b/fzzy-igdss-web/src/main/java/com/fzzy/sys/manager/security/SecManager.java
@@ -1,16 +1,27 @@
package com.fzzy.sys.manager.security;
+import com.fzzy.igds.camera.ApiCameraManager;
+import com.fzzy.igds.camera.data.ApiCameraData;
+import com.fzzy.igds.camera.data.ApiCameraResp;
import com.fzzy.igds.constant.RespCodeEnum;
import com.fzzy.igds.data.PageResponse;
+import com.fzzy.igds.data.PatrolSuperData;
import com.fzzy.igds.domain.Camera;
+import com.fzzy.igds.domain.Dept;
+import com.fzzy.igds.domain.Patrol;
+import com.fzzy.igds.service.CoreDeptService;
+import com.fzzy.igds.service.PatrolService;
import com.fzzy.igds.service.SecCameraService;
import com.fzzy.igds.utils.ContextUtil;
+import com.fzzy.igds.utils.DateUtil;
import com.ruoyi.common.utils.StringUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
-
import javax.annotation.Resource;
+import java.util.Date;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
/**
* @Description
@@ -23,6 +34,12 @@
@Resource
private SecCameraService secCameraService;
+ @Resource
+ private ApiCameraManager apiCameraManager;
+ @Resource
+ private PatrolService patrolService;
+ @Resource
+ private CoreDeptService coreDeptService;
/**
*
@@ -61,6 +78,70 @@
}
/**
+ * 鑾峰彇鎾斁淇℃伅
+ * @param param
+ * @return
+ */
+ public ApiCameraResp getPlayAddr(Camera param, String requireIp) {
+
+ if (StringUtils.isEmpty(param.getId())) {
+ log.error("娌℃湁鑾峰彇鍒扮洃鎺т俊鎭紒");
+ return new ApiCameraResp("ERROR", "娌℃湁鑾峰彇鍒扮洃鎺т俊鎭紒");
+ }
+
+ // 鏍规嵁id鑾峰彇璁惧淇℃伅
+ Camera camera = secCameraService.getCameraById(ContextUtil.getCompanyId(), param.getId());
+ if(null == camera){
+ log.error("缂撳瓨涓病鏈夎幏鍙栧埌鎽勫儚澶翠俊鎭�"+ param.toString());
+ return new ApiCameraResp("ERROR", "缂撳瓨涓病鏈夎幏鍙栧埌鎽勫儚澶翠俊鎭紒");
+ }
+
+ //閫氳繃缁熶竴鍏ュ彛鑾峰彇鎾斁鍦板潃
+ ApiCameraData apiCameraData = new ApiCameraData();
+ apiCameraData.setCompanyId(camera.getCompanyId());
+ apiCameraData.setDeptId(camera.getDeptId());
+ apiCameraData.setCameraId(camera.getId());
+ apiCameraData.setIp(camera.getIp());
+ apiCameraData.setCtrlPort(camera.getControlPort());
+ apiCameraData.setWebPort(camera.getWebPort());
+ apiCameraData.setPlayType(camera.getPlayType());
+ apiCameraData.setSnapType(camera.getSnapType());
+ apiCameraData.setSn(camera.getSn());
+ apiCameraData.setChannel(camera.getChanNum());
+ apiCameraData.setLoginId(camera.getLoginId());
+ apiCameraData.setPwd(camera.getPwd());
+ apiCameraData.setUrlIn(camera.getUrlIn());
+ apiCameraData.setUrlOut(camera.getUrlOut());
+ apiCameraData.setMediaAddr(camera.getMediaAddr());
+
+ //鏍规嵁鎾斁鏂瑰紡鑾峰彇瀵瑰簲鐨勬挱鏀惧湴鍧�
+ ApiCameraResp resp = apiCameraManager.getApiCameraService(camera.getPlayType()).getPlayAddr(apiCameraData);
+ return resp;
+ }
+
+ /**
+ * 浜戝彴鎺у埗
+ * @param param
+ * @return
+ */
+ public ApiCameraResp ptzMedia(ApiCameraData param) {
+
+ if(StringUtils.isEmpty(param.getCompanyId())){
+ param.setCompanyId(ContextUtil.getCompanyId());
+ }
+ return apiCameraManager.getApiCameraService(param.getPtzType()).ptzMedia(param);
+ }
+
+ /**
+ * 棰勭疆浣嶈缃�
+ * @param param
+ * @return
+ */
+ public ApiCameraResp ptzPreset(ApiCameraData param) {
+ return apiCameraManager.getApiCameraService(param.getPlayType()).ptzPreset(param);
+ }
+
+ /**
*
* @param params
* @return
@@ -79,4 +160,50 @@
secCameraService.refreshCache(ContextUtil.getCompanyId());
return new PageResponse<>(RespCodeEnum.CODE_0000, "鎵ц鎴愬姛锛侊紒");
}
+
+ /**
+ * 宸℃缁熻
+ * @return
+ */
+ public PatrolSuperData patrolTrack() {
+ PatrolSuperData patrolSuperData = new PatrolSuperData();
+
+ List<Dept> deptList = coreDeptService.getDeptData();
+ if(null == deptList || deptList.isEmpty()){
+ return patrolSuperData;
+ }
+
+ //搴撳尯杞崲
+ Map<String, Integer> map = new HashMap<>();
+ for (Dept dept : deptList) {
+ map.put(dept.getId(), 0);
+ }
+
+ List<Patrol> weekList = patrolService.getWeekList();
+
+ if(null != weekList && weekList.size() > 0){
+ Date start = DateUtil.getCurZero(DateUtil.getNewByDay(new Date(), -1)); //鏄ㄥぉ闆剁偣闆跺垎
+ Date end = DateUtil.getCurZero(new Date()); //浠婂ぉ闆剁偣闆跺垎
+ for (Patrol patrol : weekList) {
+ //7澶╁唴浜烘
+ patrolSuperData.setWeekSum(patrolSuperData.getWeekSum() + 1);
+
+ //鏄ㄥぉ浜烘
+ if(patrol.getCreateTime().after(start) && patrol.getCreateTime().before(end)){
+ patrolSuperData.setYesterdaySum(patrolSuperData.getYesterdaySum() + 1);
+ }
+
+ //褰撳ぉ缁熻
+ if(patrol.getCreateTime().after(end)){
+ if(map.get(patrol.getDeptId()) == 0){
+ patrolSuperData.setIsDeptNum(patrolSuperData.getIsDeptNum() + 1);
+ map.put(patrol.getDeptId(), map.get(patrol.getDeptId()) + 1);
+ }
+ }
+ }
+ }
+ patrolSuperData.setNoDeptNum(deptList.size() - patrolSuperData.getIsDeptNum());
+
+ return patrolSuperData;
+ }
}
--
Gitblit v1.9.3