From 3b18a48485f7207438d9d0eb3038d979e069431d Mon Sep 17 00:00:00 2001 From: yzh <snbbt@21cn.com> Date: 星期四, 26 五月 2022 17:58:18 +0800 Subject: [PATCH] 优化产品及产品分类,订单,对称加密,IP转地区名称 --- web/Dao/GwClientDao.cs | 111 +++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 107 insertions(+), 4 deletions(-) diff --git a/web/Dao/GwClientDao.cs b/web/Dao/GwClientDao.cs index 460f299..63c97d9 100644 --- a/web/Dao/GwClientDao.cs +++ b/web/Dao/GwClientDao.cs @@ -23,9 +23,13 @@ /// <param name="clientName">鑱旂郴浜�</param> /// <param name="telphone">鑱旂郴鐢佃瘽</param> /// <param name="agent">涓氬姟鍛�</param> + /// <param name="company">鍏徃鍚嶇О</param> + /// <param name="salesman">褰掑睘涓氬姟鍛�</param> + /// <param name="supportStaff">褰掑睘瀹㈡湇浜哄憳</param> + /// <param name="productId">浜у搧ID</param> /// <returns></returns> //public List<GwClient> LoadInfoList(out int recordCount, int pageIndex, int pageSizestring, string clientID, string clientName, string telphone, string agent) - public List<GwClient> LoadInfoList(out int recordCount, int pageIndex, int pageSizestring, string clientID, string clientName, string telphone, string agent, string company, string salesman, string productId) + public List<GwClient> LoadInfoList(out int recordCount, int pageIndex, int pageSizestring, string clientID, string clientName, string telphone, string agent, string company, string salesman, string supportStaff, string productId, string permissionsSQL ) { List<GwClient> list = new List<GwClient>(); @@ -34,7 +38,7 @@ { StringBuilder stringBuilder = new StringBuilder(); stringBuilder.Append("from GW_CLIENT where 1=1"); - OracleParameter[] oracleParameterArray = new OracleParameter[4]; + OracleParameter[] oracleParameterArray = new OracleParameter[7]; if (clientID != null && clientID != "") { oracleParameterArray[0] = new OracleParameter(":ClientID", (OracleDbType)126); @@ -61,7 +65,7 @@ } if (salesman != null && salesman != "") { - oracleParameterArray[4] = new OracleParameter(":Salesman", (OracleDbType)112); + oracleParameterArray[4] = new OracleParameter(":Salesman", (OracleDbType)126); ((DbParameter)oracleParameterArray[4]).Value = (object)( salesman ); stringBuilder.Append(" and Salesman = :Salesman"); } @@ -71,11 +75,20 @@ ((DbParameter)oracleParameterArray[5]).Value = (object)("%" + agent + "%"); stringBuilder.Append(" and Agent like :Agent"); } + if (supportStaff != null && supportStaff != "") + { + oracleParameterArray[6] = new OracleParameter(":SupportStaff", (OracleDbType)126); + ((DbParameter)oracleParameterArray[6]).Value = (object)(supportStaff); + stringBuilder.Append(" and SUPPORT_STAFF = :SupportStaff"); + } if (productId != null && productId != "") { stringBuilder.Append(" and CLIENT_ID IN ( SELECT distinct CLIENT_ID FROM GW_SP WHERE PRODUCT_ID = '" + productId + "' )"); } + + //瀹㈡埛鏉冮檺SQL鑴氭湰 + stringBuilder.Append(permissionsSQL); stringBuilder.Append(" order by CREATE_TIME DESC,CLIENT_ID DESC"); using (OracleDataReader reader = OracleHelper.ExecuteReader("select count(*) as count " + stringBuilder.ToString(), OracleHelper.Connection, oracleParameterArray)) @@ -100,7 +113,11 @@ } return list; } - public List<GwClient> LoadInfoList(string clientID, string clientName, string company, string agent) + + /** + * 鏌ヨ缁熻鍔熻兘 + */ + public List<GwClient> LoadInfoList(string clientID, string clientName, string company, string agent, string permissionsSQL) { @@ -134,6 +151,10 @@ ((DbParameter)oracleParameterArray[3]).Value = (object)("%" + agent + "%"); stringBuilder.Append(" and Agent like :Agent"); } + + //瀹㈡埛鏉冮檺SQL鑴氭湰 + stringBuilder.Append(permissionsSQL); + stringBuilder.Append(" order by CREATE_TIME DESC,CLIENT_ID DESC"); using (OracleDataReader reader = OracleHelper.ExecuteReader("select * " + stringBuilder.ToString(), OracleHelper.Connection, oracleParameterArray)) { @@ -184,6 +205,23 @@ public bool UpdateClientAmount(int AddBalance, int payAmount, string clientId ) { return OracleHelper.ExecuteSql("UPDATE GW_CLIENT SET BALANCE=(BALANCE + :BALANCE), TOP_UP_AMOUNT_TOTAL=(TOP_UP_AMOUNT_TOTAL + :TOP_UP_AMOUNT_TOTAL) WHERE CLIENT_ID=:CLIENT_ID", OracleHelper.Connection, new OracleParameter(":BALANCE", (object)AddBalance), new OracleParameter(":TOP_UP_AMOUNT_TOTAL", (object)payAmount), new OracleParameter(":CLIENT_ID", (object)clientId)) > 0; + } + + public bool UpdateClientProduct(string clientId, string productId) + { + List<KeyValuePair<string, OracleParameter[]>> list = new List<KeyValuePair<string, OracleParameter[]>>(); + if (string.IsNullOrEmpty(productId) ) + { + string key = "UPDATE GW_CLIENT_PRODUCT SET PRODUCT_ID=:PRODUCT_ID WHERE CLIENT_ID=:CLIENT_ID"; + OracleParameter[] oracleParameterArray = new OracleParameter[2] + { + new OracleParameter(":PRODUCT_ID", (object) productId), + new OracleParameter(":CLIENT_ID", (object) clientId) + }; + list.Add(new KeyValuePair<string, OracleParameter[]>(key, oracleParameterArray)); + } + OracleHelper.ExecuteSqlTran(list, OracleHelper.Connection); + return true; } /// <summary> @@ -369,6 +407,71 @@ } return true; } + + + /** + * 鍑芥暟鎻忚堪锛� 鏍规嵁绯荤粺鐢ㄦ埛鑾峰彇鏈夋潈闄愬鎴� + * userId: 鐢ㄦ埛ID + * userType: 鐢ㄦ埛绫诲瀷锛�1-绠$悊鍛�;2-涓氬姟鍛�--鍏ㄥ憳;3-涓氬姟涓荤;4-涓氬姟鎬荤洃;5-瀹㈡湇浜哄憳;6-璐㈠姟浜哄憳;99-鍏朵粬 + * return: SQL瀛楃涓� + * */ + public string GetClientPermissions(int userId, int userType, string alias) + { + if (!string.IsNullOrEmpty(alias)) + { + alias += "."; + } + + string sqlStr = ""; + //涓氬姟鍛樺拰鍏朵粬 + if(userType==2 || userType == 99) + { + sqlStr += " AND " + alias + "CLIENT_ID IN (SELECT CLIENT_ID FROM GW_CLIENT WHERE IS_ENABLE=1 AND (SALESMAN='" + userId + "' ) ) "; + } + //涓氬姟涓荤 + else if (userType == 3) + { + sqlStr += " AND " + alias + "CLIENT_ID IN (SELECT CLIENT_ID FROM GW_CLIENT WHERE IS_ENABLE=1 AND (SALESMAN='" + userId + "' or CUSTOMER_MANAGER='" + userId + "' ) ) "; + } + else + { + //sqlStr += " AND CLIENT_ID IN (SELECT CLIENT_ID FROM GW_CLIENT WHERE IS_ENABLE=1 ) "; + } + + return sqlStr ; + } + + /** + * 鍑芥暟鎻忚堪锛� 鏍规嵁绯荤粺鐢ㄦ埛鑾峰彇鏈夋潈闄愬鎴疯处鍙� + * userId: 鐢ㄦ埛ID + * userType: 鐢ㄦ埛绫诲瀷锛�1-绠$悊鍛�;2-涓氬姟鍛�--鍏ㄥ憳;3-涓氬姟涓荤;4-涓氬姟鎬荤洃;5-瀹㈡湇浜哄憳;6-璐㈠姟浜哄憳;99-鍏朵粬 + * return: SQL瀛楃涓� + * */ + public string GetSpPermissions(int userId, int userType, string alias) + { + if (!string.IsNullOrEmpty(alias)) + { + alias += "."; + } + + string sqlStr = ""; + //涓氬姟鍛樺拰鍏朵粬 + if (userType == 2 || userType == 99) + { + sqlStr += " AND " + alias + "SP_ID IN (SELECT SP_ID from GW_SP where DEL_FLAG = 0 and CLIENT_ID IN (SELECT CLIENT_ID FROM GW_CLIENT WHERE IS_ENABLE=1 AND (SALESMAN='" + userId + "' ) ) ) "; + } + //涓氬姟涓荤 + else if (userType == 3) + { + sqlStr += " AND " + alias + "SP_ID IN (SELECT SP_ID from GW_SP where DEL_FLAG = 0 and CLIENT_ID IN (SELECT CLIENT_ID FROM GW_CLIENT WHERE IS_ENABLE=1 AND (SALESMAN='" + userId + "' or CUSTOMER_MANAGER='" + userId + "' ) ) ) "; + } + else + { + //sqlStr += " AND CLIENT_ID IN (SELECT CLIENT_ID FROM GW_CLIENT WHERE IS_ENABLE=1 ) "; + } + + return sqlStr; + } } } -- Gitblit v1.9.1