From aa328169e36dbd438c7627b288cda1944a9cf8e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=99=E5=B0=8F=E4=BA=91?= Date: Tue, 20 Jan 2026 13:20:39 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0controller=E5=B1=82=E5=AE=9A?= =?UTF-8?q?=E4=B9=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../device/controller/AircraftController.java | 37 +++++++ .../device/controller/DockController.java | 55 +++++++++++ .../device/controller/GroupController.java | 99 +++++++++++++++++++ .../convert/AircraftControllerConvert.java | 11 +++ .../convert/DockControllerConvert.java | 11 +++ .../convert/GroupControllerConvert.java | 11 +++ .../device/service/api/IAircraftService.java | 9 ++ .../device/service/api/IDockService.java | 19 ++++ .../device/service/api/IGroupService.java | 40 ++++++++ .../service/impl/AircraftServiceImpl.java | 7 ++ .../device/service/impl/DockServiceImpl.java | 14 +++ .../device/service/impl/GroupServiceImpl.java | 29 ++++++ 12 files changed, 342 insertions(+) create mode 100644 src/main/java/com/ruoyi/device/controller/AircraftController.java create mode 100644 src/main/java/com/ruoyi/device/controller/DockController.java create mode 100644 src/main/java/com/ruoyi/device/controller/GroupController.java create mode 100644 src/main/java/com/ruoyi/device/controller/convert/AircraftControllerConvert.java create mode 100644 src/main/java/com/ruoyi/device/controller/convert/DockControllerConvert.java create mode 100644 src/main/java/com/ruoyi/device/controller/convert/GroupControllerConvert.java diff --git a/src/main/java/com/ruoyi/device/controller/AircraftController.java b/src/main/java/com/ruoyi/device/controller/AircraftController.java new file mode 100644 index 0000000..29022aa --- /dev/null +++ b/src/main/java/com/ruoyi/device/controller/AircraftController.java @@ -0,0 +1,37 @@ +package com.ruoyi.device.controller; + +import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.core.web.controller.BaseController; +import com.ruoyi.common.security.annotation.InnerAuth; +import com.ruoyi.device.api.domain.AircraftDetailVO; +import com.ruoyi.device.service.api.IAircraftService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +/** + * 无人机Controller + * + * @author ruoyi + * @date 2026-01-20 + */ +@RestController +@RequestMapping("/aircraft") +public class AircraftController extends BaseController +{ + @Autowired + private IAircraftService aircraftService; + + /** + * 查看无人机详情 + * + * @param aircraftId 无人机ID + * @return 无人机详情 + */ + @InnerAuth + @GetMapping("/detail/{aircraftId}") + public R getAircraftDetail(@PathVariable("aircraftId") Long aircraftId) + { + AircraftDetailVO aircraftDetail = aircraftService.getAircraftDetail(aircraftId); + return R.ok(aircraftDetail); + } +} diff --git a/src/main/java/com/ruoyi/device/controller/DockController.java b/src/main/java/com/ruoyi/device/controller/DockController.java new file mode 100644 index 0000000..7cc6695 --- /dev/null +++ b/src/main/java/com/ruoyi/device/controller/DockController.java @@ -0,0 +1,55 @@ +package com.ruoyi.device.controller; + +import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.core.web.controller.BaseController; +import com.ruoyi.common.security.annotation.InnerAuth; +import com.ruoyi.device.api.domain.DockDetailVO; +import com.ruoyi.device.api.domain.DockVO; +import com.ruoyi.device.service.api.IDockService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * 机场Controller + * + * @author ruoyi + * @date 2026-01-20 + */ +@RestController +@RequestMapping("/dock") +public class DockController extends BaseController +{ + @Autowired + private IDockService dockService; + + /** + * 搜索机场 + * + * @param dockStatus 机场状态 + * @param dockId 机场ID + * @return 机场列表 + */ + @InnerAuth + @GetMapping("/search") + public R> searchDocks(@RequestParam(required = false) String dockStatus, @RequestParam(required = false) Long dockId) + { + List dockList = dockService.searchDocks(dockStatus, dockId); + return R.ok(dockList); + } + + /** + * 查看机场详情 + * + * @param dockId 机场ID + * @return 机场详情 + */ + @InnerAuth + @GetMapping("/detail/{dockId}") + public R getDockDetail(@PathVariable("dockId") Long dockId) + { + DockDetailVO dockDetail = dockService.getDockDetail(dockId); + return R.ok(dockDetail); + } +} diff --git a/src/main/java/com/ruoyi/device/controller/GroupController.java b/src/main/java/com/ruoyi/device/controller/GroupController.java new file mode 100644 index 0000000..34f49e2 --- /dev/null +++ b/src/main/java/com/ruoyi/device/controller/GroupController.java @@ -0,0 +1,99 @@ +package com.ruoyi.device.controller; + +import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.core.web.controller.BaseController; +import com.ruoyi.common.security.annotation.InnerAuth; +import com.ruoyi.device.api.domain.DockVO; +import com.ruoyi.device.api.domain.GroupVO; +import com.ruoyi.device.service.api.IGroupService; +import com.ruoyi.device.service.dto.GroupDTO; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * 分组Controller + * + * @author ruoyi + * @date 2026-01-20 + */ +@RestController +@RequestMapping("/group") +public class GroupController extends BaseController +{ + @Autowired + private IGroupService groupService; + + /** + * 创建分组 + * + * @param groupVO 分组信息 + * @return 分组ID + */ + @InnerAuth + @PostMapping("/create") + public R createGroup(@RequestBody GroupVO groupVO) + { + GroupDTO dto = new GroupDTO(); + dto.setGroupName(groupVO.getGroupName()); + Long groupId = groupService.createGroup(dto); + return R.ok(groupId); + } + + /** + * 删除分组 + * + * @param groupId 分组ID + * @return 结果 + */ + @InnerAuth + @DeleteMapping("/delete/{groupId}") + public R deleteGroup(@PathVariable("groupId") Long groupId) + { + groupService.deleteGroup(groupId); + return R.ok(); + } + + /** + * 切换机场所在的分组 + * + * @param dockId 机场ID + * @param groupId 分组ID + * @return 结果 + */ + @InnerAuth + @PutMapping("/switch/{dockId}/{groupId}") + public R switchDockGroup(@PathVariable("dockId") Long dockId, @PathVariable("groupId") Long groupId) + { + groupService.switchDockGroup(dockId, groupId); + return R.ok(); + } + + /** + * 查看分组下的机场 + * + * @param groupId 分组ID + * @return 机场列表 + */ + @InnerAuth + @GetMapping("/docks/{groupId}") + public R> getDocksByGroupId(@PathVariable("groupId") Long groupId) + { + List dockList = groupService.getDocksByGroupId(groupId); + return R.ok(dockList); + } + + /** + * 查看所有分组 + * + * @return 分组ID列表 + */ + @InnerAuth + @GetMapping("/list") + public R> getAllGroupIds() + { + List groupIds = groupService.getAllGroupIds(); + return R.ok(groupIds); + } +} diff --git a/src/main/java/com/ruoyi/device/controller/convert/AircraftControllerConvert.java b/src/main/java/com/ruoyi/device/controller/convert/AircraftControllerConvert.java new file mode 100644 index 0000000..786cf11 --- /dev/null +++ b/src/main/java/com/ruoyi/device/controller/convert/AircraftControllerConvert.java @@ -0,0 +1,11 @@ +package com.ruoyi.device.controller.convert; + +/** + * 无人机Controller转换器 + * + * @author ruoyi + * @date 2026-01-20 + */ +public class AircraftControllerConvert +{ +} diff --git a/src/main/java/com/ruoyi/device/controller/convert/DockControllerConvert.java b/src/main/java/com/ruoyi/device/controller/convert/DockControllerConvert.java new file mode 100644 index 0000000..6226ddf --- /dev/null +++ b/src/main/java/com/ruoyi/device/controller/convert/DockControllerConvert.java @@ -0,0 +1,11 @@ +package com.ruoyi.device.controller.convert; + +/** + * 机场Controller转换器 + * + * @author ruoyi + * @date 2026-01-20 + */ +public class DockControllerConvert +{ +} diff --git a/src/main/java/com/ruoyi/device/controller/convert/GroupControllerConvert.java b/src/main/java/com/ruoyi/device/controller/convert/GroupControllerConvert.java new file mode 100644 index 0000000..168761f --- /dev/null +++ b/src/main/java/com/ruoyi/device/controller/convert/GroupControllerConvert.java @@ -0,0 +1,11 @@ +package com.ruoyi.device.controller.convert; + +/** + * 分组Controller转换器 + * + * @author ruoyi + * @date 2026-01-20 + */ +public class GroupControllerConvert +{ +} diff --git a/src/main/java/com/ruoyi/device/service/api/IAircraftService.java b/src/main/java/com/ruoyi/device/service/api/IAircraftService.java index a9a12da..0e6aea7 100644 --- a/src/main/java/com/ruoyi/device/service/api/IAircraftService.java +++ b/src/main/java/com/ruoyi/device/service/api/IAircraftService.java @@ -1,5 +1,6 @@ package com.ruoyi.device.service.api; +import com.ruoyi.device.api.domain.AircraftDetailVO; import com.ruoyi.device.service.dto.AircraftDTO; import java.util.List; @@ -26,4 +27,12 @@ public interface IAircraftService * @return 无人机 */ AircraftDTO selectAircraftByAircraftId(Long aircraftId); + + /** + * 查看无人机详情 + * + * @param aircraftId 无人机ID + * @return 无人机详情 + */ + AircraftDetailVO getAircraftDetail(Long aircraftId); } \ No newline at end of file diff --git a/src/main/java/com/ruoyi/device/service/api/IDockService.java b/src/main/java/com/ruoyi/device/service/api/IDockService.java index e740ce1..6e39f0a 100644 --- a/src/main/java/com/ruoyi/device/service/api/IDockService.java +++ b/src/main/java/com/ruoyi/device/service/api/IDockService.java @@ -1,5 +1,7 @@ package com.ruoyi.device.service.api; +import com.ruoyi.device.api.domain.DockDetailVO; +import com.ruoyi.device.api.domain.DockVO; import com.ruoyi.device.service.dto.DockDTO; import java.util.List; @@ -26,4 +28,21 @@ public interface IDockService * @return 机场 */ DockDTO selectDockByDockId(Long dockId); + + /** + * 搜索机场 + * + * @param dockStatus 机场状态 + * @param dockId 机场ID + * @return 机场列表 + */ + List searchDocks(String dockStatus, Long dockId); + + /** + * 查看机场详情 + * + * @param dockId 机场ID + * @return 机场详情 + */ + DockDetailVO getDockDetail(Long dockId); } \ No newline at end of file diff --git a/src/main/java/com/ruoyi/device/service/api/IGroupService.java b/src/main/java/com/ruoyi/device/service/api/IGroupService.java index 04e58b0..7ca8c40 100644 --- a/src/main/java/com/ruoyi/device/service/api/IGroupService.java +++ b/src/main/java/com/ruoyi/device/service/api/IGroupService.java @@ -1,5 +1,7 @@ package com.ruoyi.device.service.api; +import com.ruoyi.device.api.domain.DockVO; +import com.ruoyi.device.api.domain.GroupVO; import com.ruoyi.device.service.dto.GroupDTO; import java.util.List; @@ -58,4 +60,42 @@ public interface IGroupService * @return 结果 */ int deleteGroupByGroupIds(Long[] groupIds); + + /** + * 创建分组 + * + * @param groupDTO 分组信息 + * @return 分组ID + */ + Long createGroup(GroupDTO groupDTO); + + /** + * 删除分组 + * + * @param groupId 分组ID + */ + void deleteGroup(Long groupId); + + /** + * 切换机场所在的分组 + * + * @param dockId 机场ID + * @param groupId 分组ID + */ + void switchDockGroup(Long dockId, Long groupId); + + /** + * 查看分组下的机场 + * + * @param groupId 分组ID + * @return 机场列表 + */ + List getDocksByGroupId(Long groupId); + + /** + * 查看所有分组 + * + * @return 分组ID列表 + */ + List getAllGroupIds(); } \ No newline at end of file diff --git a/src/main/java/com/ruoyi/device/service/impl/AircraftServiceImpl.java b/src/main/java/com/ruoyi/device/service/impl/AircraftServiceImpl.java index 68742c6..178cbf4 100644 --- a/src/main/java/com/ruoyi/device/service/impl/AircraftServiceImpl.java +++ b/src/main/java/com/ruoyi/device/service/impl/AircraftServiceImpl.java @@ -1,5 +1,6 @@ package com.ruoyi.device.service.impl; +import com.ruoyi.device.api.domain.AircraftDetailVO; import com.ruoyi.device.domain.api.IAircraftDomain; import com.ruoyi.device.domain.model.Aircraft; import com.ruoyi.device.service.api.IAircraftService; @@ -36,4 +37,10 @@ public class AircraftServiceImpl implements IAircraftService Aircraft model = aircraftDomain.selectAircraftByAircraftId(aircraftId); return AircraftServiceConvert.toDTO(model); } + + @Override + public AircraftDetailVO getAircraftDetail(Long aircraftId) + { + return null; + } } \ No newline at end of file diff --git a/src/main/java/com/ruoyi/device/service/impl/DockServiceImpl.java b/src/main/java/com/ruoyi/device/service/impl/DockServiceImpl.java index 01b109f..8750f05 100644 --- a/src/main/java/com/ruoyi/device/service/impl/DockServiceImpl.java +++ b/src/main/java/com/ruoyi/device/service/impl/DockServiceImpl.java @@ -1,5 +1,7 @@ package com.ruoyi.device.service.impl; +import com.ruoyi.device.api.domain.DockDetailVO; +import com.ruoyi.device.api.domain.DockVO; import com.ruoyi.device.domain.api.IDockDomain; import com.ruoyi.device.domain.model.Dock; import com.ruoyi.device.service.api.IDockService; @@ -36,4 +38,16 @@ public class DockServiceImpl implements IDockService Dock model = dockDomain.selectDockByDockId(dockId); return DockServiceConvert.toDTO(model); } + + @Override + public List searchDocks(String dockStatus, Long dockId) + { + return null; + } + + @Override + public DockDetailVO getDockDetail(Long dockId) + { + return null; + } } \ No newline at end of file diff --git a/src/main/java/com/ruoyi/device/service/impl/GroupServiceImpl.java b/src/main/java/com/ruoyi/device/service/impl/GroupServiceImpl.java index 71e47e6..8ccaf90 100644 --- a/src/main/java/com/ruoyi/device/service/impl/GroupServiceImpl.java +++ b/src/main/java/com/ruoyi/device/service/impl/GroupServiceImpl.java @@ -1,5 +1,6 @@ package com.ruoyi.device.service.impl; +import com.ruoyi.device.api.domain.DockVO; import com.ruoyi.device.domain.api.IGroupDomain; import com.ruoyi.device.domain.model.Group; import com.ruoyi.device.service.api.IGroupService; @@ -62,4 +63,32 @@ public class GroupServiceImpl implements IGroupService { return groupDomain.deleteGroupByGroupIds(groupIds); } + + @Override + public Long createGroup(GroupDTO groupDTO) + { + return null; + } + + @Override + public void deleteGroup(Long groupId) + { + } + + @Override + public void switchDockGroup(Long dockId, Long groupId) + { + } + + @Override + public List getDocksByGroupId(Long groupId) + { + return null; + } + + @Override + public List getAllGroupIds() + { + return null; + } } \ No newline at end of file