From 2f74eb23c0d2d4a246bc612c5c34bdfa8dea5603 Mon Sep 17 00:00:00 2001
From: wzp <2040239371@qq.com>
Date: 星期五, 11 十一月 2022 09:25:02 +0800
Subject: [PATCH] 修改账号产品关联的bug 修改产品不显示的bug

---
 web/web/GwSp.ashx |  224 +++++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 166 insertions(+), 58 deletions(-)

diff --git a/web/web/GwSp.ashx b/web/web/GwSp.ashx
index 0a168f7..feafff4 100644
--- a/web/web/GwSp.ashx
+++ b/web/web/GwSp.ashx
@@ -21,6 +21,10 @@
     private List<GwStrategy> _StrategyList;
     private List<GwProduct> _ProductList;
 
+    private int _userId = -1;
+    private string _userType = "";
+    private string _account = "";
+
     private List<GwOp> OpList
     {
         get
@@ -53,8 +57,10 @@
         {
             if (this._ClientList == null)
             {
-                using (GwClientDao gwClientDao = new GwClientDao())
-                    this._ClientList = gwClientDao.LoadInfoList("", "", "", "");
+                using (GwClientDao gwClientDao = new GwClientDao()) {
+                    string permissionsSQL = gwClientDao.GetClientPermissions(_userId, _userType, null);
+                    this._ClientList = gwClientDao.LoadInfoList("", "", "", "", permissionsSQL);
+                }
             }
             return this._ClientList;
         }
@@ -95,9 +101,9 @@
                 using (GwProductDao gwProductDao = new GwProductDao())
                 {
                     GwProduct gwProduct = new GwProduct();
-                        gwProduct.Classes = -1;
-                        gwProduct.IsDefault = -1;
-                        gwProduct.IsEnable = -1;
+                    gwProduct.Classes = -1;
+                    gwProduct.IsDefault = -1;
+                    gwProduct.IsEnable = -1;
                     this._ProductList = gwProductDao.getAllList(gwProduct);
                 }
             }
