服务端的TigerApi 框架,基于.NET6 2024 版本
Ben Lin
2024-10-28 34380836fee980ccb7bdff70d4f72c66bdb3d3dc
Tiger.Controllers.System/Controllers/TSK/TskController.Base.cs
@@ -147,5 +147,93 @@
            }
            return Ok(response);
        }
        /// <summary>
        /// 保存作业
        /// </summary>
        /// <param name="action"></param>
        /// <returns></returns>
        [HttpPost]
        [Route("api/[controller]/[action]")]
        public async Task<IActionResult> SaveTskJob(ApiAction<TskParameter> action)
        {
            ApiAction response = new();
            try
            {
                response = response.GetResponse(DI.Resolve<ITskJob>().SaveTskJob(action.Data));
            }
            catch (System.Exception ex)
            {
                response = response.GetResponse().CatchExceptionWithLog(ex);
            }
            return Ok(response);
        }
        #region 新版计划任务
        /// <summary>
        /// 根据Job实体名称和Job名称添加任务
        /// </summary>
        /// <param name="action"></param>
        /// <returns></returns>
        [HttpPost]
        [Route("api/[controller]/[action]")]
        public async Task<IActionResult> AddTskJob(ApiAction<FluentJobParam> action)
        {
            ApiAction response = new();
            try
            {
                response = response.GetResponse(DI.Resolve<IBizContext>().GetInterfaceService()?.AddTskJob(action.NewDataEntity(), action.Data) ?? new ApiAction($"任务未启用", false));
            }
            catch (System.Exception ex)
            {
                response = response.GetResponse().CatchExceptionWithLog(ex);
            }
            return Ok(response);
        }
        /// <summary>
        /// 立即运行任务
        /// </summary>
        /// <param name="action"></param>
        /// <returns></returns>
        [HttpPost]
        [Route("api/[controller]/[action]")]
        public async Task<IActionResult> ImmediateRun(ApiAction action)
        {
            ApiAction response = new();
            try
            {
                response = response.GetResponse(DI.Resolve<IBizContext>().GetInterfaceService()?.ImmediateRun(action.NewDataEntity(), action.Data?.ToString()) ?? new ApiAction($"任务未启用", false));
            }
            catch (System.Exception ex)
            {
                response = response.GetResponse().CatchExceptionWithLog(ex);
            }
            return Ok(response);
        }
        /// <summary>
        /// 删除作业
        /// </summary>
        /// <param name="action"></param>
        /// <returns></returns>
        [HttpPost]
        [Route("api/[controller]/[action]")]
        public async Task<IActionResult> RemoveTskJob(ApiAction action)
        {
            ApiAction response = new();
            try
            {
                DI.Resolve<IBizContext>().GetInterfaceService()?.RemovefJob(action.Data?.ToString());
            }
            catch (System.Exception ex)
            {
                response = response.GetResponse().CatchExceptionWithLog(ex);
            }
            return Ok(response);
        }
        #endregion
    }
}