From 9a4c30742e161dcdf6e4a97d5500ef934483f6f2 Mon Sep 17 00:00:00 2001 From: sdy Date: Tue, 26 May 2026 10:33:10 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9C=BA=E5=BA=93=E5=88=97=E8=A1=A8=E5=B1=95?= =?UTF-8?q?=E7=A4=BA=E4=BF=A1=E6=81=AF=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../business/controller/DockController.java | 2 +- .../modules/business/dto/DockDTO.java | 16 ++++++++ .../modules/business/service/DockService.java | 6 +++ .../service/impl/DockServiceImpl.java | 37 +++++++++++++++++++ 4 files changed, 60 insertions(+), 1 deletion(-) diff --git a/admin/src/main/java/com/multictrl/modules/business/controller/DockController.java b/admin/src/main/java/com/multictrl/modules/business/controller/DockController.java index 63e07bd..4fe63c3 100644 --- a/admin/src/main/java/com/multictrl/modules/business/controller/DockController.java +++ b/admin/src/main/java/com/multictrl/modules/business/controller/DockController.java @@ -48,7 +48,7 @@ public class DockController { }) @RequiresPermissions("bus:dock:page") public Result> page(@Parameter(hidden = true) @RequestParam Map params) { - PageData page = dockService.page(params); + PageData page = dockService.pageList(params); return new Result>().ok(page); } diff --git a/admin/src/main/java/com/multictrl/modules/business/dto/DockDTO.java b/admin/src/main/java/com/multictrl/modules/business/dto/DockDTO.java index 2877738..436f202 100644 --- a/admin/src/main/java/com/multictrl/modules/business/dto/DockDTO.java +++ b/admin/src/main/java/com/multictrl/modules/business/dto/DockDTO.java @@ -86,4 +86,20 @@ public class DockDTO implements Serializable { @JsonProperty(access = JsonProperty.Access.READ_ONLY) @Schema(description = "更新时间") private Date updateDate; + + @JsonProperty(access = JsonProperty.Access.READ_ONLY) + @Schema(description = "图片地址") + private String imgUrl; + + @JsonProperty(access = JsonProperty.Access.READ_ONLY) + @Schema(description = "无人机型号") + private String uavModel; + + @JsonProperty(access = JsonProperty.Access.READ_ONLY) + @Schema(description = "是否在线") + private Boolean online; + + @JsonProperty(access = JsonProperty.Access.READ_ONLY) + @Schema(description = "机库模式") + private String dockMode; } diff --git a/admin/src/main/java/com/multictrl/modules/business/service/DockService.java b/admin/src/main/java/com/multictrl/modules/business/service/DockService.java index 046787b..086dfea 100644 --- a/admin/src/main/java/com/multictrl/modules/business/service/DockService.java +++ b/admin/src/main/java/com/multictrl/modules/business/service/DockService.java @@ -1,11 +1,14 @@ package com.multictrl.modules.business.service; import cn.hutool.json.JSONObject; +import com.multictrl.common.page.PageData; import com.multictrl.common.service.CrudService; import com.multictrl.modules.business.dao.DockDao; import com.multictrl.modules.business.dto.DockDTO; import com.multictrl.modules.business.entity.DockEntity; +import java.util.Map; + /** * 机库信息表 * @@ -17,6 +20,9 @@ public interface DockService extends CrudService { //更新机库位置 void updateDockLocation(String dockSn, JSONObject data); + //分页查询 + PageData pageList(Map params); + //获取dao DockDao getDao(); } \ No newline at end of file diff --git a/admin/src/main/java/com/multictrl/modules/business/service/impl/DockServiceImpl.java b/admin/src/main/java/com/multictrl/modules/business/service/impl/DockServiceImpl.java index 407ebdc..b026736 100644 --- a/admin/src/main/java/com/multictrl/modules/business/service/impl/DockServiceImpl.java +++ b/admin/src/main/java/com/multictrl/modules/business/service/impl/DockServiceImpl.java @@ -3,13 +3,22 @@ package com.multictrl.modules.business.service.impl; import cn.hutool.json.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import cn.hutool.core.util.StrUtil; +import com.multictrl.common.constant.DockMode; +import com.multictrl.common.page.PageData; import com.multictrl.common.service.impl.CrudServiceImpl; +import com.multictrl.modules.business.dao.DeviceDicDao; import com.multictrl.modules.business.dao.DockDao; +import com.multictrl.modules.business.dao.DockDeviceDao; import com.multictrl.modules.business.dto.DockDTO; +import com.multictrl.modules.business.entity.DeviceDicEntity; +import com.multictrl.modules.business.entity.DockDeviceEntity; import com.multictrl.modules.business.entity.DockEntity; +import com.multictrl.modules.business.service.DJIBaseService; import com.multictrl.modules.business.service.DockService; +import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import java.util.List; import java.util.Map; /** @@ -19,7 +28,11 @@ import java.util.Map; * @since 1.0.0 2026-04-17 */ @Service +@RequiredArgsConstructor public class DockServiceImpl extends CrudServiceImpl implements DockService { + private final DJIBaseService djiBaseService; + private final DockDeviceDao dockDeviceDao; + private final DeviceDicDao deviceDicDao; @Override public QueryWrapper getWrapper(Map params) { @@ -56,6 +69,30 @@ public class DockServiceImpl extends CrudServiceImpl pageList(Map params) { + PageData page = page(params); + for (DockDTO dockDTO : page.getList()) { + Integer dockModeCode = djiBaseService.getDockModeCode(dockDTO.getDockSn()); + dockDTO.setDockMode(DockMode.getDescByCode(dockModeCode)); + dockDTO.setOnline(djiBaseService.isDockOnline(dockDTO.getDockSn())); + List deviceEntityList = dockDeviceDao.selectList(new QueryWrapper().eq("parent_sn", dockDTO.getDockSn())); + for (DockDeviceEntity dockDevice : deviceEntityList) { + String deviceModelKey = dockDevice.getDeviceModelKey(); + if (deviceModelKey.startsWith("0")) { + List list = deviceDicDao.selectList(new QueryWrapper() + .eq("domain", dockDevice.getDomain()) + .eq("device_type", dockDevice.getDeviceType()) + .eq("sub_type", dockDevice.getSubType())); + if (!list.isEmpty()) { + dockDTO.setUavModel(list.get(0).getDeviceName()); + } + } + } + } + return page; + } + @Override public DockDao getDao() {