/// <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"); }
/// <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"); }