@@ -121,6 +127,10 @@
     public override JsonPageResult ProcessRequestInternal(PageContext<SysUser> context)
     {
         string @string = context.GetString("action");
+        _userId = context.SessionObject.UserID;
+        _userType = context.SessionObject.UserType;
+        _account = context.SessionObject.Account;
+
         switch (@string)
         {
             case "updateSpStatus":
@@ -312,72 +322,83 @@
         string apId = "0";
         if (this.IsInt(string1))
             apId = string1;
-        if (string.IsNullOrEmpty(clientId) && !string.IsNullOrEmpty(string4))
-            clientId = new GwClientDao().GetClientName(string4).ClientID;
+        //if (string.IsNullOrEmpty(clientId) && !string.IsNullOrEmpty(string4))
+        //    clientId = new GwClientDao().GetClientName(string4).ClientID;
+
+        string permissionsSQL = new GwClientDao().GetClientPermissions(_userId, _userType, null);
+
         //鍔犺浇璐﹀彿鍒楄〃淇℃伅
-        List<GwSp> list = gwSpDao.LoadInfoList(string2, apId, clientId, int1, string3, int2, int4, int3, int5.ToString(),out recordCount, productId);
+        List<GwSp> list = gwSpDao.LoadInfoList(string2, apId, clientId, string4, int1, string3, int2, int4, int3, int5.ToString(), productId, permissionsSQL, out recordCount);
         string str1 = "";
         if (list != null && list.Count > 0)
         {
             foreach (GwSp gwSp in list)
             {
-                str1 = str1 + "<tr><td  rowspan=\"1\" ><input type=\"checkbox\"name=\"checkbox\" value=\"" + gwSp.SpID + "\"/></td><td rowspan=\"1\">" + gwSp.SpID + "<div class=\"text-muted\">" + this.GetAPName(gwSp.ApID) + "</div><div class=\"text-muted\">" + this.GetClientName(gwSp.ClientID) + "</div>";
-                str1 += "</td>";
-                str1 = str1 + "<td>" + (object)this.GetProductToName(gwSp.ProductId) + "</td>";
+                //str1 = str1 + "<tr><td  rowspan=\"1\" ><input type=\"checkbox\"name=\"checkbox\" value=\"" + gwSp.SpID + "\"/></td><td rowspan=\"1\">" + gwSp.SpID + "<div class=\"text-muted\">" + this.GetAPName(gwSp.ApID) + "</div><div class=\"text-muted\">" + this.GetClientName(gwSp.ClientID) + "</div>";
+                str1 += "<tr><td  rowspan=\"1\" ><input type=\"checkbox\"name=\"checkbox\" value=\"" + gwSp.SpID + "\"/></td><td rowspan=\"1\">" + gwSp.SpID + "</td>";
+                str1 += "<td>" + (object)this.GetProductToName(gwSp.ProductId) + "</td>";
+                str1 += "<td>" + (object)gwSp.ClientID + "</td>";
+                str1 += "<td>" + (object)this.GetClientName(gwSp.ClientID) + "</td>";
+                str1 += "<td>" + (object)this.GetAPName(gwSp.ApID) + "</td>";
                 if (gwSp.RouterType == 1)
                 {
-                    str1 += "<td rowspan=\"1\"><div class=\"btn  btn-primary btn-xs\">鐐硅矾鐢�</div>";
-                    str1 += string.Format("<div>绉诲姩锛歿0}</div><div>鐢典俊锛歿1}</div><div>鑱旈�氾細{2}</div>", (object)this.GetOpName(gwSp.CMOPID), (object)this.GetOpName(gwSp.CTOPID), (object)this.GetOpName(gwSp.UNOPID));
+                    str1 += "<td rowspan=\"1\"><span class='label label-primary'>閫氶亾</span>";
+                    str1 += string.Format("<div style='margin-top:10px;'>绉诲姩锛歿0}</div><div>鐢典俊锛歿1}</div><div>鑱旈�氾細{2}</div>", (object)this.GetOpName(gwSp.CMOPID), (object)this.GetOpName(gwSp.CTOPID), (object)this.GetOpName(gwSp.UNOPID));
                 }
                 else if (gwSp.RouterType == 3)
                 {
-                    str1 += "<td rowspan=\"1\"><div class=\"btn  btn-success  btn-xs\">缁勮矾鐢�</div>";
-                    str1 += string.Format("<div>绉诲姩锛歿0}</div><div>鐢典俊锛歿1}</div><div>鑱旈�氾細{2}</div>", (object)this.GetGroupName(gwSp.CMGroupID), (object)this.GetGroupName(gwSp.CTGroupID), (object)this.GetGroupName(gwSp.CUGroupID));
+                    str1 += "<td rowspan=\"1\"><span class='label label-success'>閫氶亾缁�</span>";
+                    str1 += string.Format("<div style='margin-top:10px;'>绉诲姩锛歿0}</div><div>鐢典俊锛歿1}</div><div>鑱旈�氾細{2}</div>", (object)this.GetGroupName(gwSp.CMGroupID), (object)this.GetGroupName(gwSp.CTGroupID), (object)this.GetGroupName(gwSp.CUGroupID));
                 }
-
+                /**
                 if (gwSp.RESEND_STATUS == 1)
                 {
-                    str1 += "<td rowspan=\"1\"><div class=\"btn  btn-primary  btn-xs\">鍚敤澶辫触琛ュ彂</div>";
+                    str1 += "<td rowspan=\"1\"><span class='label label-success'>鍚敤澶辫触琛ュ彂</span>";
                     //str1 += string.Format("<div>绉诲姩锛歿0}</div><div>鐢典俊锛歿1}</div><div>鑱旈�氾細{2}</div>", (object)this.GetGroupName(gwSp.RESEND_CM_GROUPID), (object)this.GetGroupName(gwSp.RESEND_CU_GROUPID), (object)this.GetGroupName(gwSp.RESEND_CT_GROUPID));
                     //璐︽埛椤甸潰鏄剧ず琛ュ彂閫氶亾鍏蜂綋鐨勯�氶亾
                 }
                 else
                 {
-                    str1 += "<td rowspan=\"1\"><div class=\"btn  btn-danger  btn-xs\">鍋滅敤澶辫触琛ュ彂</div>";
-                }
+                    str1 += "<td rowspan=\"1\"><span class='label label-danger'>鍋滅敤澶辫触琛ュ彂</span>";
+                }**/
 
 
-                string str2 = "<div class=\"text-muted\">" + gwSp.ChargerTypeText + "</div>";
+                string str2 = gwSp.ChargerTypeText ;
                 if (gwSp.ChargerTypeText == "鍚庝粯璐�")
                     str2 = "<div  style=\"color:red\">" + gwSp.ChargerTypeText + "</div>";
+                str1 += "<td>" + str2 + "</td>";
+                str1 += "<td>" + (object)((double)gwSp.Price / 1000.0) + "</td>";
                 //add: yangzh by 2022-03-14 start
                 //str1 = str1 + (object)"<td><div class=\"text-muted\">" + (object)(gwSp.Balance / (long)gwSp.Price) + "鏉�/" + (object)((double)gwSp.Balance / 1000.0) + "鍏�</div>";
-                str1 = str1 + (object)"<td><div class=\"text-muted\">" + (object)(gwSp.BasicNum + (long)gwSp.GivingNum) + "鏉� / " + (object)(gwSp.BasicNum) + "鏉� / " + (object)(gwSp.GivingNum) + "鏉�</div>";
+                str1 = str1 + (object)"<td>" + (object)(gwSp.BasicNum + (long)gwSp.GivingNum) + "鏉� / " + (object)(gwSp.BasicNum) + "鏉� / " + (object)(gwSp.GivingNum) + "鏉�";
                 //add: yangzh by 2022-03-14 end
-                str1 = str1 + (object)str2 + "<div class=\"text-muted\">" + (object)((double)gwSp.Price / 1000.0) + "鍏�/鏉�</div>";
-                if (context.HasRight("3021"))
-                    str1 += string.Format(" <a class=\"btn btn-xs btn-success action-modal-charge\"  data-id=\"{0}\"><i class=\"fa fa-cny\"></i> 鍏呭��</a>", (object)gwSp.SpID);
-                if (context.HasRight("3022"))
-                    str1 += string.Format(" <a class=\" btn btn-success btn-xs action-modal-Acctunchargelog\"  data-id=\"{0}\"><i class=\"fa fa-list-alt\"></i> 鍏呭�兼棩蹇�</a>", (object)gwSp.SpID);
                 if (gwSp.BalanceThreshold > 0 && !string.IsNullOrEmpty(gwSp.AlarmMobile))
-                    str1 = str1 + (object)"<div class=\"text-danger\">" + (object)(gwSp.BalanceThreshold / 1000) + "鍏�(" + gwSp.AlarmMobile + ")</div>";
+                    str1 = str1 + "<div class=\"text-danger\">" + gwSp.BalanceThreshold + "鏉�(" + gwSp.AlarmMobile + ")</div>";
                 str1 += "</td>";
-                str1 = str1 + "<td>" + this.GetDiverterName(gwSp.DiverterID);
-                str1 = str1 + "<div class=\"text-muted\">" + this.GetStratedyName(gwSp.StrategyID) + "</div>";
-                str1 = str1 + "<div class=\"text-muted\"><font color=\"red\">" + this.GwSPAuditingName(gwSp.AuditingMode) + "</font></div>";
-                str1 = str1 + "<div class=\"text-muted\">鍏ㄥ眬榛戝悕鍗�" + gwSp.BlackModeText + "</div>";
-                str1 += "</td>";
-                str1 = str1 + "<td>" + gwSp.AccessCode;
-                str1 = str1 + "<div class=\"text-muted\">" + (gwSp.ExtnoExtensionMode == 1 ? "绂佹瀹㈡埛鎵╁睍" : "鍏佽瀹㈡埛鎵╁睍") + "</div>";
-                str1 = str1 + "<div>" + (gwSp.AccessCodeMode == 1 ? "閫氶亾鐩磋繛妯″紡" : "铏氭嫙鎺ュ叆妯″紡") + "</div></td>";
-                str1 = str1 + "<td>" + this.FormatIpHtml(gwSp.ClientIp) + "</td>";
+                /**
+            str1 = str1 + "<td>" + this.GetDiverterName(gwSp.DiverterID);
+            str1 = str1 + "<div class=\"text-muted\">" + this.GetStratedyName(gwSp.StrategyID) + "</div>";
+            str1 = str1 + "<div class=\"text-muted\"><font color=\"red\">" + this.GwSPAuditingName(gwSp.AuditingMode) + "</font></div>";
+            str1 = str1 + "<div class=\"text-muted\">鍏ㄥ眬榛戝悕鍗�" + gwSp.BlackModeText + "</div>";
+            str1 += "</td>";
+            str1 = str1 + "<td>" + gwSp.AccessCode;
+            str1 = str1 + "<div class=\"text-muted\">" + (gwSp.ExtnoExtensionMode == 1 ? "绂佹瀹㈡埛鎵╁睍" : "鍏佽瀹㈡埛鎵╁睍") + "</div>";
+            str1 = str1 + "<div>" + (gwSp.AccessCodeMode == 1 ? "閫氶亾鐩磋繛妯″紡" : "铏氭嫙鎺ュ叆妯″紡") + "</div></td>";
+                **/
+                //str1 = str1 + "<td>" + this.FormatIpHtml(gwSp.ClientIp) + "</td>";//鍘绘帀IP
                 // str1 = str1 + "<td>" + this.GetStatusText(gwSp.Status);
                 str1 = str1 + "<td>" + this.GetStatusText(gwSp.Status, gwSp.SpID);
                 str1 += "</td>";
-                str1 += "<td rowspan=\"1\" class=\"text-right\">";
+                str1 += "<td>" + gwSp.CreateTime + "</td>";
+                str1 += "<td rowspan=\"1\" class=\"text-center\" >";
                 if (context.HasRight("3023"))
-                    str1 += string.Format(" <a class=\"btn-block btn btn-primary btn-xs action-modal-edit\" data-id=\"{0}\"><i class=\"fa fa-edit\"></i>  缂栬緫</a>", (object)gwSp.SpID);
-                str1 += string.Format(" <a class=\"btn-block btn btn-success btn-xs action-create-summary\" data-id=\"{0}\">璐﹀彿鎽樿</a>", (object)gwSp.SpID);
+                    str1 += string.Format(" <a style='margin-top:5px;' class=\"btn btn-primary btn-xs action-modal-edit\" data-id=\"{0}\"><i class=\"fa fa-edit\"></i>  缂栬緫</a>", (object)gwSp.SpID);
+                //str1 += string.Format(" <a class=\"btn-block btn btn-success btn-xs action-create-summary\" data-id=\"{0}\">璐﹀彿鎽樿</a>", (object)gwSp.SpID);
+                str1 = gwSp.Status != 0 ? str1 + string.Format(" <a style='margin-top:5px;' href=\"javascript:;\" data-spid=\"{0}\" data-status=\"0\" class=\"action-updateStatus btn btn-primary btn-xs\"><i class=\"fa fa-toggle-off\"></i>&nbsp;鍋滅敤</a><br> ", (object) gwSp.SpID ) : str1 + string.Format("<a href=\"javascript:;\" data-spid=\"{0}\" data-status=\"1\" class=\"action-updateStatus btn  btn-default btn-xs\"><i class=\"fa fa-toggle-on\"/></i>&nbsp;鍚敤</a><br> ", (object) gwSp.SpID );
+                if (context.HasRight("3021"))
+                    str1 += string.Format(" <a style='margin-top:5px;' class=\"btn btn-xs btn-success action-modal-charge\"  data-id=\"{0}\"><i class=\"fa fa-cny\"></i> 鍏呭��</a>", (object)gwSp.SpID);
+                if (context.HasRight("3022"))
+                    str1 += string.Format(" <a style='margin-top:5px;' class=\" btn btn-success btn-xs action-modal-Acctunchargelog\"  data-id=\"{0}\"><i class=\"fa fa-list-alt\"></i> 鍏呭�兼棩蹇�</a>", (object)gwSp.SpID);
 
                 //if (context.HasRight("3024"))
                 //    str1 += string.Format(" <a class=\"btn-block btn btn-xs btn-default action-delete\"  data-id=\"{0}\"><i class=\"fa fa-trash\"></i> 鍒犻櫎</a>", (object)gwSp.SpID);
@@ -433,7 +454,7 @@
         if (gwAp != null)
         {
             //return string.Format("{0}-{1}", (object)gwAp.ApID, (object)gwAp.ApName);//2021.2.24.wzp鍙樻洿,鍚庣画鍙互鍒犻櫎
-            return string.Format("鎺ュ叆鍗忚:{0}", (object)gwAp.ApName);
+            return string.Format("{0}", (object)gwAp.ApName);
         }
         return string.Empty;
     }
@@ -464,7 +485,7 @@
             return string.Empty;
         GwClient gwClient = this.ClientList.Find((Predicate<GwClient>)(client => client.ClientID == clientID));
         if (gwClient != null)
-            return string.Format("{0}<div class=\"text-muted\">{1}</div>", (object)gwClient.ClientID, (object)gwClient.ClientName);
+            return string.Format("{0}", (object)gwClient.Company);
         return string.Format("{0}", (object)clientID);
     }
 
@@ -485,8 +506,10 @@
     private string GetStatusText(int status, string spid)
     {
         if (status == 0)
-            return string.Format("<span class=\"action-updateStatus btn btn-xs btn-default\" data-status=\"1\" data-spid=\"{0}\">宸插仠鐢�</span>", (object)spid);
-        return string.Format("<span class=\"action-updateStatus btn btn-xs  btn-success \" data-status=\"0\" data-spid=\"{0}\">宸插惎鐢�</span>", (object)spid);
+            return string.Format("<span class='label label-default'>宸插仠鐢�</span>");
+        //return string.Format("<span class=\"action-updateStatus btn btn-xs btn-default\" data-status=\"1\" data-spid=\"{0}\">宸插仠鐢�</span>", (object)spid);
+        //return string.Format("<span class=\"action-updateStatus btn btn-xs  btn-success \" data-status=\"0\" data-spid=\"{0}\">宸插惎鐢�</span>", (object)spid);
+        return string.Format("<span class='label label-success'>宸插惎鐢�</span>");
     }
     //
 
@@ -512,10 +535,9 @@
         GwProduct gwProduct = this.ProductList.Find((Predicate<GwProduct>)(bean => productId.Equals(bean.Id) ));
         if (gwProduct != null)
         {
-            //return string.Format("{0}-{1}", (object)gwAp.ApID, (object)gwAp.ApName);//2021.2.24.wzp鍙樻洿,鍚庣画鍙互鍒犻櫎
             return string.Format("{0}", (object)gwProduct.Name);
         }
-        return string.Empty;
+        return productId;
     }
 
     private JsonPageResult LoadGwSpPageList(PageContext<SysUser> context)
@@ -572,6 +594,7 @@
         o.Priority = context.GetInt("Priority", 0);
         o.Price = Math.Max((int)(context.GetDecimal("Price", new Decimal(4, 0, 0, false, (byte)2)) * new Decimal(1000)), 1);
         o.ChargeType = context.GetInt("ChargeType", 0);
+        o.IsAutoReturn = context.GetInt("IsAutoReturn", 0);
         o.Threshold = Math.Max(context.GetInt("Threshold", 10), 10);
         o.MaxConnCount = context.GetInt("MaxConnCount", 1);
         o.Remark = context.GetString("Remark");
@@ -584,6 +607,21 @@
         o.Signatures = context.GetString("Signatures");
         o.AuditingMode = context.GetInt("AuditingMode");
         o.DeductPercent = context.GetInt("DeductPercent");
+
+        o.SubPackageNum = context.GetInt("SubPackageNum");
+        o.SingleSubmitMinRestrict = context.GetInt("SingleSubmitMinRestrict");
+        o.IsDispalyPrice = context.GetInt("IsDispalyPrice");
+        o.DeductionMode = context.GetInt("DeductionMode");
+        o.IsSendAudit = context.GetInt("IsSendAudit");
+        o.BelowNumAudit = context.GetInt("BelowNumAudit");
+        o.AboveNumAudit = context.GetInt("AboveNumAudit");
+        o.IsCumulativeAudit = context.GetInt("IsCumulativeAudit");
+        o.CumulativeAuditNum = context.GetInt("CumulativeAuditNum");
+        o.CumulativeAuditTime = context.GetInt("CumulativeAuditTime");
+        o.IsSyncChildSendAudit = context.GetInt("IsSyncChildSendAudit");
+
+        o.ProductId = context.GetString("ProductId","");//浜у搧ID
+
         if (context.GetInt("RouterType", 1) == 1)
         {
             o.CMOPID = context.GetInt("CMOPID");
@@ -625,8 +663,8 @@
             o.CUGroupID = 0;
             o.CTGroupID = 0;
         }
-        o.BalanceThreshold = context.GetInt("BalanceThreshold") * 1000;
-        o.AlarmMobile = context.GetString("AlarmMobile");
+        o.BalanceThreshold = context.GetInt("BalanceThreshold");//鍛婅鏉℃暟
+        o.AlarmMobile = context.GetString("AlarmMobile");//鍛婅鍙风爜
         o.ForceSignFlag = context.GetInt("ForceSignFlag");
         o.ForceSign = context.GetString("ForceSign");
         o.SignatureMode = context.GetInt("signatureMode");
@@ -651,8 +689,11 @@
         cTPattern.SpID = context.GetString("SpID");
         cTPattern.Enabled = context.GetInt("enabled");
         cTPattern.Pattern = context.GetString("patternContent");
-        if (!Regex.IsMatch(o.SpID, "^\\d{6}$"))
-            throw new Exception("璐﹀彿蹇呴』涓�6浣嶆暟瀛楋紒");
+        string pattern = @"^[A-Za-z0-9]+$"; //鍒ゆ柇鏄瓧绗︽垨鏁板瓧
+        //if (!Regex.IsMatch(o.SpID, "^\\d{6}$"))
+        //    throw new Exception("璐﹀彿蹇呴』涓�6浣嶆暟瀛楋紒");
+        if (!Regex.IsMatch(o.SpID, "^[A-Za-z0-9]{6}$"))
+            throw new Exception("璐﹀彿蹇呴』涓�6浣嶅瓧绗︽垨鏁板瓧锛�");
         if (o.AccessCodeMode == 1)
         {
             if (o.DiverterID != 0)
@@ -674,6 +715,27 @@
             throw new Exception("璐﹀彿瀵嗙爜涓嶈兘涓虹┖");
         this._Dao.Update(o);
         this._Dao.UpdatePattern(cTPattern, context.OperatorID); //鏇存柊璐﹀彿閲岄潰鐨勬姤澶囧唴瀹�
+
+        //鍚屾椂淇敼瀹㈡埛-浜у搧琛ㄨ褰曪紝鑻ュ瓨鍦紝鍒欐洿鏂帮紝鍚﹀垯鏂板缓
+        bool flag = GwClientProductDao.Instance.FindBySp(o.SpID);
+        GwClientProduct clientProduct = new GwClientProduct()
+        {
+            ClientId = o.ClientID,
+            ProductId = o.ProductId,
+            SpId = o.SpID,
+            ActivateStatus = 1,
+            Id=Guid.NewGuid().ToString()
+        };
+        if (flag)//瀛樺湪,鏇存柊
+        {
+            GwClientProductDao.Instance.Update(clientProduct);
+        }
+        else
+        {
+
+            GwClientProductDao.Instance.Add(clientProduct);
+        }
+
         return new JsonPageResult(true, (object)("璐︽埛" + o.SpID + "淇敼鎴愬姛锛�"));
     }
 
@@ -693,6 +755,7 @@
         o.Priority = context.GetInt("Priority", 0);
         o.Price = Math.Max((int)(context.GetDecimal("Price", new Decimal(4, 0, 0, false, (byte)2)) * new Decimal(1000)), 1);
         o.ChargeType = context.GetInt("ChargeType", 0);
+        o.IsAutoReturn = context.GetInt("IsAutoReturn", 0);
         o.Threshold = Math.Max(context.GetInt("Threshold", 10), 10);
         o.MaxConnCount = context.GetInt("MaxConnCount", 1);
         o.Remark = context.GetString("Remark");
@@ -731,6 +794,18 @@
         string string1 = context.GetString("SpID");
         int @int = context.GetInt("enabled");
 
+        o.SubPackageNum = context.GetInt("SubPackageNum");
+        o.SingleSubmitMinRestrict = context.GetInt("SingleSubmitMinRestrict");
+        o.IsDispalyPrice = context.GetInt("IsDispalyPrice");
+        o.DeductionMode = context.GetInt("DeductionMode");
+        o.IsSendAudit = context.GetInt("IsSendAudit");
+        o.BelowNumAudit = context.GetInt("BelowNumAudit");
+        o.AboveNumAudit = context.GetInt("AboveNumAudit");
+        o.IsCumulativeAudit = context.GetInt("IsCumulativeAudit");
+        o.CumulativeAuditNum = context.GetInt("CumulativeAuditNum");
+        o.CumulativeAuditTime = context.GetInt("CumulativeAuditTime");
+        o.IsSyncChildSendAudit = context.GetInt("IsSyncChildSendAudit");
+
         o.VerCodeMode = context.GetInt("VerCodeMode");
         o.ProvincialNetworkMode = context.GetInt("ProvincialNetworkMode");
 
@@ -745,8 +820,8 @@
         }
 
         string string2 = context.GetString("patternContent");
