From 8ba375ddf6fc3bedf7999bf065575e5e75e5504c Mon Sep 17 00:00:00 2001 From: ‘liusuyi’ <1951119284@qq.com> Date: 星期二, 18 七月 2023 15:06:08 +0800 Subject: [PATCH] 增加APP位置接口 修复ptz设置获取不到用户问题 --- ard-work/pom.xml | 23 - ard-work/src/main/java/com/ruoyi/app/service/IArdAppPositionService.java | 62 ++++++ ard-work/src/main/java/com/ruoyi/app/domain/ArdAppPosition.java | 93 ++++++++++ ard-work/src/main/java/com/ruoyi/app/mapper/ArdAppPositionMapper.java | 62 ++++++ ard-work/src/main/java/com/ruoyi/device/hiksdk/controller/SdkController.java | 1 ard-work/src/main/java/com/ruoyi/app/service/impl/ArdAppPositionServiceImpl.java | 93 ++++++++++ ard-work/src/main/java/com/ruoyi/alarm/config/controller/ArdAlarmTypeConfigController.java | 6 ard-work/src/main/java/com/ruoyi/app/controller/ArdAppPositionController.java | 111 ++++++++++++ ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java | 5 ard-work/src/main/resources/mapper/app/ArdAppPositionMapper.xml | 75 ++++++++ 10 files changed, 507 insertions(+), 24 deletions(-) diff --git a/ard-work/pom.xml b/ard-work/pom.xml index 1b1a772..c13dd0a 100644 --- a/ard-work/pom.xml +++ b/ard-work/pom.xml @@ -21,11 +21,6 @@ <version>1.10</version> </dependency> - - <dependency> - <groupId>com.ruoyi</groupId> - <artifactId>ruoyi-common</artifactId> - </dependency> <dependency> <groupId>com.ruoyi</groupId> <artifactId>ruoyi-common</artifactId> @@ -65,12 +60,6 @@ <artifactId>minio</artifactId> <version>8.3.5</version> </dependency> -<!-- <dependency>--> -<!-- <groupId>io.swagger</groupId>--> -<!-- <artifactId>swagger-annotations</artifactId>--> -<!-- <version>1.6.2</version>--> -<!-- <scope>compile</scope>--> -<!-- </dependency>--> <!--mqtt--> <dependency> <groupId>org.springframework.integration</groupId> @@ -87,16 +76,16 @@ <!-- <version>3.0.0</version>--> <!-- <scope>compile</scope>--> <!-- </dependency>--> - <dependency> - <groupId>com.github.xiaoymin</groupId> - <artifactId>knife4j-spring</artifactId> - <version>2.0.9</version> - </dependency> <!-- <dependency>--> <!-- <groupId>com.github.xiaoymin</groupId>--> -<!-- <artifactId>knife4j-annotations</artifactId>--> +<!-- <artifactId>knife4j-spring</artifactId>--> <!-- <version>2.0.9</version>--> <!-- </dependency>--> + <dependency> + <groupId>com.github.xiaoymin</groupId> + <artifactId>knife4j-annotations</artifactId> + <version>2.0.9</version> + </dependency> <!--寮犲缓鎻愪緵寮曞渚濊禆--> <dependency> <groupId>org.gavaghan</groupId> diff --git a/ard-work/src/main/java/com/ruoyi/alarm/config/controller/ArdAlarmTypeConfigController.java b/ard-work/src/main/java/com/ruoyi/alarm/config/controller/ArdAlarmTypeConfigController.java index 07dc745..973a44d 100644 --- a/ard-work/src/main/java/com/ruoyi/alarm/config/controller/ArdAlarmTypeConfigController.java +++ b/ard-work/src/main/java/com/ruoyi/alarm/config/controller/ArdAlarmTypeConfigController.java @@ -3,15 +3,9 @@ import java.util.List; import java.util.Map; import javax.servlet.http.HttpServletResponse; - -import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; -import com.github.xiaoymin.knife4j.annotations.DynamicParameter; -import com.github.xiaoymin.knife4j.annotations.DynamicParameters; import com.ruoyi.alarm.config.domain.ArdAlarmTypeConfig; import com.ruoyi.alarm.config.service.IArdAlarmTypeConfigService; import io.swagger.annotations.Api; -import io.swagger.annotations.ApiImplicitParam; -import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.beans.factory.annotation.Autowired; diff --git a/ard-work/src/main/java/com/ruoyi/app/controller/ArdAppPositionController.java b/ard-work/src/main/java/com/ruoyi/app/controller/ArdAppPositionController.java new file mode 100644 index 0000000..2f83bc7 --- /dev/null +++ b/ard-work/src/main/java/com/ruoyi/app/controller/ArdAppPositionController.java @@ -0,0 +1,111 @@ +package com.ruoyi.app.controller; + +import javax.servlet.http.HttpServletResponse; + +import com.ruoyi.app.domain.ArdAppPosition; +import com.ruoyi.app.service.IArdAppPositionService; +import com.ruoyi.common.utils.poi.ExcelUtil; +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.common.core.page.TableDataInfo; + +import java.util.List; + +/** + * app浣嶇疆Controller + * + * @author ard + * @date 2023-07-18 + */ +@Api(tags = "app浣嶇疆") +@RestController +@RequestMapping("/app/position") +public class ArdAppPositionController extends BaseController +{ + @Autowired + private IArdAppPositionService ardAppPositionService; + + /** + * 鏌ヨapp浣嶇疆鍒楄〃 + */ + @ApiOperation("鏌ヨapp浣嶇疆鍒楄〃") + @PreAuthorize("@ss.hasPermi('app:position:list')") + @GetMapping("/list") + public TableDataInfo list(ArdAppPosition ardAppPosition) + { + startPage(); + List<ArdAppPosition> list = ardAppPositionService.selectArdAppPositionList(ardAppPosition); + return getDataTable(list); + } + + /** + * 瀵煎嚭app浣嶇疆鍒楄〃 + */ + @PreAuthorize("@ss.hasPermi('app:position:export')") + @Log(title = "app浣嶇疆", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, ArdAppPosition ardAppPosition) + { + List<ArdAppPosition> list = ardAppPositionService.selectArdAppPositionList(ardAppPosition); + ExcelUtil<ArdAppPosition> util = new ExcelUtil<ArdAppPosition>(ArdAppPosition.class); + util.exportExcel(response, list, "app浣嶇疆鏁版嵁"); + } + + /** + * 鑾峰彇app浣嶇疆璇︾粏淇℃伅 + */ + @PreAuthorize("@ss.hasPermi('app:position:query')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") String id) + { + return success(ardAppPositionService.selectArdAppPositionById(id)); + } + + /** + * 鏂板app浣嶇疆 + */ + @ApiOperation("鏂板app浣嶇疆") + @PreAuthorize("@ss.hasPermi('app:position:add')") + @Log(title = "app浣嶇疆", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody ArdAppPosition ardAppPosition) + { + return toAjax(ardAppPositionService.insertArdAppPosition(ardAppPosition)); + } + + /** + * 淇敼app浣嶇疆 + */ + @PreAuthorize("@ss.hasPermi('app:position:edit')") + @Log(title = "app浣嶇疆", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody ArdAppPosition ardAppPosition) + { + return toAjax(ardAppPositionService.updateArdAppPosition(ardAppPosition)); + } + + /** + * 鍒犻櫎app浣嶇疆 + */ + @PreAuthorize("@ss.hasPermi('app:position:remove')") + @Log(title = "app浣嶇疆", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable String[] ids) + { + return toAjax(ardAppPositionService.deleteArdAppPositionByIds(ids)); + } +} diff --git a/ard-work/src/main/java/com/ruoyi/app/domain/ArdAppPosition.java b/ard-work/src/main/java/com/ruoyi/app/domain/ArdAppPosition.java new file mode 100644 index 0000000..de70f11 --- /dev/null +++ b/ard-work/src/main/java/com/ruoyi/app/domain/ArdAppPosition.java @@ -0,0 +1,93 @@ +package com.ruoyi.app.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; + +/** + * app浣嶇疆瀵硅薄 ard_app_position + * + * @author ard + * @date 2023-07-18 + */ +public class ArdAppPosition extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** ID */ + private String id; + + /** 鐢ㄦ埛ID */ + @Excel(name = "鐢ㄦ埛ID") + private String userId; + + /** 缁忓害 */ + @Excel(name = "缁忓害") + private Double longitude; + + /** 绾害 */ + @Excel(name = "绾害") + private Double latitude; + + /** 楂樺眰 */ + @Excel(name = "楂樺眰") + private Double altitude; + + public void setId(String id) + { + this.id = id; + } + + public String getId() + { + return id; + } + public void setUserId(String userId) + { + this.userId = userId; + } + + public String getUserId() + { + return userId; + } + public void setLongitude(Double longitude) + { + this.longitude = longitude; + } + + public Double getLongitude() + { + return longitude; + } + public void setLatitude(Double latitude) + { + this.latitude = latitude; + } + + public Double getLatitude() + { + return latitude; + } + public void setAltitude(Double altitude) + { + this.altitude = altitude; + } + + public Double getAltitude() + { + return altitude; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("userId", getUserId()) + .append("longitude", getLongitude()) + .append("latitude", getLatitude()) + .append("altitude", getAltitude()) + .append("createTime", getCreateTime()) + .toString(); + } +} diff --git a/ard-work/src/main/java/com/ruoyi/app/mapper/ArdAppPositionMapper.java b/ard-work/src/main/java/com/ruoyi/app/mapper/ArdAppPositionMapper.java new file mode 100644 index 0000000..113eae3 --- /dev/null +++ b/ard-work/src/main/java/com/ruoyi/app/mapper/ArdAppPositionMapper.java @@ -0,0 +1,62 @@ +package com.ruoyi.app.mapper; + +import java.util.List; +import com.ruoyi.app.domain.ArdAppPosition; + + +/** + * app浣嶇疆Mapper鎺ュ彛 + * + * @author ard + * @date 2023-07-18 + */ +public interface ArdAppPositionMapper +{ + /** + * 鏌ヨapp浣嶇疆 + * + * @param id app浣嶇疆涓婚敭 + * @return app浣嶇疆 + */ + public ArdAppPosition selectArdAppPositionById(String id); + + /** + * 鏌ヨapp浣嶇疆鍒楄〃 + * + * @param ardAppPosition app浣嶇疆 + * @return app浣嶇疆闆嗗悎 + */ + public List<ArdAppPosition> selectArdAppPositionList(ArdAppPosition ardAppPosition); + + /** + * 鏂板app浣嶇疆 + * + * @param ardAppPosition app浣嶇疆 + * @return 缁撴灉 + */ + public int insertArdAppPosition(ArdAppPosition ardAppPosition); + + /** + * 淇敼app浣嶇疆 + * + * @param ardAppPosition app浣嶇疆 + * @return 缁撴灉 + */ + public int updateArdAppPosition(ArdAppPosition ardAppPosition); + + /** + * 鍒犻櫎app浣嶇疆 + * + * @param id app浣嶇疆涓婚敭 + * @return 缁撴灉 + */ + public int deleteArdAppPositionById(String id); + + /** + * 鎵归噺鍒犻櫎app浣嶇疆 + * + * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎 + * @return 缁撴灉 + */ + public int deleteArdAppPositionByIds(String[] ids); +} diff --git a/ard-work/src/main/java/com/ruoyi/app/service/IArdAppPositionService.java b/ard-work/src/main/java/com/ruoyi/app/service/IArdAppPositionService.java new file mode 100644 index 0000000..0e022d4 --- /dev/null +++ b/ard-work/src/main/java/com/ruoyi/app/service/IArdAppPositionService.java @@ -0,0 +1,62 @@ +package com.ruoyi.app.service; + +import java.util.List; +import com.ruoyi.app.domain.ArdAppPosition; + + +/** + * app浣嶇疆Service鎺ュ彛 + * + * @author ard + * @date 2023-07-18 + */ +public interface IArdAppPositionService +{ + /** + * 鏌ヨapp浣嶇疆 + * + * @param id app浣嶇疆涓婚敭 + * @return app浣嶇疆 + */ + public ArdAppPosition selectArdAppPositionById(String id); + + /** + * 鏌ヨapp浣嶇疆鍒楄〃 + * + * @param ardAppPosition app浣嶇疆 + * @return app浣嶇疆闆嗗悎 + */ + public List<ArdAppPosition> selectArdAppPositionList(ArdAppPosition ardAppPosition); + + /** + * 鏂板app浣嶇疆 + * + * @param ardAppPosition app浣嶇疆 + * @return 缁撴灉 + */ + public int insertArdAppPosition(ArdAppPosition ardAppPosition); + + /** + * 淇敼app浣嶇疆 + * + * @param ardAppPosition app浣嶇疆 + * @return 缁撴灉 + */ + public int updateArdAppPosition(ArdAppPosition ardAppPosition); + + /** + * 鎵归噺鍒犻櫎app浣嶇疆 + * + * @param ids 闇�瑕佸垹闄ょ殑app浣嶇疆涓婚敭闆嗗悎 + * @return 缁撴灉 + */ + public int deleteArdAppPositionByIds(String[] ids); + + /** + * 鍒犻櫎app浣嶇疆淇℃伅 + * + * @param id app浣嶇疆涓婚敭 + * @return 缁撴灉 + */ + public int deleteArdAppPositionById(String id); +} diff --git a/ard-work/src/main/java/com/ruoyi/app/service/impl/ArdAppPositionServiceImpl.java b/ard-work/src/main/java/com/ruoyi/app/service/impl/ArdAppPositionServiceImpl.java new file mode 100644 index 0000000..c6595b5 --- /dev/null +++ b/ard-work/src/main/java/com/ruoyi/app/service/impl/ArdAppPositionServiceImpl.java @@ -0,0 +1,93 @@ +package com.ruoyi.app.service.impl; + +import com.ruoyi.app.domain.ArdAppPosition; +import com.ruoyi.app.mapper.ArdAppPositionMapper; +import com.ruoyi.app.service.IArdAppPositionService; +import com.ruoyi.common.utils.DateUtils; +import com.ruoyi.common.utils.SecurityUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.List; + + +/** + * app浣嶇疆Service涓氬姟灞傚鐞� + * + * @author ard + * @date 2023-07-18 + */ +@Service +public class ArdAppPositionServiceImpl implements IArdAppPositionService { + @Resource + private ArdAppPositionMapper ardAppPositionMapper; + + /** + * 鏌ヨapp浣嶇疆 + * + * @param id app浣嶇疆涓婚敭 + * @return app浣嶇疆 + */ + @Override + public ArdAppPosition selectArdAppPositionById(String id) { + return ardAppPositionMapper.selectArdAppPositionById(id); + } + + /** + * 鏌ヨapp浣嶇疆鍒楄〃 + * + * @param ardAppPosition app浣嶇疆 + * @return app浣嶇疆 + */ + @Override + public List<ArdAppPosition> selectArdAppPositionList(ArdAppPosition ardAppPosition) { + return ardAppPositionMapper.selectArdAppPositionList(ardAppPosition); + } + + /** + * 鏂板app浣嶇疆 + * + * @param ardAppPosition app浣嶇疆 + * @return 缁撴灉 + */ + @Override + public int insertArdAppPosition(ArdAppPosition ardAppPosition) { + ardAppPosition.setUserId(SecurityUtils.getUserId()); + ardAppPosition.setCreateTime(DateUtils.getNowDate()); + return ardAppPositionMapper.insertArdAppPosition(ardAppPosition); + } + + /** + * 淇敼app浣嶇疆 + * + * @param ardAppPosition app浣嶇疆 + * @return 缁撴灉 + */ + @Override + public int updateArdAppPosition(ArdAppPosition ardAppPosition) { + return ardAppPositionMapper.updateArdAppPosition(ardAppPosition); + } + + /** + * 鎵归噺鍒犻櫎app浣嶇疆 + * + * @param ids 闇�瑕佸垹闄ょ殑app浣嶇疆涓婚敭 + * @return 缁撴灉 + */ + @Override + public int deleteArdAppPositionByIds(String[] ids) { + return ardAppPositionMapper.deleteArdAppPositionByIds(ids); + } + + /** + * 鍒犻櫎app浣嶇疆淇℃伅 + * + * @param id app浣嶇疆涓婚敭 + * @return 缁撴灉 + */ + @Override + public int deleteArdAppPositionById(String id) { + return ardAppPositionMapper.deleteArdAppPositionById(id); + } +} diff --git a/ard-work/src/main/java/com/ruoyi/device/hiksdk/controller/SdkController.java b/ard-work/src/main/java/com/ruoyi/device/hiksdk/controller/SdkController.java index 8162610..8bd7d2f 100644 --- a/ard-work/src/main/java/com/ruoyi/device/hiksdk/controller/SdkController.java +++ b/ard-work/src/main/java/com/ruoyi/device/hiksdk/controller/SdkController.java @@ -161,6 +161,7 @@ @ApiOperationSupport(includeParameters = {"cmd.cameraId", "cmd.channelNum", "cmd.ptzMap"}) public @ResponseBody AjaxResult SetPTZ(@RequestBody CameraCmd cmd) { + cmd.setOperator(SecurityUtils.getUserId()); return toAjax(sdk.setPtz(cmd)); } diff --git a/ard-work/src/main/resources/mapper/app/ArdAppPositionMapper.xml b/ard-work/src/main/resources/mapper/app/ArdAppPositionMapper.xml new file mode 100644 index 0000000..b4b4f6e --- /dev/null +++ b/ard-work/src/main/resources/mapper/app/ArdAppPositionMapper.xml @@ -0,0 +1,75 @@ +<?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.app.mapper.ArdAppPositionMapper"> + <resultMap type="ArdAppPosition" id="ArdAppPositionResult"> + <result property="id" column="id"/> + <result property="userId" column="user_id"/> + <result property="longitude" column="longitude"/> + <result property="latitude" column="latitude"/> + <result property="altitude" column="altitude"/> + <result property="createTime" column="create_time"/> + </resultMap> + + <sql id="selectArdAppPositionVo"> + select id, user_id, longitude, latitude, altitude, create_time + from ard_app_position + </sql> + + <select id="selectArdAppPositionList" parameterType="ArdAppPosition" resultMap="ArdAppPositionResult"> + <include refid="selectArdAppPositionVo"/> + <where> + </where> + </select> + + <select id="selectArdAppPositionById" parameterType="String" resultMap="ArdAppPositionResult"> + <include refid="selectArdAppPositionVo"/> + where id = #{id} + </select> + + <insert id="insertArdAppPosition" parameterType="ArdAppPosition"> + insert into ard_app_position + <trim prefix="(" suffix=")" suffixOverrides=","> + <if test="id != null">id,</if> + <if test="userId != null">user_id,</if> + <if test="longitude != null">longitude,</if> + <if test="latitude != null">latitude,</if> + <if test="altitude != null">altitude,</if> + <if test="createTime != null">create_time,</if> + </trim> + <trim prefix="values (" suffix=")" suffixOverrides=","> + <if test="id != null">#{id},</if> + <if test="userId != null">#{userId},</if> + <if test="longitude != null">#{longitude},</if> + <if test="latitude != null">#{latitude},</if> + <if test="altitude != null">#{altitude},</if> + <if test="createTime != null">#{createTime},</if> + </trim> + </insert> + + <update id="updateArdAppPosition" parameterType="ArdAppPosition"> + update ard_app_position + <trim prefix="SET" suffixOverrides=","> + <if test="userId != null">user_id = #{userId},</if> + <if test="longitude != null">longitude = #{longitude},</if> + <if test="latitude != null">latitude = #{latitude},</if> + <if test="altitude != null">altitude = #{altitude},</if> + <if test="createTime != null">create_time = #{createTime},</if> + </trim> + where id = #{id} + </update> + + <delete id="deleteArdAppPositionById" parameterType="String"> + delete + from ard_app_position + where id = #{id} + </delete> + + <delete id="deleteArdAppPositionByIds" parameterType="String"> + delete from ard_app_position where id in + <foreach item="id" collection="array" open="(" separator="," close=")"> + #{id} + </foreach> + </delete> +</mapper> \ No newline at end of file diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java index 9fad46e..83baf15 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java @@ -4,6 +4,8 @@ import java.util.stream.Collectors; import javax.servlet.http.HttpServletResponse; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import com.github.xiaoymin.knife4j.annotations.ApiSupport; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.apache.commons.lang3.ArrayUtils; @@ -41,7 +43,7 @@ * * @author ruoyi */ -//@Api(tags = "鐢ㄦ埛淇℃伅") +@Api(tags = "鐢ㄦ埛淇℃伅") @RestController @RequestMapping("/system/user") public class SysUserController extends BaseController @@ -62,6 +64,7 @@ * 鑾峰彇鐢ㄦ埛鍒楄〃 */ // @ApiOperation(value = "鑾峰彇鐢ㄦ埛鍒楄〃") + @ApiOperationSupport(includeParameters={"user.userId"}) @PreAuthorize("@ss.hasPermi('system:user:list')") @GetMapping("/list") public TableDataInfo list(SysUser user) -- Gitblit v1.9.3