yzh
2022-03-14 1fbfe94790a03ab58ac8dee37f5095ff611ec3d8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
 
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 GwBlackPoolDao : IDisposable
  {
    public List<GwBlackPool> LoadInfoList(string PoolName, out int recordcount, int PageIndex, int pageSize)
    {
      List<GwBlackPool> list = new List<GwBlackPool>();
      recordcount = 0;
      try
      {
        StringBuilder stringBuilder = new StringBuilder();
        stringBuilder.Append("from GW_BLACKPOOL b where 1=1");
        OracleParameter[] oracleParameterArray = new OracleParameter[1];
        if (PoolName != null && PoolName != "")
        {
          oracleParameterArray[0] = new OracleParameter(":POOL_NAME", (OracleDbType) 126);
          ((DbParameter) oracleParameterArray[0]).Value = (object) PoolName;
          stringBuilder.Append(" and POOL_NAME like '%'||:POOL_NAME||'%'");
        }
        stringBuilder.Append(" order by POOL_ID DESC");
        using (OracleDataReader reader = OracleHelper.ExecuteReader("select count(*) as count " + stringBuilder.ToString(), OracleHelper.Connection, oracleParameterArray))
        {
          while (((DbDataReader) reader).Read())
          {
            OracleReaderWrapper oracleReaderWrapper = new OracleReaderWrapper(reader);
            recordcount = oracleReaderWrapper.GetInt("count", 0);
          }
        }
        using (OracleDataReader reader = OracleHelper.ExecuteReader(PubConstant.doOracleSql(PageIndex, pageSize, recordcount, "select (select count(*) from gw_blackpool_mobile a where a.blackpool_id=b.pool_id) as BLACKPOOL_ID,b.* " + stringBuilder.ToString()).ToString(), OracleHelper.Connection, oracleParameterArray))
        {
          while (((DbDataReader) reader).Read())
          {
            GwBlackPool o = new GwBlackPool();
            if (this.ReadInfo(reader, o))
              list.Add(o);
          }
        }
      }
      catch (Exception ex)
      {
        LogHelper.Error(ex);
        return list;
      }
      return list;
    }
 
    public List<GwBlackPool> LoadOpInfoList()
    {
      List<GwBlackPool> list = new List<GwBlackPool>();
      using (OracleDataReader reader = OracleHelper.ExecuteReader("SELECT  * FROM GW_BLACKPOOL  WHERE POOL_ID <> 0", OracleHelper.Connection))
      {
        while (((DbDataReader) reader).Read())
        {
          GwBlackPool o = new GwBlackPool();
          if (this.ReadInfo(reader, o))
            list.Add(o);
        }
      }
      return list;
    }
 
    public List<GwBlackPool> LoadInfoList()
    {
      List<GwBlackPool> list = new List<GwBlackPool>();
      using (OracleDataReader reader = OracleHelper.ExecuteReader("SELECT * FROM GW_BLACKPOOL", OracleHelper.Connection))
      {
        while (((DbDataReader) reader).Read())
        {
          GwBlackPool o = new GwBlackPool();
          if (this.ReadInfo(reader, o))
            list.Add(o);
        }
      }
      return list;
    }
 
    private bool ReadInfo(OracleDataReader reader, GwBlackPool o)
    {
      OracleReaderWrapper oracleReaderWrapper = new OracleReaderWrapper(reader);
      o.PoolID = oracleReaderWrapper.GetInt("POOL_ID", 0);
      o.PoolName = oracleReaderWrapper.GetString("POOL_NAME", "");
      o.BlackPoolID = oracleReaderWrapper.GetInt("BLACKPOOL_ID", 0);
      o.MobileSegMent = oracleReaderWrapper.GetString("MOBILE_SEGMENT", "");
      o.Mobile = oracleReaderWrapper.GetString("MOBILE", "");
      o.ModifyTime = oracleReaderWrapper.GetDateTime("MODIFY_TIME");
      o.IsDeleted = oracleReaderWrapper.GetInt("IS_DELETED", 0);
      return true;
    }
 
    public bool Update(GwBlackPool o)
    {
      return OracleHelper.ExecuteSql("update GW_BLACKPOOL set POOL_NAME=:POOL_NAME where POOL_ID=:POOL_ID", OracleHelper.Connection, new OracleParameter(":POOL_ID", (object) o.PoolID), new OracleParameter(":POOL_NAME", (object) o.PoolName)) > 0;
    }
 
    public bool UpMobileSegMentdate(GwBlackPool o)
    {
      return OracleHelper.ExecuteSql("update GW_BLACKPOOL set MOBILE_SEGMENT=:MOBILE_SEGMENT where POOL_ID=:POOL_ID", OracleHelper.Connection, new OracleParameter(":POOL_ID", (object) o.PoolID), new OracleParameter(":MOBILE_SEGMENT", (object) o.MobileSegMent)) > 0;
    }
 
    public bool Add(GwBlackPool o)
    {
      return OracleHelper.ExecuteSql("insert into GW_BLACKPOOL(POOL_ID,POOL_NAME) values(GW_BLACKPOOL_ID_SEQ.NEXTVAL,:POOL_NAME)", OracleHelper.Connection, new OracleParameter(":POOL_NAME", (object) o.PoolName)) > 0;
    }
 
    public bool IsExitsPoolName(string pName)
    {
      using (OracleDataReader oracleDataReader = OracleHelper.ExecuteReader(string.Format("select * from GW_BLACKPOOL where POOL_NAME=:POOL_NAME"), OracleHelper.Connection, new OracleParameter(":POOL_NAME", (object) pName)))
      {
        if (((DbDataReader) oracleDataReader).Read())
          return true;
      }
      return false;
    }
 
    public bool IsExitsPoolName(string pName, int poolID)
    {
      using (OracleDataReader oracleDataReader = OracleHelper.ExecuteReader(string.Format("select * from GW_BLACKPOOL where POOL_NAME='{0}' and POOL_ID<>'{1}'", (object) pName, (object) poolID), OracleHelper.Connection))
      {
        if (((DbDataReader) oracleDataReader).Read())
          return true;
      }
      return false;
    }
 
    public GwBlackPool GetGwBlackPool(int pid)
    {
      GwBlackPool o = new GwBlackPool();
      if (pid < 0)
        return o;
      using (OracleDataReader reader = OracleHelper.ExecuteReader(string.Format("select * from GW_BLACKPOOL where POOL_ID=:POOL_ID"), OracleHelper.Connection, new OracleParameter(":POOL_ID", (object) pid)))
      {
        if (((DbDataReader) reader).Read())
        {
          if (!this.ReadInfo(reader, o))
            throw new Exception("ReadInfo发生异常");
          return o;
        }
      }
      return o;
    }
 
    public DataTable GetGwBlackMobile(int pid)
    {
      return OracleHelper.Execute("SELECT BLACKPOOL_ID FROM GW_BLACKPOOL_MOBILE WHERE BLACKPOOL_ID=:BLACKPOOL_ID and rownum=1", OracleHelper.Connection, new OracleParameter(":BLACKPOOL_ID", (object) pid));
    }
 
    public bool Delete(int pid)
    {
      if (pid == 0)
        return false;
      return OracleHelper.ExecuteSql("delete from GW_BLACKPOOL where POOL_ID=:POOL_ID", OracleHelper.Connection, new OracleParameter(":POOL_ID", (object) pid)) > 0;
    }
 
    public bool IsPortExits(int pid, string moblie)
    {
      using (OracleDataReader oracleDataReader = OracleHelper.ExecuteReader(string.Format("select * from GW_BLACKPOOL_MOBILE where MOBILE=:MOBILE and BLACKPOOL_ID=:BLACKPOOL_ID"), OracleHelper.Connection, new OracleParameter(":MOBILE", (object) moblie), new OracleParameter(":BLACKPOOL_ID", (object) pid)))
      {
        if (((DbDataReader) oracleDataReader).Read())
          return false;
      }
      return true;
    }
 
    public DataTable GetSeqMobileID()
    {
      return OracleHelper.Execute("select GW_BLACKPOOL_ID_SEQ.Nextval as MOBILE_ID from dual", OracleHelper.Connection);
    }
 
    public int Import(DataTable dt, DateTime dtime)
    {
      
      using (OracleBulkCopy oracleBulkCopy = new OracleBulkCopy(OracleHelper.OraclePrepareConnection, (OracleBulkCopyOptions)1))
      {
        int num = 0;
        oracleBulkCopy.DestinationTableName = "GW_BLACKPOOL_MOBILE";
        oracleBulkCopy.ColumnMappings.Add("MOBILE", "MOBILE");
        oracleBulkCopy.ColumnMappings.Add("BLACKPOOL_ID", "BLACKPOOL_ID");
        oracleBulkCopy.ColumnMappings.Add("MODIFY_TIME", "MODIFY_TIME");
        oracleBulkCopy.ColumnMappings.Add("IS_DELETED", "IS_DELETED");
        oracleBulkCopy.BatchSize = 1000000;
        oracleBulkCopy.BulkCopyTimeout = 6000;
        try
        {
          if (dt != null && dt.Rows.Count > 0)
          {
            oracleBulkCopy.WriteToServer(dt);
            OracleHelper.ExecuteSql("INSERT INTO GW_EVENT_LOG(EVENT_ID,ASSIGNED_TO,EVENT_TYPE,CONTENT,EVENT_TIME,HANDLE_FLAG)VALUES(GW_EVENT_LOG_SEQ.NEXTVAL,'WBSVC','BLACKPOOLMOBILE','',:EVENT_TIME,0)", OracleHelper.Connection, new OracleParameter(":EVENT_TIME", (object) dtime));
            num = dt.Rows.Count;
          }
        }
        catch (Exception ex)
        {
        }
        finally
        {
          if (oracleBulkCopy != null)
            oracleBulkCopy.Close();
        }
        oracleBulkCopy.Dispose();
        return num;
      }
    }
 
    public int Import(DataTable dt)
    {
      using (OracleBulkCopy oracleBulkCopy = new OracleBulkCopy(OracleHelper.OraclePrepareConnection, (OracleBulkCopyOptions) 1))
      {
        int num = 0;
        oracleBulkCopy.DestinationTableName = "GW_BLACKPOOL_MOBILE";
        oracleBulkCopy.ColumnMappings.Add("MOBILE", "MOBILE");
        oracleBulkCopy.ColumnMappings.Add("BLACKPOOL_ID", "BLACKPOOL_ID");
        oracleBulkCopy.ColumnMappings.Add("MODIFY_TIME", "MODIFY_TIME");
        oracleBulkCopy.ColumnMappings.Add("IS_DELETED", "IS_DELETED");
        oracleBulkCopy.BatchSize = 1000000;
        oracleBulkCopy.BulkCopyTimeout = 6000;
        try
        {
          if (dt != null && dt.Rows.Count > 0)
          {
            oracleBulkCopy.WriteToServer(dt);
            num = dt.Rows.Count;
          }
        }
        catch (Exception ex)
        {
        }
        finally
        {
          if (oracleBulkCopy != null)
            oracleBulkCopy.Close();
        }
        oracleBulkCopy.Dispose();
        return num;
      }
    }
 
    public bool Add_EventLog(DateTime dtime)
    {
      return OracleHelper.ExecuteSql("INSERT INTO GW_EVENT_LOG(EVENT_ID,ASSIGNED_TO,EVENT_TYPE,CONTENT,EVENT_TIME,HANDLE_FLAG)VALUES(GW_EVENT_LOG_SEQ.NEXTVAL,'WBSVC','BLACKPOOLMOBILE','',:EVENT_TIME,0)", OracleHelper.Connection, new OracleParameter(":EVENT_TIME", (object) dtime)) > 0;
    }
 
    public List<GwBlackPool> LoadInfoList(string blackpool, string mobile)
    {
      List<GwBlackPool> list = new List<GwBlackPool>();
      try
      {
        StringBuilder stringBuilder = new StringBuilder();
        stringBuilder.Append("SELECT A.POOL_NAME,B.* FROM GW_BLACKPOOL A,GW_BLACKPOOL_MOBILE B where A.POOL_ID=B.BLACKPOOL_ID and IS_DELETED=0");
        OracleParameter[] oracleParameterArray = new OracleParameter[2];
        if (mobile != null && mobile != "")
        {
          oracleParameterArray[0] = new OracleParameter(":MOBILE", (OracleDbType) 126);
          ((DbParameter) oracleParameterArray[0]).Value = (object) mobile;
          stringBuilder.Append(" and B.MOBILE=:MOBILE");
        }
        if (blackpool != null && blackpool != "")
        {
          oracleParameterArray[1] = new OracleParameter(":BLACKPOOL_ID", (OracleDbType) 126);
          ((DbParameter) oracleParameterArray[1]).Value = (object) blackpool;
          stringBuilder.Append(" and B.BLACKPOOL_ID=:BLACKPOOL_ID");
        }
        using (OracleDataReader reader = OracleHelper.ExecuteReader(stringBuilder.ToString(), OracleHelper.Connection, oracleParameterArray))
        {
          while (((DbDataReader) reader).Read())
          {
            GwBlackPool o = new GwBlackPool();
            if (this.ReadInfo(reader, o))
              list.Add(o);
          }
        }
      }
      catch (Exception ex)
      {
        LogHelper.Error(ex);
        return list;
      }
      return list;
    }
 
    public bool AddMobile(int pid, string mobile)
    {
      DateTime dateTime = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
      StringBuilder stringBuilder = new StringBuilder();
      stringBuilder.Append("begin ");
      stringBuilder.Append("INSERT INTO GW_BLACKPOOL_MOBILE(BLACKPOOL_ID,MOBILE,MODIFY_TIME,IS_DELETED) VALUES(:BLACKPOOL_ID,:MOBILE,:MODIFY_TIME,0); ");
      stringBuilder.Append("INSERT INTO GW_EVENT_LOG(EVENT_ID,ASSIGNED_TO,EVENT_TYPE,CONTENT,EVENT_TIME,HANDLE_FLAG)VALUES(GW_EVENT_LOG_SEQ.NEXTVAL,'WBSVC','BLACKPOOLMOBILE','',:MODIFY_TIME,0); ");
      stringBuilder.Append("end; ");
      OracleParameter[] oracleParameterArray = new OracleParameter[3]
      {
        new OracleParameter(":BLACKPOOL_ID", (object) pid),
        new OracleParameter(":MOBILE", (object) mobile),
        new OracleParameter(":MODIFY_TIME", (object) dateTime)
      };
      return OracleHelper.ExecuteSql(stringBuilder.ToString(), OracleHelper.Connection, oracleParameterArray) > 0;
    }
 
    public bool DeleteMobile(int pid, string mobile)
    {
      DateTime dateTime = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
      StringBuilder stringBuilder = new StringBuilder();
      stringBuilder.Append("begin ");
      stringBuilder.Append("update GW_BLACKPOOL_MOBILE set IS_DELETED=1,MODIFY_TIME=:MODIFY_TIME where MOBILE=:MOBILE AND BLACKPOOL_ID=:BLACKPOOL_ID; ");
      stringBuilder.Append("INSERT INTO GW_EVENT_LOG(EVENT_ID,ASSIGNED_TO,EVENT_TYPE,CONTENT,EVENT_TIME,HANDLE_FLAG)VALUES(GW_EVENT_LOG_SEQ.NEXTVAL,'WBSVC','BLACKPOOLMOBILE','',:MODIFY_TIME,0); ");
      stringBuilder.Append("end; ");
      OracleParameter[] oracleParameterArray = new OracleParameter[3]
      {
        new OracleParameter(":BLACKPOOL_ID", (object) pid),
        new OracleParameter(":MOBILE", (object) mobile),
        new OracleParameter(":MODIFY_TIME", (object) dateTime)
      };
      return OracleHelper.ExecuteSql(stringBuilder.ToString(), OracleHelper.Connection, oracleParameterArray) > 0;
    }
 
    public bool DeleteMobile(int pid)
    {
      DateTime dateTime = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
      StringBuilder stringBuilder = new StringBuilder();
      stringBuilder.Append("begin ");
      stringBuilder.Append("delete from GW_BLACKPOOL where POOL_ID=:BLACKPOOL_ID; ");
      stringBuilder.Append("update GW_BLACKPOOL_MOBILE set IS_DELETED=1,MODIFY_TIME=:MODIFY_TIME where BLACKPOOL_ID=:BLACKPOOL_ID; ");
      stringBuilder.Append("INSERT INTO GW_EVENT_LOG(EVENT_ID,ASSIGNED_TO,EVENT_TYPE,CONTENT,EVENT_TIME,HANDLE_FLAG)VALUES(GW_EVENT_LOG_SEQ.NEXTVAL,'WBSVC','BLACKPOOLMOBILE','',:MODIFY_TIME,0); ");
      stringBuilder.Append("end; ");
      OracleParameter[] oracleParameterArray = new OracleParameter[2]
      {
        new OracleParameter(":BLACKPOOL_ID", (object) pid),
        new OracleParameter(":MODIFY_TIME", (object) dateTime)
      };
      return OracleHelper.ExecuteSql(stringBuilder.ToString(), OracleHelper.Connection, oracleParameterArray) > 0;
    }
 
 
 
  //清除全部黑名单号码开始
 
 
    public bool truntateBlackMobile()
    {
        DateTime dateTime = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
        StringBuilder stringBuilder = new StringBuilder();
        stringBuilder.Append("begin ");
        stringBuilder.Append("update GW_BLACKPOOL_MOBILE set IS_DELETED=1,MODIFY_TIME=:MODIFY_TIME; ");
        stringBuilder.Append("INSERT INTO GW_EVENT_LOG(EVENT_ID,ASSIGNED_TO,EVENT_TYPE,CONTENT,EVENT_TIME,HANDLE_FLAG)VALUES(GW_EVENT_LOG_SEQ.NEXTVAL,'WBSVC','BLACKPOOLMOBILE','',:MODIFY_TIME,0); ");
        stringBuilder.Append("end; ");
        OracleParameter[] oracleParameterArray = new OracleParameter[1]
        {
 
          new OracleParameter(":MODIFY_TIME", (object) dateTime)
           
        };
        return OracleHelper.ExecuteSql(stringBuilder.ToString(), OracleHelper.Connection, oracleParameterArray) > 0;
 
 
    }
 
 
    //public bool truntateBlackMobile()
    //{
    //    int num;
    //    try
    //    {
    //        num = OracleHelper.ExecuteSql("TRUNCATE TABLE GW_BLACKPOOL_MOBILE", OracleHelper.Connection);
    //        OracleHelper.ExecuteSql("INSERT INTO GW_EVENT_LOG(EVENT_ID,ASSIGNED_TO,EVENT_TYPE,CONTENT,EVENT_TIME,HANDLE_FLAG)VALUES(GW_EVENT_LOG_SEQ.NEXTVAL,'WBSVC','CLEARMOBILE','',SYSDATE,0)", OracleHelper.Connection);
    //    }
    //    catch (Exception ex)
    //    {
    //        throw new Exception(string.Format("{0}", (object)ex));
    //    }
    //    return num > 0;
    //}
 
 
//清除黑名单数据完毕 stringBuilder.Append("EXECUTE IMMEDIATE 'truncate table GW_BLACKPOOL_MOBILE' ");
 
    public HashSet<string> GetBlackPoolMobile(int poolID)
    {
      DataTable dataTable = OracleHelper.Execute("SELECT MOBILE FROM GW_BLACKPOOL_MOBILE  WHERE BLACKPOOL_ID=:BLACKPOOL_ID", OracleHelper.Connection, new OracleParameter(":BLACKPOOL_ID", (object) poolID));
      HashSet<string> hashSet = new HashSet<string>();
      foreach (DataRow dataRow in (InternalDataCollectionBase) dataTable.Rows)
      {
        string str = dataRow["MOBILE"].ToString();
        if (!hashSet.Contains(str))
          hashSet.Add(str);
      }
      return hashSet;
    }
 
    public bool IsGwOpPortExits(int pid)
    {
      using (OracleDataReader oracleDataReader = OracleHelper.ExecuteReader(string.Format("SELECT * FROM GW_OP WHERE BLACKPOOL_ID=:BLACKPOOL_ID AND ROWNUM=1"), OracleHelper.Connection, new OracleParameter(":BLACKPOOL_ID", (object) pid)))
      {
        if (((DbDataReader) oracleDataReader).Read())
          return true;
      }
      return false;
    }
 
    public void Dispose()
    {
    }
  }
}