Browse Source

设备信息扩展默认推送pushDeptId

dev
时子升 2 weeks ago
parent
commit
b4ee40c126
  1. 24
      dk-modules/sample/src/main/java/org/dromara/sample/manage/controller/DeviceController.java
  2. 3
      dk-modules/sample/src/main/java/org/dromara/sample/manage/model/dto/DeviceDTO.java
  3. 4
      dk-modules/sample/src/main/java/org/dromara/sample/manage/model/entity/DeviceEntity.java
  4. 4
      dk-modules/sample/src/main/java/org/dromara/sample/manage/service/IDeviceService.java
  5. 24
      dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/DeviceServiceImpl.java

24
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<PaginationData<DeviceDTO>> 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<Integer> proIds) {
PaginationData<DeviceDTO> 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.

3
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;
}

4
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;
}

4
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<DeviceDTO> getListShort(String workspaceId, Long page, Long pageSize, Integer domain, String nickname, List<Integer> proIds);
boolean updateDeiceSimple(DeviceEntity device);
}

24
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<DeviceDTO> getDevicesByParams(DeviceQueryParam param) {
// mapper.selectList(new LambdaQueryWrapper<>());//全量查询
return mapper.selectList(
new LambdaQueryWrapper<DeviceEntity>()
.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<DeviceDTO> getListShort(String workspaceId, Long page, Long pageSize, Integer domain, String nickname, List<Integer> proIds) {
Page<DeviceEntity> pagination = mapper.selectPage(new Page<>(page, pageSize),
new LambdaQueryWrapper<DeviceEntity>()
.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<DeviceDTO> devicesList = pagination.getRecords().stream().map(this::deviceEntityConvertToDTO).collect(Collectors.toList());
return new PaginationData<DeviceDTO>(devicesList, new Pagination(pagination.getCurrent(), pagination.getSize(), pagination.getTotal()));
}
@Override
public boolean updateDeiceSimple(DeviceEntity device) {
LambdaUpdateWrapper<DeviceEntity> 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

Loading…
Cancel
Save