using System.Text.Json; using YLErp.Helpers; using YLErp.Model; using YLErp.Modules.TradeModule; namespace YLErp.Web.WebAPI.Controllers { /// 国联民生衍生品移动审批轮询入口,由 PowerJob 等外部调度器调用。 [ApiController] public class TradeApprovalOAJobController : ControllerBase { [HttpPost] [Route("api/job/tradeApproval/syncOAStatus")] public JsonResult SyncOAStatus([FromQuery] string requestId = null) { var configKey = AppManager.GetConfiguration()["JobConfig:ApiKey"]; if (!string.IsNullOrEmpty(configKey) && Request.Headers["X-Job-Api-Key"].FirstOrDefault() != configKey) return new JsonResult(new { code = 401, msg = "Invalid API Key" }); var user = new OptUserInfo(0, "系统移动审批同步", OptUserFrom.System); var messages = new TradeApprovalOAService(user).SyncPendingStatuses(requestId); return new JsonResult(new { code = 0, data = new { total = messages.Count, details = messages } }, new JsonSerializerOptions { PropertyNamingPolicy = JsonNamingPolicy.CamelCase }); } } }