/* * 【机场1】从 dock2 原类 com.ard.web.controller.sample.DeviceHmsController 复制/独立适配(DJI Dock 1 / M30)。 * 与 dock2 原类同服务共存;本文件内的适配差异以「// 机场1:」内联注释标出。 */ package com.ard.web.controller.sample.dock1; 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; import com.ard.web.controller.sample.DeviceHmsController; /** * @author sean * @version 1.1 * @date 2022/7/7 */ @Api(tags = "设备HMS管理") @RestController @Slf4j @RequestMapping("/dock1/devices") public class Dock1DeviceHmsController { @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> getHmsInformation(DeviceHmsQueryParam param) { if (param == null) { param = new DeviceHmsQueryParam(); } PaginationData 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> getUnreadHmsByDeviceSn(@PathVariable("device_sn") String deviceSn) { PaginationData paginationData = deviceHmsService.getDeviceHmsByParam( DeviceHmsQueryParam.builder() .deviceSn(new HashSet<>(Set.of(deviceSn))) .updateTime(0L) .build()); return ResponseResult.success(paginationData.getList()); } }