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