diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysTimelineSegmentController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysTimelineSegmentController.java new file mode 100644 index 0000000..25a06a1 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysTimelineSegmentController.java @@ -0,0 +1,81 @@ +package com.ruoyi.web.controller.system; + +import java.util.List; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +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.core.domain.entity.SysTimelineSegment; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.system.service.ISysTimelineSegmentService; + +@RestController +@RequestMapping("/system/timeline") +public class SysTimelineSegmentController extends BaseController +{ + @Autowired + private ISysTimelineSegmentService segmentService; + + @PreAuthorize("@ss.hasPermi('system:timeline:list')") + @GetMapping("/list") + public AjaxResult list(SysTimelineSegment segment) + { + List list = segmentService.selectSegmentList(segment); + return success(list); + } + + @GetMapping("/listByRoomId/{roomId}") + public AjaxResult listByRoomId(@PathVariable Long roomId) + { + List list = segmentService.selectSegmentListByRoomId(roomId); + return success(list); + } + + @PreAuthorize("@ss.hasPermi('system:timeline:query')") + @GetMapping(value = "/{segmentId}") + public AjaxResult getInfo(@PathVariable Long segmentId) + { + return success(segmentService.selectSegmentById(segmentId)); + } + + @PreAuthorize("@ss.hasPermi('system:timeline:add')") + @Log(title = "时间轴管理", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody SysTimelineSegment segment) + { + return toAjax(segmentService.insertSegment(segment)); + } + + @PreAuthorize("@ss.hasPermi('system:timeline:edit')") + @Log(title = "时间轴管理", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody SysTimelineSegment segment) + { + return toAjax(segmentService.updateSegment(segment)); + } + + @PreAuthorize("@ss.hasPermi('system:timeline:remove')") + @Log(title = "时间轴管理", businessType = BusinessType.DELETE) + @DeleteMapping("/{segmentId}") + public AjaxResult remove(@PathVariable Long segmentId) + { + return toAjax(segmentService.deleteSegmentById(segmentId)); + } + + @PreAuthorize("@ss.hasPermi('system:timeline:remove')") + @Log(title = "时间轴管理", businessType = BusinessType.DELETE) + @DeleteMapping("/room/{roomId}") + public AjaxResult removeByRoomId(@PathVariable Long roomId) + { + return toAjax(segmentService.deleteSegmentByRoomId(roomId)); + } +} diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysTimelineSegment.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysTimelineSegment.java new file mode 100644 index 0000000..03476e4 --- /dev/null +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysTimelineSegment.java @@ -0,0 +1,89 @@ +package com.ruoyi.common.core.domain.entity; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import javax.validation.constraints.Size; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +public class SysTimelineSegment +{ + private static final long serialVersionUID = 1L; + + private Long segmentId; + + private Long roomId; + + @NotBlank(message = "时间点不能为空") + @Size(min = 0, max = 8, message = "时间点长度不能超过8个字符") + private String segmentTime; + + @NotBlank(message = "时间段名称不能为空") + @Size(min = 0, max = 50, message = "时间段名称长度不能超过50个字符") + private String segmentName; + + @Size(max = 500, message = "时间段描述长度不能超过500个字符") + private String segmentDesc; + + public Long getSegmentId() + { + return segmentId; + } + + public void setSegmentId(Long segmentId) + { + this.segmentId = segmentId; + } + + @NotNull(message = "房间ID不能为空") + public Long getRoomId() + { + return roomId; + } + + public void setRoomId(Long roomId) + { + this.roomId = roomId; + } + + public String getSegmentTime() + { + return segmentTime; + } + + public void setSegmentTime(String segmentTime) + { + this.segmentTime = segmentTime; + } + + public String getSegmentName() + { + return segmentName; + } + + public void setSegmentName(String segmentName) + { + this.segmentName = segmentName; + } + + public String getSegmentDesc() + { + return segmentDesc; + } + + public void setSegmentDesc(String segmentDesc) + { + this.segmentDesc = segmentDesc; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("segmentId", getSegmentId()) + .append("roomId", getRoomId()) + .append("segmentTime", getSegmentTime()) + .append("segmentName", getSegmentName()) + .append("segmentDesc", getSegmentDesc()) + .toString(); + } +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysTimelineSegmentMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysTimelineSegmentMapper.java new file mode 100644 index 0000000..9325299 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysTimelineSegmentMapper.java @@ -0,0 +1,22 @@ +package com.ruoyi.system.mapper; + +import java.util.List; +import org.apache.ibatis.annotations.Param; +import com.ruoyi.common.core.domain.entity.SysTimelineSegment; + +public interface SysTimelineSegmentMapper +{ + public List selectSegmentList(SysTimelineSegment segment); + + public List selectSegmentListByRoomId(@Param("roomId") Long roomId); + + public SysTimelineSegment selectSegmentById(Long segmentId); + + public int insertSegment(SysTimelineSegment segment); + + public int updateSegment(SysTimelineSegment segment); + + public int deleteSegmentById(Long segmentId); + + public int deleteSegmentByRoomId(@Param("roomId") Long roomId); +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysTimelineSegmentService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysTimelineSegmentService.java new file mode 100644 index 0000000..7889654 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysTimelineSegmentService.java @@ -0,0 +1,21 @@ +package com.ruoyi.system.service; + +import java.util.List; +import com.ruoyi.common.core.domain.entity.SysTimelineSegment; + +public interface ISysTimelineSegmentService +{ + public List selectSegmentList(SysTimelineSegment segment); + + public List selectSegmentListByRoomId(Long roomId); + + public SysTimelineSegment selectSegmentById(Long segmentId); + + public int insertSegment(SysTimelineSegment segment); + + public int updateSegment(SysTimelineSegment segment); + + public int deleteSegmentById(Long segmentId); + + public int deleteSegmentByRoomId(Long roomId); +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysTimelineSegmentServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysTimelineSegmentServiceImpl.java new file mode 100644 index 0000000..4623bc5 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysTimelineSegmentServiceImpl.java @@ -0,0 +1,57 @@ +package com.ruoyi.system.service.impl; + +import java.util.List; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.ruoyi.common.core.domain.entity.SysTimelineSegment; +import com.ruoyi.system.mapper.SysTimelineSegmentMapper; +import com.ruoyi.system.service.ISysTimelineSegmentService; + +@Service +public class SysTimelineSegmentServiceImpl implements ISysTimelineSegmentService +{ + @Autowired + private SysTimelineSegmentMapper segmentMapper; + + @Override + public List selectSegmentList(SysTimelineSegment segment) + { + return segmentMapper.selectSegmentList(segment); + } + + @Override + public List selectSegmentListByRoomId(Long roomId) + { + return segmentMapper.selectSegmentListByRoomId(roomId); + } + + @Override + public SysTimelineSegment selectSegmentById(Long segmentId) + { + return segmentMapper.selectSegmentById(segmentId); + } + + @Override + public int insertSegment(SysTimelineSegment segment) + { + return segmentMapper.insertSegment(segment); + } + + @Override + public int updateSegment(SysTimelineSegment segment) + { + return segmentMapper.updateSegment(segment); + } + + @Override + public int deleteSegmentById(Long segmentId) + { + return segmentMapper.deleteSegmentById(segmentId); + } + + @Override + public int deleteSegmentByRoomId(Long roomId) + { + return segmentMapper.deleteSegmentByRoomId(roomId); + } +} diff --git a/ruoyi-system/src/main/resources/mapper/system/SysTimelineSegmentMapper.xml b/ruoyi-system/src/main/resources/mapper/system/SysTimelineSegmentMapper.xml new file mode 100644 index 0000000..4543628 --- /dev/null +++ b/ruoyi-system/src/main/resources/mapper/system/SysTimelineSegmentMapper.xml @@ -0,0 +1,77 @@ + + + + + + + + + + + + + + select s.segment_id, s.room_id, s.segment_time, s.segment_name, s.segment_desc + from sys_timeline_segment s + + + + + + + + + + insert into sys_timeline_segment( + room_id, + segment_time, + segment_name, + segment_desc, + segment_id + )values( + #{roomId}, + #{segmentTime}, + #{segmentName}, + #{segmentDesc}, + #{segmentId} + ) + + + + update sys_timeline_segment + + segment_time = #{segmentTime}, + segment_name = #{segmentName}, + segment_desc = #{segmentDesc}, + + where segment_id = #{segmentId} + + + + delete from sys_timeline_segment where segment_id = #{segmentId} + + + + delete from sys_timeline_segment where room_id = #{roomId} + + + diff --git a/ruoyi-ui/src/api/system/timeline.js b/ruoyi-ui/src/api/system/timeline.js new file mode 100644 index 0000000..11c9873 --- /dev/null +++ b/ruoyi-ui/src/api/system/timeline.js @@ -0,0 +1,53 @@ +import request from '@/utils/request' + +export function listTimelineSegments(query) { + return request({ + url: '/system/timeline/list', + method: 'get', + params: query + }) +} + +export function getTimelineSegmentsByRoomId(roomId) { + return request({ + url: '/system/timeline/listByRoomId/' + roomId, + method: 'get' + }) +} + +export function getTimelineSegment(id) { + return request({ + url: '/system/timeline/' + id, + method: 'get' + }) +} + +export function addTimelineSegment(data) { + return request({ + url: '/system/timeline', + method: 'post', + data: data + }) +} + +export function updateTimelineSegment(data) { + return request({ + url: '/system/timeline', + method: 'put', + data: data + }) +} + +export function delTimelineSegment(id) { + return request({ + url: '/system/timeline/' + id, + method: 'delete' + }) +} + +export function delTimelineSegmentsByRoomId(roomId) { + return request({ + url: '/system/timeline/room/' + roomId, + method: 'delete' + }) +} diff --git a/ruoyi-ui/src/views/cesiumMap/index.vue b/ruoyi-ui/src/views/cesiumMap/index.vue index aba51cc..d401725 100644 --- a/ruoyi-ui/src/views/cesiumMap/index.vue +++ b/ruoyi-ui/src/views/cesiumMap/index.vue @@ -5249,7 +5249,7 @@ this.viewer.scene.postProcessStages.fxaa.enabled = true } .map-info-panel.panel-raised { - bottom: 65px; + bottom: 75px; } /* 比例尺:高德风格,浅色底、圆角、刻度线 */ diff --git a/ruoyi-ui/src/views/childRoom/BottomLeftPanel.vue b/ruoyi-ui/src/views/childRoom/BottomLeftPanel.vue index aceab24..9eede47 100644 --- a/ruoyi-ui/src/views/childRoom/BottomLeftPanel.vue +++ b/ruoyi-ui/src/views/childRoom/BottomLeftPanel.vue @@ -1,6 +1,6 @@