|
@@ -0,0 +1,75 @@
|
|
|
+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<DelegationInfoRepository>();
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 检查团组结束日期,将当天和2天后的团组整理并发送短信提醒
|
|
|
+ /// </summary>
|
|
|
+ public static async void PostMessage()
|
|
|
+ {
|
|
|
+ DeleReminderConfig _deleReminderConfig = AutofacIocManager.Instance.GetService<DeleReminderConfig>();
|
|
|
+ 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<Grp_DelegationInfo> list_source = _grpDeleRep._sqlSugar.SqlQueryable<Grp_DelegationInfo>(sql).ToList();
|
|
|
+
|
|
|
+ _grpDeleRep.ChangeDataBase(DBEnum.OA2023DB);
|
|
|
+ if (list_source.Count > 0)
|
|
|
+ {
|
|
|
+ List<Grp_DelegationInfo> listToday = list_source.Where(s => s.VisitEndDate.Equals(today)).ToList();
|
|
|
+ List<Grp_DelegationInfo> 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);
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|