You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

51 lines
1.8 KiB

2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
  1. package com.iflytop.sgs.app.controller;
  2. import com.iflytop.sgs.app.model.bo.status.device.DeviceState;
  3. import com.iflytop.sgs.app.model.dto.SetSystemDatetimeDTO;
  4. import com.iflytop.sgs.app.service.api.SystemConfigService;
  5. import com.iflytop.sgs.app.service.device.DeviceStateService;
  6. import com.iflytop.sgs.common.result.Result;
  7. import io.swagger.v3.oas.annotations.Operation;
  8. import io.swagger.v3.oas.annotations.tags.Tag;
  9. import jakarta.validation.Valid;
  10. import lombok.RequiredArgsConstructor;
  11. import lombok.extern.slf4j.Slf4j;
  12. import org.springframework.web.bind.annotation.*;
  13. @Tag(name = "系统")
  14. @RestController
  15. @RequestMapping("/api/sys")
  16. @RequiredArgsConstructor
  17. @Slf4j
  18. public class SystemController {
  19. private final SystemConfigService systemConfigService;
  20. private final DeviceStateService deviceStateService;
  21. @Operation(summary = "是否启动虚拟模式")
  22. @PostMapping("/virtual")
  23. public Result<?> changeVirtualMode(Boolean mode) {
  24. deviceStateService.getDeviceState().setVirtual(mode);
  25. return Result.success();
  26. }
  27. @Operation(summary = "模拟向硬件写入完毕")
  28. @PostMapping("/initComplete")
  29. public Result<?> setInitComplete(Boolean initComplete) {
  30. deviceStateService.getDeviceState().setInitComplete(initComplete);
  31. return Result.success();
  32. }
  33. @Operation(summary = "系统状态")
  34. @GetMapping("/device-status")
  35. public Result<DeviceState> getDeviceStatus() {
  36. return Result.success(deviceStateService.getDeviceState());
  37. }
  38. @Operation(summary = "设置系统时间")
  39. @PostMapping("/datetime")
  40. public Result<?> setDatetime(@Valid @RequestBody SetSystemDatetimeDTO setSystemDatetimeDTO) {
  41. systemConfigService.setDatetime(setSystemDatetimeDTO.getDatetime());
  42. return Result.success();
  43. }
  44. }