From 45e3e2f4b3a55c3949c8a5bc5e6928f0cc2cacb1 Mon Sep 17 00:00:00 2001 From: heyuntao <heyuntao@LAPTOP-MP4HD5NS> Date: 星期一, 23 十月 2023 10:45:25 +0800 Subject: [PATCH] no message --- api/SmsSendTool/Program.cs | 35 +++++++++++++++++ api/SmsSendTool/SendMain.cs | 50 +++++++++++++++++++------ api/SmsSendTool/appsettings.json | 1 api/Api.Operater/Controllers/sms/SmsBusinessController.cs | 5 ++ 4 files changed, 79 insertions(+), 12 deletions(-) diff --git a/api/Api.Operater/Controllers/sms/SmsBusinessController.cs b/api/Api.Operater/Controllers/sms/SmsBusinessController.cs index bbc604a..5067419 100644 --- a/api/Api.Operater/Controllers/sms/SmsBusinessController.cs +++ b/api/Api.Operater/Controllers/sms/SmsBusinessController.cs @@ -1,4 +1,5 @@ 锘縰sing CommonUtil; +using CommonUtil.Web; using Microsoft.AspNetCore.Mvc; using Operater.DAL; using Operater.DbModel; @@ -100,6 +101,10 @@ }; bool issuccess = new SmsSendDAL().Insert(smsSend); + //鍙戦�佸緟瀹℃牳娑堟伅 + string shCount = "1"; + string warStr = "鎮ㄦ湁寰呭鏍哥殑浠诲姟\n>绫诲瀷锛氬緟瀹℃牳\n>鏁伴噺:" + shCount + "\n>鏌ョ湅:[鐐瑰嚮澶勭悊](https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx7a9a40880081340d&redirect_uri=https%3A%2F%2Fsms.ushopvip.com%2Fpages%2Fad_page%2Ftrans&response_type=code&scope=snsapi_base&state=gzh#wechat_redirect)"; + SendQwGroup.SendMessage(warStr); return Success(issuccess); } diff --git a/api/SmsSendTool/Program.cs b/api/SmsSendTool/Program.cs index e3c53ff..34ae045 100644 --- a/api/SmsSendTool/Program.cs +++ b/api/SmsSendTool/Program.cs @@ -4,6 +4,8 @@ using SqlSugar; using System; using System.Threading; +using System.Collections.Generic; +using CommonUtil.Web; namespace SmsSendTool { @@ -28,6 +30,24 @@ sendMain.SendSms(smssend.Id); } } + //鏌ヨ闀挎椂闂存湭瀹屾垚鐨勪换鍔� + List<int?> sstaus =new List<int?>{0,1,2,3,4,5 }; + var send_where_expression1 = Expressionable.Create<SmsSend>().And(m => sstaus.Contains(m.Sendstatus)).And(m=>m.Wantsendtime>DateTime.Now.AddMinutes(30)).And(m => m.Isshowsend == 0).ToExpression(); + var smssendlist1 = new SmsSendDAL().ListGet(send_where_expression1, t => t.Createtime, DbEnum.OrderType.Asc); + if (smssendlist1 != null && smssendlist1.Count > 0) + { + Console.WriteLine("鍙戦�侀暱鏃堕棿鏈畬鎴愪换鍔℃秷鎭�"); + var timer = new Timer(v => SendMessage(smssendlist1.Count, 1), null, 0, 5 * 60 * 1000); + } + //鏌ヨ寰呭鏍哥殑浠诲姟 + var send_where_expression2 = Expressionable.Create<SmsSend>().And( m => m.Sendstatus == 0).And(m => m.Isshowsend == 0).ToExpression(); + var smssendlist2 = new SmsSendDAL().ListGet(send_where_expression2, t => t.Createtime, DbEnum.OrderType.Asc); + if (smssendlist2 != null && smssendlist2.Count > 0) + { + Console.WriteLine("鍙戦�佸緟瀹℃牳浠诲姟娑堟伅"); + var timer = new Timer(v => SendMessage(smssendlist2.Count, 2), null, 0, 5 * 60 * 1000); + } + } catch (Exception ex) @@ -44,5 +64,20 @@ Console.ReadLine(); } + + public static void SendMessage(int strcount,int type) + { + switch (type) + { + case 1: + string warStr1 = "闀挎椂闂存湭鍙戦�佸畬鎴愪换鍔n>绫诲瀷锛氫换鍔″紓甯竆n>鏁伴噺:" + strcount; + SendQwGroup.SendMessage(warStr1); + break; + case 2: + string warStr2 = "鎮ㄦ湁寰呭鏍哥殑浠诲姟\n>绫诲瀷锛氬緟瀹℃牳\n>鏁伴噺:" + strcount + "\n>鏌ョ湅:[鐐瑰嚮澶勭悊](https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx7a9a40880081340d&redirect_uri=https%3A%2F%2Fsms.ushopvip.com%2Fpages%2Fad_page%2Ftrans&response_type=code&scope=snsapi_base&state=gzh#wechat_redirect)"; + SendQwGroup.SendMessage(warStr2); + break; + } + } } } diff --git a/api/SmsSendTool/SendMain.cs b/api/SmsSendTool/SendMain.cs index 0919820..2f618c4 100644 --- a/api/SmsSendTool/SendMain.cs +++ b/api/SmsSendTool/SendMain.cs @@ -1,4 +1,5 @@ 锘縰sing CommonUtil; +using CommonUtil.Web; using Operater.DAL; using Operater.DbModel; using SqlSugar; @@ -20,7 +21,7 @@ if (smssend == null) { Console.WriteLine($"浠诲姟ID锛歿id}锛屼换鍔′笉瀛樺湪"); - UpdateSmsSendStatus(6, "浠诲姟涓嶅瓨鍦�", id); + // UpdateSmsSendStatus(6, "浠诲姟涓嶅瓨鍦�", id); return true; } //鍒ゆ柇浠诲姟鐘舵�佹槸鍚︽槸瀹℃牳閫氳繃 @@ -33,7 +34,7 @@ if (smssend.Isshowsend == 1) { Console.WriteLine($"浠诲姟ID锛歿id}锛屼换鍔″凡琚垹闄�"); - UpdateSmsSendStatus(6, "浠诲姟宸茶鍒犻櫎", id); + // UpdateSmsSendStatus(6, "浠诲姟宸茶鍒犻櫎", id); return true; } //鍒ゆ柇瀹氭椂鏃堕棿鏄惁澶т簬褰撳墠鏃堕棿 @@ -44,7 +45,7 @@ } //淇敼鍙戦�佺姸鎬佷负鍙戦�佷腑 - UpdateSmsSendStatus(4, "", id); + UpdateSmsSendStatus(4, "", id, DateTime.Now); //鍙戦�佺煭淇� Send(smssend); @@ -79,13 +80,15 @@ if (!MobileUtils.IsPhone(smsSend.Mobile)) { Console.WriteLine($"浠诲姟ID锛歿smsSend.Id}锛屾墜鏈哄彿涓嶆纭�"); - UpdateSmsSendStatus(7, "鎵嬫満鍙蜂笉姝g‘", smsSend.Id); + UpdateSmsSendStatus(7, "鎵嬫満鍙蜂笉姝g‘", smsSend.Id, DateTime.Now); + SendQwGroup.SendMessage($"鎵嬫満鍙蜂笉姝g‘锛歿smsSend.Id}"); return; } if (smscontent.Contains("?????")) { LogUtil.Error($"鍙戦�佸紓甯�,id:{smsSend.Id}"); - UpdateSmsSendStatus(7, "鐭俊寮傚父", smsSend.Id); + UpdateSmsSendStatus(7, "鐭俊寮傚父", smsSend.Id, DateTime.Now); + SendQwGroup.SendMessage($"鏂囨寮傚父锛歿smsSend.Id}"); return; } int thisSmsCount= smscontent.Length <= 70 ? 1 : smscontent.Length % 70 == 0 ? (smscontent.Length / 70) : (smscontent.Length / 70 + 1);//鐭俊璁¤垂 @@ -98,7 +101,8 @@ if (memberinfo == null) { LogUtil.Error($"鐢ㄦ埛涓嶅瓨鍦�,id:{smsSend.Id}"); - UpdateSmsSendStatus(7, "鐢ㄦ埛涓嶅瓨鍦�", smsSend.Id); + UpdateSmsSendStatus(7, "鐢ㄦ埛涓嶅瓨鍦�", smsSend.Id, DateTime.Now); + SendQwGroup.SendMessage($"鐢ㄦ埛涓嶅瓨鍦細{smsSend.Id}"); return; } else @@ -106,9 +110,18 @@ if(memberinfo.Smscount< thisSmsCount) { LogUtil.Error($"浣欓涓嶈冻,id:{smsSend.Id}"); - UpdateSmsSendStatus(7, "浣欓涓嶈冻", smsSend.Id); + UpdateSmsSendStatus(7, "浣欓涓嶈冻", smsSend.Id, DateTime.Now); + SendQwGroup.SendMessage($"浣欓涓嶈冻锛歿smsSend.Id}"); return; } + } + //妫�鏌ョ煭淇$姸鎬� + //鏍规嵁ID鑾峰彇浠诲姟 + var smssend = new SmsSendDAL().GetSingle(s => s.Id == smsSend.Id); + if (smssend.Sendstatus != 4) + { + Console.WriteLine($"鎵嬫満鍙凤細{smsSend.Mobile}锛岀姸鎬佸凡鍙樻洿锛屼笉鎵ц"); + return; } string jsonsend= "{mobile:\"" + smsSend.Mobile + "\",content:\"" + smscontent.Replace("\"", "鈥�").Replace("'", "鈥�") + "\",appendid:\"\",\"uid\":\"\"}"; @@ -123,7 +136,7 @@ if (scount == 0) { LogUtil.Error($",id:{smsSend.Id}"); - UpdateSmsSendStatus(7, "鎵h垂澶辫触", smsSend.Id); + UpdateSmsSendStatus(7, "鎵h垂澶辫触", smsSend.Id, DateTime.Now); return; } @@ -131,7 +144,7 @@ //鎻掑叆鍙戦�佹垚鍔熻褰� string inserthistorysql = $"INSERT INTO `sms_sender`.`sms_sendhistory`(`id`, `mobile`, `succedsmscount`, `sendstatus`, `sendtime`, `smscontent`, `memo`, `memberid`, `isshowsend`, `mainid`, `sendid`, `isread`) VALUES ('{Guid.NewGuid().ToString()}', '{smsSend.Mobile}', {thisSmsCount}, 0, '{DateTime.Now}', '{smscontent}', '1', '{smsSend.Memberid}', 0, '{smsSend.Id}', '{sendid}', 0);"; //鏌ョ湅鏄惁瀛樺湪鍙戦�佽褰� - var record_where_expression = Expressionable.Create<SmsSendhistory>().And(m => m.Mainid == smsSend.Id).ToExpression(); + var record_where_expression = Expressionable.Create<SmsSendhistory>().And(m => m.Mainid == smsSend.Id).And(m=>m.Memo=="1").ToExpression(); var exist_record = new SmsSendhistoryDAL().ListGet(record_where_expression); if (exist_record != null&&exist_record.Count>0) { @@ -175,6 +188,18 @@ else { Console.WriteLine($"鎵嬫満鍙凤細{smsSend.Mobile}锛屽彂閫佸け璐�"); + //鏌ョ湅鏄惁瀛樺湪鍙戦�佽褰� + var record_where_expression = Expressionable.Create<SmsSendhistory>().And(m => m.Mainid == smsSend.Id).And(m => m.Memo == "1").ToExpression(); + var exist_record = new SmsSendhistoryDAL().ListGet(record_where_expression); + if (exist_record != null && exist_record.Count > 0) + { + //鍒犻櫎璁板綍 + foreach (var record in exist_record) + { + new SmsSendhistoryDAL().Delete("", record.Id); + } + + } SmsSendhistory sendhistory = new SmsSendhistory { Id = Guid.NewGuid().ToString(), @@ -191,16 +216,17 @@ IsRead = 0, ReaLsuccedsmscount = realSmsCount }; - bool issuccess = new SmsSendDAL().Insert(smsSend); + bool issuccess = new SmsSendhistoryDAL().Insert(sendhistory); //淇敼鐭俊浠诲姟鐘舵�� - UpdateSmsSendStatus(7, "鍙戦�佸け璐�", smsSend.Id); + UpdateSmsSendStatus(7, "鍙戦�佸け璐�", smsSend.Id,DateTime.Now); + SendQwGroup.SendMessage($"鐭俊寮傚父锛歿smsSend.Id}"+ "strResult:"+ strResult); LogUtil.Error($"鐭俊寮傚父锛歿smsSend.Id}", "鍏叡鍙风煭淇″紓甯�"); } } - public bool UpdateSmsSendStatus(int status,string memo,string id) + public bool UpdateSmsSendStatus(int status,string memo,string id,DateTime sendtime) { SmsSend updateSmssend = new SmsSend { diff --git a/api/SmsSendTool/appsettings.json b/api/SmsSendTool/appsettings.json index 5099a4f..ed8f907 100644 --- a/api/SmsSendTool/appsettings.json +++ b/api/SmsSendTool/appsettings.json @@ -26,6 +26,7 @@ } }, "AllowedHosts": "*", + "qw_webhook": "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=1e5a8b47-b108-40a6-9a29-d629863bd066", "DbConnection": [ { //测试 -- Gitblit v1.9.3