wzp
2021-09-16 91912ad24d477ff24be56f0a22438303a8eae552
web/Dao/GwSpDao.cs
New file
@@ -0,0 +1,704 @@

using Common;
using Model;
using Oracle.DataAccess.Client;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.Common;
using System.Text;
namespace Dao
{
  public class GwSpDao : IDisposable
  {
    public List<SpCTPatternInfo> GetPatternList()
    {
      List<SpCTPatternInfo> list = new List<SpCTPatternInfo>();
      using (OracleDataReader reader = OracleHelper.ExecuteReader("SELECT * FROM GW_SP_CTPATTERN ORDER BY SP_ID DESC", OracleHelper.Connection))
      {
        while (reader != null && ((DbDataReader) reader).Read())
        {
          OracleReaderWrapper oracleReaderWrapper = new OracleReaderWrapper(reader);
          string[] strArray = oracleReaderWrapper.GetString("PATTERN", "").Split("\r\n".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
          StringBuilder stringBuilder = new StringBuilder();
          int num = 1;
          foreach (string str in strArray)
          {
            stringBuilder.AppendFormat("{0}.", (object) num++);
            stringBuilder.Append(str);
            stringBuilder.Append("<br/>");
          }
          SpCTPatternInfo spCtPatternInfo = new SpCTPatternInfo()
          {
            SpID = oracleReaderWrapper.GetString("SP_ID", ""),
            Pattern = stringBuilder.ToString(),
            Count = strArray.Length,
            Enabled = oracleReaderWrapper.GetInt("ENABLED", 1),
            OperatorID = oracleReaderWrapper.GetString("OPERATOR_ID", string.Empty),
            CreateTime = oracleReaderWrapper.GetDateTime("CREATE_TIME"),
            UpdateTime = oracleReaderWrapper.GetDateTime("UPDATE_TIME"),
            Remark = oracleReaderWrapper.GetString("REMARK", "")
          };
          list.Add(spCtPatternInfo);
        }
      }
      return list;
    }
    public SpCTPatternInfo GetPattern(string spID)
    {
      using (OracleDataReader reader = OracleHelper.ExecuteReader("SELECT * FROM GW_SP_CTPATTERN  WHERE SP_ID=:SP_ID", OracleHelper.Connection, new OracleParameter(":SP_ID", (object) spID)))
      {
        if (reader != null && ((DbDataReader) reader).Read())
        {
          OracleReaderWrapper oracleReaderWrapper = new OracleReaderWrapper(reader);
          string string1 = oracleReaderWrapper.GetString("PATTERN", "");
          string string2 = oracleReaderWrapper.GetString("PREPATTERN", "");
          return new SpCTPatternInfo()
          {
            SpID = oracleReaderWrapper.GetString("SP_ID", ""),
            Enabled = oracleReaderWrapper.GetInt("Enabled", 0),
            OperatorID = oracleReaderWrapper.GetString("OPERATOR_ID", string.Empty),
            Pattern = string1,
            PrePattern = string2,
            CreateTime = oracleReaderWrapper.GetDateTime("CREATE_TIME"),
            UpdateTime = oracleReaderWrapper.GetDateTime("UPDATE_TIME"),
            Remark = oracleReaderWrapper.GetString("REMARK", "")
          };
        }
      }
      return new SpCTPatternInfo()
      {
        SpID = spID,
        Enabled = 1
      };
    }
    public List<GwSp> LoadClientSpIDList(string clientID)
    {
      List<GwSp> list = new List<GwSp>();
      try
      {
        StringBuilder stringBuilder = new StringBuilder();
        stringBuilder.Append("SELECT * FROM GW_SP WHERE CLIENT_ID=:CLIENT_ID ORDER BY SP_ID DESC");
        OracleParameter[] oracleParameterArray = new OracleParameter[1]
        {
          new OracleParameter(":CLIENT_ID", (object) clientID)
        };
        using (OracleDataReader reader = OracleHelper.ExecuteReader(stringBuilder.ToString(), OracleHelper.Connection, oracleParameterArray))
        {
          while (((DbDataReader) reader).Read())
          {
            GwSp o = new GwSp();
            if (this.ReadInfo(reader, o))
              list.Add(o);
          }
        }
      }
      catch (Exception ex)
      {
        LogHelper.Error(ex);
        return list;
      }
      return list;
    }
    public List<GwSp> LoadClientStatusList(string clientID)
    {
      List<GwSp> list = new List<GwSp>();
      try
      {
        StringBuilder stringBuilder = new StringBuilder();
        stringBuilder.Append("SELECT * FROM GW_SP WHERE CLIENT_ID=:CLIENT_ID AND STATUS=1 ORDER BY SP_ID DESC");
        OracleParameter[] oracleParameterArray = new OracleParameter[1]
        {
          new OracleParameter(":CLIENT_ID", (object) clientID)
        };
        using (OracleDataReader reader = OracleHelper.ExecuteReader(stringBuilder.ToString(), OracleHelper.Connection, oracleParameterArray))
        {
          while (((DbDataReader) reader).Read())
          {
            GwSp o = new GwSp();
            if (this.ReadInfo(reader, o))
              list.Add(o);
          }
        }
      }
      catch (Exception ex)
      {
        LogHelper.Error(ex);
        return list;
      }
      return list;
    }
    public int ClientCount(string clientID)
    {
      string str = string.Format("select count(*) as Count  from GW_SP where CLIENT_ID=:CLIENT_ID ");
      List<OracleParameter> list = new List<OracleParameter>();
      int num = 0;
      using (OracleDataReader reader = OracleHelper.ExecuteReader(str.ToString(), OracleHelper.Connection, new OracleParameter(":CLIENT_ID", (object) clientID)))
      {
        while (((DbDataReader) reader).Read())
          num = this.ReadCount(reader);
      }
      return num;
    }
      //新加删除通道是否被使用
    public int GwOpCount(int opid)
    {
        string str = string.Format("SELECT count(*) as Count  from GW_SP where  CM_OP_ID=:CM_OP_ID OR CT_OP_ID=:CT_OP_ID OR UN_OP_ID=:UN_OP_ID ");
        List<OracleParameter> list = new List<OracleParameter>();
        int num = 0;
        using (OracleDataReader reader = OracleHelper.ExecuteReader(str.ToString(), OracleHelper.Connection, new OracleParameter(":CM_OP_ID", (object)opid), new OracleParameter(":CT_OP_ID", (object)opid), new OracleParameter(":UN_OP_ID", (object)opid)))
        {
            while (((DbDataReader)reader).Read())
                num = this.ReadCount(reader);
        }
        return num;
    }
      //
    public bool UpdatePattern(string spID, int enabled, string pattern, string operatorID)
    {
      return OracleHelper.ExecuteSql(string.Format("\r\n BEGIN\r\n UPDATE GW_SP_CTPATTERN SET PATTERN=:PATTERN,UPDATE_TIME=SYSDATE,OPERATOR_ID=:OPERATOR_ID,ENABLED=:ENABLED WHERE SP_ID=:SP_ID;\r\n IF SQL%ROWCOUNT=0 THEN\r\n INSERT INTO GW_SP_CTPATTERN(SP_ID,PATTERN,UPDATE_TIME,CREATE_TIME,OPERATOR_ID,ENABLED) VALUES(:SP_ID,:PATTERN,SYSDATE,SYSDATE,:OPERATOR_ID,:ENABLED);\r\n END IF;\r\n END;"), OracleHelper.Connection, new OracleParameter(":SP_ID", (object) spID), new OracleParameter(":PATTERN", (OracleDbType) 105, (object) pattern, ParameterDirection.Input), new OracleParameter(":OPERATOR_ID", (object) operatorID), new OracleParameter(":ENABLED", (object) enabled)) > 0;
    }
    public bool UpdatePattern(SpCTPatternInfo cTPattern, string operatorID)
    {
      return OracleHelper.ExecuteSql(string.Format("\r\n            BEGIN\r\n                UPDATE GW_SP_CTPATTERN SET PATTERN=:PATTERN,UPDATE_TIME=SYSDATE,OPERATOR_ID=:OPERATOR_ID,ENABLED=:ENABLED WHERE SP_ID=:SP_ID;\r\n                IF SQL%ROWCOUNT=0 THEN\r\n                    INSERT INTO GW_SP_CTPATTERN(SP_ID,PATTERN,UPDATE_TIME,CREATE_TIME,OPERATOR_ID,ENABLED) VALUES(:SP_ID,:PATTERN,SYSDATE,SYSDATE,:OPERATOR_ID,:ENABLED);\r\n                END IF;\r\n            END;"), OracleHelper.Connection, new OracleParameter(":SP_ID", (object) cTPattern.SpID), new OracleParameter(":PATTERN", (OracleDbType) 105, (object) cTPattern.Pattern, ParameterDirection.Input), new OracleParameter(":OPERATOR_ID", (object) operatorID), new OracleParameter(":ENABLED", (object) cTPattern.Enabled)) > 0;
    }
    public DataTable LoadSpDataTable(string spId, string apId, string clientId)
    {
          spId = "";   apId = "";   clientId = "";
      StringBuilder stringBuilder = new StringBuilder();
      stringBuilder.Append("select  '&nbsp;'  || SP_ID as SP_ID, AP_ID, '&nbsp;' || CLIENT_ID  as CLIENT_ID, STRATEGY_ID, PASSWORD, CLIENT_IP, CLIENT_PORT, ACCESS_CODE, BALANCE/1000 AS BALANCE, PRIORITY, PRICE/1000 AS PRICE, CASE CHARGE_TYPE  WHEN 2 THEN '后付费' ELSE '预付费' END as CHARGE_TYPE, THRESHOLD, CREATE_TIME, REMARK, ACTIVATE_TIME, MAX_CONN_COUNT, MO_ENABLED, FORCE_UDHI, PASSING_TIME, AUDITING_MODE, DEDUCT_PERCENT, CM_OP_ID, CT_OP_ID, UN_OP_ID, DEFISHING_THRESHOLD, TIME_PERMITTING, REJECT_IF_FORBIDDEN, DEFISHING_TIMEOUT, SIGNATURES, REJECT_IF_NO_SIGNATURE, REFUND_IF_UNDELIVERED, ROUTER_TYPE, CHANNEL_TYPE, STATUS, MODIFY_TIME, DEFISHING_OP_ID, MONTH_FIXED_FEE, MONTH_MIN_FEE, FEE_SHORT_LENGTH, FEE_LONG_LENGTH, SIGNATURE_MODE, MCPM, MC_EXPRESSION, BLACK_MODE, DIVERTER_ID  from GW_SP where 1=1");
      OracleParameter[] oracleParameterArray = new OracleParameter[3];
      if (spId != null && spId != "")
      {
        oracleParameterArray[0] = new OracleParameter(":SpID", (OracleDbType) 112);
        ((DbParameter) oracleParameterArray[0]).Value = (object) spId;
        stringBuilder.Append(" and SP_ID=:SpID");
      }
      if (apId != null && apId != "")
      {
        oracleParameterArray[1] = new OracleParameter(":ApID", (OracleDbType) 112);
        ((DbParameter) oracleParameterArray[1]).Value = (object) apId;
        stringBuilder.Append(" and AP_ID=:ApID");
      }
      if (clientId != null && clientId != "")
      {
        oracleParameterArray[2] = new OracleParameter(":ClientID", (OracleDbType) 126);
        ((DbParameter) oracleParameterArray[2]).Value = (object) clientId;
        stringBuilder.Append(" and CLIENT_ID=:ClientID");
      }
      return OracleHelper.Execute(PubConstant.doOracleSql(100000, stringBuilder.ToString()).ToString(), OracleHelper.Connection, oracleParameterArray);
    }
    public List<GwSp> LoadInfoList(string spId, string apId, string clientId)
    {
      List<GwSp> list1 = new List<GwSp>();
      StringBuilder stringBuilder = new StringBuilder();
      stringBuilder.Append("from GW_SP where 1=1");
      List<OracleParameter> list2 = new List<OracleParameter>();
      if (spId != null && spId != "")
      {
        list2.Add(new OracleParameter(":SpID", (object) spId));
        stringBuilder.Append(" and SP_ID=:SpID");
      }
      if (apId != null && apId != "")
      {
        list2.Add(new OracleParameter(":ApID", (object) apId));
        stringBuilder.Append(" and AP_ID=:ApID");
      }
      if (clientId != null && clientId != "")
      {
        list2.Add(new OracleParameter(":ClientID", (object) clientId));
        stringBuilder.Append(" and CLIENT_ID=:ClientID");
      }
      stringBuilder.Append(" order by SP_ID DESC");
      using (OracleDataReader reader = OracleHelper.ExecuteReader("select * " + stringBuilder.ToString(), OracleHelper.Connection, list2.ToArray()))
      {
        while (((DbDataReader) reader).Read())
        {
          GwSp o = new GwSp();
          if (this.ReadInfo(reader, o))
            list1.Add(o);
        }
      }
      return list1;
    }
        public List<GwSp> LoadInfoList(string spId, string apId, string clientId, int routerType, string opID, int chargeType, int pageIndex, int pageSize, string resendStatus, out int recordCount)
        {
            List<GwSp> list1 = new List<GwSp>();
            recordCount = 0;
            StringBuilder stringBuilder = new StringBuilder();
            stringBuilder.Append("from GW_SP where 1=1");
            List<OracleParameter> list2 = new List<OracleParameter>();
            if (spId != null && spId != "")
            {
                list2.Add(new OracleParameter(":SpID", (object)spId));
                stringBuilder.Append(" and SP_ID=:SpID");
            }
            if (apId != null && apId != "")
            {
                list2.Add(new OracleParameter(":ApID", (object)apId));
                stringBuilder.Append(" and AP_ID=:ApID");
            }
            if (resendStatus != null && resendStatus != "" &&int.Parse( resendStatus)!=3)
            {
                list2.Add(new OracleParameter(":RESENDSTATUS", (object)resendStatus));
                stringBuilder.Append(" and RESEND_STATUS=:RESENDSTATUS");
            }
            if (clientId != null && clientId != "")
            {
                list2.Add(new OracleParameter(":ClientID", (object)clientId));
                stringBuilder.Append(" and CLIENT_ID=:ClientID");
            }
            if (chargeType > 0)
            {
                list2.Add(new OracleParameter(":ChargeType", (object)chargeType));
                stringBuilder.Append(" and CHARGE_TYPE=:ChargeType");
            }
            if (routerType > 0)
            {
                if (routerType == 1)
                {
                    list2.Add(new OracleParameter(":ROUTER_TYPE", (object)routerType));
                    stringBuilder.Append(" and ROUTER_TYPE=:ROUTER_TYPE");
                    if (!string.IsNullOrEmpty(opID))
                    {
                        stringBuilder.Append(" and (CM_OP_ID=:OPID) OR (CT_OP_ID=:OPID) OR (UN_OP_ID=:OPID) ");
                        list2.Add(new OracleParameter(":OPID", (object)opID));
                    }
                }
                if (routerType == 3)
                {
                    list2.Add(new OracleParameter(":ROUTER_TYPE", (object)routerType));
                    stringBuilder.Append(" and ROUTER_TYPE=:ROUTER_TYPE");
                    if (!string.IsNullOrEmpty(opID))
                    {
                        stringBuilder.Append(" and (CM_GROUP_ID=:OPID) OR (CU_GROUP_ID=:OPID) OR (CT_GROUP_ID=:OPID) ");
                        list2.Add(new OracleParameter(":OPID", (object)opID));
                    }
                }
            }
            stringBuilder.Append(" order by ID DESC");
            using (OracleDataReader reader = OracleHelper.ExecuteReader("select count(*) as count " + stringBuilder.ToString(), OracleHelper.Connection, list2.ToArray()))
            {
                while (((DbDataReader)reader).Read())
                    recordCount = this.ReadCount(reader);
            }
            using (OracleDataReader reader = OracleHelper.ExecuteReader(PubConstant.doOracleSql(pageIndex, pageSize, recordCount, "select * " + stringBuilder.ToString()).ToString(), OracleHelper.Connection, list2.ToArray()))
            {
                while (((DbDataReader)reader).Read())
                {
                    GwSp o = new GwSp();
                    if (this.ReadInfo(reader, o))
                        list1.Add(o);
                }
            }
            return list1;
        }
    public bool Update(GwSp o)
    {
        return OracleHelper.ExecuteSql("UPDATE GW_SP SET AP_ID=:APID,COMBINATION_MODE=:COMBINATION_MODE,CLIENT_ID=:CLIENTID,STRATEGY_ID=:STRATEGYID,PASSWORD=:PASSWORD,\r\nCLIENT_IP=:CLIENTIP,CLIENT_PORT=:CLIENTPORT,ACCESS_CODE=:ACCESSCODE,\r\nPRIORITY=:PRIORITY,PRICE=:PRICE,CHARGE_TYPE=:CHARGETYPE,\r\nTHRESHOLD=:THRESHOLD,MAX_CONN_COUNT=:MAXCONNCOUNT,REMARK=:REMARK,\r\nTIME_PERMITTING=:TIME_PERMITTING,AUDITING_MODE=:AUDITINGMODE,\r\nDEDUCT_PERCENT=:DEDUCTPERCENT,\r\nCM_OP_ID=:CM_OP_ID,CT_OP_ID=:CT_OP_ID,UN_OP_ID=:UN_OP_ID,\r\nDEFISHING_TIMEOUT = :DEFISHING_TIMEOUT,DEFISHING_THRESHOLD =:DEFISHING_THRESHOLD,\r\nREJECT_IF_FORBIDDEN =:REJECT_IF_FORBIDDEN,\r\nREFUND_IF_UNDELIVERED =:REFUND_IF_UNDELIVERED,\r\nROUTER_TYPE=:ROUTER_TYPE,STATUS=:STATUS,ACCESSCODE_MODE=:ACCESSCODE_MODE,\r\nEXTNOEXTENSION_MODE=:EXTNOEXTENSION_MODE,DEFISHING_OP_ID =:DEFISHING_OP_ID,\r\nMODIFY_TIME=SYSDATE,FEE_SHORT_LENGTH=:FEE_SHORT_LENGTH,FEE_LONG_LENGTH=:FEE_LONG_LENGTH,\r\nBLACK_MODE=:BLACK_MODE,\r\nDIVERTER_ID=:DIVERTER_ID,\r\nMCPM=:MCPM,\r\nMC_EXPRESSION=:MC_EXPRESSION,\r\nCM_EXT_PARAMS=:CM_EXT_PARAMS,\r\nCT_EXT_PARAMS=:CT_EXT_PARAMS,\r\nCU_EXT_PARAMS=:CU_EXT_PARAMS,\r\nCM_GROUP_ID=:CM_GROUP_ID,\r\nCU_GROUP_ID=:CU_GROUP_ID,\r\nCT_GROUP_ID=:CT_GROUP_ID ,\r\nBALANCE_THRESHOLD = :BALANCE_THRESHOLD,\r\nALARM_MOBILE = :ALARM_MOBILE,\r\nFORCE_SIGN_FLAG = :FORCE_SIGN_FLAG,\r\nFORCE_SIGN = :FORCE_SIGN,\r\nSIGNATURE_MODE=:SIGNATURE_MODE,\r\nSIGNATURES=:SIGNATURES\r\n,VerCodeMode=:VerCodeMode \r\n,ProvincialNetworkMode=:ProvincialNetworkMode \r\n,RESEND_STATUS=:RESEND_STATUS \r\n,RESEND_CM_GROUPID=:RESEND_CM_GROUPID \r\n,RESEND_CU_GROUPID=:RESEND_CU_GROUPID \r\n,RESEND_CT_GROUPID=:RESEND_CT_GROUPID,TRANSFERFLAG=:TRANSFERFLAG WHERE SP_ID=:SPID", OracleHelper.Connection, new OracleParameter(":APID", (object)o.ApID), new OracleParameter(":COMBINATION_MODE", (object)o.CombinationMode), new OracleParameter(":CLIENTID", (object)o.ClientID), new OracleParameter(":STRATEGYID", (object)o.StrategyID), new OracleParameter(":PASSWORD", (object)o.Password), new OracleParameter(":CLIENTIP", (object)o.ClientIp), new OracleParameter(":CLIENTPORT", (object)o.ClientPort), new OracleParameter(":ACCESSCODE", (object)o.AccessCode), new OracleParameter(":PRIORITY", (object)o.Priority), new OracleParameter(":PRICE", (object)o.Price), new OracleParameter(":CHARGETYPE", (object)o.ChargeType), new OracleParameter(":THRESHOLD", (object)o.Threshold), new OracleParameter(":MAXCONNCOUNT", (object)o.MaxConnCount), new OracleParameter(":REMARK", (object)o.Remark), new OracleParameter(":TIME_PERMITTING", (object)o.TimePermitting), new OracleParameter(":AUDITINGMODE", (object)o.AuditingMode), new OracleParameter(":DEDUCTPERCENT", (object)o.DeductPercent), new OracleParameter(":SPID", (object)o.SpID), new OracleParameter(":CM_OP_ID", (object)o.CMOPID), new OracleParameter(":CT_OP_ID", (object)o.CTOPID), new OracleParameter(":UN_OP_ID", (object)o.UNOPID), new OracleParameter(":DEFISHING_TIMEOUT", (object)o.DefishingTimeout), new OracleParameter(":DEFISHING_THRESHOLD", (object)o.DefishingThreshold), new OracleParameter(":REJECT_IF_FORBIDDEN", (object)o.RejectIfForbidden), new OracleParameter(":REFUND_IF_UNDELIVERED", (object)o.RefundIfUndelivered), new OracleParameter(":STATUS", (object)o.Status), new OracleParameter(":ACCESSCODE_MODE", (object)o.AccessCodeMode), new OracleParameter(":EXTNOEXTENSION_MODE", (object)o.ExtnoExtensionMode), new OracleParameter(":DEFISHING_OP_ID", (object)o.DefishingOPID), new OracleParameter(":ROUTER_TYPE", (object)o.RouterType), new OracleParameter(":CM_EXT_PARAMS", (object)o.CMextparms), new OracleParameter(":CT_EXT_PARAMS", (object)o.CTextparams), new OracleParameter(":CU_EXT_PARAMS", (object)o.CUextparams), new OracleParameter(":FEE_SHORT_LENGTH", (object)o.FeeShortLength), new OracleParameter(":FEE_LONG_LENGTH", (object)o.FeeLongLength), new OracleParameter(":BLACK_MODE", (object)o.BlackMode), new OracleParameter(":DIVERTER_ID", (object)o.DiverterID), new OracleParameter(":MCPM", (object)o.MCPM), new OracleParameter(":MC_EXPRESSION", (object)o.McExpression), new OracleParameter(":CM_GROUP_ID", (object)o.CMGroupID), new OracleParameter(":CU_GROUP_ID", (object)o.CUGroupID), new OracleParameter(":CT_GROUP_ID", (object)o.CTGroupID), new OracleParameter(":BALANCE_THRESHOLD", (object)o.BalanceThreshold), new OracleParameter(":ALARM_MOBILE", (object)o.AlarmMobile), new OracleParameter(":FORCE_SIGN_FLAG", (object)o.ForceSignFlag), new OracleParameter(":FORCE_SIGN", (object)o.ForceSign), new OracleParameter(":SIGNATURE_MODE", (object)o.SignatureMode), new OracleParameter(":SIGNATURES", (object)o.Signatures), new OracleParameter(":VerCodeMode", (object)o.VerCodeMode), new OracleParameter(":ProvincialNetworkMode",(object)o.ProvincialNetworkMode),new OracleParameter(":RESEND_STATUS", (object)o.RESEND_STATUS),new OracleParameter(":RESEND_CM_GROUPID", (object)o.RESEND_CM_GROUPID),new OracleParameter(":RESEND_CU_GROUPID", (object)o.RESEND_CU_GROUPID),new OracleParameter(":RESEND_CT_GROUPID",(object)o.RESEND_CT_GROUPID),new OracleParameter(":TRANSFERFLAG",(object)o.TransferFlag)) > 0;
    }
    public bool UpdateBalance(int Balance, string spid)
    {
      return OracleHelper.ExecuteSql("UPDATE GW_SP SET BALANCE=:BALANCE WHERE SP_ID=:SP_ID", OracleHelper.Connection, new OracleParameter(":BALANCE", (object) Balance), new OracleParameter(":SP_ID", (object) spid)) > 0;
    }
    public bool Add(GwSp o)
    {
        return OracleHelper.ExecuteSql("INSERT INTO GW_SP\r\n (\r\n SP_ID,AP_ID,COMBINATION_MODE,CLIENT_ID,STRATEGY_ID,PASSWORD,CLIENT_IP,CLIENT_PORT,ACCESS_CODE,BALANCE,PRIORITY,PRICE,CHARGE_TYPE,THRESHOLD,MAX_CONN_COUNT,CREATE_TIME,REMARK,TIME_PERMITTING,AUDITING_MODE,DEDUCT_PERCENT,CM_OP_ID,CT_OP_ID,UN_OP_ID,DEFISHING_TIMEOUT,DEFISHING_THRESHOLD,REJECT_IF_FORBIDDEN,REJECT_IF_NO_SIGNATURE,REFUND_IF_UNDELIVERED,ROUTER_TYPE,STATUS,ACCESSCODE_MODE,EXTNOEXTENSION_MODE,DEFISHING_OP_ID,MODIFY_TIME,FEE_SHORT_LENGTH,FEE_LONG_LENGTH,BLACK_MODE,DIVERTER_ID,MCPM,MC_EXPRESSION,CM_EXT_PARAMS,CT_EXT_PARAMS,CU_EXT_PARAMS,CM_GROUP_ID,CU_GROUP_ID,CT_GROUP_ID,BALANCE_THRESHOLD,ALARM_MOBILE,FORCE_SIGN_FLAG,FORCE_SIGN,SIGNATURE_MODE,SIGNATURES,VerCodeMode,ProvincialNetworkMode,RESEND_STATUS,RESEND_CM_GROUPID,RESEND_CU_GROUPID,RESEND_CT_GROUPID\r\n )\r\n VALUES\r\n (\r\n :SPID,:APID,:COMBINATION_MODE,:CLIENTID,:STRATEGYID,:PASSWORD,:CLIENTIP,:CLIENTPORT,:ACCESSCODE,:BALANCE,:PRIORITY,:PRICE,:CHARGETYPE,:THRESHOLD,:MAXCONNCOUNT,:CREATETIME,:REMARK,:TIME_PERMITTING,:AUDITINGMODE,:DEDUCTPERCENT,:CM_OP_ID,:CT_OP_ID,:UN_OP_ID,:DEFISHING_TIMEOUT,:DEFISHING_THRESHOLD,:REJECT_IF_FORBIDDEN,:REJECT_IF_NO_SIGNATURE,:REFUND_IF_UNDELIVERED,:ROUTER_TYPE,:STATUS,:ACCESSCODE_MODE,:EXTNOEXTENSION_MODE,:DEFISHING_OP_ID,:MODIFY_TIME,:FEE_SHORT_LENGTH,:FEE_LONG_LENGTH,:BLACK_MODE,:DIVERTER_ID,:MCPM,:MC_EXPRESSION,:CM_EXT_PARAMS,:CT_EXT_PARAMS,:CU_EXT_PARAMS,:CM_GROUP_ID,:CU_GROUP_ID,:CT_GROUP_ID,:BALANCE_THRESHOLD,:ALARM_MOBILE,:FORCE_SIGN_FLAG,:FORCE_SIGN,:SIGNATURE_MODE,:SIGNATURES,:VerCodeMode,:ProvincialNetworkMode,:RESEND_STATUS,:RESEND_CM_GROUPID,:RESEND_CU_GROUPID,:RESEND_CT_GROUPID\r\n            )", OracleHelper.Connection, new OracleParameter(":SPID", (object)o.SpID), new OracleParameter(":APID", (object)o.ApID), new OracleParameter(":COMBINATION_MODE", (object)o.CombinationMode), new OracleParameter(":CLIENTID", (object)o.ClientID), new OracleParameter(":STRATEGYID", (object)o.StrategyID), new OracleParameter(":PASSWORD", (object)o.Password), new OracleParameter(":CLIENTIP", (object)o.ClientIp), new OracleParameter(":CLIENTPORT", (object)o.ClientPort), new OracleParameter(":ACCESSCODE", (object)o.AccessCode), new OracleParameter(":BALANCE", (object)o.Balance), new OracleParameter(":PRIORITY", (object)o.Priority), new OracleParameter(":PRICE", (object)o.Price), new OracleParameter(":CHARGETYPE", (object)o.ChargeType), new OracleParameter(":THRESHOLD", (object)o.Threshold), new OracleParameter(":MAXCONNCOUNT", (object)o.MaxConnCount), new OracleParameter(":CREATETIME", (object)DateTime.Now), new OracleParameter(":REMARK", (object)o.Remark), new OracleParameter(":TIME_PERMITTING", (object)o.TimePermitting), new OracleParameter(":AUDITINGMODE", (object)o.AuditingMode), new OracleParameter(":DEDUCTPERCENT", (object)o.DeductPercent), new OracleParameter(":CM_OP_ID", (object)o.CMOPID), new OracleParameter(":CT_OP_ID", (object)o.CTOPID), new OracleParameter(":UN_OP_ID", (object)o.UNOPID), new OracleParameter(":DEFISHING_TIMEOUT", (object)o.DefishingTimeout), new OracleParameter(":DEFISHING_THRESHOLD", (object)o.DefishingThreshold), new OracleParameter(":REJECT_IF_FORBIDDEN", (object)o.RejectIfForbidden), new OracleParameter(":REJECT_IF_NO_SIGNATURE", (object)o.RejectIfNoSignature), new OracleParameter(":REFUND_IF_UNDELIVERED", (object)o.RefundIfUndelivered), new OracleParameter(":ROUTER_TYPE", (object)o.RouterType), new OracleParameter(":STATUS", (object)o.Status), new OracleParameter(":ACCESSCODE_MODE", (object)o.AccessCodeMode), new OracleParameter(":EXTNOEXTENSION_MODE", (object)o.ExtnoExtensionMode), new OracleParameter(":DEFISHING_OP_ID", (object)o.DefishingOPID), new OracleParameter(":MODIFY_TIME", (object)DateTime.Now), new OracleParameter(":FEE_SHORT_LENGTH", (object)o.FeeShortLength), new OracleParameter(":FEE_LONG_LENGTH", (object)o.FeeLongLength), new OracleParameter(":BLACK_MODE", (object)o.BlackMode), new OracleParameter(":DIVERTER_ID", (object)o.DiverterID), new OracleParameter(":MCPM", (object)o.MCPM), new OracleParameter(":MC_EXPRESSION", (object)o.McExpression), new OracleParameter(":CM_EXT_PARAMS", (object)o.CMextparms), new OracleParameter(":CT_EXT_PARAMS", (object)o.CTextparams), new OracleParameter(":CU_EXT_PARAMS", (object)o.CUextparams), new OracleParameter(":CM_GROUP_ID", (object)o.CMGroupID), new OracleParameter(":CU_GROUP_ID", (object)o.CUGroupID), new OracleParameter(":CT_GROUP_ID", (object)o.CTGroupID), new OracleParameter(":BALANCE_THRESHOLD", (object)o.BalanceThreshold), new OracleParameter(":ALARM_MOBILE", (object)o.AlarmMobile), new OracleParameter(":FORCE_SIGN_FLAG", (object)o.ForceSignFlag), new OracleParameter(":FORCE_SIGN", (object)o.ForceSign), new OracleParameter(":SIGNATURE_MODE", (object)o.SignatureMode), new OracleParameter(":SIGNATURES", (object)o.Signatures), new OracleParameter(":VerCodeMode", (object)o.VerCodeMode), new OracleParameter(":ProvincialNetworkMode",(object)o.ProvincialNetworkMode), new OracleParameter(":RESEND_STATUS", (object)o.RESEND_STATUS), new OracleParameter(":RESEND_CM_GROUPID", (object)o.RESEND_CM_GROUPID), new OracleParameter(":RESEND_CU_GROUPID", (object)o.RESEND_CU_GROUPID), new OracleParameter(":RESEND_CT_GROUPID", (object)o.RESEND_CT_GROUPID)) > 0;
    }
    public GwSp Get(string spid)
    {
      using (OracleDataReader reader = OracleHelper.ExecuteReader(string.Format("select * from GW_SP where SP_ID=:SP_ID"), OracleHelper.Connection, new OracleParameter(":SP_ID", (object) spid)))
      {
        if (((DbDataReader) reader).Read())
        {
          GwSp o = new GwSp();
          this.ReadInfo(reader, o);
          return o;
        }
      }
      return (GwSp) null;
    }
    public bool IsSpIDExists(string spid)
    {
      if (string.IsNullOrEmpty(spid) || string.Equals("0", spid))
        return true;
      using (OracleDataReader oracleDataReader = OracleHelper.ExecuteReader(string.Format("select * from GW_SP where SP_ID=:SP_ID"), OracleHelper.Connection, new OracleParameter(":SP_ID", (object) spid)))
        return ((DbDataReader) oracleDataReader).Read();
    }
    public GwSp GetSPID(string clientID, string spID)
    {
      using (OracleDataReader reader = OracleHelper.ExecuteReader(string.Format("select * from GW_SP where CLIENT_ID=:CLIENT_ID AND SP_ID=:SP_ID"), OracleHelper.Connection, new OracleParameter(":CLIENT_ID", (object) clientID), new OracleParameter(":SP_ID", (object) spID)))
      {
        if (((DbDataReader) reader).Read())
        {
          GwSp o = new GwSp();
          this.ReadInfo(reader, o);
          return o;
        }
      }
      return (GwSp) null;
    }
    public bool GetClientSpID(string clientID, string spID)
    {
      if (string.IsNullOrEmpty(clientID) || string.Equals("0", clientID) || (string.IsNullOrEmpty(spID) || string.Equals("0", spID)))
        return true;
      using (OracleDataReader oracleDataReader = OracleHelper.ExecuteReader("select * from GW_SP where CLIENT_ID=:CLIENT_ID AND SP_ID=:SP_ID", OracleHelper.Connection, new OracleParameter(":CLIENT_ID", (object) clientID), new OracleParameter(":SP_ID", (object) spID)))
      {
        if (((DbDataReader) oracleDataReader).Read())
          return true;
      }
      return false;
    }
    public bool Delete(string spid)
    {
      if (string.IsNullOrEmpty(spid) || string.Equals("0", spid))
        return false;
      return OracleHelper.ExecuteSql(string.Format("delete from GW_SP where SP_ID=:SP_ID"), OracleHelper.Connection, new OracleParameter(":SP_ID", (object) spid)) > 0;
    }
    private bool ReadInfo(OracleDataReader reader, GwSp o)
        {
            OracleReaderWrapper oracleReaderWrapper = new OracleReaderWrapper(reader);
            o.SpID = oracleReaderWrapper.GetString("SP_ID", "");
            o.ApID = oracleReaderWrapper.GetInt("AP_ID", 0);
            o.CombinationMode = oracleReaderWrapper.GetInt("COMBINATION_MODE", 0);
            o.ClientID = oracleReaderWrapper.GetString("CLIENT_ID", "");
            o.StrategyID = oracleReaderWrapper.GetInt("STRATEGY_ID", 0);
            o.ChannelType = oracleReaderWrapper.GetString("CHANNEL_TYPE", "");
            o.Password = oracleReaderWrapper.GetString("PASSWORD", "");
            o.ClientIp = oracleReaderWrapper.GetString("CLIENT_IP", "");
            o.ClientPort = oracleReaderWrapper.GetInt("CLIENT_PORT", 0);
            o.AccessCode = oracleReaderWrapper.GetString("ACCESS_CODE", "");
            o.Balance = oracleReaderWrapper.GetInt64("BALANCE", 0L);
            o.Priority = oracleReaderWrapper.GetInt("PRIORITY", 0);
            o.Price = oracleReaderWrapper.GetInt("PRICE", 0);
            o.ChargeType = oracleReaderWrapper.GetInt("CHARGE_TYPE", 0);
            o.Threshold = oracleReaderWrapper.GetInt("THRESHOLD", 0);
            o.MaxConnCount = oracleReaderWrapper.GetInt("MAX_CONN_COUNT", 0);
            o.CreateTime = oracleReaderWrapper.GetDateTime("CREATE_TIME");
            o.ActivateTime = oracleReaderWrapper.GetDateTime("ACTIVATE_TIME");
            o.Remark = oracleReaderWrapper.GetString("REMARK", "");
            o.TimePermitting = oracleReaderWrapper.GetString("TIME_PERMITTING", "");
            o.DefishingTimeout = oracleReaderWrapper.GetInt("DEFISHING_TIMEOUT", 0);
            o.DefishingThreshold = oracleReaderWrapper.GetInt("DEFISHING_THRESHOLD", 0);
            o.RejectIfForbidden = oracleReaderWrapper.GetInt("REJECT_IF_FORBIDDEN", 0);
            o.Signatures = oracleReaderWrapper.GetString("SIGNATURES", string.Empty);
            o.RejectIfNoSignature = oracleReaderWrapper.GetInt("REJECT_IF_NO_SIGNATURE", 0);
            o.RefundIfUndelivered = oracleReaderWrapper.GetInt("REFUND_IF_UNDELIVERED", 0);
            o.AuditingMode = oracleReaderWrapper.GetInt("AUDITING_MODE", 0);
            o.DeductPercent = oracleReaderWrapper.GetInt("DEDUCT_PERCENT", 0);
            o.CMOPID = oracleReaderWrapper.GetInt("CM_OP_ID", 0);
            o.CTOPID = oracleReaderWrapper.GetInt("CT_OP_ID", 0);
            o.UNOPID = oracleReaderWrapper.GetInt("UN_OP_ID", 0);
            o.RouterType = oracleReaderWrapper.GetInt("ROUTER_TYPE", 0);
            o.CMextparms = oracleReaderWrapper.GetString("CM_EXT_PARAMS", "");
            o.CUextparams = oracleReaderWrapper.GetString("CU_EXT_PARAMS", "");
            o.CTextparams = oracleReaderWrapper.GetString("CT_EXT_PARAMS", "");
            o.Status = oracleReaderWrapper.GetInt("STATUS", 0);
            o.AccessCodeMode = oracleReaderWrapper.GetInt("ACCESSCODE_MODE", 0);
            o.ExtnoExtensionMode = oracleReaderWrapper.GetInt("EXTNOEXTENSION_MODE", 0);
            o.CreateTime = oracleReaderWrapper.GetDateTime("CREATE_TIME");
            o.ModifyTime = oracleReaderWrapper.GetDateTime("MODIFY_TIME");
            o.DefishingOPID = oracleReaderWrapper.GetInt("DEFISHING_OP_ID", 0);
            o.FeeShortLength = oracleReaderWrapper.GetInt("FEE_SHORT_LENGTH", 0);
            o.FeeLongLength = oracleReaderWrapper.GetInt("FEE_LONG_LENGTH", 0);
            o.MCPM = oracleReaderWrapper.GetInt("MCPM", 0);
            o.McExpression = oracleReaderWrapper.GetString("MC_EXPRESSION", "");
            o.BlackMode = oracleReaderWrapper.GetInt("BLACK_MODE", 0);
            o.DiverterID = oracleReaderWrapper.GetInt("DIVERTER_ID", 0);
            o.SignatureMode = oracleReaderWrapper.GetInt("SIGNATURE_MODE", 0);
            o.CMGroupID = oracleReaderWrapper.GetInt("CM_GROUP_ID", 0);
            o.CUGroupID = oracleReaderWrapper.GetInt("CU_GROUP_ID", 0);
            o.CTGroupID = oracleReaderWrapper.GetInt("CT_GROUP_ID", 0);
            o.BalanceThreshold = oracleReaderWrapper.GetInt("BALANCE_THRESHOLD", 0);
            o.AlarmMobile = oracleReaderWrapper.GetString("ALARM_MOBILE", "");
            o.ForceSignFlag = oracleReaderWrapper.GetInt("FORCE_SIGN_FLAG", 0);
            o.ForceSign = oracleReaderWrapper.GetString("FORCE_SIGN", "");
            o.VerCodeMode = oracleReaderWrapper.GetInt("VerCodeMode", 0);//验证码分流
            o.ProvincialNetworkMode = oracleReaderWrapper.GetInt("ProvincialNetworkMode", 0);//省网分流
            o.RESEND_CM_GROUPID = oracleReaderWrapper.GetInt("RESEND_CM_GROUPID", 0);//补发通道
            o.RESEND_CU_GROUPID = oracleReaderWrapper.GetInt("RESEND_CU_GROUPID", 0);
            o.RESEND_CT_GROUPID = oracleReaderWrapper.GetInt("RESEND_CT_GROUPID", 0);
            o.RESEND_STATUS = oracleReaderWrapper.GetInt("RESEND_STATUS", 0);
            o.TransferFlag = oracleReaderWrapper.GetInt("TransferFlag",0);
            return true;
        }
        private int ReadCount(OracleDataReader reader)
        {
            int @int;
            try
            {
                @int = new OracleReaderWrapper(reader).GetInt("count", 0);
            }
            catch (Exception ex)
            {
                LogHelper.Error(ex);
                return 0;
            }
            return @int;
        }
        public void Dispose()
    {
    }
    public string GetNextAccessCode()
    {
      using (OracleDataReader reader = OracleHelper.ExecuteReader(string.Format("select MAX(SUBSTR(ACCESS_CODE,0,3)) + 1 as ACCESS_CODE from GW_SP"), OracleHelper.Connection))
      {
        if (((DbDataReader) reader).Read())
          return new OracleReaderWrapper(reader).GetString("ACCESS_CODE", "");
      }
      return string.Empty;
    }
    public bool UpdateSignature(SpSignatureInfo ss)
    {
      return OracleHelper.ExecuteSql("UPDATE GW_SP SET SIGNATURE_MODE = :SIGNATURE_MODE,SIGNATURES = :SIGNATURES WHERE SP_ID=:SP_ID", OracleHelper.Connection, new OracleParameter(":SP_ID", (object) ss.SpID), new OracleParameter(":SIGNATURE_MODE", (object) ss.SignatureMode), new OracleParameter(":SIGNATURES", (object) ss.Signatures)) > 0;
    }
    public List<SpSignatureInfo> GetSignatureInfoList(string clientID, string spID, out int recordCount, int pageIndex, int pageSize)
    {
      List<SpSignatureInfo> list = new List<SpSignatureInfo>();
      string sql = "SELECT CLIENT_ID,SIGNATURES,SP_ID,SIGNATURE_MODE FROM GW_SP WHERE (SP_ID=:SP_ID OR :SP_ID IS NULL) AND (CLIENT_ID=:CLIENT_ID OR :CLIENT_ID IS NULL) ORDER BY SP_ID DESC";
      OracleParameter[] oracleParameterArray = new OracleParameter[2]
      {
        new OracleParameter(":SP_ID", (object) spID),
        new OracleParameter(":CLIENT_ID", (object) clientID)
      };
      recordCount = Convert.ToInt32(OracleHelper.ExecuteScalar(OracleHelper.ToCountSql(sql), OracleHelper.Connection, oracleParameterArray));
      using (OracleDataReader reader = OracleHelper.ExecuteReader(OracleHelper.ToPagerSql(sql, pageIndex, pageSize, recordCount), OracleHelper.Connection, oracleParameterArray))
      {
        while (reader != null && ((DbDataReader) reader).Read())
        {
          OracleReaderWrapper oracleReaderWrapper = new OracleReaderWrapper(reader);
          SpSignatureInfo spSignatureInfo = new SpSignatureInfo()
          {
            SpID = oracleReaderWrapper.GetString("SP_ID", spID),
            ClientID = oracleReaderWrapper.GetString("CLIENT_ID", string.Empty),
            SignatureMode = oracleReaderWrapper.GetInt("SIGNATURE_MODE", 0),
            Signatures = oracleReaderWrapper.GetString("SIGNATURES", "")
          };
          list.Add(spSignatureInfo);
        }
      }
      return list;
    }
    public SpSignatureInfo GetSignature(string spID)
    {
      using (OracleDataReader reader = OracleHelper.ExecuteReader("select CLIENT_ID,SIGNATURES,SP_ID,SIGNATURE_MODE from GW_SP WHERE SP_ID=:SP_ID", OracleHelper.Connection, new OracleParameter(":SP_ID", (object) spID)))
      {
        if (reader != null && ((DbDataReader) reader).Read())
        {
          OracleReaderWrapper oracleReaderWrapper = new OracleReaderWrapper(reader);
          return new SpSignatureInfo()
          {
            SpID = oracleReaderWrapper.GetString("SP_ID", spID),
            ClientID = oracleReaderWrapper.GetString("CLIENT_ID", string.Empty),
            SignatureMode = oracleReaderWrapper.GetInt("SIGNATURE_MODE", 0),
            Signatures = oracleReaderWrapper.GetString("SIGNATURES", spID)
          };
        }
      }
      return new SpSignatureInfo()
      {
        SpID = spID
      };
    }
    public bool UpdateOP(string spid, int cmopID, int ctopID, int unopID, int cmGroupID, int cuGroupID, int ctGroupID)
    {
      return OracleHelper.ExecuteSql("UPDATE GW_SP SET CM_OP_ID=:CM_OP_ID,UN_OP_ID=:UN_OP_ID,CT_OP_ID=:CT_OP_ID,CM_GROUP_ID=:CM_GROUP_ID,CU_GROUP_ID=:CU_GROUP_ID,CT_GROUP_ID=:CT_GROUP_ID WHERE SP_ID=:SP_ID", OracleHelper.Connection, new OracleParameter(":CM_OP_ID", (object) cmopID), new OracleParameter(":UN_OP_ID", (object) unopID), new OracleParameter(":CT_OP_ID", (object) ctopID), new OracleParameter(":CM_GROUP_ID", (object) cmGroupID), new OracleParameter(":CU_GROUP_ID", (object) cuGroupID), new OracleParameter(":CT_GROUP_ID", (object) ctGroupID), new OracleParameter(":SP_ID", (object) spid)) > 0;
    }
    public bool UpdateSingleOP(string spid, int cmopID, int ctopID, int unopID, int cmGroupID, int cuGroupID, int ctGroupID)
    {
      List<KeyValuePair<string, OracleParameter[]>> list = new List<KeyValuePair<string, OracleParameter[]>>();
      if (cmopID > -1)
      {
        string key = "UPDATE GW_SP SET CM_OP_ID=:CM_OP_ID WHERE SP_ID=:SP_ID";
        OracleParameter[] oracleParameterArray = new OracleParameter[2]
        {
          new OracleParameter(":CM_OP_ID", (object) cmopID),
          new OracleParameter(":SP_ID", (object) spid)
        };
        list.Add(new KeyValuePair<string, OracleParameter[]>(key, oracleParameterArray));
      }
      if (ctopID > -1)
      {
        string key = "UPDATE GW_SP SET CT_OP_ID=:CT_OP_ID WHERE SP_ID=:SP_ID";
        OracleParameter[] oracleParameterArray = new OracleParameter[2]
        {
          new OracleParameter(":CT_OP_ID", (object) ctopID),
          new OracleParameter(":SP_ID", (object) spid)
        };
        list.Add(new KeyValuePair<string, OracleParameter[]>(key, oracleParameterArray));
      }
      if (unopID > -1)
      {
        string key = "UPDATE GW_SP SET UN_OP_ID=:UN_OP_ID WHERE SP_ID=:SP_ID";
        OracleParameter[] oracleParameterArray = new OracleParameter[2]
        {
          new OracleParameter(":UN_OP_ID", (object) unopID),
          new OracleParameter(":SP_ID", (object) spid)
        };
        list.Add(new KeyValuePair<string, OracleParameter[]>(key, oracleParameterArray));
      }
      if (cmGroupID > -1)
      {
        string key = "UPDATE GW_SP SET CM_GROUP_ID=:CM_GROUP_ID WHERE SP_ID=:SP_ID";
        OracleParameter[] oracleParameterArray = new OracleParameter[2]
        {
          new OracleParameter(":CM_GROUP_ID", (object) cmGroupID),
          new OracleParameter(":SP_ID", (object) spid)
        };
        list.Add(new KeyValuePair<string, OracleParameter[]>(key, oracleParameterArray));
      }
      if (cuGroupID > -1)
      {
        string key = "UPDATE GW_SP SET CU_GROUP_ID=:CU_GROUP_ID WHERE SP_ID=:SP_ID";
        OracleParameter[] oracleParameterArray = new OracleParameter[2]
        {
          new OracleParameter(":CU_GROUP_ID", (object) cuGroupID),
          new OracleParameter(":SP_ID", (object) spid)
        };
        list.Add(new KeyValuePair<string, OracleParameter[]>(key, oracleParameterArray));
      }
      if (ctGroupID > -1)
      {
        string key = "UPDATE GW_SP SET CT_GROUP_ID=:CT_GROUP_ID WHERE SP_ID=:SP_ID";
        OracleParameter[] oracleParameterArray = new OracleParameter[2]
        {
          new OracleParameter(":CT_GROUP_ID", (object) ctGroupID),
          new OracleParameter(":SP_ID", (object) spid)
        };
        list.Add(new KeyValuePair<string, OracleParameter[]>(key, oracleParameterArray));
      }
      OracleHelper.ExecuteSqlTran(list, OracleHelper.Connection);
      return true;
    }
    public List<GwSp> LoadSpList()
    {
      List<GwSp> list = new List<GwSp>();
      using (OracleDataReader reader = OracleHelper.ExecuteReader("SELECT * FROM GW_SP ORDER BY SP_ID ASC", OracleHelper.Connection))
      {
        while (((DbDataReader) reader).Read())
        {
          GwSp o = new GwSp();
          if (this.ReadInfo(reader, o))
            list.Add(o);
        }
      }
      return list;
    }
    public List<GwSp> LoadSpList(string clientID)
    {
      List<GwSp> list = new List<GwSp>();
      using (OracleDataReader reader = OracleHelper.ExecuteReader("SELECT * FROM GW_SP WHERE CLIENT_ID=:CLIENT_ID ORDER BY SP_ID ASC", OracleHelper.Connection, new OracleParameter(":CLIENT_ID", (object) clientID)))
      {
        while (((DbDataReader) reader).Read())
        {
          GwSp o = new GwSp();
          if (this.ReadInfo(reader, o))
            list.Add(o);
        }
      }
      return list;
    }
    public List<GwSp> LoadSpSMSList(string clientID)
    {
      List<GwSp> list = new List<GwSp>();
      using (OracleDataReader reader = OracleHelper.ExecuteReader("SELECT * FROM GW_SP WHERE CLIENT_ID=:CLIENT_ID AND AP_ID=230001 ORDER BY SP_ID ASC", OracleHelper.Connection, new OracleParameter(":CLIENT_ID", (object) clientID)))
      {
        while (((DbDataReader) reader).Read())
        {
          GwSp o = new GwSp();
          if (this.ReadInfo(reader, o))
            list.Add(o);
        }
      }
      return list;
    }
    public List<GwSp> LoadSpIDList(string clientID, string spid)
    {
      List<GwSp> list1 = new List<GwSp>();
      StringBuilder stringBuilder = new StringBuilder();
      List<OracleParameter> list2 = new List<OracleParameter>();
      stringBuilder.Append("SELECT * FROM GW_SP WHERE CLIENT_ID=:CLIENT_ID");
      list2.Add(new OracleParameter(":CLIENT_ID", (object) clientID));
      if (!string.IsNullOrEmpty(spid))
      {
        list2.Add(new OracleParameter(":SP_ID", (object) spid));
        stringBuilder.Append(" and SP_ID=:SP_ID");
      }
      stringBuilder.Append(" ORDER BY SP_ID DESC");
      using (OracleDataReader reader = OracleHelper.ExecuteReader(stringBuilder.ToString(), OracleHelper.Connection, list2.ToArray()))
      {
        while (((DbDataReader) reader).Read())
        {
          GwSp o = new GwSp();
          if (this.ReadInfo(reader, o))
            list1.Add(o);
        }
      }
      return list1;
    }
    public bool UpdateAlarmSetting(string spid, string alarmMobile, int balanceThreshold)
    {
      return OracleHelper.ExecuteSql("UPDATE GW_SP SET ALARM_MOBILE=:ALARM_MOBILE,BALANCE_THRESHOLD=:BALANCE_THRESHOLD WHERE SP_ID=:SP_ID", OracleHelper.Connection, new OracleParameter(":ALARM_MOBILE", (object) alarmMobile), new OracleParameter(":BALANCE_THRESHOLD", (object) balanceThreshold), new OracleParameter(":SP_ID", (object) spid)) > 0;
    }
    public void UpdatePrice(string spid, long price)
    {
      OracleHelper.ExecuteSql("UPDATE GW_SP SET PRICE=:PRICE WHERE SP_ID=:SP_ID", OracleHelper.Connection, new OracleParameter(":PRICE", (object) price), new OracleParameter("SP_ID", (object) spid));
    }
//新加开启关闭账号状态
    public bool UpdateSpStatus(string spid, int status)
    {
        return OracleHelper.ExecuteSql("UPDATE GW_SP SET STATUS=:STATUS WHERE SP_ID=:SP_ID", OracleHelper.Connection, new OracleParameter(":STATUS", (object)status), new OracleParameter(":SP_ID", (object)spid)) > 0;
    }
//
  }
}