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