From 589c4d5ba3b5477164cbd07aefca2438303e598a Mon Sep 17 00:00:00 2001
From: YYC <1833023622@qq.com>
Date: 星期一, 19 六月 2023 20:06:29 +0800
Subject: [PATCH] 安防管理

---
 igds-api-phone/src/main/java/com/ld/igds/phone35/service/impl/Phone35ServiceImpl5602.java |   40 +++++++++++++
 igds-api-phone/src/main/java/com/ld/igds/phone35/service/impl/Phone35ServiceImpl5604.java |    3 
 igds-api-phone/src/main/java/com/ld/igds/phone35/dto/DtoPatrol.java                       |    1 
 igds-api-phone/src/main/java/com/ld/igds/phone35/param/Phone35PatrolCommonParam.java      |    5 +
 igds-api-phone/src/main/java/com/ld/igds/phone35/param/Phone35VideoCommonParam.java       |   12 ++++
 igds-api-phone/src/main/java/com/ld/igds/phone35/service/impl/Phone35ServiceImpl5603.java |   36 +++++++++++
 igds-api-phone/src/main/resources/mapper/Phone35Mapper.xml                                |   29 ++++++++-
 igds-api-phone/src/main/java/com/ld/igds/phone35/mapper/Phone35Mapper.java                |   14 +++-
 igds-api-phone/src/main/java/com/ld/igds/phone35/service/impl/Phone35ServiceImpl5605.java |   38 ++++++++++++
 9 files changed, 165 insertions(+), 13 deletions(-)

diff --git a/igds-api-phone/src/main/java/com/ld/igds/phone35/dto/DtoPatrol.java b/igds-api-phone/src/main/java/com/ld/igds/phone35/dto/DtoPatrol.java
index cf3da92..06be4a8 100644
--- a/igds-api-phone/src/main/java/com/ld/igds/phone35/dto/DtoPatrol.java
+++ b/igds-api-phone/src/main/java/com/ld/igds/phone35/dto/DtoPatrol.java
@@ -21,5 +21,6 @@
     private Date createTime;
 
     private String base64Img;
+    private String imgName;
 
 }
diff --git a/igds-api-phone/src/main/java/com/ld/igds/phone35/mapper/Phone35Mapper.java b/igds-api-phone/src/main/java/com/ld/igds/phone35/mapper/Phone35Mapper.java
index 53612b2..d98a70b 100644
--- a/igds-api-phone/src/main/java/com/ld/igds/phone35/mapper/Phone35Mapper.java
+++ b/igds-api-phone/src/main/java/com/ld/igds/phone35/mapper/Phone35Mapper.java
@@ -2,10 +2,7 @@
 
 
 import com.ld.igds.phone35.dto.*;
-import com.ld.igds.phone35.param.Phone35CommonParam;
-import com.ld.igds.phone35.param.Phone35DepotCommonParam;
-import com.ld.igds.phone35.param.Phone35PatrolCommonParam;
-import com.ld.igds.phone35.param.Phone35WarnCommonParam;
+import com.ld.igds.phone35.param.*;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -82,10 +79,17 @@
     List<DtoPatrol> getPatrol(@Param("param") Phone35PatrolCommonParam param);
 
     /**
+     * 鐢靛瓙鎵撳崱
+     *
+     * @param param
+     */
+    void addPatrolRecord(@Param("param") Phone35PatrolCommonParam param);
+
+    /**
      * 鐩戞帶璁惧鍒楄〃
      *
      * @param param
      * @return
      */
-    List<DtoVideo> getCamera(@Param("param") Phone35CommonParam param);
+    List<DtoVideo> getCamera(@Param("param") Phone35VideoCommonParam param);
 }
