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/Dao/GwClientDao.cs | 441 +++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 424 insertions(+), 17 deletions(-) diff --git a/web/Dao/GwClientDao.cs b/web/Dao/GwClientDao.cs index 275dc9f..4b02d9d 100644 --- a/web/Dao/GwClientDao.cs +++ b/web/Dao/GwClientDao.cs @@ -21,10 +21,15 @@ /// <param name="pageSizestring"></param> /// <param name="clientID">瀹㈡埛璐﹀彿鍚嶇О</param> /// <param name="clientName">鑱旂郴浜�</param> - /// <param name="telphone">鑱旂郴鐢佃瘽</param> + /// <param name="telephone">鑱旂郴鐢佃瘽</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) + public List<GwClient> LoadInfoList(out int recordCount, int pageIndex, int pageSizestring, string clientID, string clientName, string telephone, string agent, string company, string salesman, string supportStaff, string productId, int isEnable, string permissionsSQL ) { List<GwClient> list = new List<GwClient>(); @@ -32,32 +37,76 @@ try { StringBuilder stringBuilder = new StringBuilder(); - stringBuilder.Append("from GW_CLIENT where 1=1"); - OracleParameter[] oracleParameterArray = new OracleParameter[4]; + stringBuilder.Append(" FROM ( "); + stringBuilder.Append("SELECT gwc.*, t.PRODUCT_IDS FROM GW_CLIENT gwc "); + stringBuilder.Append(" LEFT JOIN ( "); + stringBuilder.Append(" select gc.client_id, wm_concat( gp.name) PRODUCT_IDS from GW_CLIENT gc "); + stringBuilder.Append(" LEFT JOIN gw_product gp on INSTR (CLIENT_IDS, gc.client_id) > 0 "); + stringBuilder.Append(" GROUP BY gc.client_id "); + stringBuilder.Append(" ) t on t.client_id = gwc.client_id "); + //stringBuilder.Append("from GW_CLIENT where 1=1"); + stringBuilder.Append(" WHERE 1=1"); + OracleParameter[] oracleParameterArray = new OracleParameter[8]; if (clientID != null && clientID != "") { oracleParameterArray[0] = new OracleParameter(":ClientID", (OracleDbType)126); ((DbParameter)oracleParameterArray[0]).Value = (object)('%' + clientID + '%'); - stringBuilder.Append(" and CLIENT_ID like :ClientID"); + stringBuilder.Append(" and gwc.CLIENT_ID like :ClientID"); } if (clientName != null && clientName != "") { oracleParameterArray[1] = new OracleParameter(":ClientName", (OracleDbType)126); ((DbParameter)oracleParameterArray[1]).Value = (object)('%' + clientName + '%'); - stringBuilder.Append(" and CLIENT_NAME like :ClientName"); + stringBuilder.Append(" and gwc.CLIENT_NAME like :ClientName"); } - if (telphone != null && telphone != "") + if (telephone != null && telephone != "") { - oracleParameterArray[2] = new OracleParameter(":Telphone", (OracleDbType)126); - ((DbParameter)oracleParameterArray[2]).Value = (object)('%' + telphone + '%'); - stringBuilder.Append(" and Telphone like :Company"); + oracleParameterArray[2] = new OracleParameter(":Telephone", (OracleDbType)126); + ((DbParameter)oracleParameterArray[2]).Value = (object)('%' + telephone + '%'); + stringBuilder.Append(" and gwc.TELEPHONE like :Telephone"); + } + if (company != null && company != "") + { + oracleParameterArray[3] = new OracleParameter(":Company", (OracleDbType)126); + ((DbParameter)oracleParameterArray[3]).Value = (object)('%' + company + '%'); + stringBuilder.Append(" and gwc.Company like :Company"); + } + if (salesman != null && salesman != "") + { + oracleParameterArray[4] = new OracleParameter(":Salesman", (OracleDbType)126); + ((DbParameter)oracleParameterArray[4]).Value = (object)( salesman ); + stringBuilder.Append(" and gwc.Salesman = :Salesman"); } if (agent != null && agent != "") { - oracleParameterArray[3] = new OracleParameter(":Agent", (OracleDbType)126); - ((DbParameter)oracleParameterArray[3]).Value = (object)("%" + agent + "%"); - stringBuilder.Append(" and Agent like :Agent"); + oracleParameterArray[5] = new OracleParameter(":Agent", (OracleDbType)126); + ((DbParameter)oracleParameterArray[5]).Value = (object)("%" + agent + "%"); + stringBuilder.Append(" and gwc.Agent like :Agent"); } + + if (supportStaff != null && supportStaff != "") + { + oracleParameterArray[6] = new OracleParameter(":SupportStaff", (OracleDbType)126); + ((DbParameter)oracleParameterArray[6]).Value = (object)(supportStaff); + stringBuilder.Append(" and gwc.SUPPORT_STAFF = :SupportStaff"); + } + if (isEnable != -1) + { + oracleParameterArray[7] = new OracleParameter(":IS_ENABLE", (OracleDbType)112); + ((DbParameter)oracleParameterArray[7]).Value = (object)(isEnable); + stringBuilder.Append(" and gwc.IS_ENABLE = :IS_ENABLE"); + } + + if (productId != null && productId != "") + { + stringBuilder.Append(" and gwc.CLIENT_ID IN ( SELECT distinct CLIENT_ID FROM GW_SP WHERE PRODUCT_ID = '" + productId + "' )"); + } + + //瀹㈡埛鏉冮檺SQL鑴氭湰 + stringBuilder.Append(permissionsSQL); + + stringBuilder.Append(" ) T "); + stringBuilder.Append(" order by CREATE_TIME DESC,CLIENT_ID DESC"); using (OracleDataReader reader = OracleHelper.ExecuteReader("select count(*) as count " + stringBuilder.ToString(), OracleHelper.Connection, oracleParameterArray)) { @@ -81,7 +130,95 @@ } return list; } - public List<GwClient> LoadInfoList(string clientID, string clientName, string company, string agent) + + //瀵煎嚭瀹㈡埛淇℃伅 + /// <returns></returns> + public DataTable LoadClientDataTable(string clientID, string clientName, string telephone, string agent, string company, string salesman, string supportStaff, string productId, int isEnable, string permissionsSQL) + { + + StringBuilder stringBuilder = new StringBuilder(); + stringBuilder.Append(" SELECT CLIENT_ID, COMPANY, CLIENT_NAME, TELEPHONE, Balance/1000 BALANCE, Top_up_Amount_Total/1000 TOP_UP_AMOUNT_TOTAL, SALESMAN_NAME, PRODUCT_IDS "); + stringBuilder.Append(" , CASE WHEN (Is_Enable=1) then '鍚敤' WHEN(Is_Enable=0) then '鍋滅敤' end as Is_Enable "); + stringBuilder.Append(" FROM ( "); + stringBuilder.Append("SELECT gwc.*, t.PRODUCT_IDS, su.user_name SALESMAN_NAME FROM GW_CLIENT gwc "); + stringBuilder.Append(" LEFT JOIN ( "); + stringBuilder.Append(" select gc.client_id, wm_concat( gp.name) PRODUCT_IDS from GW_CLIENT gc "); + stringBuilder.Append(" LEFT JOIN gw_product gp on INSTR (CLIENT_IDS, gc.client_id) > 0 "); + stringBuilder.Append(" GROUP BY gc.client_id "); + stringBuilder.Append(" ) t on t.client_id = gwc.client_id "); + stringBuilder.Append(" LEFT JOIN sys_user su on su.user_id = gwc.salesman "); + //stringBuilder.Append("from GW_CLIENT where 1=1"); + stringBuilder.Append(" WHERE 1=1"); + OracleParameter[] oracleParameterArray = new OracleParameter[8]; + if (clientID != null && clientID != "") + { + oracleParameterArray[0] = new OracleParameter(":ClientID", (OracleDbType)126); + ((DbParameter)oracleParameterArray[0]).Value = (object)('%' + clientID + '%'); + stringBuilder.Append(" and gwc.CLIENT_ID like :ClientID"); + } + if (clientName != null && clientName != "") + { + oracleParameterArray[1] = new OracleParameter(":ClientName", (OracleDbType)126); + ((DbParameter)oracleParameterArray[1]).Value = (object)('%' + clientName + '%'); + stringBuilder.Append(" and gwc.CLIENT_NAME like :ClientName"); + } + if (telephone != null && telephone != "") + { + oracleParameterArray[2] = new OracleParameter(":Telephone", (OracleDbType)126); + ((DbParameter)oracleParameterArray[2]).Value = (object)('%' + telephone + '%'); + stringBuilder.Append(" and gwc.TELEPHONE like :Telephone"); + } + if (company != null && company != "") + { + oracleParameterArray[3] = new OracleParameter(":Company", (OracleDbType)126); + ((DbParameter)oracleParameterArray[3]).Value = (object)('%' + company + '%'); + stringBuilder.Append(" and gwc.Company like :Company"); + } + if (salesman != null && salesman != "") + { + oracleParameterArray[4] = new OracleParameter(":Salesman", (OracleDbType)126); + ((DbParameter)oracleParameterArray[4]).Value = (object)(salesman); + stringBuilder.Append(" and gwc.Salesman = :Salesman"); + } + if (agent != null && agent != "") + { + oracleParameterArray[5] = new OracleParameter(":Agent", (OracleDbType)126); + ((DbParameter)oracleParameterArray[5]).Value = (object)("%" + agent + "%"); + stringBuilder.Append(" and gwc.Agent like :Agent"); + } + + if (supportStaff != null && supportStaff != "") + { + oracleParameterArray[6] = new OracleParameter(":SupportStaff", (OracleDbType)126); + ((DbParameter)oracleParameterArray[6]).Value = (object)(supportStaff); + stringBuilder.Append(" and gwc.SUPPORT_STAFF = :SupportStaff"); + } + if (isEnable != -1) + { + oracleParameterArray[7] = new OracleParameter(":IS_ENABLE", (OracleDbType)112); + ((DbParameter)oracleParameterArray[7]).Value = (object)(isEnable); + stringBuilder.Append(" and gwc.IS_ENABLE = :IS_ENABLE"); + } + + if (productId != null && productId != "") + { + stringBuilder.Append(" and gwc.CLIENT_ID IN ( SELECT distinct CLIENT_ID FROM GW_SP WHERE PRODUCT_ID = '" + productId + "' )"); + } + + //瀹㈡埛鏉冮檺SQL鑴氭湰 + stringBuilder.Append(permissionsSQL); + + stringBuilder.Append(" ) T "); + + stringBuilder.Append(" order by CREATE_TIME DESC,CLIENT_ID DESC"); + + return OracleHelper.Execute(PubConstant.doOracleSql(100000, stringBuilder.ToString()).ToString(), OracleHelper.Connection, oracleParameterArray); + } + + /** + * 鏌ヨ缁熻鍔熻兘 + */ + public List<GwClient> LoadInfoList(string clientID, string clientName, string company, string agent, string permissionsSQL) { @@ -89,7 +226,7 @@ try { StringBuilder stringBuilder = new StringBuilder(); - stringBuilder.Append("from GW_CLIENT where 1=1"); + stringBuilder.Append("from GW_CLIENT where 1=1 and IS_ENABLE=1 "); OracleParameter[] oracleParameterArray = new OracleParameter[4]; if (clientID != null && clientID != "") { @@ -115,6 +252,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)) { @@ -155,6 +296,53 @@ return OracleHelper.ExecuteSql("UPDATE GW_SP SET ALARM_MOBILE=:ALARM_MOBILE,BALANCE_THRESHOLD=:BALANCE_THRESHOLD WHERE CLIENT_ID=:CLIENT_ID", OracleHelper.Connection, new OracleParameter(":ALARM_MOBILE", (object)client.AlarmMobile), new OracleParameter(":BALANCE_THRESHOLD", (object)client.BalanceThreshold), new OracleParameter(":CLIENT_ID", (object)client.ClientID)) > 0; } + //鏇存柊瀹㈡埛鍏呭�兼暟鎹� + /** + * payAmount:鍏呭�奸噾棰� + * AddBalance:绱鍏呭�间綑棰� + * clientId锛氬鎴稩D + * + */ + public bool UpdateClientAmount(Int64 AddBalance, Int64 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; + } + + //鍚敤鎴栧仠鐢� + public bool UpdateStatus(string clientId, string isEnable) + { + List<KeyValuePair<string, OracleParameter[]>> list = new List<KeyValuePair<string, OracleParameter[]>>(); + if (!string.IsNullOrEmpty(isEnable)) + { + string key = "UPDATE GW_CLIENT SET IS_ENABLE=:IS_ENABLE WHERE CLIENT_ID=:CLIENT_ID"; + OracleParameter[] oracleParameterArray = new OracleParameter[2] + { + new OracleParameter(":IS_ENABLE", (object) isEnable), + new OracleParameter(":CLIENT_ID", (object) clientId) + }; + list.Add(new KeyValuePair<string, OracleParameter[]>(key, oracleParameterArray)); + } + OracleHelper.ExecuteSqlTran(list, OracleHelper.Connection); + return true; + } + /// <summary> /// 鏇存柊璐﹀彿鐨勪俊鎭� /// </summary> @@ -162,12 +350,53 @@ /// <returns></returns> public bool Update(GwClient item) { - return OracleHelper.ExecuteSql("UPDATE GW_CLIENT SET CLIENT_ID=:CLIENT_ID,CLIENT_NAME=:CLIENTNAME,TELEPHONE=:TELEPHONE,ADDRESS=:ADDRESS,COMPANY=:COMPANY,REMARK=:REMARK,PASSWORD=:PASSWORD,AGENT=:AGENT,PERMISSION_DATA=:PERMISSION_DATA,CREATE_TIME=SYSDATE WHERE ID=:Id", OracleHelper.Connection, new OracleParameter(":Id",(object)item.Id), new OracleParameter(":CLIENT_ID", (object)item.ClientID), new OracleParameter(":CLIENTNAME", (object)item.ClientName), new OracleParameter(":TELEPHONE", (object)item.Telephone), new OracleParameter(":ADDRESS", (object)item.Address), new OracleParameter(":COMPANY", (object)item.Company), new OracleParameter(":REMARK", (object)item.Remark), new OracleParameter(":PASSWORD", (object)item.Password), new OracleParameter(":AGENT", (object)item.Agent), new OracleParameter(":PERMISSION_DATA", (object)item.PermissionData)) > 0; + return OracleHelper.ExecuteSql("UPDATE GW_CLIENT SET CLIENT_ID=:CLIENT_ID,CLIENT_NAME=:CLIENTNAME," + + "TELEPHONE=:TELEPHONE,ADDRESS=:ADDRESS,COMPANY=:COMPANY,REMARK=:REMARK,AGENT=:AGENT,SALESMAN=:SALESMAN," + + "CUSTOMER_MANAGER=:CUSTOMER_MANAGER,SUPPORT_STAFF=:SUPPORT_STAFF,FINANCIAL_STAFF=:FINANCIAL_STAFF," + + "CHARGE_TYPE=:CHARGE_TYPE,SMS_STATUS_REPORT=:SMS_STATUS_REPORT,PERMISSION_DATA=:PERMISSION_DATA, " + + "IS_ENABLE_WHITE=:IS_ENABLE_WHITE, IS_ENABLE_BLACK=:IS_ENABLE_BLACK, IS_REMOTE_LOGIN_NOTICE=:IS_REMOTE_LOGIN_NOTICE, " + + "IS_MOBILE_CAPTCHA=:IS_MOBILE_CAPTCHA, IS_HIDE_MOBILE=:IS_HIDE_MOBILE, IS_DISPLAY_STATUS=:IS_DISPLAY_STATUS," + + " IS_LOGIN_IP_RESTRICT=:IS_LOGIN_IP_RESTRICT, IS_LOGIN_IP_ALLOW_GATHER=:IS_LOGIN_IP_ALLOW_GATHER, IS_LOGIN_CITY_RESTRICT=:IS_LOGIN_CITY_RESTRICT," + + " IS_LOGIN_CITY_ALLOW_GATHER=:IS_LOGIN_CITY_ALLOW_GATHER,CREATE_TIME=SYSDATE WHERE CLIENT_ID=:Id", + OracleHelper.Connection, new OracleParameter(":Id",(object)item.ClientID), new OracleParameter(":CLIENT_ID", (object)item.ClientID), + new OracleParameter(":CLIENTNAME", (object)item.ClientName), new OracleParameter(":TELEPHONE", (object)item.Telephone), + new OracleParameter(":ADDRESS", (object)item.Address), new OracleParameter(":COMPANY", (object)item.Company), + new OracleParameter(":REMARK", (object)item.Remark), new OracleParameter(":AGENT", (object)item.Agent), + new OracleParameter(":SALESMAN", (object)item.Salesman), new OracleParameter(":CUSTOMER_MANAGER", (object)item.CustomerManager), + new OracleParameter(":SUPPORT_STAFF", (object)item.SupportStaff), new OracleParameter(":FINANCIAL_STAFF", (object)item.FinancialStaff), + new OracleParameter(":CHARGE_TYPE", (object)item.ChargeType), new OracleParameter(":SMS_STATUS_REPORT", (object)item.SmsStatusReport), + new OracleParameter(":PERMISSION_DATA", (object)item.PermissionData), + new OracleParameter(":IS_ENABLE_WHITE", (object)item.IsEnableWhite), new OracleParameter(":IS_ENABLE_BLACK", (object)item.IsEnableBlack), + new OracleParameter(":IS_REMOTE_LOGIN_NOTICE", (object)item.IsRemoteLoginNotice), + new OracleParameter(":IS_MOBILE_CAPTCHA", (object)item.IsMobileCaptcha), new OracleParameter(":IS_HIDE_MOBILE", (object)item.IsHideMobile), + new OracleParameter(":IS_DISPLAY_STATUS", (object)item.IsDisplayStatus), new OracleParameter(":IS_LOGIN_IP_RESTRICT", + (object)item.IsLoginIpRestrict), new OracleParameter(":IS_LOGIN_IP_ALLOW_GATHER", (object)item.IsLoginIpAllowGather), + new OracleParameter(":IS_LOGIN_CITY_RESTRICT", (object)item.IsLoginCityRestrict), + new OracleParameter(":IS_LOGIN_CITY_ALLOW_GATHER", (object)item.IsLoginCityAllowGather) ) > 0; } public bool Add(GwClient item) { - return OracleHelper.ExecuteSql("INSERT INTO GW_CLIENT(CLIENT_ID,CLIENT_NAME,TELEPHONE,ADDRESS,AGENT,COMPANY,REMARK,PASSWORD,PERMISSION_DATA,CREATE_TIME,PARENTID) VALUES(:CLIENTID,:CLIENTNAME,:TELEPHONE,:ADDRESS,:AGENT,:COMPANY,:REMARK,:PASSWORD,:PERMISSION_DATA,SYSDATE,:PARENTID)", OracleHelper.Connection, new OracleParameter(":CLIENTID", (object)item.ClientID), new OracleParameter(":CLIENTNAME", (object)item.ClientName), new OracleParameter(":TELEPHONE", (object)item.Telephone), new OracleParameter(":ADDRESS", (object)item.Address), new OracleParameter(":AGENT", (object)item.Agent), new OracleParameter(":COMPANY", (object)item.Company), new OracleParameter(":REMARK", (object)item.Remark), new OracleParameter(":PASSWORD", (object)item.Password), new OracleParameter(":PERMISSION_DATA", (object)item.PermissionData), new OracleParameter(":PARENTID", (object)item.ParentId)) > 0; + return OracleHelper.ExecuteSql("INSERT INTO GW_CLIENT(CLIENT_ID,CLIENT_NAME,TELEPHONE,ADDRESS,AGENT,SALESMAN,CUSTOMER_MANAGER,SUPPORT_STAFF,FINANCIAL_STAFF," + + "CHARGE_TYPE,SMS_STATUS_REPORT,COMPANY,REMARK,PASSWORD, SALT, PERMISSION_DATA, IS_ENABLE_WHITE, IS_ENABLE_BLACK, IS_REMOTE_LOGIN_NOTICE, " + + "IS_MOBILE_CAPTCHA, IS_HIDE_MOBILE, IS_DISPLAY_STATUS, IS_LOGIN_IP_RESTRICT, IS_LOGIN_IP_ALLOW_GATHER, IS_LOGIN_CITY_RESTRICT, IS_LOGIN_CITY_ALLOW_GATHER," + + "CREATE_TIME,CLIENT_PARENTID,Certification_Status) VALUES (:CLIENTID,:CLIENTNAME,:TELEPHONE,:ADDRESS,:AGENT,:SALESMAN,:CUSTOMER_MANAGER,:SUPPORT_STAFF,:FINANCIAL_STAFF," + + ":CHARGE_TYPE,:SMS_STATUS_REPORT,:COMPANY,:REMARK,:PASSWORD, :SALT,:PERMISSION_DATA, :IS_ENABLE_WHITE, :IS_ENABLE_BLACK, :IS_REMOTE_LOGIN_NOTICE, " + + ":IS_MOBILE_CAPTCHA, :IS_HIDE_MOBILE, :IS_DISPLAY_STATUS, :IS_LOGIN_IP_RESTRICT, :IS_LOGIN_IP_ALLOW_GATHER, :IS_LOGIN_CITY_RESTRICT, :IS_LOGIN_CITY_ALLOW_GATHER,SYSDATE," + + ":CLIENT_PARENTID,:Certification_Status)", OracleHelper.Connection, new OracleParameter(":CLIENTID", (object)item.ClientID), new OracleParameter(":CLIENTNAME", + (object)item.ClientName), new OracleParameter(":TELEPHONE", (object)item.Telephone), new OracleParameter(":ADDRESS", (object)item.Address), + new OracleParameter(":AGENT", (object)item.Agent), new OracleParameter(":SALESMAN", (object)item.Salesman), + new OracleParameter(":CUSTOMER_MANAGER", (object)item.CustomerManager), new OracleParameter(":SUPPORT_STAFF", (object)item.SupportStaff), + new OracleParameter(":FINANCIAL_STAFF", (object)item.FinancialStaff), new OracleParameter(":CHARGE_TYPE", (object)item.ChargeType), + new OracleParameter(":SMS_STATUS_REPORT", (object)item.SmsStatusReport), + new OracleParameter(":COMPANY", (object)item.Company), new OracleParameter(":REMARK", (object)item.Remark), new OracleParameter(":PASSWORD", (object)item.Password), + new OracleParameter(":SALT", (object)item.Salt), new OracleParameter(":PERMISSION_DATA", (object)item.PermissionData), new OracleParameter(":CLIENT_PARENTID", (object)item.Client_Parentid), + new OracleParameter(":Certification_Status", (object)item.Certification_Status), new OracleParameter(":IS_ENABLE_WHITE", (object)item.IsEnableWhite), + new OracleParameter(":IS_ENABLE_BLACK", (object)item.IsEnableBlack), new OracleParameter(":IS_REMOTE_LOGIN_NOTICE", (object)item.IsRemoteLoginNotice), + new OracleParameter(":IS_MOBILE_CAPTCHA", (object)item.IsMobileCaptcha), new OracleParameter(":IS_HIDE_MOBILE", (object)item.IsHideMobile), + new OracleParameter(":IS_DISPLAY_STATUS", (object)item.IsDisplayStatus), new OracleParameter(":IS_LOGIN_IP_RESTRICT", (object)item.IsLoginIpRestrict), + new OracleParameter(":IS_LOGIN_IP_ALLOW_GATHER", (object)item.IsLoginIpAllowGather), new OracleParameter(":IS_LOGIN_CITY_RESTRICT", (object)item.IsLoginCityRestrict), + new OracleParameter(":IS_LOGIN_CITY_ALLOW_GATHER", (object)item.IsLoginCityAllowGather) ) > 0; } public GwClient Get(string clientID) @@ -217,6 +446,11 @@ return list; } + /// <summary> + /// 鍒ゆ柇璐︽埛鏄惁瀛樺湪 + /// </summary> + /// <param name="clientID">璐︽埛</param> + /// <returns></returns> public bool IsIDExists(string clientID) { if (string.IsNullOrEmpty(clientID) || string.Equals("0", clientID)) @@ -258,11 +492,38 @@ o.Company = oracleReaderWrapper.GetString("COMPANY", ""); o.Remark = oracleReaderWrapper.GetString("REMARK", ""); o.Password = oracleReaderWrapper.GetString("PASSWORD", ""); + o.Salt = oracleReaderWrapper.GetString("SALT", ""); o.Agent = oracleReaderWrapper.GetString("AGENT", ""); o.AlarmMobile = oracleReaderWrapper.GetString("ALARM_MOBILE", ""); o.BalanceThreshold = oracleReaderWrapper.GetInt("BALANCE_THRESHOLD", 0); + o.Balance = oracleReaderWrapper.GetInt("BALANCE", 0); o.PermissionData = oracleReaderWrapper.GetString("PERMISSION_DATA", ""); + o.ProductIds = oracleReaderWrapper.GetString("PRODUCT_IDS", ""); ; //宸插垎閰嶇殑涓�т骇鍝侀泦锛屽涓互鈥�,鈥濆垎闅� o.Id = oracleReaderWrapper.GetInt("ID", 0); + o.Certification_Status = oracleReaderWrapper.GetInt("CERTIFICATION_STATUS", 0); + o.Client_Classes = oracleReaderWrapper.GetInt("CLIENT_CLASSES",0); + o.Client_Parentid = oracleReaderWrapper.GetString("CLIENT_PARENTID", ""); + o.Client_Type = oracleReaderWrapper.GetInt("CLIENT_TYPE", 0); + o.Is_Enable = oracleReaderWrapper.GetInt("IS_ENABLE", 0); + o.Top_up_Amount_Total = (decimal)oracleReaderWrapper.GetInt("TOP_UP_AMOUNT_TOTAL", 0); + o.Salesman = oracleReaderWrapper.GetString("SALESMAN", ""); + o.CustomerManager = oracleReaderWrapper.GetString("CUSTOMER_MANAGER", ""); + o.SupportStaff = oracleReaderWrapper.GetString("SUPPORT_STAFF", ""); + o.FinancialStaff = oracleReaderWrapper.GetString("FINANCIAL_STAFF", ""); + o.ChargeType = oracleReaderWrapper.GetInt("CHARGE_TYPE", 0); + o.SmsStatusReport = oracleReaderWrapper.GetInt("SMS_STATUS_REPORT", 0); + o.MmsStatusReport = oracleReaderWrapper.GetInt("MMS_STATUS_REPORT", 0); + + o.IsEnableWhite = oracleReaderWrapper.GetInt("IS_ENABLE_WHITE", 0); + o.IsEnableBlack = oracleReaderWrapper.GetInt("IS_ENABLE_BLACK", 0); + o.IsRemoteLoginNotice = oracleReaderWrapper.GetInt("IS_REMOTE_LOGIN_NOTICE", 0); + o.IsMobileCaptcha = oracleReaderWrapper.GetInt("IS_MOBILE_CAPTCHA", 0); + o.IsHideMobile = oracleReaderWrapper.GetInt("IS_HIDE_MOBILE", 0); + o.IsDisplayStatus = oracleReaderWrapper.GetInt("IS_DISPLAY_STATUS", 0); + o.IsLoginIpRestrict = oracleReaderWrapper.GetInt("IS_LOGIN_IP_RESTRICT", 0); + o.IsLoginIpAllowGather = oracleReaderWrapper.GetString("IS_LOGIN_IP_ALLOW_GATHER", ""); + o.IsLoginCityRestrict = oracleReaderWrapper.GetInt("IS_LOGIN_CITY_RESTRICT", 0); + o.IsLoginCityAllowGather = oracleReaderWrapper.GetString("IS_LOGIN_CITY_ALLOW_GATHER", ""); return true; } @@ -319,6 +580,152 @@ } return true; } + + /** + * 鍑芥暟鎻忚堪锛� 鏍规嵁瀹㈡埛ID鑾峰彇鍒嗛厤鐨勪釜鎬т骇鍝� + * clientId: 瀹㈡埛鎴稩D + * userType: 鐢ㄦ埛绫诲瀷锛屽涓椂浠モ��,鈥濆垎闅旓細1-绠$悊鍛�;2-涓氬姟鍛�--鍏ㄥ憳;3-瀹㈡埛缁忕悊;4-瀹㈡湇浜哄憳;5-璐㈠姟浜哄憳 + * return: SQL瀛楃涓� + * */ + + public Dictionary<string, GwProduct> GetPersonalityProduct(string clientId) + { + Dictionary<string, GwProduct> dictionary = new Dictionary<string, GwProduct>(); + using (OracleDataReader reader = OracleHelper.ExecuteReader("SELECT * FROM GW_PRODUCT WHERE INSTR (CLIENT_IDS, :CLIENT_ID) > 0 ", OracleHelper.Connection, new OracleParameter(":CLIENT_ID", (object)clientId))) + { + while (reader != null && ((DbDataReader)reader).Read()) + { + OracleReaderWrapper oracleReaderWrapper = new OracleReaderWrapper(reader); + string string1 = oracleReaderWrapper.GetString("ID", ""); + string string2 = oracleReaderWrapper.GetString("CLIENT_IDS", ""); + + GwProduct o = new GwProduct(); + o.Id = string1; + o.ClientIds = string2; + + dictionary[string1] = o; + } + } + return dictionary; + } + + //淇敼鍒嗛厤涓�т骇鍝侊細淇敼纭 + public void UpdateProduct(string clientId, string[] productIdArray) + { + List<KeyValuePair<string, OracleParameter[]>> list = new List<KeyValuePair<string, OracleParameter[]>>(); + //鏇存柊涓�у垎閰嶅鎴烽泦鍘婚櫎鍖呭惈鏈鎴� + string key1 = " UPDATE GW_PRODUCT SET CLIENT_IDS=(REPLACE(REPLACE(REPLACE(CLIENT_IDS, ','||:CLIENT_ID), :CLIENT_ID||',' ), :CLIENT_ID ) ) WHERE INSTR (CLIENT_IDS, :CLIENT_ID) > 0 "; + OracleParameter[] oracleParameterArray1 = new OracleParameter[1] + { + new OracleParameter(":CLIENT_ID", (object) clientId) + }; + + list.Add(new KeyValuePair<string, OracleParameter[]>(key1, oracleParameterArray1)); + OracleHelper.ExecuteSqlTran(list, OracleHelper.Connection); + if (productIdArray == null || productIdArray.Length <= 0) + return; + + //鏇存柊涓�у垎閰嶅鎴烽泦闀垮害澶т簬0鏃� + string key2 = "UPDATE GW_PRODUCT SET CLIENT_IDS=:CLIENT_ID || ',' || CLIENT_IDS WHERE (CLIENT_IDS IS NOT NULL AND LENGTH(CLIENT_IDS) > 0) AND ID=:PRODUCT_ID "; + + list = new List<KeyValuePair<string, OracleParameter[]>>(); + foreach (string str in productIdArray) + { + OracleParameter[] oracleParameterArray2 = new OracleParameter[2] + { + new OracleParameter(":CLIENT_ID", (object) clientId), + new OracleParameter(":PRODUCT_ID", (object) str) + }; + + list.Add(new KeyValuePair<string, OracleParameter[]>(key2, oracleParameterArray2)); + } + OracleHelper.ExecuteSqlTran(list, OracleHelper.Connection); + + + //鏇存柊涓�у垎閰嶅鎴烽泦闀垮害涓�0鏃� + string key3 = "UPDATE GW_PRODUCT SET CLIENT_IDS=:CLIENT_ID WHERE (CLIENT_IDS IS NULL OR LENGTH(CLIENT_IDS) <= 0) AND ID=:PRODUCT_ID "; + + list = new List<KeyValuePair<string, OracleParameter[]>>(); + foreach (string str in productIdArray) + { + OracleParameter[] oracleParameterArray2 = new OracleParameter[2] + { + new OracleParameter(":CLIENT_ID", (object) clientId), + new OracleParameter(":PRODUCT_ID", (object) str) + }; + + list.Add(new KeyValuePair<string, OracleParameter[]>(key3, oracleParameterArray2)); + } + OracleHelper.ExecuteSqlTran(list, OracleHelper.Connection); + } + + + /** + * 鍑芥暟鎻忚堪锛� 鏍规嵁绯荤粺鐢ㄦ埛鑾峰彇鏈夋潈闄愬鎴� + * userId: 鐢ㄦ埛ID + * userType: 鐢ㄦ埛绫诲瀷锛屽涓椂浠モ��,鈥濆垎闅旓細1-绠$悊鍛�;2-涓氬姟鍛�--鍏ㄥ憳;3-瀹㈡埛缁忕悊;4-瀹㈡湇浜哄憳;5-璐㈠姟浜哄憳 + * return: SQL瀛楃涓� + * */ + public string GetClientPermissions(int userId, string userType, string alias) + { + if (!string.IsNullOrEmpty(alias)) + { + alias += "."; + } + + string sqlStr = ""; + //涓氬姟鍛� + if(DataConverter.checkStrForArrayStr(2, userType)) + { + sqlStr += " AND " + alias + "CLIENT_ID IN (SELECT CLIENT_ID FROM GW_CLIENT WHERE IS_ENABLE=1 AND (SALESMAN='" + userId + "' ) ) "; + } + //瀹㈡埛缁忕悊 + else if (DataConverter.checkStrForArrayStr(3, userType) ) + { + sqlStr += " AND " + alias + "CLIENT_ID IN (SELECT CLIENT_ID FROM GW_CLIENT WHERE IS_ENABLE=1 AND (SALESMAN='" + userId + "' or CUSTOMER_MANAGER='" + userId + "' ) ) "; + } + //绠$悊鍛� + else if (DataConverter.checkStrForArrayStr(1, userType)) + { + //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-璐㈠姟浜哄憳 + * return: SQL瀛楃涓� + * */ + public string GetSpPermissions(int userId, string userType, string alias) + { + if (!string.IsNullOrEmpty(alias)) + { + alias += "."; + } + + string sqlStr = ""; + //涓氬姟鍛� + if (DataConverter.checkStrForArrayStr(2, userType)) + { + 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 (DataConverter.checkStrForArrayStr(3, userType)) + { + 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 if (DataConverter.checkStrForArrayStr(1, userType)) + { + //sqlStr += " AND CLIENT_ID IN (SELECT CLIENT_ID FROM GW_CLIENT WHERE IS_ENABLE=1 ) "; + } + + return sqlStr; + } + } } -- Gitblit v1.9.1