From 6ee5f70d0b3e5bf50a43a71af18624dcabbb2d0c Mon Sep 17 00:00:00 2001
From: wangsheng <123456>
Date: 星期四, 09 九月 2021 15:44:56 +0800
Subject: [PATCH] 新增过滤ID条件,符合过滤ID的不进行审核,过滤ID:传入一级ID自动获取到其下及本身所有ID,均不进行过滤,也可传入子ID

---
 掌骏平台自动审核/AutoCheckSMS/SQLHelper.cs |   90 +++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 87 insertions(+), 3 deletions(-)

diff --git "a/\346\216\214\351\252\217\345\271\263\345\217\260\350\207\252\345\212\250\345\256\241\346\240\270/AutoCheckSMS/SQLHelper.cs" "b/\346\216\214\351\252\217\345\271\263\345\217\260\350\207\252\345\212\250\345\256\241\346\240\270/AutoCheckSMS/SQLHelper.cs"
index d9791a2..dce49fc 100644
--- "a/\346\216\214\351\252\217\345\271\263\345\217\260\350\207\252\345\212\250\345\256\241\346\240\270/AutoCheckSMS/SQLHelper.cs"
+++ "b/\346\216\214\351\252\217\345\271\263\345\217\260\350\207\252\345\212\250\345\256\241\346\240\270/AutoCheckSMS/SQLHelper.cs"
@@ -38,17 +38,39 @@
         {
             List<tbl_sms_task> list = new List<tbl_sms_task>();
            string[] Out = System.Configuration.ConfigurationManager.AppSettings["OutUserid"].Trim().Split(',');
+
+            string U_sql = "select userid,parentuserid from tbl_user  where isuse=1 and isdelete=0";
+            DataSet U_ds1 = da.ExecuteDataSet(CommandType.Text, U_sql);
+            DataTable U_dt = U_ds1.Tables[0];
+            List<GetUserID> IGetID = new List<GetUserID>();
+            foreach (DataRow item in U_dt.Rows)
+            {
+                IGetID.Add(new GetUserID{
+                    UserID = item[0].ToString(),
+                    ParentuserID = item[1].ToString()
+                });
+            }
+            List<GetUserID> GetID = GetSonUsserID(Out, IGetID);
+
+            string[] I_Out = new string[GetID.Count];
+            int i = 0;
+            foreach (var item in GetID)
+            {
+                I_Out[i] = item.UserID;
+                i++;
+            }
+            Log4netService.Debug($"杩囨护ID涓暟:{GetID.Count}");
             try
             {
                 string time = DateTime.Now.AddHours(-1).ToString("yyyy-MM-dd HH:mm");
-                string sql = $"select TaskID,UserID,MsgContent,ReadError,IsAudit from tbl_sms_task where CreateTime>= '{time}'and IsAudit=0 and ReadError like '%鍒嗗寘瀹屾垚%' and MsgContent not like '%鍥瀇閫�%' and MsgContent not like '%閫�璁�%' and MsgContent not like '%閫�_T%' and MsgContent not like '%.c%'  and MsgContent not like '%鐐瑰鐐�%')";
+                string sql = $"select TaskID,UserID,MsgContent,ReadError,IsAudit from tbl_sms_task where CreateTime>= '{time}'and IsAudit=0 and ReadError like '%鍒嗗寘瀹屾垚%' and msgContent not like '%閫�'  and MsgContent not like '%鍥瀇閫�%' and MsgContent not like '%閫�璁�%' and MsgContent not like '%閫�_T%' and MsgContent not like '%.c%'  and MsgContent not like '%鐐瑰鐐�%'";
                 DataSet ds = da.ExecuteDataSet(CommandType.Text, sql);
                 DataTable dt = ds.Tables[0];
                 if (dt.Rows.Count > 0)
                 {
                     foreach (DataRow dr in dt.Rows)
                     {
-                        if (!Out.Contains(dr["UserID"].ToString().Trim()))
+                        if (!I_Out.Contains(dr["UserID"].ToString().Trim()))
                         {
                             int taskid = int.Parse(dr["TaskID"].ToString());
                             int userid = int.Parse(dr["UserID"].ToString());
@@ -58,7 +80,7 @@
                         }
                         else
                         {
-                            Console.WriteLine($"瀛樺湪杩囨护ID锛歿dr["UserID"].ToString().Trim()},璺宠繃璇D鍐呭");
+                            Console.WriteLine($"銆愬鏍告搷浣溿�戝瓨鍦ㄨ繃婊D锛歿dr["UserID"].ToString().Trim()},璺宠繃璇D鍐呭");
                             Log4netService.Debug($"銆愬鏍告搷浣溿�戝瓨鍦ㄨ繃婊D锛歿dr["UserID"].ToString().Trim()},璺宠繃璇D鍐呭锛歿dr["MsgContent"]}");
                         }
 
@@ -73,6 +95,68 @@
         }
 
         /// <summary>
+        /// 閫掑綊鑾峰彇鑾峰彇瀛怚D
+        /// </summary>
+        /// <param name="UserID">浼犲叆涓�绾D</param>
+        /// <param name="GetID">浼犲叆璐﹀彿琛�</param>
+        /// <returns></returns>
+        public static List<GetUserID> GetSonUsserID(string[] UserID, List<GetUserID> GetID)
+        {
+            List<GetUserID> LGetID = new List<GetUserID>();
+            List<GetUserID> LID = new List<GetUserID>();
+            for (int i = 0; i < UserID.Length; i++)
+            {
+                LID.AddRange(GetID.Where(a => a.ParentuserID == UserID[i]).ToList());//灏咷etID涓鍚堜竴绾D鐨勬墍鏈夊瓙ID浼犲叆LID
+
+            }
+            if (LID.Count != 0)//閫掑綊鏉′欢
+            {
+                string[] SonID = new string[LID.Count];
+                int i = 0;
+                foreach (var item in LID)
+                {
+                    //Console.WriteLine($"閫掑綊 ID锛歿item.ParentuserID}   瀛怚D锛歿item.UserID}");
+                    SonID[i] = item.UserID;
+                    i++;
+                }//灏嗗瓙ID杞垚鏁扮粍
+                //for (int l = 0; l < SonID.Length; l++)
+                //{
+                //    Console.WriteLine($"闇�瑕侀�掑綊鐨処D锛歿SonID[l]}");
+                //}
+
+                for (int h = 0; h < UserID.Length; h++)
+                {
+                    LGetID.Add(new GetUserID
+                    {
+                        UserID = UserID[h].ToString(),
+                        ParentuserID = 0.ToString()
+                    });
+                }
+                LGetID.AddRange(GetSonUsserID(SonID, GetID));
+            }
+            else
+            {
+                for (int i = 0; i < UserID.Length; i++)
+                {
+                    LGetID.Add(new GetUserID
+                    {
+                        UserID = UserID[i].ToString(),
+                        ParentuserID = 0.ToString()
+                    });
+                }
+                return LGetID;
+            }
+            return LGetID;
+        }
+
+        public class GetUserID
+        {
+            public string UserID { get; set; }
+            public string ParentuserID { get; set; }
+        }
+           
+
+        /// <summary>
         /// 鏇存柊瀹℃牳鐘舵��
         /// </summary>
         /// <param name="audit"></param>

--
Gitblit v1.9.1