diff --git a/igds-api-phone/src/main/java/com/ld/igds/phone35/param/Phone35PatrolCommonParam.java b/igds-api-phone/src/main/java/com/ld/igds/phone35/param/Phone35PatrolCommonParam.java
index 36f42bd..07d33ac 100644
--- a/igds-api-phone/src/main/java/com/ld/igds/phone35/param/Phone35PatrolCommonParam.java
+++ b/igds-api-phone/src/main/java/com/ld/igds/phone35/param/Phone35PatrolCommonParam.java
@@ -12,8 +12,13 @@
 @Data
 public class Phone35PatrolCommonParam extends Phone35CommonParam {
 
+    private String id;
     private String longitude;
     private String latitude;
     private String imgName;
+    private Date createTime;
+    private String userName;
+
+
     private String dateTime;
 }
diff --git a/igds-api-phone/src/main/java/com/ld/igds/phone35/param/Phone35VideoCommonParam.java b/igds-api-phone/src/main/java/com/ld/igds/phone35/param/Phone35VideoCommonParam.java
new file mode 100644
index 0000000..a583a3a
--- /dev/null
+++ b/igds-api-phone/src/main/java/com/ld/igds/phone35/param/Phone35VideoCommonParam.java
@@ -0,0 +1,12 @@
+package com.ld.igds.phone35.param;
+
+import lombok.Data;
+
+/**
+ * @Author:YAN
+ */
+@Data
+public class Phone35VideoCommonParam extends Phone35CommonParam {
+    private String id;
+    private String playType;
+}
diff --git a/igds-api-phone/src/main/java/com/ld/igds/phone35/service/impl/Phone35ServiceImpl5602.java b/igds-api-phone/src/main/java/com/ld/igds/phone35/service/impl/Phone35ServiceImpl5602.java
index 641fbbc..77a1887 100644
--- a/igds-api-phone/src/main/java/com/ld/igds/phone35/service/impl/Phone35ServiceImpl5602.java
+++ b/igds-api-phone/src/main/java/com/ld/igds/phone35/service/impl/Phone35ServiceImpl5602.java
@@ -1,12 +1,21 @@
 package com.ld.igds.phone35.service.impl;
 
 import com.alibaba.fastjson.JSONObject;
+import com.ld.igds.constant.RespCodeEnum;
 import com.ld.igds.phone35.constant.Phone35Constant;
 import com.ld.igds.phone35.dto.Phone35AuthUser;
 import com.ld.igds.phone35.dto.PhoneResponse;
+import com.ld.igds.phone35.mapper.Phone35Mapper;
+import com.ld.igds.phone35.param.Phone35PatrolCommonParam;
 import com.ld.igds.phone35.param.Phone35Request;
 import com.ld.igds.phone35.service.Phone35Service;
+import com.ld.igds.phone35.util.PhoneRespUtil;
+import com.ld.igds.util.ContextUtil;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+
+import java.util.Date;
 
 /**
  * 鐢靛瓙宸℃洿鎵撳崱
@@ -15,6 +24,9 @@
  */
 @Service
 public class Phone35ServiceImpl5602 implements Phone35Service {
+    @Autowired
+    private Phone35Mapper phone35Mapper;
+
     @Override
     public String getInterfaceId() {
         return Phone35Constant.API_PHONE_5602;
@@ -22,6 +34,32 @@
 
     @Override
     public PhoneResponse<Object> execute(Phone35Request<JSONObject> req, Phone35AuthUser phone35AuthUser) throws Exception {
-        return null;
+        //杞寲瀵硅薄
+        Phone35PatrolCommonParam param = JSONObject.parseObject(req.getData().toString(), Phone35PatrolCommonParam.class);
+        if (null == param) {
+            return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "鍙傛暟鏈夎锛岃閲嶈瘯锛侊紒");
+        }
+        //鍙傛暟楠岃瘉
+        if (StringUtils.isEmpty(param.getDeptId())) {
+            return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "鍙傛暟鏈夎锛岃閲嶈瘯锛侊紒");
+        }
+        //鍙傛暟楠岃瘉
+        if (StringUtils.isEmpty(param.getLongitude())) {
+            return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "鍙傛暟鏈夎锛岃閲嶈瘯锛侊紒");
+        }
+        //鍙傛暟楠岃瘉
+        if (StringUtils.isEmpty(param.getLatitude())) {
+            return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "鍙傛暟鏈夎锛岃閲嶈瘯锛侊紒");
+        }
+        //鍙傛暟楠岃瘉
+        if (StringUtils.isEmpty(param.getUserName())) {
+            return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "鍙傛暟鏈夎锛岃閲嶈瘯锛侊紒");
+        }
+
+        param.setCreateTime(new Date());
+        param.setId(ContextUtil.getUUID());
+        param.setCompanyId(phone35AuthUser.getCompanyId());
+        phone35Mapper.addPatrolRecord(param);
+        return PhoneRespUtil.success(null, req);
     }
 }
