From 180e3737bfb103f654d47f7ecc7f67059679650f Mon Sep 17 00:00:00 2001 From: wyw <571921741@qq.com> Date: Wed, 21 May 2025 08:31:20 +0800 Subject: [PATCH] =?UTF-8?q?=E7=9F=AD=E4=BF=A1=E5=8F=91=E9=80=81=20?= =?UTF-8?q?=E6=8F=90=E4=BE=9B=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/Api/BIController.cs | 111 +++++++++++------- 1 file changed, 66 insertions(+), 45 deletions(-) diff --git a/APT.MicroApi/APT.PP.WebApi/Controllers/Api/BIController.cs b/APT.MicroApi/APT.PP.WebApi/Controllers/Api/BIController.cs index 75595a5..01d48b1 100644 --- a/APT.MicroApi/APT.PP.WebApi/Controllers/Api/BIController.cs +++ b/APT.MicroApi/APT.PP.WebApi/Controllers/Api/BIController.cs @@ -116,7 +116,7 @@ namespace APT.SC.WebApi.Controllers.Api.BI DeleteEntity(t => true); BaseFilter baseFilter = new BaseFilter(filter.GetOrgId()); baseFilter.Include = new string[] { "Nav_Department.Nav_Parent.Nav_Parent", "Nav_ChargePerson" }; - var allTeams = GetEntities(t => t.IS_DELETED == false&&t.ENABLE_STATUS==0&&t.CHARGE_PERSON_ID!=null, baseFilter); + var allTeams = GetEntities(t => t.IS_DELETED == false && t.ENABLE_STATUS == 0 && t.CHARGE_PERSON_ID != null, baseFilter); List biSafeFinishs = new List(); var selectFilter = new BaseFilter(filter.GetOrgId()); foreach (var team in allTeams) @@ -258,69 +258,90 @@ namespace APT.SC.WebApi.Controllers.Api.BI /// /// 定期短信发送 /// - /// 定期短信发送 + /// 定期短信发送 /// [HttpPost, Route("regularSendSMS")] public JsonActionResult regularSendSMS([FromBody] KeywordFilter filter) { return SafeExecute(() => { - DateTime now = DateTime.Now; - var allUsers = GetEntities(t => t.ENABLE_STATUS == 0, new BaseFilter(filter.GetOrgId())); - var approveUsers = GetEntities(t => t.Nav_Department.DEPARTMENT_TYPE != 2 && t.ENABLE_STATUS == 0, new BaseFilter(filter.GetOrgId())); - var userIds = approveUsers.Select(t => t.ID); - List sendSMSs = null; - if (now.Hour >= 7 && now.Hour < 23) + TencentSendSMS tencentSendSMS = new TencentSendSMS(); + string PhoneText = string.Empty; + if (!string.IsNullOrEmpty(filter.Parameter1)) { - sendSMSs = GetEntities(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(); - var sendSMSs2 = sendSMSs.Where(t => t.TASK_ENDDT < now.AddHours(1) && t.TASK_ENDDT > t.TASK_STARTDT); - foreach (var send in sendSMSs2) + PhoneText = filter.Parameter1; + } + 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 phoneNumbers = new List(); - List templates = new List(); - var user = allUsers.FirstOrDefault(t => t.ID == send.USER_ID); - if (user != null && user.PHONE != null) + return true; + } + else + { + return false; + } + } + else + { + DateTime now = DateTime.Now; + var allUsers = GetEntities(t => t.ENABLE_STATUS == 0, new BaseFilter(filter.GetOrgId())); + var approveUsers = GetEntities(t => t.Nav_Department.DEPARTMENT_TYPE != 2 && t.ENABLE_STATUS == 0, new BaseFilter(filter.GetOrgId())); + var userIds = approveUsers.Select(t => t.ID); + List sendSMSs = null; + if (now.Hour >= 7 && now.Hour < 20) + { + sendSMSs = GetEntities(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; - phoneNumbers.Add(user.PHONE); - templates.Add(send.NOTICE_TITLE); - templates.Add(send.TASK_ENDDT.ToString()); - TencentSendSMS tencentSendSMS = new TencentSendSMS(); - var result = tencentSendSMS.sendSMS("1747259", phoneNumbers.ToArray(), templates.ToArray()); - if (result.SendStatusSet[0].Code.Equals("Ok")) + List phoneNumbers = new List(); + //List templates = new List(); + var user = allUsers.FirstOrDefault(t => t.ID == send.USER_ID); + if (user != null && user.PHONE != null) { - 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("审批") - var sendSMSs1 = sendSMSs.Where(t => userIds.Contains(t.USER_ID) && t.CREATE_TIME > now.AddHours(-8)); - foreach (var send in sendSMSs1) - { - List phoneNumbers = new List(); - List templates = new List(); - var user = approveUsers.FirstOrDefault(t => t.ID == send.USER_ID); - if (user != null && user.PHONE != null) + //&& 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) { - 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("1747261", phoneNumbers.ToArray(), templates.ToArray()); - if (result.SendStatusSet[0].Code.Equals("Ok")) + List phoneNumbers = new List(); + //List templates = new List(); + var user = approveUsers.FirstOrDefault(t => t.ID == send.USER_ID); + if (user != null && user.PHONE != null) { - 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; });