-        if (!Regex.IsMatch(o.SpID, "^\\d{6}$"))
-            throw new Exception("璐﹀彿蹇呴』涓�6浣嶆暟瀛�");
+        if (!Regex.IsMatch(o.SpID, "^[0-9a-zA-Z]{6}$"))
+            throw new Exception("璐﹀彿蹇呴』涓�6浣嶆暟瀛楀拰瀛楁瘝");
         if (!string.IsNullOrEmpty(o.AccessCode) && !Regex.IsMatch(o.AccessCode, "^[0-9]*$"))
             throw new Exception("鎵╁睍鍙峰繀椤讳负鏁板瓧");
         if (string.IsNullOrEmpty(o.ClientID))
@@ -763,6 +838,33 @@
             throw new Exception("SPID宸茬粡瀛樺湪锛岃閲嶆柊濉啓锛�");
         this._Dao.Add(o);
         this._Dao.UpdatePattern(string1, @int, string2, context.OperatorID);//娣诲姞璐﹀彿鐨勬椂鍊欓厤缃姤澶�
+
+        
+        //濡傛灉閫夋嫨浜嗕骇鍝侊紝琛ㄧず鍒涘缓鐨勬椂鍊欏氨婵�娲汇�傚悗鍙板垱寤烘棤璧犻��
+        if (!string.IsNullOrEmpty(o.ProductId))
+        {
+            //鍚屾椂淇敼瀹㈡埛-浜у搧琛ㄨ褰曪紝鑻ュ瓨鍦紝鍒欐洿鏂帮紝鍚﹀垯鏂板缓
+            bool flag = GwClientProductDao.Instance.FindBySp(o.SpID);
+            GwClientProduct clientProduct = new GwClientProduct()
+            {
+                ClientId = o.ClientID,
+                ProductId = o.ProductId,
+                SpId = o.SpID,
+                ActivateStatus = 1,
+                Id = Guid.NewGuid().ToString()
+            };
+            if (flag)//瀛樺湪,鏇存柊
+            {
+                GwClientProductDao.Instance.Update(clientProduct);
+            }
+            else
+            {
+
+                GwClientProductDao.Instance.Add(clientProduct);
+            }
+        }
+
+
         return new JsonPageResult(true, (object)("璐︽埛" + o.SpID + "娣诲姞鎴愬姛锛�"));
     }
 
