Example #1
0
        /// <summary>
        /// 提交循环任务请求
        /// </summary>
        /// <param name="modelStr"></param>
        /// <param name="accidSet"></param>
        /// <param name="accIdCount"></param>
        /// <param name="MobileTitle"></param>
        /// <param name="PubTitle"></param>
        /// <param name="EmailTitle"></param>
        /// <param name="SmsContent"></param>
        /// <param name="MobileContent"></param>
        /// <param name="PubContent"></param>
        /// <param name="EmailContent"></param>
        /// <param name="remark"></param>
        /// <param name="verif"></param>
        /// <param name="cronExp"></param>
        /// <returns></returns>
        public string AddRecurringTask(string modelStr, string accidSet, int accIdCount, string MobileTitle = "", string PubTitle = "", string EmailTitle = "",
                                       string SmsContent = "", string MobileContent = "", string PubContent = "", string EmailContent = "", string remark = "", string verif = "", string cronExp = "", string sendMark = "")
        {
            ConditionSettingModel.SettingModel model = new ConditionSettingModel.SettingModel();

            #region 处理循环筛选条件

            string sqlSet = MessageSysControl.RegenerateSql(modelStr, verif);

            if (string.IsNullOrEmpty(sqlSet))
            {
                return("-1");
            }

            #endregion

            if (!string.IsNullOrEmpty(PubContent))
            {
                PubContent = Server.UrlDecode(PubContent);
            }
            if (!string.IsNullOrEmpty(EmailContent))
            {
                EmailContent = Server.UrlDecode(EmailContent);
            }
            if (!string.IsNullOrEmpty(MobileContent))
            {
                MobileContent = Server.UrlDecode(MobileContent);
            }

            //如果选定本次需要发送则执行提交批次的逻辑
            if (!string.IsNullOrEmpty(sendMark))
            {
                MessageSysControl.PreparePushingMsg(accidSet, accIdCount, 2, MobileTitle, PubTitle, EmailTitle, SmsContent, MobileContent,
                                                    PubContent, EmailContent, remark, verif, "");
            }


            #region 设定循环的Cron表达式处理
            #endregion

            ManageUserModel uM    = (ManageUserModel)Session["logUser"];
            int             uid   = uM.UserID;
            string          uName = uM.Name;

            model.Verification = verif;
            model.Operator     = uid;
            model.Remark       = remark;
            //model.SendingDate = date;
            model.AccIdSet   = accidSet;
            model.AccIdCount = accIdCount;

            model.EmailTitle    = model.EmailTitle;
            model.EmailContent  = EmailContent;
            model.SmsContent    = SmsContent;
            model.MobileTitle   = MobileTitle;
            model.MobileContent = MobileContent;
            model.PubTitle      = PubTitle;
            model.PubContent    = PubContent;

            model.SqlSet = sqlSet;
            model.RecurringSendingCron = cronExp;

            model.SendingType = 2;
            model.SourceType  = 4;
            model.SendingDate = DateTime.Now;

            int setId = ConditionHandler.AddTaskSetting(model);

            if (setId == 0)
            {
                return("-1");
            }
            else
            {
                //添加任务成功后更新状态
                ConditionHandler.SetTaskActive(setId);
            }

            //MessageSysControl.ExcuteRecurringTask(setId);
            MessageSysControl.SetTask(setId, 2, cronExp);

            return("1");
        }
Example #2
0
        /// <summary>
        /// 提交定时任务请求
        /// </summary>
        /// <param name="accidSet"></param>
        /// <param name="accIdCount"></param>
        /// <param name="MobileTitle"></param>
        /// <param name="PubTitle"></param>
        /// <param name="EmailTitle"></param>
        /// <param name="SmsContent"></param>
        /// <param name="MobileContent"></param>
        /// <param name="PubContent"></param>
        /// <param name="EmailContent"></param>
        /// <param name="remark"></param>
        /// <param name="verif"></param>
        /// <returns></returns>
        public string AddSpecTimeSendingTask(string accidSet, int accIdCount, DateTime date, string MobileTitle = "", string PubTitle = "", string EmailTitle = "",
                                             string SmsContent = "", string MobileContent = "", string PubContent = "", string EmailContent = "", string remark = "", string verif = "")
        {
            #region 设定定时的时间处理

            DateTime dt = DateTime.Now;

            if (dt > date)
            {
                return("0");
            }
            TimeSpan ts = date - dt;

            string minuteSpan = ts.Minutes.ToString();

            #endregion

            ConditionSettingModel.SettingModel model = new ConditionSettingModel.SettingModel();

            if (!string.IsNullOrEmpty(PubContent))
            {
                PubContent = Server.UrlDecode(PubContent);
            }
            if (!string.IsNullOrEmpty(EmailContent))
            {
                EmailContent = Server.UrlDecode(EmailContent);
            }
            if (!string.IsNullOrEmpty(MobileContent))
            {
                MobileContent = Server.UrlDecode(MobileContent);
            }

            ManageUserModel uM    = (ManageUserModel)Session["logUser"];
            int             uid   = uM.UserID;
            string          uName = uM.Name;

            model.Verification = verif;
            model.Operator     = uid;
            model.Remark       = remark;
            model.SendingDate  = date;
            model.AccIdSet     = accidSet;
            model.AccIdCount   = accIdCount;

            model.EmailTitle    = model.EmailTitle;
            model.EmailContent  = EmailContent;
            model.SmsContent    = SmsContent;
            model.MobileTitle   = MobileTitle;
            model.MobileContent = MobileContent;
            model.PubTitle      = PubTitle;
            model.PubContent    = PubContent;

            model.SendingType = 1;
            model.SourceType  = 3;

            int setId = ConditionHandler.AddTaskSetting(model);

            if (setId == 0)
            {
                return("-1");
            }
            else
            {
                //添加任务成功后更新状态
                ConditionHandler.SetTaskActive(setId);
            }

            MessageSysControl.SetTask(setId, 1, minuteSpan);

            return("1");
        }