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