From c2a861b317292b63d22cddda3d8800ae23db8982 Mon Sep 17 00:00:00 2001 From: ctw <1051735452@qq.com> Date: Mon, 9 Feb 2026 10:39:56 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BD=AC=E5=BC=AF=E5=8D=8A=E5=BE=84=E4=BC=98?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/controller/RoomPlatformIconController.java | 64 +++++++++++++++ .../com/ruoyi/system/domain/RoomPlatformIcon.java | 57 +++++++++++++ .../system/mapper/RoomPlatformIconMapper.java | 22 +++++ .../system/service/IRoomPlatformIconService.java | 20 +++++ .../service/impl/RoomPlatformIconServiceImpl.java | 50 ++++++++++++ .../mapper/system/RoomPlatformIconMapper.xml | 95 ++++++++++++++++++++++ ruoyi-ui/src/api/system/roomPlatformIcon.js | 36 ++++++++ ruoyi-ui/src/assets/icons/svg/screenshot.svg | 1 + 8 files changed, 345 insertions(+) create mode 100644 ruoyi-admin/src/main/java/com/ruoyi/web/controller/RoomPlatformIconController.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/domain/RoomPlatformIcon.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/mapper/RoomPlatformIconMapper.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/service/IRoomPlatformIconService.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/RoomPlatformIconServiceImpl.java create mode 100644 ruoyi-system/src/main/resources/mapper/system/RoomPlatformIconMapper.xml create mode 100644 ruoyi-ui/src/api/system/roomPlatformIcon.js create mode 100644 ruoyi-ui/src/assets/icons/svg/screenshot.svg diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/RoomPlatformIconController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/RoomPlatformIconController.java new file mode 100644 index 0000000..4af5fca --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/RoomPlatformIconController.java @@ -0,0 +1,64 @@ +package com.ruoyi.web.controller; + +import java.util.List; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.system.domain.RoomPlatformIcon; +import com.ruoyi.system.service.IRoomPlatformIconService; + +/** + * 房间地图平台图标Controller + */ +@RestController +@RequestMapping("/system/roomPlatformIcon") +public class RoomPlatformIconController extends BaseController { + + @Autowired + private IRoomPlatformIconService roomPlatformIconService; + + /** + * 按房间ID查询该房间下所有地图平台图标(不分页) + */ + @PreAuthorize("@ss.hasPermi('system:roomPlatformIcon:list')") + @GetMapping("/list") + public AjaxResult list(@RequestParam Long roomId) { + List list = roomPlatformIconService.selectListByRoomId(roomId); + return success(list); + } + + /** + * 新增 + */ + @PreAuthorize("@ss.hasPermi('system:roomPlatformIcon:add')") + @Log(title = "房间地图平台图标", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody RoomPlatformIcon roomPlatformIcon) { + int rows = roomPlatformIconService.insert(roomPlatformIcon); + return rows > 0 ? success(roomPlatformIcon) : error("新增失败"); + } + + /** + * 修改(位置/朝向/缩放) + */ + @PreAuthorize("@ss.hasPermi('system:roomPlatformIcon:edit')") + @Log(title = "房间地图平台图标", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody RoomPlatformIcon roomPlatformIcon) { + return toAjax(roomPlatformIconService.update(roomPlatformIcon)); + } + + /** + * 删除 + */ + @PreAuthorize("@ss.hasPermi('system:roomPlatformIcon:remove')") + @Log(title = "房间地图平台图标", businessType = BusinessType.DELETE) + @DeleteMapping("/{id}") + public AjaxResult remove(@PathVariable Long id) { + return toAjax(roomPlatformIconService.deleteById(id)); + } +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/RoomPlatformIcon.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/RoomPlatformIcon.java new file mode 100644 index 0000000..319298d --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/RoomPlatformIcon.java @@ -0,0 +1,57 @@ +package com.ruoyi.system.domain; + +import com.ruoyi.common.annotation.Excel; +import com.ruoyi.common.core.domain.BaseEntity; + +/** + * 房间地图平台图标对象 room_platform_icon + */ +public class RoomPlatformIcon extends BaseEntity { + private static final long serialVersionUID = 1L; + + @Excel(name = "主键") + private Long id; + @Excel(name = "房间ID") + private Long roomId; + @Excel(name = "平台库ID") + private Long platformId; + @Excel(name = "平台名称快照") + private String platformName; + @Excel(name = "平台类型快照") + private String platformType; + @Excel(name = "图标URL快照") + private String iconUrl; + @Excel(name = "经度") + private Double lng; + @Excel(name = "纬度") + private Double lat; + @Excel(name = "朝向(度)") + private Double heading; + @Excel(name = "图标缩放") + private Double iconScale; + @Excel(name = "排序") + private Integer sortOrder; + + public void setId(Long id) { this.id = id; } + public Long getId() { return id; } + public void setRoomId(Long roomId) { this.roomId = roomId; } + public Long getRoomId() { return roomId; } + public void setPlatformId(Long platformId) { this.platformId = platformId; } + public Long getPlatformId() { return platformId; } + public void setPlatformName(String platformName) { this.platformName = platformName; } + public String getPlatformName() { return platformName; } + public void setPlatformType(String platformType) { this.platformType = platformType; } + public String getPlatformType() { return platformType; } + public void setIconUrl(String iconUrl) { this.iconUrl = iconUrl; } + public String getIconUrl() { return iconUrl; } + public void setLng(Double lng) { this.lng = lng; } + public Double getLng() { return lng; } + public void setLat(Double lat) { this.lat = lat; } + public Double getLat() { return lat; } + public void setHeading(Double heading) { this.heading = heading; } + public Double getHeading() { return heading; } + public void setIconScale(Double iconScale) { this.iconScale = iconScale; } + public Double getIconScale() { return iconScale; } + public void setSortOrder(Integer sortOrder) { this.sortOrder = sortOrder; } + public Integer getSortOrder() { return sortOrder; } +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/RoomPlatformIconMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/RoomPlatformIconMapper.java new file mode 100644 index 0000000..e6ffa3e --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/RoomPlatformIconMapper.java @@ -0,0 +1,22 @@ +package com.ruoyi.system.mapper; + +import java.util.List; +import com.ruoyi.system.domain.RoomPlatformIcon; + +/** + * 房间地图平台图标Mapper接口 + */ +public interface RoomPlatformIconMapper { + + RoomPlatformIcon selectRoomPlatformIconById(Long id); + + List selectRoomPlatformIconList(RoomPlatformIcon roomPlatformIcon); + + int insertRoomPlatformIcon(RoomPlatformIcon roomPlatformIcon); + + int updateRoomPlatformIcon(RoomPlatformIcon roomPlatformIcon); + + int deleteRoomPlatformIconById(Long id); + + int deleteRoomPlatformIconByRoomId(Long roomId); +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/IRoomPlatformIconService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/IRoomPlatformIconService.java new file mode 100644 index 0000000..9c7f7f8 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/IRoomPlatformIconService.java @@ -0,0 +1,20 @@ +package com.ruoyi.system.service; + +import java.util.List; +import com.ruoyi.system.domain.RoomPlatformIcon; + +/** + * 房间地图平台图标Service接口 + */ +public interface IRoomPlatformIconService { + + List selectListByRoomId(Long roomId); + + RoomPlatformIcon selectById(Long id); + + int insert(RoomPlatformIcon roomPlatformIcon); + + int update(RoomPlatformIcon roomPlatformIcon); + + int deleteById(Long id); +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/RoomPlatformIconServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/RoomPlatformIconServiceImpl.java new file mode 100644 index 0000000..4cfea80 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/RoomPlatformIconServiceImpl.java @@ -0,0 +1,50 @@ +package com.ruoyi.system.service.impl; + +import java.util.Date; +import java.util.List; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.ruoyi.system.mapper.RoomPlatformIconMapper; +import com.ruoyi.system.domain.RoomPlatformIcon; +import com.ruoyi.system.service.IRoomPlatformIconService; + +/** + * 房间地图平台图标Service业务层 + */ +@Service +public class RoomPlatformIconServiceImpl implements IRoomPlatformIconService { + + @Autowired + private RoomPlatformIconMapper roomPlatformIconMapper; + + @Override + public List selectListByRoomId(Long roomId) { + RoomPlatformIcon query = new RoomPlatformIcon(); + query.setRoomId(roomId); + return roomPlatformIconMapper.selectRoomPlatformIconList(query); + } + + @Override + public RoomPlatformIcon selectById(Long id) { + return roomPlatformIconMapper.selectRoomPlatformIconById(id); + } + + @Override + public int insert(RoomPlatformIcon roomPlatformIcon) { + Date now = new Date(); + roomPlatformIcon.setCreateTime(now); + roomPlatformIcon.setUpdateTime(now); + return roomPlatformIconMapper.insertRoomPlatformIcon(roomPlatformIcon); + } + + @Override + public int update(RoomPlatformIcon roomPlatformIcon) { + roomPlatformIcon.setUpdateTime(new Date()); + return roomPlatformIconMapper.updateRoomPlatformIcon(roomPlatformIcon); + } + + @Override + public int deleteById(Long id) { + return roomPlatformIconMapper.deleteRoomPlatformIconById(id); + } +} diff --git a/ruoyi-system/src/main/resources/mapper/system/RoomPlatformIconMapper.xml b/ruoyi-system/src/main/resources/mapper/system/RoomPlatformIconMapper.xml new file mode 100644 index 0000000..286db42 --- /dev/null +++ b/ruoyi-system/src/main/resources/mapper/system/RoomPlatformIconMapper.xml @@ -0,0 +1,95 @@ + + + + + + + + + + + + + + + + + + + + + + select id, room_id, platform_id, platform_name, platform_type, icon_url, + lng, lat, heading, icon_scale, sort_order, create_time, update_time + from room_platform_icon + + + + + + + + insert into room_platform_icon + + room_id, + platform_id, + platform_name, + platform_type, + icon_url, + lng, + lat, + heading, + icon_scale, + sort_order, + create_time, + update_time, + + + #{roomId}, + #{platformId}, + #{platformName}, + #{platformType}, + #{iconUrl}, + #{lng}, + #{lat}, + #{heading}, + #{iconScale}, + #{sortOrder}, + #{createTime}, + #{updateTime}, + + + + + update room_platform_icon + + lng = #{lng}, + lat = #{lat}, + heading = #{heading}, + icon_scale = #{iconScale}, + sort_order = #{sortOrder}, + update_time = #{updateTime}, + + where id = #{id} + + + + delete from room_platform_icon where id = #{id} + + + + delete from room_platform_icon where room_id = #{roomId} + + diff --git a/ruoyi-ui/src/api/system/roomPlatformIcon.js b/ruoyi-ui/src/api/system/roomPlatformIcon.js new file mode 100644 index 0000000..d160f78 --- /dev/null +++ b/ruoyi-ui/src/api/system/roomPlatformIcon.js @@ -0,0 +1,36 @@ +import request from '@/utils/request' + +/** 按房间ID查询该房间下所有地图平台图标 */ +export function listByRoomId(roomId) { + return request({ + url: '/system/roomPlatformIcon/list', + method: 'get', + params: { roomId } + }) +} + +/** 新增房间地图平台图标 */ +export function addRoomPlatformIcon(data) { + return request({ + url: '/system/roomPlatformIcon', + method: 'post', + data + }) +} + +/** 修改房间地图平台图标(位置/朝向/缩放) */ +export function updateRoomPlatformIcon(data) { + return request({ + url: '/system/roomPlatformIcon', + method: 'put', + data + }) +} + +/** 删除房间地图平台图标 */ +export function delRoomPlatformIcon(id) { + return request({ + url: '/system/roomPlatformIcon/' + id, + method: 'delete' + }) +} diff --git a/ruoyi-ui/src/assets/icons/svg/screenshot.svg b/ruoyi-ui/src/assets/icons/svg/screenshot.svg new file mode 100644 index 0000000..bc07916 --- /dev/null +++ b/ruoyi-ui/src/assets/icons/svg/screenshot.svg @@ -0,0 +1 @@ + \ No newline at end of file