diff --git a/igds-api-phone/src/main/java/com/ld/igds/phone35/service/impl/Phone35ServiceImpl5603.java b/igds-api-phone/src/main/java/com/ld/igds/phone35/service/impl/Phone35ServiceImpl5603.java
index 9099705..5b4dd55 100644
--- a/igds-api-phone/src/main/java/com/ld/igds/phone35/service/impl/Phone35ServiceImpl5603.java
+++ b/igds-api-phone/src/main/java/com/ld/igds/phone35/service/impl/Phone35ServiceImpl5603.java
@@ -1,12 +1,23 @@
 package com.ld.igds.phone35.service.impl;
 
 import com.alibaba.fastjson.JSONObject;
+import com.ld.igds.constant.RespCodeEnum;
+import com.ld.igds.file.CoreFileService;
 import com.ld.igds.phone35.constant.Phone35Constant;
+import com.ld.igds.phone35.dto.DtoPatrol;
 import com.ld.igds.phone35.dto.Phone35AuthUser;
 import com.ld.igds.phone35.dto.PhoneResponse;
+import com.ld.igds.phone35.mapper.Phone35Mapper;
+import com.ld.igds.phone35.param.Phone35PatrolCommonParam;
 import com.ld.igds.phone35.param.Phone35Request;
 import com.ld.igds.phone35.service.Phone35Service;
+import com.ld.igds.phone35.util.PhoneRespUtil;
+import com.ld.igds.util.FfmpegUtil;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+
+import java.util.List;
 
 /**
  * 宸℃洿鐓х墖鏌ョ湅
@@ -15,6 +26,12 @@
  */
 @Service
 public class Phone35ServiceImpl5603 implements Phone35Service {
+
+    @Autowired
+    private Phone35Mapper phone35Mapper;
+    @Autowired
+    private CoreFileService fileService;
+
     @Override
     public String getInterfaceId() {
         return Phone35Constant.API_PHONE_5603;
@@ -22,6 +39,23 @@
 
     @Override
     public PhoneResponse<Object> execute(Phone35Request<JSONObject> req, Phone35AuthUser phone35AuthUser) throws Exception {
-        return null;
+        //杞寲瀵硅薄
+        Phone35PatrolCommonParam param = JSONObject.parseObject(req.getData().toString(), Phone35PatrolCommonParam.class);
+        if (null == param) {
+            return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "鍙傛暟鏈夎锛岃閲嶈瘯锛侊紒");
+        }
+        //鍙傛暟楠岃瘉
+        if (StringUtils.isEmpty(param.getId())) {
+            return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "鍙傛暟鏈夎锛岃閲嶈瘯锛侊紒");
+        }
+        param.setCompanyId(phone35AuthUser.getCompanyId());
+        List<DtoPatrol> list = phone35Mapper.getPatrol(param);
+        DtoPatrol patrol = list.get(0);
+        if (StringUtils.isNotEmpty(patrol.getImgName())) {
+            String bathPath = fileService.getInoutFilePath(patrol.getCreateTime());
+            String imgData = FfmpegUtil.getImgStr(bathPath + patrol.getImgName());
+            patrol.setBase64Img(imgData);
+        }
+        return PhoneRespUtil.success(patrol, req);
     }
 }
