using Microsoft.AspNetCore.Mvc; using WIDESEAWCS_S7Simulator.Application; namespace WIDESEAWCS_S7Simulator.Server.Controllers; [ApiController] [Route("api/[controller]")] public class SyncController : ControllerBase { private readonly InstanceSyncService _syncService; private readonly ILogger _logger; public SyncController(InstanceSyncService syncService, ILogger logger) { _syncService = syncService; _logger = logger; } /// /// 手动触发实例同步 /// [HttpPost("SyncInstances")] public async Task SyncInstances() { try { _logger.LogInformation("收到手动同步请求"); await _syncService.SyncInstancesAsync(); return Ok(new { message = "同步完成", lastSyncTime = _syncService.LastSyncTime }); } catch (Exception ex) { _logger.LogError(ex, "手动同步失败"); return StatusCode(500, new { message = "同步失败", error = ex.Message }); } } /// /// 获取上次同步时间 /// [HttpGet("LastSyncTime")] public IActionResult GetLastSyncTime() { return Ok(new { lastSyncTime = _syncService.LastSyncTime }); } }