|  | @@ -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);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +}
 |