diff --git a/dk-modules/sample/src/main/java/org/dromara/sample/manage/controller/DeviceController.java b/dk-modules/sample/src/main/java/org/dromara/sample/manage/controller/DeviceController.java index ff2cc0e..0882372 100644 --- a/dk-modules/sample/src/main/java/org/dromara/sample/manage/controller/DeviceController.java +++ b/dk-modules/sample/src/main/java/org/dromara/sample/manage/controller/DeviceController.java @@ -9,6 +9,7 @@ import org.dromara.common.satoken.utils.LoginHelper; import org.dromara.common.web.core.BaseController; import org.dromara.sample.manage.model.dto.DeviceDTO; import org.dromara.sample.manage.model.dto.DeviceFirmwareUpgradeDTO; +import org.dromara.sample.manage.model.entity.DeviceEntity; import org.dromara.sample.manage.service.IDeviceProService; import org.dromara.sample.manage.service.IDeviceRedisService; import org.dromara.sample.manage.service.IDeviceService; @@ -56,6 +57,29 @@ public class DeviceController { return HttpResultResponse.success(devicesList); } + + //查找设备列表-简版 + @GetMapping("/{workspace_id}/devices/simple") + public HttpResultResponse> getDevices_Short( @PathVariable("workspace_id") String workspaceId,Integer domain, + @RequestParam(name = "pageNum", defaultValue = "1") Long page, + @RequestParam(name = "pageSize", defaultValue = "10") Long pageSize, + @RequestParam(name = "nickname",required = false) String nickname, + @RequestParam(name = "proIds",required = false) List proIds) { + PaginationData devicesList = deviceService.getListShort(workspaceId, page, pageSize, domain,nickname,proIds); + return HttpResultResponse.success(devicesList); + } + + //更新设备信息-简版 + @PutMapping("/{workspace_id}/devices/{device_sn}/simple") + public HttpResultResponse updateDeviceSimple(@RequestBody DeviceEntity device, + @PathVariable("workspace_id") String workspaceId + ) { + boolean isUpd = deviceService.updateDeiceSimple(device); + return isUpd ? HttpResultResponse.success() : HttpResultResponse.error(); + } + + + /** * 将设备绑定到工作区,只能web查看 * After binding the device to the workspace, the device data can only be seen on the web. diff --git a/dk-modules/sample/src/main/java/org/dromara/sample/manage/model/dto/DeviceDTO.java b/dk-modules/sample/src/main/java/org/dromara/sample/manage/model/dto/DeviceDTO.java index 2bbfb94..d3edc5e 100644 --- a/dk-modules/sample/src/main/java/org/dromara/sample/manage/model/dto/DeviceDTO.java +++ b/dk-modules/sample/src/main/java/org/dromara/sample/manage/model/dto/DeviceDTO.java @@ -114,4 +114,7 @@ public class DeviceDTO { private Float longitude; private Float height; + + + private Long pushDeptId; } diff --git a/dk-modules/sample/src/main/java/org/dromara/sample/manage/model/entity/DeviceEntity.java b/dk-modules/sample/src/main/java/org/dromara/sample/manage/model/entity/DeviceEntity.java index 967f9db..bb72cca 100644 --- a/dk-modules/sample/src/main/java/org/dromara/sample/manage/model/entity/DeviceEntity.java +++ b/dk-modules/sample/src/main/java/org/dromara/sample/manage/model/entity/DeviceEntity.java @@ -101,4 +101,8 @@ public class DeviceEntity implements Serializable { @TableField(value = "height") private Float height; + @TableField(value = "push_dept_id") + private Long pushDeptId; + + } diff --git a/dk-modules/sample/src/main/java/org/dromara/sample/manage/service/IDeviceService.java b/dk-modules/sample/src/main/java/org/dromara/sample/manage/service/IDeviceService.java index f990a81..80e69e1 100644 --- a/dk-modules/sample/src/main/java/org/dromara/sample/manage/service/IDeviceService.java +++ b/dk-modules/sample/src/main/java/org/dromara/sample/manage/service/IDeviceService.java @@ -204,4 +204,8 @@ public interface IDeviceService { void pushOsdDataToWeb(String workspaceId, BizCodeEnum codeEnum, String sn, Object data); void updateFlightControl(DeviceDTO gateway, ControlSourceEnum controlSource); + + PaginationData getListShort(String workspaceId, Long page, Long pageSize, Integer domain, String nickname, List proIds); + + boolean updateDeiceSimple(DeviceEntity device); } diff --git a/dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/DeviceServiceImpl.java b/dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/DeviceServiceImpl.java index 51eb246..c1074a0 100644 --- a/dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/DeviceServiceImpl.java +++ b/dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/DeviceServiceImpl.java @@ -213,6 +213,7 @@ public class DeviceServiceImpl implements IDeviceService { @Override public List getDevicesByParams(DeviceQueryParam param) { +// mapper.selectList(new LambdaQueryWrapper<>());//全量查询 return mapper.selectList( new LambdaQueryWrapper() .eq(StringUtils.hasText(param.getDeviceSn()), @@ -439,6 +440,7 @@ public class DeviceServiceImpl implements IDeviceService { .latitude(entity.getLatitude()) .longitude(entity.getLongitude()) .height(entity.getHeight()) + .pushDeptId(entity.getPushDeptId()) .thingVersion(entity.getVersion()).build(); } catch (CloudSDKException e) { log.error(e.getLocalizedMessage() + "Entity: {}", entity); @@ -733,6 +735,28 @@ public class DeviceServiceImpl implements IDeviceService { .build()); } + @Override + public PaginationData getListShort(String workspaceId, Long page, Long pageSize, Integer domain, String nickname, List proIds) { + Page pagination = mapper.selectPage(new Page<>(page, pageSize), + new LambdaQueryWrapper() + .eq(DeviceEntity::getDomain, domain) + .eq(DeviceEntity::getWorkspaceId, workspaceId) + .eq(DeviceEntity::getBoundStatus, true) + .in(ObjectUtil.isAllNotEmpty(proIds),DeviceEntity::getProId, proIds) + .eq(org.dromara.common.core.utils.StringUtils.isNotEmpty(nickname),DeviceEntity::getNickname,nickname)); + List devicesList = pagination.getRecords().stream().map(this::deviceEntityConvertToDTO).collect(Collectors.toList()); + return new PaginationData(devicesList, new Pagination(pagination.getCurrent(), pagination.getSize(), pagination.getTotal())); + } + + @Override + public boolean updateDeiceSimple(DeviceEntity device) { + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.set(DeviceEntity::getId,device.getId()); + updateWrapper.set(DeviceEntity::getPushDeptId,device.getPushDeptId()); + int update = mapper.update(updateWrapper); + return update > 0; + } + /** * Convert device data transfer object into database entity object. * @param dto