短信发送优化

This commit is contained in:
wyw 2025-05-21 09:23:19 +08:00
parent 2a35d4efe3
commit e0da3a1694

View File

@ -303,6 +303,9 @@ namespace APT.SC.WebApi.Controllers.Api.BI
{ {
sendSMSs = GetEntities<T_FM_NOTIFICATION_TASK>(t => t.NOTICE_STATUS == 0 && t.TASK_ENDDT >= now && t.CREATE_TIME > now.AddDays(-10) && !t.SOURCE_FORMCODE.Contains("FO005") && t.SENDTIME == DateTime.MinValue, new BaseFilter(filter.GetOrgId())).ToList();//未超期的进行提醒 sendSMSs = GetEntities<T_FM_NOTIFICATION_TASK>(t => t.NOTICE_STATUS == 0 && t.TASK_ENDDT >= now && t.CREATE_TIME > now.AddDays(-10) && !t.SOURCE_FORMCODE.Contains("FO005") && t.SENDTIME == DateTime.MinValue, new BaseFilter(filter.GetOrgId())).ToList();//未超期的进行提醒
var sendSMSs2 = sendSMSs.Where(t => t.TASK_ENDDT < now.AddHours(1) && t.TASK_ENDDT > t.TASK_STARTDT); var sendSMSs2 = sendSMSs.Where(t => t.TASK_ENDDT < now.AddHours(1) && t.TASK_ENDDT > t.TASK_STARTDT);
//var listSendID = sendSMSs2.Select(e => e.ID);
List<Guid> listSendID = new List<Guid>();
List<T_FM_NOTIFICATION_TASK> listSend = new List<T_FM_NOTIFICATION_TASK>();
foreach (var send in sendSMSs2)//1个小时以内 临超时提醒 foreach (var send in sendSMSs2)//1个小时以内 临超时提醒
{ {
List<string> phoneNumbers = new List<string>(); List<string> phoneNumbers = new List<string>();
@ -317,15 +320,23 @@ namespace APT.SC.WebApi.Controllers.Api.BI
var result = tencentSendSMS.sendSMS("2428711", phoneNumbers.ToArray(), null); var result = tencentSendSMS.sendSMS("2428711", phoneNumbers.ToArray(), null);
if (result.SendStatusSet[0].Code.Equals("Ok")) if (result.SendStatusSet[0].Code.Equals("Ok"))
{ {
UnifiedCommit(() => listSend.Add(send);
listSendID.Add(send.ID);
//UnifiedCommit(() =>
//{
// UpdateEntityNoCommit(send);
//});
}
}
}
Func<T_FM_NOTIFICATION_TASK, bool> exp = t => userIds.Contains(t.USER_ID) && t.CREATE_TIME > now.AddHours(-8);
if (listSendID.Count > 0)
{ {
UpdateEntityNoCommit(send); exp = t => userIds.Contains(t.USER_ID) && t.CREATE_TIME > now.AddHours(-8) && !listSendID.Contains(t.ID);
});
} }
}
} var sendSMSs1 = sendSMSs.Where(exp);
//&& t.NOTICE_TITLE.Contains("审批")
var sendSMSs1 = sendSMSs.Where(t => userIds.Contains(t.USER_ID) && t.CREATE_TIME > now.AddHours(-8));
foreach (var send in sendSMSs1) foreach (var send in sendSMSs1)
{ {
List<string> phoneNumbers = new List<string>(); List<string> phoneNumbers = new List<string>();
@ -341,14 +352,22 @@ namespace APT.SC.WebApi.Controllers.Api.BI
var result = tencentSendSMS.sendSMS("2428708", phoneNumbers.ToArray(), null); var result = tencentSendSMS.sendSMS("2428708", phoneNumbers.ToArray(), null);
if (result.SendStatusSet[0].Code.Equals("Ok")) if (result.SendStatusSet[0].Code.Equals("Ok"))
{ {
UnifiedCommit(() => listSend.Add(send);
{ //UnifiedCommit(() =>
UpdateEntityNoCommit(send); //{
}); // UpdateEntityNoCommit(send);
//});
} }
} }
} }
if (listSend.Count > 0)
{
UnifiedCommit(() =>
{
BantchUpdateEntityNoCommit(listSend);
});
}
} }
} }
return true; return true;