短信发送 提供测试

This commit is contained in:
wyw 2025-05-21 08:31:20 +08:00
parent 50fcce9cd0
commit 180e3737bf

View File

@ -116,7 +116,7 @@ namespace APT.SC.WebApi.Controllers.Api.BI
DeleteEntity<T_BI_SAFETASK_FINISH>(t => true); DeleteEntity<T_BI_SAFETASK_FINISH>(t => true);
BaseFilter baseFilter = new BaseFilter(filter.GetOrgId()); BaseFilter baseFilter = new BaseFilter(filter.GetOrgId());
baseFilter.Include = new string[] { "Nav_Department.Nav_Parent.Nav_Parent", "Nav_ChargePerson" }; baseFilter.Include = new string[] { "Nav_Department.Nav_Parent.Nav_Parent", "Nav_ChargePerson" };
var allTeams = GetEntities<T_FM_TEAM>(t => t.IS_DELETED == false&&t.ENABLE_STATUS==0&&t.CHARGE_PERSON_ID!=null, baseFilter); var allTeams = GetEntities<T_FM_TEAM>(t => t.IS_DELETED == false && t.ENABLE_STATUS == 0 && t.CHARGE_PERSON_ID != null, baseFilter);
List<T_BI_SAFETASK_FINISH> biSafeFinishs = new List<T_BI_SAFETASK_FINISH>(); List<T_BI_SAFETASK_FINISH> biSafeFinishs = new List<T_BI_SAFETASK_FINISH>();
var selectFilter = new BaseFilter(filter.GetOrgId()); var selectFilter = new BaseFilter(filter.GetOrgId());
foreach (var team in allTeams) foreach (var team in allTeams)
@ -258,69 +258,90 @@ namespace APT.SC.WebApi.Controllers.Api.BI
/// <summary> /// <summary>
/// 定期短信发送 /// 定期短信发送
/// </summary> /// </summary>
/// <param name="pageFilter">定期短信发送</param> /// <param name="filter">定期短信发送</param>
/// <returns></returns> /// <returns></returns>
[HttpPost, Route("regularSendSMS")] [HttpPost, Route("regularSendSMS")]
public JsonActionResult<bool> regularSendSMS([FromBody] KeywordFilter filter) public JsonActionResult<bool> regularSendSMS([FromBody] KeywordFilter filter)
{ {
return SafeExecute<bool>(() => return SafeExecute<bool>(() =>
{ {
DateTime now = DateTime.Now; TencentSendSMS tencentSendSMS = new TencentSendSMS();
var allUsers = GetEntities<T_FM_USER>(t => t.ENABLE_STATUS == 0, new BaseFilter(filter.GetOrgId())); string PhoneText = string.Empty;
var approveUsers = GetEntities<T_FM_USER>(t => t.Nav_Department.DEPARTMENT_TYPE != 2 && t.ENABLE_STATUS == 0, new BaseFilter(filter.GetOrgId())); if (!string.IsNullOrEmpty(filter.Parameter1))
var userIds = approveUsers.Select(t => t.ID);
List<T_FM_NOTIFICATION_TASK> sendSMSs = null;
if (now.Hour >= 7 && now.Hour < 23)
{ {
sendSMSs = GetEntities<T_FM_NOTIFICATION_TASK>(t => t.NOTICE_STATUS == 0 && t.CREATE_TIME > now.AddDays(-6) && !t.SOURCE_FORMCODE.Contains("FO005") && t.SENDTIME == DateTime.MinValue, new BaseFilter(filter.GetOrgId())).ToList(); PhoneText = filter.Parameter1;
var sendSMSs2 = sendSMSs.Where(t => t.TASK_ENDDT < now.AddHours(1) && t.TASK_ENDDT > t.TASK_STARTDT); }
foreach (var send in sendSMSs2) if (PhoneText != string.Empty && PhoneText.Length == 11)
{
var result2 = tencentSendSMS.sendSMS("2428711", new string[] { PhoneText }, null);
var result3 = tencentSendSMS.sendSMS("2428708", new string[] { PhoneText }, null);
if (result2.SendStatusSet[0].Code.Equals("Ok"))
{ {
List<string> phoneNumbers = new List<string>(); return true;
List<string> templates = new List<string>(); }
var user = allUsers.FirstOrDefault(t => t.ID == send.USER_ID); else
if (user != null && user.PHONE != null) {
return false;
}
}
else
{
DateTime now = DateTime.Now;
var allUsers = GetEntities<T_FM_USER>(t => t.ENABLE_STATUS == 0, new BaseFilter(filter.GetOrgId()));
var approveUsers = GetEntities<T_FM_USER>(t => t.Nav_Department.DEPARTMENT_TYPE != 2 && t.ENABLE_STATUS == 0, new BaseFilter(filter.GetOrgId()));
var userIds = approveUsers.Select(t => t.ID);
List<T_FM_NOTIFICATION_TASK> sendSMSs = null;
if (now.Hour >= 7 && now.Hour < 20)
{
sendSMSs = GetEntities<T_FM_NOTIFICATION_TASK>(t => t.NOTICE_STATUS == 0 && t.CREATE_TIME > now.AddDays(-12) && !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);
foreach (var send in sendSMSs2)//1个小时以内 临超时提醒
{ {
send.SENDTIME = DateTime.Now; List<string> phoneNumbers = new List<string>();
phoneNumbers.Add(user.PHONE); //List<string> templates = new List<string>();
templates.Add(send.NOTICE_TITLE); var user = allUsers.FirstOrDefault(t => t.ID == send.USER_ID);
templates.Add(send.TASK_ENDDT.ToString()); if (user != null && user.PHONE != null)
TencentSendSMS tencentSendSMS = new TencentSendSMS();
var result = tencentSendSMS.sendSMS("1747259", phoneNumbers.ToArray(), templates.ToArray());
if (result.SendStatusSet[0].Code.Equals("Ok"))
{ {
UnifiedCommit(() => send.SENDTIME = DateTime.Now;
phoneNumbers.Add(user.PHONE);
//templates.Add(send.NOTICE_TITLE);
//templates.Add(send.TASK_ENDDT.ToString());
var result = tencentSendSMS.sendSMS("2428711", phoneNumbers.ToArray(), null);
if (result.SendStatusSet[0].Code.Equals("Ok"))
{ {
UpdateEntityNoCommit(send); UnifiedCommit(() =>
}); {
UpdateEntityNoCommit(send);
});
}
} }
} }
} //&& t.NOTICE_TITLE.Contains("审批")
//&& t.NOTICE_TITLE.Contains("审批") var sendSMSs1 = sendSMSs.Where(t => userIds.Contains(t.USER_ID) && t.CREATE_TIME > now.AddHours(-8));
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> templates = new List<string>();
var user = approveUsers.FirstOrDefault(t => t.ID == send.USER_ID);
if (user != null && user.PHONE != null)
{ {
send.SENDTIME = DateTime.Now; List<string> phoneNumbers = new List<string>();
phoneNumbers.Add(user.PHONE); //List<string> templates = new List<string>();
templates.Add(send.NOTICE_TITLE); var user = approveUsers.FirstOrDefault(t => t.ID == send.USER_ID);
templates.Add(send.TASK_ENDDT.ToString()); if (user != null && user.PHONE != null)
TencentSendSMS tencentSendSMS = new TencentSendSMS();
var result = tencentSendSMS.sendSMS("1747261", phoneNumbers.ToArray(), templates.ToArray());
if (result.SendStatusSet[0].Code.Equals("Ok"))
{ {
UnifiedCommit(() => send.SENDTIME = DateTime.Now;
phoneNumbers.Add(user.PHONE);
//templates.Add(send.NOTICE_TITLE);
//templates.Add(send.TASK_ENDDT.ToString());
//TencentSendSMS tencentSendSMS = new TencentSendSMS();
var result = tencentSendSMS.sendSMS("2428708", phoneNumbers.ToArray(), null);
if (result.SendStatusSet[0].Code.Equals("Ok"))
{ {
UpdateEntityNoCommit(send); UnifiedCommit(() =>
}); {
UpdateEntityNoCommit(send);
});
}
} }
} }
}
}
} }
return true; return true;
}); });