@@ -832,14 +934,20 @@
 
     private JsonPageResult BatchUpdateOp(PageContext<SysUser> context)
     {
-        int int1 = context.GetInt("cmopID");
-        int int2 = context.GetInt("unopID");
-        int int3 = context.GetInt("ctopID");
-        int int4 = context.GetInt("cmGroupID");
-        int int5 = context.GetInt("cuGroupID");
-        int int6 = context.GetInt("ctGroupID");
+        int cmOpId = context.GetInt("cmopID");
+        int cuOpId = context.GetInt("unopID");
+        int ctOpId = context.GetInt("ctopID");
+        int cmGroupId = context.GetInt("cmGroupID");
+        int cuGroupId = context.GetInt("cuGroupID");
+        int ctGroupId = context.GetInt("ctGroupID");
+
+        if (cmOpId == 0 && cuOpId == 0 && ctOpId == 0 && cmGroupId ==0 && cuGroupId==0 &&ctGroupId==0)
+        {
+            throw new ArgumentException("閫夐」涓嶅厑璁稿叏閮ㄤ负绌猴紝璇疯嚦灏戦�夋嫨涓�椤癸紒");
+        }
+
         foreach (string spid in JsonConvert.DeserializeObject<string[]>(context.GetString("idArray")))
-            this._Dao.UpdateSingleOP(spid, int1, int3, int2, int4, int5, int6);
+            this._Dao.UpdateSingleOP(spid, cmOpId, ctOpId, cuOpId, cmGroupId, cuGroupId, ctGroupId);
         return new JsonPageResult(true, (object)"鎵归噺淇敼閫氶亾鎴愬姛锛�");
     }
 

--
Gitblit v1.9.1