diff --git a/igds-api-phone/src/main/java/com/ld/igds/phone35/service/impl/Phone35ServiceImpl5604.java b/igds-api-phone/src/main/java/com/ld/igds/phone35/service/impl/Phone35ServiceImpl5604.java
index 53da3d6..50fa6c4 100644
--- a/igds-api-phone/src/main/java/com/ld/igds/phone35/service/impl/Phone35ServiceImpl5604.java
+++ b/igds-api-phone/src/main/java/com/ld/igds/phone35/service/impl/Phone35ServiceImpl5604.java
@@ -10,6 +10,7 @@
 import com.ld.igds.phone35.param.Phone35CommonParam;
 import com.ld.igds.phone35.param.Phone35DepotCommonParam;
 import com.ld.igds.phone35.param.Phone35Request;
+import com.ld.igds.phone35.param.Phone35VideoCommonParam;
 import com.ld.igds.phone35.service.Phone35Service;
 import com.ld.igds.phone35.util.PhoneRespUtil;
 import org.apache.commons.lang3.StringUtils;
@@ -37,7 +38,7 @@
     public PhoneResponse<Object> execute(Phone35Request<JSONObject> req, Phone35AuthUser phone35AuthUser) throws Exception {
 
         //杞寲瀵硅薄
-        Phone35CommonParam param = JSONObject.parseObject(req.getData().toString(), Phone35CommonParam.class);
+        Phone35VideoCommonParam param = JSONObject.parseObject(req.getData().toString(), Phone35VideoCommonParam.class);
         if (null == param) {
             return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "鍙傛暟鏈夎锛岃閲嶈瘯锛侊紒");
         }
diff --git a/igds-api-phone/src/main/java/com/ld/igds/phone35/service/impl/Phone35ServiceImpl5605.java b/igds-api-phone/src/main/java/com/ld/igds/phone35/service/impl/Phone35ServiceImpl5605.java
index eab7478..60ab6c5 100644
--- a/igds-api-phone/src/main/java/com/ld/igds/phone35/service/impl/Phone35ServiceImpl5605.java
+++ b/igds-api-phone/src/main/java/com/ld/igds/phone35/service/impl/Phone35ServiceImpl5605.java
@@ -1,11 +1,19 @@
 package com.ld.igds.phone35.service.impl;
 
 import com.alibaba.fastjson.JSONObject;
+import com.ld.igds.camera.CameraUtil;
+import com.ld.igds.constant.RespCodeEnum;
 import com.ld.igds.phone35.constant.Phone35Constant;
 import com.ld.igds.phone35.dto.Phone35AuthUser;
 import com.ld.igds.phone35.dto.PhoneResponse;
 import com.ld.igds.phone35.param.Phone35Request;
+import com.ld.igds.phone35.param.Phone35VideoCommonParam;
 import com.ld.igds.phone35.service.Phone35Service;
+import com.ld.igds.phone35.util.PhoneRespUtil;
+import com.ld.igds.sec.dto.SecCameraDto;
+import com.ld.igds.sec.manager.SecManager;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 /**
@@ -15,6 +23,9 @@
  */
 @Service
 public class Phone35ServiceImpl5605 implements Phone35Service {
+    @Autowired
+    private SecManager securityManager;
+
     @Override
     public String getInterfaceId() {
         return Phone35Constant.API_PHONE_5605;
@@ -22,6 +33,31 @@
 
     @Override
     public PhoneResponse<Object> execute(Phone35Request<JSONObject> req, Phone35AuthUser phone35AuthUser) throws Exception {
-        return null;
+        //杞寲瀵硅薄
+        Phone35VideoCommonParam param = JSONObject.parseObject(req.getData().toString(), Phone35VideoCommonParam.class);
+        if (null == param) {
+            return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "鍙傛暟鏈夎锛岃閲嶈瘯锛侊紒");
+        }
+        //鍙傛暟楠岃瘉
+        if (StringUtils.isEmpty(param.getId())) {
+            return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "鍙傛暟鏈夎锛岃閲嶈瘯锛侊紒");
+        }
+        //鍙傛暟楠岃瘉
+        if (CameraUtil.PLAY_TYPE_DEFAULT.equals(param.getPlayType())) {
+            return PhoneRespUtil.error(RespCodeEnum.CODE_1007, "绯荤粺鏈厤缃綋鍓嶆憚鍍忓ご鎾斁鏂瑰紡锛屼笉鎵ц棰勮");
+        }
+
+        SecCameraDto cameraParam = new SecCameraDto();
+        cameraParam.setId(param.getId());
+        cameraParam.setCompanyId(phone35AuthUser.getCompanyId());
+        cameraParam.setCompanyId(phone35AuthUser.getCompanyId());
+        SecCameraDto camera = securityManager.getPlayAddr(cameraParam);
+
+        if (camera == null) {
+            return PhoneRespUtil.error(RespCodeEnum.CODE_1007, "鏈煡璇㈠埌鐩稿叧璁惧锛�");
+        }
+
+
+        return PhoneRespUtil.success(camera, req);
     }
 }
