机库列表展示信息优化

This commit is contained in:
sdy 2026-05-26 10:33:10 +08:00
parent cfcfd992f8
commit 9a4c30742e
4 changed files with 60 additions and 1 deletions

View File

@ -48,7 +48,7 @@ public class DockController {
}) })
@RequiresPermissions("bus:dock:page") @RequiresPermissions("bus:dock:page")
public Result<PageData<DockDTO>> page(@Parameter(hidden = true) @RequestParam Map<String, Object> params) { public Result<PageData<DockDTO>> page(@Parameter(hidden = true) @RequestParam Map<String, Object> params) {
PageData<DockDTO> page = dockService.page(params); PageData<DockDTO> page = dockService.pageList(params);
return new Result<PageData<DockDTO>>().ok(page); return new Result<PageData<DockDTO>>().ok(page);
} }

View File

@ -86,4 +86,20 @@ public class DockDTO implements Serializable {
@JsonProperty(access = JsonProperty.Access.READ_ONLY) @JsonProperty(access = JsonProperty.Access.READ_ONLY)
@Schema(description = "更新时间") @Schema(description = "更新时间")
private Date updateDate; 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;
} }

View File

@ -1,11 +1,14 @@
package com.multictrl.modules.business.service; package com.multictrl.modules.business.service;
import cn.hutool.json.JSONObject; import cn.hutool.json.JSONObject;
import com.multictrl.common.page.PageData;
import com.multictrl.common.service.CrudService; import com.multictrl.common.service.CrudService;
import com.multictrl.modules.business.dao.DockDao; import com.multictrl.modules.business.dao.DockDao;
import com.multictrl.modules.business.dto.DockDTO; import com.multictrl.modules.business.dto.DockDTO;
import com.multictrl.modules.business.entity.DockEntity; import com.multictrl.modules.business.entity.DockEntity;
import java.util.Map;
/** /**
* 机库信息表 * 机库信息表
* *
@ -17,6 +20,9 @@ public interface DockService extends CrudService<DockEntity, DockDTO> {
//更新机库位置 //更新机库位置
void updateDockLocation(String dockSn, JSONObject data); void updateDockLocation(String dockSn, JSONObject data);
//分页查询
PageData<DockDTO> pageList(Map<String, Object> params);
//获取dao //获取dao
DockDao getDao(); DockDao getDao();
} }

View File

@ -3,13 +3,22 @@ package com.multictrl.modules.business.service.impl;
import cn.hutool.json.JSONObject; import cn.hutool.json.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import cn.hutool.core.util.StrUtil; 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.common.service.impl.CrudServiceImpl;
import com.multictrl.modules.business.dao.DeviceDicDao;
import com.multictrl.modules.business.dao.DockDao; 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.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.entity.DockEntity;
import com.multictrl.modules.business.service.DJIBaseService;
import com.multictrl.modules.business.service.DockService; import com.multictrl.modules.business.service.DockService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map; import java.util.Map;
/** /**
@ -19,7 +28,11 @@ import java.util.Map;
* @since 1.0.0 2026-04-17 * @since 1.0.0 2026-04-17
*/ */
@Service @Service
@RequiredArgsConstructor
public class DockServiceImpl extends CrudServiceImpl<DockDao, DockEntity, DockDTO> implements DockService { public class DockServiceImpl extends CrudServiceImpl<DockDao, DockEntity, DockDTO> implements DockService {
private final DJIBaseService djiBaseService;
private final DockDeviceDao dockDeviceDao;
private final DeviceDicDao deviceDicDao;
@Override @Override
public QueryWrapper<DockEntity> getWrapper(Map<String, Object> params) { public QueryWrapper<DockEntity> getWrapper(Map<String, Object> params) {
@ -56,6 +69,30 @@ public class DockServiceImpl extends CrudServiceImpl<DockDao, DockEntity, DockDT
baseDao.updateById(dockEntity); baseDao.updateById(dockEntity);
} }
@Override
public PageData<DockDTO> pageList(Map<String, Object> params) {
PageData<DockDTO> 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<DockDeviceEntity> deviceEntityList = dockDeviceDao.selectList(new QueryWrapper<DockDeviceEntity>().eq("parent_sn", dockDTO.getDockSn()));
for (DockDeviceEntity dockDevice : deviceEntityList) {
String deviceModelKey = dockDevice.getDeviceModelKey();
if (deviceModelKey.startsWith("0")) {
List<DeviceDicEntity> list = deviceDicDao.selectList(new QueryWrapper<DeviceDicEntity>()
.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 @Override
public DockDao getDao() { public DockDao getDao() {