package com.ard.web.controller.sample;
|
|
import com.ard.sample.common.model.PaginationData;
|
import com.ard.sample.common.model.ResponseResult;
|
import com.ard.sample.manage.model.dto.DeviceHmsDTO;
|
import com.ard.sample.manage.model.param.DeviceHmsQueryParam;
|
import com.ard.sample.manage.service.IDeviceHmsService;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import io.swagger.v3.oas.annotations.Operation;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.web.bind.annotation.*;
|
|
import java.util.HashSet;
|
import java.util.List;
|
import java.util.Set;
|
|
/**
|
* @author sean
|
* @version 1.1
|
* @date 2022/7/7
|
*/
|
@Api(tags = "设备HMS管理")
|
@RestController
|
@Slf4j
|
@RequestMapping("/dock/devices")
|
public class DeviceHmsController {
|
|
@Autowired
|
private IDeviceHmsService deviceHmsService;
|
|
/**
|
* 查询设备hms信息的页面。/{workspace_id},@PathVariable("workspace_id") String workspaceId
|
* @param param
|
* @return
|
*/
|
@Operation(summary = "获取设备HMS信息", description = "参数传空则忽略该条件,返回所有符合其他条件的数据")
|
@ApiOperation("获取设备HMS信息")
|
@GetMapping("/devices/hms")
|
public ResponseResult<PaginationData<DeviceHmsDTO>> getHmsInformation(DeviceHmsQueryParam param) {
|
if (param == null) {
|
param = new DeviceHmsQueryParam();
|
}
|
PaginationData<DeviceHmsDTO> devices = deviceHmsService.getDeviceHmsByParam(param);
|
|
return ResponseResult.success(devices);
|
}
|
|
/**
|
* Update unread hms messages to read status.
|
* @param deviceSn
|
* @return
|
*/
|
@ApiOperation("更新HMS消息为已读状态")
|
@PutMapping("/devices/hms/{device_sn}")
|
public ResponseResult updateReadHmsByDeviceSn(@PathVariable("device_sn") String deviceSn) {
|
deviceHmsService.updateUnreadHms(deviceSn);
|
return ResponseResult.success();
|
}
|
|
/**
|
* Get hms messages for a single device.
|
* @param deviceSn
|
* @return
|
*/
|
@ApiOperation("获取设备未读HMS消息")
|
@GetMapping("/devices/hms/{device_sn}")
|
public ResponseResult<List<DeviceHmsDTO>> getUnreadHmsByDeviceSn(@PathVariable("device_sn") String deviceSn) {
|
PaginationData<DeviceHmsDTO> paginationData = deviceHmsService.getDeviceHmsByParam(
|
DeviceHmsQueryParam.builder()
|
.deviceSn(new HashSet<>(Set.of(deviceSn)))
|
.updateTime(0L)
|
.build());
|
return ResponseResult.success(paginationData.getList());
|
}
|
}
|