diff --git a/igds-api-phone/src/main/resources/mapper/Phone35Mapper.xml b/igds-api-phone/src/main/resources/mapper/Phone35Mapper.xml
index f1d0bbd..0c98dde 100644
--- a/igds-api-phone/src/main/resources/mapper/Phone35Mapper.xml
+++ b/igds-api-phone/src/main/resources/mapper/Phone35Mapper.xml
@@ -103,7 +103,7 @@
         UPDATE_TIME_ AS updateTime
         FROM D_ENERGY
         <where>
-            <if test="param.companyId != null">AND COMPANY_ID_ = #{param.companyId}</if>
+            <if test="param.companyId != null and param.companyId != ''">AND COMPANY_ID_ = #{param.companyId}</if>
             <if test="param.startTime != null and param.endTime != null">AND UPDATE_TIME_ between #{param.startTime}
                 and
                 #{param.endTime}
@@ -121,7 +121,7 @@
         UPDATE_TIME_ AS updateTime
         FROM D_ENERGY
         <where>
-            <if test="param.companyId != null">AND COMPANY_ID_ = #{param.companyId}</if>
+            <if test="param.companyId != null and param.companyId != ''">AND COMPANY_ID_ = #{param.companyId}</if>
             <if test="param.depotId != null and param.depotId != ''">AND DEPOT_ID_ = #{param.depotId}</if>
             <if test="param.startTime != null">AND
                 UPDATE_TIME_ <![CDATA[ > ]]>#{param.startTime,jdbcType=TIMESTAMP}
@@ -138,17 +138,38 @@
         USER_NAME_ AS userName,
         LONGITUDE_ As longitude,
         LATITUDE_ AS latitude,
-        IMG_NAME_ AS base64Img,
+        IMG_NAME_ AS imgName,
         CREATE_TIME_ AS createTime
         FROM D_SEC_PATROL_RECORD
         <where>
-            <if test="param.companyId != null and companyId != ''">AND COMPANY_ID_ = #{param.companyId}</if>
+            <if test="param.id != null and param.id != ''">AND ID_ = #{param.id}</if>
+            <if test="param.companyId != null and param.companyId != ''">AND COMPANY_ID_ = #{param.companyId}</if>
             <if test="param.deptId != null and param.deptId != ''">AND DEPT_ID_ = #{param.deptId}</if>
             <if test="param.startTime != null and param.endTime != null">AND CREATE_TIME_ between #{param.startTime}
                 and #{param.endTime}
             </if>
         </where>
     </select>
+
+    <insert id="addPatrolRecord">
+        INSERT INTO D_SEC_PATROL_RECORD
+        (ID_,
+         COMPANY_ID_,
+         DEPT_ID_,
+         USER_NAME_,
+         CREATE_TIME_,
+         LONGITUDE_,
+         LATITUDE_,
+         IMG_NAME_)
+        VALUES (#{param.id},
+                #{param.companyId},
+                #{param.deptId},
+                #{param.userName},
+                #{param.createTime},
+                #{param.longitude},
+                #{param.latitude},
+                #{param.imgName})
+    </insert>
     <!--    鐩戞帶璁惧鍒楄〃-->
     <select id="getCamera" resultType="com.ld.igds.phone35.dto.DtoVideo">
 

--
Gitblit v1.9.3