using OASystem.API.OAMethodLib.ALiYun; using OASystem.Domain.Dtos.Business; using OASystem.Domain.Entities.Business; using OASystem.Domain.Entities.Groups; using OASystem.Infrastructure.Repositories.Groups; namespace OASystem.API.OAMethodLib.Quartz.Business { public static class DeleReminderMessage { private readonly static DelegationInfoRepository _grpDeleRep = AutofacIocManager.Instance.GetService(); /// /// 检查团组结束日期,将当天和2天后的团组整理并发送短信提醒 /// public static async void PostMessage() { DeleReminderConfig _deleReminderConfig = AutofacIocManager.Instance.GetService(); string postPhoneNumber = string.IsNullOrEmpty(_deleReminderConfig.PhoneNumber) ? _deleReminderConfig.Test : _deleReminderConfig.PhoneNumber; //sqladd2day查询0A2014数据库,正式使用新OA后将两次查询合并 DateTime dtNow = DateTime.Now; string today = dtNow.ToString("yyyy-MM-dd"); string add2day = dtNow.AddDays(2).ToString("yyyy-MM-dd"); _grpDeleRep.ChangeDataBase(DBEnum.OA2014DB); string sql = string.Format(@" Select * From DelegationInfo With(Nolock) Where IsdDel=0 And VisitEndDate in ('{0}','{1}') ", today, add2day); List list_source = _grpDeleRep._sqlSugar.SqlQueryable(sql).ToList(); _grpDeleRep.ChangeDataBase(DBEnum.OA2023DB); if (list_source.Count > 0) { List listToday = list_source.Where(s => s.VisitEndDate.Equals(today)).ToList(); List listAdd2day = list_source.Where(s => s.VisitEndDate.Equals(add2day)).ToList(); if (listToday.Count > 0) { string teamNames = ""; listToday.ForEach(s => teamNames += s.TeamName + "、"); teamNames = teamNames.TrimEnd('、'); //发送短信 string templateParam = JsonConvert.SerializeObject(new { teams = teamNames, date = "今日" }); string postResult = AliMessagePost.PostMessage(postPhoneNumber, "泛美国际团组", "SMS_461575447", templateParam); Bus_MsgPostInfo _entity = new Bus_MsgPostInfo(); _entity.Source = "ALiYun"; _entity.TeamNames = teamNames; _entity.PostType = "Dele2"; _entity.PhoneNumber = postPhoneNumber; _entity.PostResult = postResult; _grpDeleRep.AddAsync(_entity); } if (listAdd2day.Count > 0) { string teamNames = ""; listAdd2day.ForEach(s => teamNames += s.TeamName + "、"); teamNames = teamNames.TrimEnd('、'); //发送短信 string add2dayZH = dtNow.AddDays(2).ToString("yyyy年MM月dd日"); string templateParam = JsonConvert.SerializeObject(new { teams = teamNames, date = add2dayZH }); string postResult = AliMessagePost.PostMessage(postPhoneNumber, "泛美国际团组", "SMS_461575447", templateParam); Bus_MsgPostInfo _entity = new Bus_MsgPostInfo(); _entity.Source = "ALiYun"; _entity.TeamNames = teamNames; _entity.PostType = "Dele1"; _entity.PhoneNumber = postPhoneNumber; _entity.PostResult = postResult; _grpDeleRep.AddAsync(_entity); } } } } }