From b4ee40c126d54de402d1ca4227e4cbc142aa7475 Mon Sep 17 00:00:00 2001 From: shizisheng Date: Tue, 10 Jun 2025 19:01:12 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=BE=E5=A4=87=E4=BF=A1=E6=81=AF=E6=89=A9?= =?UTF-8?q?=E5=B1=95=E9=BB=98=E8=AE=A4=E6=8E=A8=E9=80=81pushDeptId?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../manage/controller/DeviceController.java | 24 +++++++++++++++++++ .../sample/manage/model/dto/DeviceDTO.java | 3 +++ .../manage/model/entity/DeviceEntity.java | 4 ++++ .../sample/manage/service/IDeviceService.java | 4 ++++ .../service/impl/DeviceServiceImpl.java | 24 +++++++++++++++++++ 5 files changed, 59 insertions(+) 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