Browse Source

转弯半径优化

master
ctw 2 months ago
parent
commit
c2a861b317
  1. 64
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/RoomPlatformIconController.java
  2. 57
      ruoyi-system/src/main/java/com/ruoyi/system/domain/RoomPlatformIcon.java
  3. 22
      ruoyi-system/src/main/java/com/ruoyi/system/mapper/RoomPlatformIconMapper.java
  4. 20
      ruoyi-system/src/main/java/com/ruoyi/system/service/IRoomPlatformIconService.java
  5. 50
      ruoyi-system/src/main/java/com/ruoyi/system/service/impl/RoomPlatformIconServiceImpl.java
  6. 95
      ruoyi-system/src/main/resources/mapper/system/RoomPlatformIconMapper.xml
  7. 36
      ruoyi-ui/src/api/system/roomPlatformIcon.js
  8. 1
      ruoyi-ui/src/assets/icons/svg/screenshot.svg

64
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<RoomPlatformIcon> 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));
}
}

57
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; }
}

22
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<RoomPlatformIcon> selectRoomPlatformIconList(RoomPlatformIcon roomPlatformIcon);
int insertRoomPlatformIcon(RoomPlatformIcon roomPlatformIcon);
int updateRoomPlatformIcon(RoomPlatformIcon roomPlatformIcon);
int deleteRoomPlatformIconById(Long id);
int deleteRoomPlatformIconByRoomId(Long roomId);
}

20
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<RoomPlatformIcon> selectListByRoomId(Long roomId);
RoomPlatformIcon selectById(Long id);
int insert(RoomPlatformIcon roomPlatformIcon);
int update(RoomPlatformIcon roomPlatformIcon);
int deleteById(Long id);
}

50
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<RoomPlatformIcon> 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);
}
}

95
ruoyi-system/src/main/resources/mapper/system/RoomPlatformIconMapper.xml

@ -0,0 +1,95 @@
<?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.system.mapper.RoomPlatformIconMapper">
<resultMap type="com.ruoyi.system.domain.RoomPlatformIcon" id="RoomPlatformIconResult">
<result property="id" column="id" />
<result property="roomId" column="room_id" />
<result property="platformId" column="platform_id" />
<result property="platformName" column="platform_name"/>
<result property="platformType" column="platform_type"/>
<result property="iconUrl" column="icon_url" />
<result property="lng" column="lng" />
<result property="lat" column="lat" />
<result property="heading" column="heading" />
<result property="iconScale" column="icon_scale" />
<result property="sortOrder" column="sort_order" />
<result property="createTime" column="create_time" />
<result property="updateTime" column="update_time" />
</resultMap>
<sql id="selectRoomPlatformIconVo">
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
</sql>
<select id="selectRoomPlatformIconList" resultMap="RoomPlatformIconResult">
<include refid="selectRoomPlatformIconVo"/>
<where>
<if test="roomId != null"> and room_id = #{roomId}</if>
<if test="platformId != null"> and platform_id = #{platformId}</if>
</where>
order by sort_order asc, id asc
</select>
<select id="selectRoomPlatformIconById" resultMap="RoomPlatformIconResult">
<include refid="selectRoomPlatformIconVo"/>
where id = #{id}
</select>
<insert id="insertRoomPlatformIcon" parameterType="com.ruoyi.system.domain.RoomPlatformIcon" useGeneratedKeys="true" keyProperty="id">
insert into room_platform_icon
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="roomId != null">room_id,</if>
<if test="platformId != null">platform_id,</if>
<if test="platformName != null">platform_name,</if>
<if test="platformType != null">platform_type,</if>
<if test="iconUrl != null">icon_url,</if>
<if test="lng != null">lng,</if>
<if test="lat != null">lat,</if>
<if test="heading != null">heading,</if>
<if test="iconScale != null">icon_scale,</if>
<if test="sortOrder != null">sort_order,</if>
<if test="createTime != null">create_time,</if>
<if test="updateTime != null">update_time,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="roomId != null">#{roomId},</if>
<if test="platformId != null">#{platformId},</if>
<if test="platformName != null">#{platformName},</if>
<if test="platformType != null">#{platformType},</if>
<if test="iconUrl != null">#{iconUrl},</if>
<if test="lng != null">#{lng},</if>
<if test="lat != null">#{lat},</if>
<if test="heading != null">#{heading},</if>
<if test="iconScale != null">#{iconScale},</if>
<if test="sortOrder != null">#{sortOrder},</if>
<if test="createTime != null">#{createTime},</if>
<if test="updateTime != null">#{updateTime},</if>
</trim>
</insert>
<update id="updateRoomPlatformIcon" parameterType="com.ruoyi.system.domain.RoomPlatformIcon">
update room_platform_icon
<trim prefix="SET" suffixOverrides=",">
<if test="lng != null">lng = #{lng},</if>
<if test="lat != null">lat = #{lat},</if>
<if test="heading != null">heading = #{heading},</if>
<if test="iconScale != null">icon_scale = #{iconScale},</if>
<if test="sortOrder != null">sort_order = #{sortOrder},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
</trim>
where id = #{id}
</update>
<delete id="deleteRoomPlatformIconById" parameterType="Long">
delete from room_platform_icon where id = #{id}
</delete>
<delete id="deleteRoomPlatformIconByRoomId" parameterType="Long">
delete from room_platform_icon where room_id = #{roomId}
</delete>
</mapper>

36
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'
})
}

1
ruoyi-ui/src/assets/icons/svg/screenshot.svg

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1770597640836" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4973" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M835.3 250.9v522.3H188.7V250.9h646.6m49.8-49.8H138.9v621.8H885V201.1h0.1z" p-id="4974"></path><path d="M138.9 101.6v99.5H64.3v49.8H188.7V101.6zM885.1 922.4v-99.5h74.6v-49.8H835.3v149.3zM511 705.4H297.5c-7.8 0-20.4-2.9-23.3-7.8-2.9-4.9 1.9-16.5 5.8-23.3 26.2-39.8 53.4-79.6 79.6-119.4 8.7-12.6 17.5-13.6 31.1-7.8 44.6 21.4 90.3 42.7 135.9 64.1 12.6 5.8 28.1 1.9 35.9-9.7 24.3-37.9 49.5-74.7 75.7-111.6 4.9-6.8 13.6-17.5 20.4-17.5 7.8 0 13.6 12.6 16.5 20.4 24.3 60.2 47.6 121.3 70.9 181.5 9.7 25.2 5.8 31.1-23.3 31.1H511z m-78.6-298c0 29.1-25.2 52.4-54.4 51.4-29.1-1-51.4-23.3-51.4-51.4 0-29.1 24.3-52.4 54.4-51.4 27.1 0.9 51.4 24.2 51.4 51.4z" p-id="4975"></path></svg>

After

Width:  |  Height:  |  Size: 1001 B

Loading…
Cancel
Save