Yuebon.WebApi/Areas/Security/Controllers/TaskManagerController.cs

(开头部分) 10KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using Quartz;
using Yuebon.AspNetCore.ViewModel;
using Yuebon.Quartz.Jobs;

namespace Yuebon.WebApi.Areas.Security.Controllers
{
    /// <summary>
    /// 定时任务接口
    /// </summary>
    [ApiController]
    [Route("api/Security/[controller]")]
    public class TaskManagerController : AreaApiController<TaskManager, TaskManagerOutputDto,TaskManagerInputDto,ITaskManagerService>
    {
        /// <summary>
        /// 
        /// </summary>
        private readonly ISequenceService _sequenceService;
        private ISchedulerCenter _schedulerCenter;
        /// <summary>
        /// 构造函数
        /// </summary>
        /// <param name="_iService"></param>
        /// <param name="schedulerCenter"></param>
        /// <param name="sequenceService"></param>
        public TaskManagerController(ITaskManagerService _iService, ISchedulerCenter schedulerCenter, ISequenceService sequenceService) : base(_iService)
        {
            iService = _iService;
            _schedulerCenter = schedulerCenter;
            _sequenceService=sequenceService;
        }
        /// <summary>
        /// 新增前处理数据
        /// </summary>
        /// <param name="info"></param>
        protected override void OnBeforeInsert(TaskManager info)
        {
            info.Id= IdGeneratorHelper.IdSnowflake();
            info.TaskCode = _sequenceService.GetSequenceNext("TaskManager");
            if (string.IsNullOrEmpty(info.TaskCode))
            {
                info.TaskCode=IdGeneratorHelper.IdSnowflake().ToString();
            }
            info.DeleteMark = false;
            info.RunCount = 0;
            info.Status = 0;

            CronExpression cronExpression = new CronExpression(info.Cron);
            info.NextRunTime =cronExpression.GetNextValidTimeAfter(DateTime.Now).ToDateTime();
            info.CreatorTime =info.NextRunTime=info.LastRunTime=info.LastModifyTime= DateTime.Now;
            info.CreatorUserId =info.LastModifyUserId= CurrentUser.UserId;
            info.CompanyId = CurrentUser.OrganizeId;
            info.DeptId = CurrentUser.DeptId;
        }
        
        /// <summary>
        /// 在更新数据前对数据的修改操作
        /// </summary>
        /// <param name="info"></param>
        /// <returns></returns>
        protected override void OnBeforeUpdate(TaskManager info)
后面还有 229 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。