Example #1
0
        public IActionResult Create([FromBody] TasksCreateDto parm)
        {
            //判断是否已经存在
            if (_tasksQzService.Any(m => m.Name == parm.Name))
            {
                return(toResponse(StatusCodeType.Error, $"添加 {parm.Name} 失败,该用任务存在,不能重复!"));
            }

            // 根据 触发器模式 判断必填字段
            if (parm.TriggerType == 0)
            {
                if (parm.BeginTime == null || parm.EndTime == null)
                {
                    return(toResponse(StatusCodeType.Error, $"触发器 Simple 模式下,开始结束时间不能为空"));
                }

                if (parm.IntervalSecond <= 0)
                {
                    return(toResponse(StatusCodeType.Error, $"触发器 Simple 模式下,执行间隔时间不能小于 0 秒"));
                }
            }
            else
            {
                if (string.IsNullOrEmpty(parm.Cron))
                {
                    return(toResponse(StatusCodeType.Error, $"触发器 Corn 模式下,运行时间表达式必须填写"));
                }
            }

            //从 Dto 映射到 实体
            var tasksQz = parm.Adapt <Sys_TasksQz>().ToCreate(_tokenManager.GetSessionInfo());


            return(toResponse(_tasksQzService.Add(tasksQz)));
        }