ard-work/src/main/java/com/ruoyi/device/camera/controller/CameraSdkController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ard-work/src/main/java/com/ruoyi/device/noguidezone/controller/ArdCameraNoGuideZoneController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ard-work/src/main/java/com/ruoyi/device/noguidezone/domain/ArdCameraNoGuideZone.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ard-work/src/main/java/com/ruoyi/device/noguidezone/mapper/ArdCameraNoGuideZoneMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ard-work/src/main/java/com/ruoyi/device/noguidezone/service/IArdCameraNoGuideZoneService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ard-work/src/main/java/com/ruoyi/device/noguidezone/service/impl/ArdCameraNoGuideZoneServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ard-work/src/main/resources/mapper/device/ArdCameraNoGuideZoneMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
ard-work/src/main/java/com/ruoyi/device/camera/controller/CameraSdkController.java
@@ -11,11 +11,18 @@ import com.ruoyi.device.camera.domain.CameraCmd; import com.ruoyi.device.camera.service.IArdCamerasService; import com.ruoyi.device.camera.service.ICameraSdkService; import com.ruoyi.device.noguidezone.domain.ArdCameraNoGuideZone; import com.ruoyi.device.noguidezone.service.IArdCameraNoGuideZoneService; import com.ruoyi.utils.gis.GisUtil; import com.ruoyi.utils.gis.Point; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -36,7 +43,8 @@ private ICameraSdkService cameraSdkService; @Resource private IArdCamerasService ardCamerasService; @Autowired private IArdCameraNoGuideZoneService ardCameraNoGuideZoneService; @RequestMapping("/preview") private String preview() { @@ -137,6 +145,7 @@ Map<String, Object> ptzMap = cameraSdkService.getPtz(cmd); return AjaxResult.success("è·åptz", ptzMap); } @ApiOperation("è·åPTZèå´") @PostMapping("/getPTZScope") @Log(title = "è·åPTZèå´", businessType = BusinessType.CONTROL) @@ -165,6 +174,33 @@ public @ResponseBody AjaxResult setTargetPosition(@RequestBody CameraCmd cmd) { cmd.setOperator(SecurityUtils.getUserId()); //æ¦æªæå¨å¼å¯¼ ArdCameraNoGuideZone ardCameraNoGuideZone = new ArdCameraNoGuideZone(); ardCameraNoGuideZone.setCameraId(cmd.getCameraId()); //è·åå½åç¸æºçç¦å¼å¯è§åå表 List<ArdCameraNoGuideZone> ardCameraNoGuideZones = ardCameraNoGuideZoneService.selectArdCameraNoGuideZoneList(ardCameraNoGuideZone); if (ardCameraNoGuideZones.size() > 0) { //è·åå°å½åç¸æºçåæ éå List<Point> pointList = new ArrayList<>(); for(ArdCameraNoGuideZone zone:ardCameraNoGuideZones) { String[] parts = zone.getPoi().split(","); for (int i = 0; i < parts.length; i += 3) { Point point = new Point(); point.setLongitude(Double.valueOf(parts[i])); point.setLatitude(Double.valueOf(parts[i + 1])); pointList.add(point); } } double lon = cmd.getTargetPosition()[0]; double lat = cmd.getTargetPosition()[1]; Point targetPoint = new Point(lon, lat); //夿å¼å¯¼ç®æ æ¯å¦å¨åæ éåç»æçå¤è¾¹å½¢å boolean inPolygon = GisUtil.isInPolygon(targetPoint, pointList); if(inPolygon) { return AjaxResult.error("å¼å¯¼åæ ä½äºç¦å¼å¯è§åå "); } } return toAjax(cameraSdkService.guideTargetPosition(cmd)); } ard-work/src/main/java/com/ruoyi/device/noguidezone/controller/ArdCameraNoGuideZoneController.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,113 @@ package com.ruoyi.device.noguidezone.controller; import java.util.List; import javax.servlet.http.HttpServletResponse; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.device.noguidezone.domain.ArdCameraNoGuideZone; import com.ruoyi.device.noguidezone.service.IArdCameraNoGuideZoneService; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.common.core.page.TableDataInfo; /** * ç¦å¼å¯è§åController * * @author ard * @date 2023-10-27 */ @Api(tags = "ç¦å¼å¯è§åç®¡çæ¥å£") @RestController @RequestMapping("/device/noguidezone") public class ArdCameraNoGuideZoneController extends BaseController { @Autowired private IArdCameraNoGuideZoneService ardCameraNoGuideZoneService; /** * æ¥è¯¢ç¦å¼å¯è§åå表 */ @ApiOperation("æ¥è¯¢ç¦å¼å¯è§åå表") @PreAuthorize("@ss.hasPermi('device:noguidezone:list')") @GetMapping("/list") public TableDataInfo list(ArdCameraNoGuideZone ardCameraNoGuideZone) { startPage(); List<ArdCameraNoGuideZone> list = ardCameraNoGuideZoneService.selectArdCameraNoGuideZoneList(ardCameraNoGuideZone); return getDataTable(list); } /** * 导åºç¦å¼å¯è§åå表 */ @PreAuthorize("@ss.hasPermi('device:noguidezone:export')") @Log(title = "ç¦å¼å¯è§å", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(HttpServletResponse response, ArdCameraNoGuideZone ardCameraNoGuideZone) { List<ArdCameraNoGuideZone> list = ardCameraNoGuideZoneService.selectArdCameraNoGuideZoneList(ardCameraNoGuideZone); ExcelUtil<ArdCameraNoGuideZone> util = new ExcelUtil<ArdCameraNoGuideZone>(ArdCameraNoGuideZone.class); util.exportExcel(response, list, "ç¦å¼å¯è§åæ°æ®"); } /** * è·åç¦å¼å¯è§å详ç»ä¿¡æ¯ */ @ApiOperation("è·åç¦å¼å¯è§å详ç»ä¿¡æ¯") @PreAuthorize("@ss.hasPermi('device:noguidezone:query')") @GetMapping(value = "/{name}") public AjaxResult getInfo(@PathVariable("name") String name) { return success(ardCameraNoGuideZoneService.selectArdCameraNoGuideZoneByName(name)); } /** * æ°å¢ç¦å¼å¯è§å */ @ApiOperation("æ°å¢ç¦å¼å¯è§å") @PreAuthorize("@ss.hasPermi('device:noguidezone:add')") @Log(title = "ç¦å¼å¯è§å", businessType = BusinessType.INSERT) @PostMapping public AjaxResult add(@RequestBody ArdCameraNoGuideZone ardCameraNoGuideZone) { return toAjax(ardCameraNoGuideZoneService.insertArdCameraNoGuideZone(ardCameraNoGuideZone)); } /** * ä¿®æ¹ç¦å¼å¯è§å */ @ApiOperation("ä¿®æ¹ç¦å¼å¯è§å") @PreAuthorize("@ss.hasPermi('device:noguidezone:edit')") @Log(title = "ç¦å¼å¯è§å", businessType = BusinessType.UPDATE) @PutMapping public AjaxResult edit(@RequestBody ArdCameraNoGuideZone ardCameraNoGuideZone) { return toAjax(ardCameraNoGuideZoneService.updateArdCameraNoGuideZone(ardCameraNoGuideZone)); } /** * å é¤ç¦å¼å¯è§å */ @ApiOperation("å é¤ç¦å¼å¯è§å") @PreAuthorize("@ss.hasPermi('device:noguidezone:remove')") @Log(title = "ç¦å¼å¯è§å", businessType = BusinessType.DELETE) @DeleteMapping("/{names}") public AjaxResult remove(@PathVariable String[] names) { return toAjax(ardCameraNoGuideZoneService.deleteArdCameraNoGuideZoneByNames(names)); } } ard-work/src/main/java/com/ruoyi/device/noguidezone/domain/ArdCameraNoGuideZone.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,125 @@ package com.ruoyi.device.noguidezone.domain; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; import com.ruoyi.common.annotation.Excel; import com.ruoyi.common.core.domain.BaseEntity; /** * ç¦å¼å¯è§å对象 ard_camera_no_guide_zone * * @author ard * @date 2023-10-27 */ public class ArdCameraNoGuideZone extends BaseEntity { private static final long serialVersionUID = 1L; /** åç§° */ @Excel(name = "åç§°") private String name; /** èå´ */ @Excel(name = "èå´") private String poi; /** ç¸æºID */ @Excel(name = "ç¸æºID") private String cameraId; /** æ¯å¦å¯ç¨ */ @Excel(name = "æ¯å¦å¯ç¨") private String enabled; /** é¨é¨ID */ @Excel(name = "é¨é¨ID") private Long deptId; /** ç¨æ·ID */ @Excel(name = "ç¨æ·ID") private String userId; /** id */ private String id; public void setName(String name) { this.name = name; } public String getName() { return name; } public void setPoi(String poi) { this.poi = poi; } public String getPoi() { return poi; } public void setCameraId(String cameraId) { this.cameraId = cameraId; } public String getCameraId() { return cameraId; } public void setEnabled(String enabled) { this.enabled = enabled; } public String getEnabled() { return enabled; } public void setDeptId(Long deptId) { this.deptId = deptId; } public Long getDeptId() { return deptId; } public void setUserId(String userId) { this.userId = userId; } public String getUserId() { return userId; } public void setId(String id) { this.id = id; } public String getId() { return id; } @Override public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) .append("name", getName()) .append("poi", getPoi()) .append("cameraId", getCameraId()) .append("enabled", getEnabled()) .append("deptId", getDeptId()) .append("userId", getUserId()) .append("createBy", getCreateBy()) .append("createTime", getCreateTime()) .append("updateBy", getUpdateBy()) .append("updateTime", getUpdateTime()) .append("id", getId()) .toString(); } } ard-work/src/main/java/com/ruoyi/device/noguidezone/mapper/ArdCameraNoGuideZoneMapper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,61 @@ package com.ruoyi.device.noguidezone.mapper; import java.util.List; import com.ruoyi.device.noguidezone.domain.ArdCameraNoGuideZone; /** * ç¦å¼å¯è§åMapperæ¥å£ * * @author ard * @date 2023-10-27 */ public interface ArdCameraNoGuideZoneMapper { /** * æ¥è¯¢ç¦å¼å¯è§å * * @param name ç¦å¼å¯è§åä¸»é® * @return ç¦å¼å¯è§å */ public ArdCameraNoGuideZone selectArdCameraNoGuideZoneByName(String name); /** * æ¥è¯¢ç¦å¼å¯è§åå表 * * @param ardCameraNoGuideZone ç¦å¼å¯è§å * @return ç¦å¼å¯è§åéå */ public List<ArdCameraNoGuideZone> selectArdCameraNoGuideZoneList(ArdCameraNoGuideZone ardCameraNoGuideZone); /** * æ°å¢ç¦å¼å¯è§å * * @param ardCameraNoGuideZone ç¦å¼å¯è§å * @return ç»æ */ public int insertArdCameraNoGuideZone(ArdCameraNoGuideZone ardCameraNoGuideZone); /** * ä¿®æ¹ç¦å¼å¯è§å * * @param ardCameraNoGuideZone ç¦å¼å¯è§å * @return ç»æ */ public int updateArdCameraNoGuideZone(ArdCameraNoGuideZone ardCameraNoGuideZone); /** * å é¤ç¦å¼å¯è§å * * @param name ç¦å¼å¯è§åä¸»é® * @return ç»æ */ public int deleteArdCameraNoGuideZoneByName(String name); /** * æ¹éå é¤ç¦å¼å¯è§å * * @param names éè¦å é¤çæ°æ®ä¸»é®éå * @return ç»æ */ public int deleteArdCameraNoGuideZoneByNames(String[] names); } ard-work/src/main/java/com/ruoyi/device/noguidezone/service/IArdCameraNoGuideZoneService.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,61 @@ package com.ruoyi.device.noguidezone.service; import java.util.List; import com.ruoyi.device.noguidezone.domain.ArdCameraNoGuideZone; /** * ç¦å¼å¯è§åServiceæ¥å£ * * @author ard * @date 2023-10-27 */ public interface IArdCameraNoGuideZoneService { /** * æ¥è¯¢ç¦å¼å¯è§å * * @param name ç¦å¼å¯è§åä¸»é® * @return ç¦å¼å¯è§å */ public ArdCameraNoGuideZone selectArdCameraNoGuideZoneByName(String name); /** * æ¥è¯¢ç¦å¼å¯è§åå表 * * @param ardCameraNoGuideZone ç¦å¼å¯è§å * @return ç¦å¼å¯è§åéå */ public List<ArdCameraNoGuideZone> selectArdCameraNoGuideZoneList(ArdCameraNoGuideZone ardCameraNoGuideZone); /** * æ°å¢ç¦å¼å¯è§å * * @param ardCameraNoGuideZone ç¦å¼å¯è§å * @return ç»æ */ public int insertArdCameraNoGuideZone(ArdCameraNoGuideZone ardCameraNoGuideZone); /** * ä¿®æ¹ç¦å¼å¯è§å * * @param ardCameraNoGuideZone ç¦å¼å¯è§å * @return ç»æ */ public int updateArdCameraNoGuideZone(ArdCameraNoGuideZone ardCameraNoGuideZone); /** * æ¹éå é¤ç¦å¼å¯è§å * * @param names éè¦å é¤çç¦å¼å¯è§å主é®éå * @return ç»æ */ public int deleteArdCameraNoGuideZoneByNames(String[] names); /** * å é¤ç¦å¼å¯è§åä¿¡æ¯ * * @param name ç¦å¼å¯è§åä¸»é® * @return ç»æ */ public int deleteArdCameraNoGuideZoneByName(String name); } ard-work/src/main/java/com/ruoyi/device/noguidezone/service/impl/ArdCameraNoGuideZoneServiceImpl.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,98 @@ package com.ruoyi.device.noguidezone.service.impl; import java.util.List; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.uuid.IdUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.ArrayList; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.device.noguidezone.mapper.ArdCameraNoGuideZoneMapper; import com.ruoyi.device.noguidezone.domain.ArdCameraNoGuideZone; import com.ruoyi.device.noguidezone.service.IArdCameraNoGuideZoneService; /** * ç¦å¼å¯è§åServiceä¸å¡å±å¤ç * * @author ard * @date 2023-10-27 */ @Service public class ArdCameraNoGuideZoneServiceImpl implements IArdCameraNoGuideZoneService { @Autowired private ArdCameraNoGuideZoneMapper ardCameraNoGuideZoneMapper; /** * æ¥è¯¢ç¦å¼å¯è§å * * @param name ç¦å¼å¯è§åä¸»é® * @return ç¦å¼å¯è§å */ @Override public ArdCameraNoGuideZone selectArdCameraNoGuideZoneByName(String name) { return ardCameraNoGuideZoneMapper.selectArdCameraNoGuideZoneByName(name); } /** * æ¥è¯¢ç¦å¼å¯è§åå表 * * @param ardCameraNoGuideZone ç¦å¼å¯è§å * @return ç¦å¼å¯è§å */ @Override public List<ArdCameraNoGuideZone> selectArdCameraNoGuideZoneList(ArdCameraNoGuideZone ardCameraNoGuideZone) { return ardCameraNoGuideZoneMapper.selectArdCameraNoGuideZoneList(ardCameraNoGuideZone); } /** * æ°å¢ç¦å¼å¯è§å * * @param ardCameraNoGuideZone ç¦å¼å¯è§å * @return ç»æ */ @Override public int insertArdCameraNoGuideZone(ArdCameraNoGuideZone ardCameraNoGuideZone) { ardCameraNoGuideZone.setUserId(SecurityUtils.getUserId()); ardCameraNoGuideZone.setCreateBy(SecurityUtils.getUsername()); ardCameraNoGuideZone.setCreateTime(DateUtils.getNowDate()); ardCameraNoGuideZone.setId(IdUtils.simpleUUID()); return ardCameraNoGuideZoneMapper.insertArdCameraNoGuideZone(ardCameraNoGuideZone); } /** * ä¿®æ¹ç¦å¼å¯è§å * * @param ardCameraNoGuideZone ç¦å¼å¯è§å * @return ç»æ */ @Override public int updateArdCameraNoGuideZone(ArdCameraNoGuideZone ardCameraNoGuideZone) { ardCameraNoGuideZone.setUpdateBy(SecurityUtils.getUsername()); ardCameraNoGuideZone.setUpdateTime(DateUtils.getNowDate()); return ardCameraNoGuideZoneMapper.updateArdCameraNoGuideZone(ardCameraNoGuideZone); } /** * æ¹éå é¤ç¦å¼å¯è§å * * @param names éè¦å é¤çç¦å¼å¯è§åä¸»é® * @return ç»æ */ @Override public int deleteArdCameraNoGuideZoneByNames(String[] names) { return ardCameraNoGuideZoneMapper.deleteArdCameraNoGuideZoneByNames(names); } /** * å é¤ç¦å¼å¯è§åä¿¡æ¯ * * @param name ç¦å¼å¯è§åä¸»é® * @return ç»æ */ @Override public int deleteArdCameraNoGuideZoneByName(String name) { return ardCameraNoGuideZoneMapper.deleteArdCameraNoGuideZoneByName(name); } } ard-work/src/main/resources/mapper/device/ArdCameraNoGuideZoneMapper.xml
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,99 @@ <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.ruoyi.device.noguidezone.mapper.ArdCameraNoGuideZoneMapper"> <resultMap type="ArdCameraNoGuideZone" id="ArdCameraNoGuideZoneResult"> <result property="name" column="name" /> <result property="poi" column="poi" /> <result property="cameraId" column="camera_id" /> <result property="enabled" column="enabled" /> <result property="deptId" column="dept_id" /> <result property="userId" column="user_id" /> <result property="createBy" column="create_by" /> <result property="createTime" column="create_time" /> <result property="updateBy" column="update_by" /> <result property="updateTime" column="update_time" /> <result property="id" column="id" /> </resultMap> <sql id="selectArdCameraNoGuideZoneVo"> select name, poi, camera_id, enabled, dept_id, user_id, create_by, create_time, update_by, update_time, id from ard_camera_no_guide_zone </sql> <select id="selectArdCameraNoGuideZoneList" parameterType="ArdCameraNoGuideZone" resultMap="ArdCameraNoGuideZoneResult"> <include refid="selectArdCameraNoGuideZoneVo"/> <where> <if test="name != null and name != ''"> and name like '%'||#{name}||'%'</if> <if test="poi != null and poi != ''"> and poi = #{poi}</if> <if test="cameraId != null and cameraId != ''"> and camera_id = #{cameraId}</if> <if test="enabled != null and enabled != ''"> and enabled = #{enabled}</if> <if test="deptId != null "> and dept_id = #{deptId}</if> <if test="userId != null and userId != ''"> and user_id = #{userId}</if> </where> </select> <select id="selectArdCameraNoGuideZoneByName" parameterType="String" resultMap="ArdCameraNoGuideZoneResult"> <include refid="selectArdCameraNoGuideZoneVo"/> where name = #{name} </select> <insert id="insertArdCameraNoGuideZone" parameterType="ArdCameraNoGuideZone"> insert into ard_camera_no_guide_zone <trim prefix="(" suffix=")" suffixOverrides=","> <if test="name != null">name,</if> <if test="poi != null">poi,</if> <if test="cameraId != null">camera_id,</if> <if test="enabled != null">enabled,</if> <if test="deptId != null">dept_id,</if> <if test="userId != null">user_id,</if> <if test="createBy != null">create_by,</if> <if test="createTime != null">create_time,</if> <if test="updateBy != null">update_by,</if> <if test="updateTime != null">update_time,</if> <if test="id != null">id,</if> </trim> <trim prefix="values (" suffix=")" suffixOverrides=","> <if test="name != null">#{name},</if> <if test="poi != null">#{poi},</if> <if test="cameraId != null">#{cameraId},</if> <if test="enabled != null">#{enabled},</if> <if test="deptId != null">#{deptId},</if> <if test="userId != null">#{userId},</if> <if test="createBy != null">#{createBy},</if> <if test="createTime != null">#{createTime},</if> <if test="updateBy != null">#{updateBy},</if> <if test="updateTime != null">#{updateTime},</if> <if test="id != null">#{id},</if> </trim> </insert> <update id="updateArdCameraNoGuideZone" parameterType="ArdCameraNoGuideZone"> update ard_camera_no_guide_zone <trim prefix="SET" suffixOverrides=","> <if test="poi != null">poi = #{poi},</if> <if test="cameraId != null">camera_id = #{cameraId},</if> <if test="enabled != null">enabled = #{enabled},</if> <if test="deptId != null">dept_id = #{deptId},</if> <if test="userId != null">user_id = #{userId},</if> <if test="createBy != null">create_by = #{createBy},</if> <if test="createTime != null">create_time = #{createTime},</if> <if test="updateBy != null">update_by = #{updateBy},</if> <if test="updateTime != null">update_time = #{updateTime},</if> <if test="id != null">id = #{id},</if> </trim> where name = #{name} </update> <delete id="deleteArdCameraNoGuideZoneByName" parameterType="String"> delete from ard_camera_no_guide_zone where name = #{name} </delete> <delete id="deleteArdCameraNoGuideZoneByNames" parameterType="String"> delete from ard_camera_no_guide_zone where name in <foreach item="name" collection="array" open="(" separator="," close=")"> #{name} </foreach> </delete> </mapper>