package com.iflytop.handacid.app.controller; import com.iflytop.handacid.app.core.state.DeviceState; import com.iflytop.handacid.app.model.dto.TimeSetDTO; import com.iflytop.handacid.app.model.vo.TimeResponseVO; import com.iflytop.handacid.app.service.SystemService; import com.iflytop.handacid.common.result.Result; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.validation.Valid; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; import java.time.Instant; @Tag(name = "⚙\uFE0F系统") @RestController @RequestMapping("/api/sys") @RequiredArgsConstructor @Slf4j public class SystemController { private final SystemService systemService; private final DeviceState deviceState; @Operation(summary = "获取当前设备状态") @GetMapping("/device-status") public Result getDeviceStatus() { return Result.success(deviceState.toJSON()); } @Operation(summary = "设置系统时间") @PostMapping("/set-datetime") public Result setDatetime(@Valid @RequestBody TimeSetDTO timeSetDTO) { systemService.setSystemTime(timeSetDTO.getEpochMilli()); return Result.success(); } @Operation(summary = "获取当前系统时间") @GetMapping("/get-datetime") public Result getDatetime() { return Result.success(new TimeResponseVO(Instant.now().toEpochMilli())); } }