Sfoglia il codice sorgente

新增机器人回复表

zhoufan 8 anni fa
parent
commit
ee666f607a

+ 1 - 0
CallCenterApi/CallCenterApi.BLL/CallCenterApi.BLL.csproj

@@ -68,6 +68,7 @@
68 68
     <Compile Include="T_Call_TaskTelNum.cs" />
69 69
     <Compile Include="T_Call_WorkOrder.cs" />
70 70
     <Compile Include="T_Call_ZBDH.cs" />
71
+    <Compile Include="T_Chat_AIAnswer.cs" />
71 72
     <Compile Include="T_Chat_InOut.cs" />
72 73
     <Compile Include="T_Chat_IPBlackList.cs" />
73 74
     <Compile Include="T_Chat_IPList.cs" />

+ 145 - 0
CallCenterApi/CallCenterApi.BLL/T_Chat_AIAnswer.cs

@@ -0,0 +1,145 @@
1
+using System;
2
+using System.Data;
3
+using System.Collections.Generic;
4
+using CallCenterApi.Model;
5
+namespace CallCenterApi.BLL
6
+{
7
+    /// <summary>
8
+    /// T_Chat_AIAnswer
9
+    /// </summary>
10
+    public partial class T_Chat_AIAnswer
11
+    {
12
+        private readonly CallCenterApi.DAL.T_Chat_AIAnswer dal = new CallCenterApi.DAL.T_Chat_AIAnswer();
13
+        public T_Chat_AIAnswer()
14
+        { }
15
+        #region  BasicMethod
16
+        /// <summary>
17
+        /// 是否存在该记录
18
+        /// </summary>
19
+        public bool Exists(int F_Id)
20
+        {
21
+            return dal.Exists(F_Id);
22
+        }
23
+
24
+        /// <summary>
25
+        /// 增加一条数据
26
+        /// </summary>
27
+        public int Add(CallCenterApi.Model.T_Chat_AIAnswer model)
28
+        {
29
+            return dal.Add(model);
30
+        }
31
+
32
+        /// <summary>
33
+        /// 更新一条数据
34
+        /// </summary>
35
+        public bool Update(CallCenterApi.Model.T_Chat_AIAnswer model)
36
+        {
37
+            return dal.Update(model);
38
+        }
39
+
40
+        /// <summary>
41
+        /// 删除一条数据
42
+        /// </summary>
43
+        public bool Delete(int F_Id)
44
+        {
45
+
46
+            return dal.Delete(F_Id);
47
+        }
48
+        /// <summary>
49
+        /// 删除一条数据
50
+        /// </summary>
51
+        public bool DeleteList(string F_Idlist)
52
+        {
53
+            return dal.DeleteList(F_Idlist);
54
+        }
55
+
56
+        /// <summary>
57
+        /// 得到一个对象实体
58
+        /// </summary>
59
+        public CallCenterApi.Model.T_Chat_AIAnswer GetModel(int F_Id)
60
+        {
61
+
62
+            return dal.GetModel(F_Id);
63
+        }
64
+
65
+        /// <summary>
66
+        /// 获得数据列表
67
+        /// </summary>
68
+        public DataSet GetList(string strWhere)
69
+        {
70
+            return dal.GetList(strWhere);
71
+        }
72
+        /// <summary>
73
+        /// 获得前几行数据
74
+        /// </summary>
75
+        public DataSet GetList(int Top, string strWhere, string filedOrder)
76
+        {
77
+            return dal.GetList(Top, strWhere, filedOrder);
78
+        }
79
+        /// <summary>
80
+        /// 获得数据列表
81
+        /// </summary>
82
+        public List<CallCenterApi.Model.T_Chat_AIAnswer> GetModelList(string strWhere)
83
+        {
84
+            DataSet ds = dal.GetList(strWhere);
85
+            return DataTableToList(ds.Tables[0]);
86
+        }
87
+        /// <summary>
88
+        /// 获得数据列表
89
+        /// </summary>
90
+        public List<CallCenterApi.Model.T_Chat_AIAnswer> DataTableToList(DataTable dt)
91
+        {
92
+            List<CallCenterApi.Model.T_Chat_AIAnswer> modelList = new List<CallCenterApi.Model.T_Chat_AIAnswer>();
93
+            int rowsCount = dt.Rows.Count;
94
+            if (rowsCount > 0)
95
+            {
96
+                CallCenterApi.Model.T_Chat_AIAnswer model;
97
+                for (int n = 0; n < rowsCount; n++)
98
+                {
99
+                    model = dal.DataRowToModel(dt.Rows[n]);
100
+                    if (model != null)
101
+                    {
102
+                        modelList.Add(model);
103
+                    }
104
+                }
105
+            }
106
+            return modelList;
107
+        }
108
+
109
+        /// <summary>
110
+        /// 获得数据列表
111
+        /// </summary>
112
+        public DataSet GetAllList()
113
+        {
114
+            return GetList("");
115
+        }
116
+
117
+        /// <summary>
118
+        /// 分页获取数据列表
119
+        /// </summary>
120
+        public int GetRecordCount(string strWhere)
121
+        {
122
+            return dal.GetRecordCount(strWhere);
123
+        }
124
+        /// <summary>
125
+        /// 分页获取数据列表
126
+        /// </summary>
127
+        public DataSet GetListByPage(string strWhere, string orderby, int startIndex, int endIndex)
128
+        {
129
+            return dal.GetListByPage(strWhere, orderby, startIndex, endIndex);
130
+        }
131
+        /// <summary>
132
+        /// 分页获取数据列表
133
+        /// </summary>
134
+        //public DataSet GetList(int PageSize,int PageIndex,string strWhere)
135
+        //{
136
+        //return dal.GetList(PageSize,PageIndex,strWhere);
137
+        //}
138
+
139
+        #endregion  BasicMethod
140
+        #region  ExtensionMethod
141
+
142
+        #endregion  ExtensionMethod
143
+    }
144
+}
145
+

+ 1 - 0
CallCenterApi/CallCenterApi.DAL/CallCenterApi.DAL.csproj

@@ -68,6 +68,7 @@
68 68
     <Compile Include="T_Call_TaskTelNum.cs" />
69 69
     <Compile Include="T_Call_WorkOrder.cs" />
70 70
     <Compile Include="T_Call_ZBDH.cs" />
71
+    <Compile Include="T_Chat_AIAnswer.cs" />
71 72
     <Compile Include="T_Chat_InOut.cs" />
72 73
     <Compile Include="T_Chat_IPBlackList.cs" />
73 74
     <Compile Include="T_Chat_IPList.cs" />

+ 371 - 0
CallCenterApi/CallCenterApi.DAL/T_Chat_AIAnswer.cs

@@ -0,0 +1,371 @@
1
+using System;
2
+using System.Data;
3
+using System.Text;
4
+using System.Data.SqlClient;
5
+using CallCenterApi.DB;
6
+
7
+namespace CallCenterApi.DAL
8
+{
9
+    /// <summary>
10
+    /// 数据访问类:T_Chat_AIAnswer
11
+    /// </summary>
12
+    public partial class T_Chat_AIAnswer
13
+    {
14
+        public T_Chat_AIAnswer()
15
+        { }
16
+        #region  BasicMethod
17
+        /// <summary>
18
+        /// 是否存在该记录
19
+        /// </summary>
20
+        public bool Exists(int F_Id)
21
+        {
22
+            StringBuilder strSql = new StringBuilder();
23
+            strSql.Append("select count(1) from T_Chat_AIAnswer");
24
+            strSql.Append(" where F_Id=@F_Id");
25
+            SqlParameter[] parameters = {
26
+                    new SqlParameter("@F_Id", SqlDbType.Int,4)
27
+            };
28
+            parameters[0].Value = F_Id;
29
+
30
+            return DbHelperSQL.Exists(strSql.ToString(), parameters);
31
+        }
32
+
33
+
34
+        /// <summary>
35
+        /// 增加一条数据
36
+        /// </summary>
37
+        public int Add(CallCenterApi.Model.T_Chat_AIAnswer model)
38
+        {
39
+            StringBuilder strSql = new StringBuilder();
40
+            strSql.Append("insert into T_Chat_AIAnswer(");
41
+            strSql.Append("F_Type,F_Key,F_Content,F_Remark,F_State,F_CreateUser,F_CreateTime,F_IsDelete,F_DeleteUser,F_DeleteTime)");
42
+            strSql.Append(" values (");
43
+            strSql.Append("@F_Type,@F_Key,@F_Content,@F_Remark,@F_State,@F_CreateUser,@F_CreateTime,@F_IsDelete,@F_DeleteUser,@F_DeleteTime)");
44
+            strSql.Append(";select @@IDENTITY");
45
+            SqlParameter[] parameters = {
46
+                    new SqlParameter("@F_Type", SqlDbType.Int,4),
47
+                    new SqlParameter("@F_Key", SqlDbType.NVarChar,50),
48
+                    new SqlParameter("@F_Content", SqlDbType.NVarChar,-1),
49
+                    new SqlParameter("@F_Remark", SqlDbType.NVarChar,-1),
50
+                    new SqlParameter("@F_State", SqlDbType.Int,4),
51
+                    new SqlParameter("@F_CreateUser", SqlDbType.VarChar,50),
52
+                    new SqlParameter("@F_CreateTime", SqlDbType.DateTime),
53
+                    new SqlParameter("@F_IsDelete", SqlDbType.Int,4),
54
+                    new SqlParameter("@F_DeleteUser", SqlDbType.VarChar,50),
55
+                    new SqlParameter("@F_DeleteTime", SqlDbType.DateTime)};
56
+            parameters[0].Value = model.F_Type;
57
+            parameters[1].Value = model.F_Key;
58
+            parameters[2].Value = model.F_Content;
59
+            parameters[3].Value = model.F_Remark;
60
+            parameters[4].Value = model.F_State;
61
+            parameters[5].Value = model.F_CreateUser;
62
+            parameters[6].Value = model.F_CreateTime;
63
+            parameters[7].Value = model.F_IsDelete;
64
+            parameters[8].Value = model.F_DeleteUser;
65
+            parameters[9].Value = model.F_DeleteTime;
66
+
67
+            object obj = DbHelperSQL.GetSingle(strSql.ToString(), parameters);
68
+            if (obj == null)
69
+            {
70
+                return 0;
71
+            }
72
+            else
73
+            {
74
+                return Convert.ToInt32(obj);
75
+            }
76
+        }
77
+        /// <summary>
78
+        /// 更新一条数据
79
+        /// </summary>
80
+        public bool Update(CallCenterApi.Model.T_Chat_AIAnswer model)
81
+        {
82
+            StringBuilder strSql = new StringBuilder();
83
+            strSql.Append("update T_Chat_AIAnswer set ");
84
+            strSql.Append("F_Type=@F_Type,");
85
+            strSql.Append("F_Key=@F_Key,");
86
+            strSql.Append("F_Content=@F_Content,");
87
+            strSql.Append("F_Remark=@F_Remark,");
88
+            strSql.Append("F_State=@F_State,");
89
+            strSql.Append("F_CreateUser=@F_CreateUser,");
90
+            strSql.Append("F_CreateTime=@F_CreateTime,");
91
+            strSql.Append("F_IsDelete=@F_IsDelete,");
92
+            strSql.Append("F_DeleteUser=@F_DeleteUser,");
93
+            strSql.Append("F_DeleteTime=@F_DeleteTime");
94
+            strSql.Append(" where F_Id=@F_Id");
95
+            SqlParameter[] parameters = {
96
+                    new SqlParameter("@F_Type", SqlDbType.Int,4),
97
+                    new SqlParameter("@F_Key", SqlDbType.NVarChar,50),
98
+                    new SqlParameter("@F_Content", SqlDbType.NVarChar,-1),
99
+                    new SqlParameter("@F_Remark", SqlDbType.NVarChar,-1),
100
+                    new SqlParameter("@F_State", SqlDbType.Int,4),
101
+                    new SqlParameter("@F_CreateUser", SqlDbType.VarChar,50),
102
+                    new SqlParameter("@F_CreateTime", SqlDbType.DateTime),
103
+                    new SqlParameter("@F_IsDelete", SqlDbType.Int,4),
104
+                    new SqlParameter("@F_DeleteUser", SqlDbType.VarChar,50),
105
+                    new SqlParameter("@F_DeleteTime", SqlDbType.DateTime),
106
+                    new SqlParameter("@F_Id", SqlDbType.Int,4)};
107
+            parameters[0].Value = model.F_Type;
108
+            parameters[1].Value = model.F_Key;
109
+            parameters[2].Value = model.F_Content;
110
+            parameters[3].Value = model.F_Remark;
111
+            parameters[4].Value = model.F_State;
112
+            parameters[5].Value = model.F_CreateUser;
113
+            parameters[6].Value = model.F_CreateTime;
114
+            parameters[7].Value = model.F_IsDelete;
115
+            parameters[8].Value = model.F_DeleteUser;
116
+            parameters[9].Value = model.F_DeleteTime;
117
+            parameters[10].Value = model.F_Id;
118
+
119
+            int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters);
120
+            if (rows > 0)
121
+            {
122
+                return true;
123
+            }
124
+            else
125
+            {
126
+                return false;
127
+            }
128
+        }
129
+
130
+        /// <summary>
131
+        /// 删除一条数据
132
+        /// </summary>
133
+        public bool Delete(int F_Id)
134
+        {
135
+
136
+            StringBuilder strSql = new StringBuilder();
137
+            strSql.Append("delete from T_Chat_AIAnswer ");
138
+            strSql.Append(" where F_Id=@F_Id");
139
+            SqlParameter[] parameters = {
140
+                    new SqlParameter("@F_Id", SqlDbType.Int,4)
141
+            };
142
+            parameters[0].Value = F_Id;
143
+
144
+            int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters);
145
+            if (rows > 0)
146
+            {
147
+                return true;
148
+            }
149
+            else
150
+            {
151
+                return false;
152
+            }
153
+        }
154
+        /// <summary>
155
+        /// 批量删除数据
156
+        /// </summary>
157
+        public bool DeleteList(string F_Idlist)
158
+        {
159
+            StringBuilder strSql = new StringBuilder();
160
+            strSql.Append("delete from T_Chat_AIAnswer ");
161
+            strSql.Append(" where F_Id in (" + F_Idlist + ")  ");
162
+            int rows = DbHelperSQL.ExecuteSql(strSql.ToString());
163
+            if (rows > 0)
164
+            {
165
+                return true;
166
+            }
167
+            else
168
+            {
169
+                return false;
170
+            }
171
+        }
172
+
173
+
174
+        /// <summary>
175
+        /// 得到一个对象实体
176
+        /// </summary>
177
+        public CallCenterApi.Model.T_Chat_AIAnswer GetModel(int F_Id)
178
+        {
179
+
180
+            StringBuilder strSql = new StringBuilder();
181
+            strSql.Append("select  top 1 F_Id,F_Type,F_Key,F_Content,F_Remark,F_State,F_CreateUser,F_CreateTime,F_IsDelete,F_DeleteUser,F_DeleteTime from T_Chat_AIAnswer ");
182
+            strSql.Append(" where F_Id=@F_Id");
183
+            SqlParameter[] parameters = {
184
+                    new SqlParameter("@F_Id", SqlDbType.Int,4)
185
+            };
186
+            parameters[0].Value = F_Id;
187
+
188
+            CallCenterApi.Model.T_Chat_AIAnswer model = new CallCenterApi.Model.T_Chat_AIAnswer();
189
+            DataSet ds = DbHelperSQL.Query(strSql.ToString(), parameters);
190
+            if (ds.Tables[0].Rows.Count > 0)
191
+            {
192
+                return DataRowToModel(ds.Tables[0].Rows[0]);
193
+            }
194
+            else
195
+            {
196
+                return null;
197
+            }
198
+        }
199
+
200
+
201
+        /// <summary>
202
+        /// 得到一个对象实体
203
+        /// </summary>
204
+        public CallCenterApi.Model.T_Chat_AIAnswer DataRowToModel(DataRow row)
205
+        {
206
+            CallCenterApi.Model.T_Chat_AIAnswer model = new CallCenterApi.Model.T_Chat_AIAnswer();
207
+            if (row != null)
208
+            {
209
+                if (row["F_Id"] != null && row["F_Id"].ToString() != "")
210
+                {
211
+                    model.F_Id = int.Parse(row["F_Id"].ToString());
212
+                }
213
+                if (row["F_Type"] != null && row["F_Type"].ToString() != "")
214
+                {
215
+                    model.F_Type = int.Parse(row["F_Type"].ToString());
216
+                }
217
+                if (row["F_Key"] != null)
218
+                {
219
+                    model.F_Key = row["F_Key"].ToString();
220
+                }
221
+                if (row["F_Content"] != null)
222
+                {
223
+                    model.F_Content = row["F_Content"].ToString();
224
+                }
225
+                if (row["F_Remark"] != null)
226
+                {
227
+                    model.F_Remark = row["F_Remark"].ToString();
228
+                }
229
+                if (row["F_State"] != null && row["F_State"].ToString() != "")
230
+                {
231
+                    model.F_State = int.Parse(row["F_State"].ToString());
232
+                }
233
+                if (row["F_CreateUser"] != null)
234
+                {
235
+                    model.F_CreateUser = row["F_CreateUser"].ToString();
236
+                }
237
+                if (row["F_CreateTime"] != null && row["F_CreateTime"].ToString() != "")
238
+                {
239
+                    model.F_CreateTime = DateTime.Parse(row["F_CreateTime"].ToString());
240
+                }
241
+                if (row["F_IsDelete"] != null && row["F_IsDelete"].ToString() != "")
242
+                {
243
+                    model.F_IsDelete = int.Parse(row["F_IsDelete"].ToString());
244
+                }
245
+                if (row["F_DeleteUser"] != null)
246
+                {
247
+                    model.F_DeleteUser = row["F_DeleteUser"].ToString();
248
+                }
249
+                if (row["F_DeleteTime"] != null && row["F_DeleteTime"].ToString() != "")
250
+                {
251
+                    model.F_DeleteTime = DateTime.Parse(row["F_DeleteTime"].ToString());
252
+                }
253
+            }
254
+            return model;
255
+        }
256
+
257
+        /// <summary>
258
+        /// 获得数据列表
259
+        /// </summary>
260
+        public DataSet GetList(string strWhere)
261
+        {
262
+            StringBuilder strSql = new StringBuilder();
263
+            strSql.Append("select F_Id,F_Type,F_Key,F_Content,F_Remark,F_State,F_CreateUser,F_CreateTime,F_IsDelete,F_DeleteUser,F_DeleteTime ");
264
+            strSql.Append(" FROM T_Chat_AIAnswer ");
265
+            if (strWhere.Trim() != "")
266
+            {
267
+                strSql.Append(" where " + strWhere);
268
+            }
269
+            return DbHelperSQL.Query(strSql.ToString());
270
+        }
271
+
272
+        /// <summary>
273
+        /// 获得前几行数据
274
+        /// </summary>
275
+        public DataSet GetList(int Top, string strWhere, string filedOrder)
276
+        {
277
+            StringBuilder strSql = new StringBuilder();
278
+            strSql.Append("select ");
279
+            if (Top > 0)
280
+            {
281
+                strSql.Append(" top " + Top.ToString());
282
+            }
283
+            strSql.Append(" F_Id,F_Type,F_Key,F_Content,F_Remark,F_State,F_CreateUser,F_CreateTime,F_IsDelete,F_DeleteUser,F_DeleteTime ");
284
+            strSql.Append(" FROM T_Chat_AIAnswer ");
285
+            if (strWhere.Trim() != "")
286
+            {
287
+                strSql.Append(" where " + strWhere);
288
+            }
289
+            strSql.Append(" order by " + filedOrder);
290
+            return DbHelperSQL.Query(strSql.ToString());
291
+        }
292
+
293
+        /// <summary>
294
+        /// 获取记录总数
295
+        /// </summary>
296
+        public int GetRecordCount(string strWhere)
297
+        {
298
+            StringBuilder strSql = new StringBuilder();
299
+            strSql.Append("select count(1) FROM T_Chat_AIAnswer ");
300
+            if (strWhere.Trim() != "")
301
+            {
302
+                strSql.Append(" where " + strWhere);
303
+            }
304
+            object obj = DbHelperSQL.GetSingle(strSql.ToString());
305
+            if (obj == null)
306
+            {
307
+                return 0;
308
+            }
309
+            else
310
+            {
311
+                return Convert.ToInt32(obj);
312
+            }
313
+        }
314
+        /// <summary>
315
+        /// 分页获取数据列表
316
+        /// </summary>
317
+        public DataSet GetListByPage(string strWhere, string orderby, int startIndex, int endIndex)
318
+        {
319
+            StringBuilder strSql = new StringBuilder();
320
+            strSql.Append("SELECT * FROM ( ");
321
+            strSql.Append(" SELECT ROW_NUMBER() OVER (");
322
+            if (!string.IsNullOrEmpty(orderby.Trim()))
323
+            {
324
+                strSql.Append("order by T." + orderby);
325
+            }
326
+            else
327
+            {
328
+                strSql.Append("order by T.F_Id desc");
329
+            }
330
+            strSql.Append(")AS Row, T.*  from T_Chat_AIAnswer T ");
331
+            if (!string.IsNullOrEmpty(strWhere.Trim()))
332
+            {
333
+                strSql.Append(" WHERE " + strWhere);
334
+            }
335
+            strSql.Append(" ) TT");
336
+            strSql.AppendFormat(" WHERE TT.Row between {0} and {1}", startIndex, endIndex);
337
+            return DbHelperSQL.Query(strSql.ToString());
338
+        }
339
+
340
+        /*
341
+		/// <summary>
342
+		/// 分页获取数据列表
343
+		/// </summary>
344
+		public DataSet GetList(int PageSize,int PageIndex,string strWhere)
345
+		{
346
+			SqlParameter[] parameters = {
347
+					new SqlParameter("@tblName", SqlDbType.VarChar, 255),
348
+					new SqlParameter("@fldName", SqlDbType.VarChar, 255),
349
+					new SqlParameter("@PageSize", SqlDbType.Int),
350
+					new SqlParameter("@PageIndex", SqlDbType.Int),
351
+					new SqlParameter("@IsReCount", SqlDbType.Bit),
352
+					new SqlParameter("@OrderType", SqlDbType.Bit),
353
+					new SqlParameter("@strWhere", SqlDbType.VarChar,1000),
354
+					};
355
+			parameters[0].Value = "T_Chat_AIAnswer";
356
+			parameters[1].Value = "F_Id";
357
+			parameters[2].Value = PageSize;
358
+			parameters[3].Value = PageIndex;
359
+			parameters[4].Value = 0;
360
+			parameters[5].Value = 0;
361
+			parameters[6].Value = strWhere;	
362
+			return DbHelperSQL.RunProcedure("UP_GetRecordByPage",parameters,"ds");
363
+		}*/
364
+
365
+        #endregion  BasicMethod
366
+        #region  ExtensionMethod
367
+
368
+        #endregion  ExtensionMethod
369
+    }
370
+}
371
+

+ 215 - 2
CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/ChatController.cs

@@ -143,6 +143,8 @@ namespace CallCenterApi.Interface.Controllers
143 143
             string sql = " and F_IsDelete=0 ";
144 144
             string strcususer = HttpUtility.UrlDecode(RequestString.GetQueryString("cususer"));
145 145
             string strseruser = HttpUtility.UrlDecode(RequestString.GetQueryString("seruser"));
146
+            string strstarttime = HttpUtility.UrlDecode(RequestString.GetQueryString("starttime"));
147
+            string strendtime = HttpUtility.UrlDecode(RequestString.GetQueryString("endtime"));
146 148
 
147 149
             string strpageindex = RequestString.GetQueryString("page");
148 150
             int pageindex = 1;
@@ -158,6 +160,14 @@ namespace CallCenterApi.Interface.Controllers
158 160
             {
159 161
                 sql += " and (F_FromUser = '" + strseruser.Trim() + "' or F_ToUser = '" + strseruser.Trim() + "' )";
160 162
             }
163
+            if (strstarttime.Trim() != "" && strstarttime != "undefined")
164
+            {
165
+                sql += " and datediff(day,F_CreateTime,'" + strstarttime + "')<=0 ";
166
+            }
167
+            if (strendtime.Trim() != "" && strendtime != "undefined")
168
+            {
169
+                sql += " and datediff(day,F_CreateTime,'" + strendtime + "')>=0   ";
170
+            }
161 171
 
162 172
 
163 173
             if (strpageindex.Trim() != "")
@@ -372,6 +382,7 @@ namespace CallCenterApi.Interface.Controllers
372 382
 
373 383
         }
374 384
 
385
+        #region 黑名单IP
375 386
         /// <summary>
376 387
         /// 获取黑名单IP列表
377 388
         /// </summary>
@@ -486,10 +497,10 @@ namespace CallCenterApi.Interface.Controllers
486 497
                 {
487 498
                     dModel.F_IP = ip;
488 499
                     dModel.F_Remark = remark;
489
-                    
500
+
490 501
                     if (!string.IsNullOrEmpty(starttime))
491 502
                     {
492
-                        dModel.F_StartTime =  DateTime.Parse(starttime);
503
+                        dModel.F_StartTime = DateTime.Parse(starttime);
493 504
                     }
494 505
                     if (!string.IsNullOrEmpty(endtime))
495 506
                     {
@@ -571,5 +582,207 @@ namespace CallCenterApi.Interface.Controllers
571 582
             }
572 583
             return Error("删除失败");
573 584
         }
585
+        #endregion
586
+
587
+        #region 机器人回复
588
+        /// <summary>
589
+        /// 获取机器人回复列表
590
+        /// </summary>
591
+        /// <returns></returns>
592
+        [Authority]
593
+        public ActionResult GetAIAnswerList(int isdc = 0)
594
+        {
595
+            DataTable dt = new DataTable();
596
+            string sql = " and F_IsDelete=0 ";
597
+            string strkey = HttpUtility.UrlDecode(RequestString.GetQueryString("key"));
598
+            string strstarttime = HttpUtility.UrlDecode(RequestString.GetQueryString("starttime"));
599
+            string strendtime = HttpUtility.UrlDecode(RequestString.GetQueryString("endtime"));
600
+            int type = RequestString.GetInt("type", 0);
601
+
602
+            string strpageindex = RequestString.GetQueryString("page");
603
+            int pageindex = 1;
604
+            string strpagesize = RequestString.GetQueryString("pagesize");
605
+            int pagesize = 10;
606
+
607
+            if (strkey.Trim() != "" && strkey != "undefined")
608
+            {
609
+                sql += " and (F_Key like '%" + strkey + "%' or F_Content like '%" + strkey + "%' )";
610
+            }
611
+            if (strstarttime.Trim() != "" && strstarttime != "undefined")
612
+            {
613
+                sql += " and datediff(day,F_CreateTime,'" + strstarttime + "')<=0 ";
614
+            }
615
+            if (strendtime.Trim() != "" && strendtime != "undefined")
616
+            {
617
+                sql += " and datediff(day,F_CreateTime,'" + strendtime + "')>=0   ";
618
+            }
619
+            if (type != 0)
620
+            {
621
+                sql += " and F_Type = '" + type + "' ";
622
+            }
623
+
624
+            if (strpageindex.Trim() != "")
625
+            {
626
+                pageindex = Convert.ToInt32(strpageindex);
627
+            }
628
+
629
+            if (strpagesize.Trim() != "")
630
+            {
631
+                pagesize = Convert.ToInt32(strpagesize);
632
+            }
633
+
634
+            string cols = "*,dbo.GetUserName(F_CreateUser) as UserName";
635
+
636
+            if (isdc > 0)
637
+            {
638
+                var dtdc = DbHelperSQL.Query(" select " + cols + " from T_Chat_AIAnswer where 1=1 " + sql).Tables[0];
639
+                var msg = new NPOIHelper().ExportToExcel("机器人回复列表", dtdc);
640
+                if (msg == "")
641
+                {
642
+                    return Success("导出成功");
643
+                }
644
+                else
645
+                {
646
+                    return Error("导出失败");
647
+                }
648
+            }
649
+
650
+            int recordCount = 0;
651
+            dt = BLL.PagerBLL.GetListPager(
652
+                "T_Chat_AIAnswer",
653
+                "F_Id",
654
+                cols,
655
+                sql,
656
+                "ORDER BY F_CreateTime DESC",
657
+                pagesize,
658
+                pageindex,
659
+                true,
660
+                out recordCount);
661
+
662
+            var obj = new
663
+            {
664
+                state = "success",
665
+                message = "成功",
666
+                rows = dt,
667
+                total = recordCount
668
+            };
669
+            return Content(obj.ToJson());
670
+
671
+        }
672
+
673
+        /// <summary>
674
+        /// 获取机器人回复
675
+        /// </summary>
676
+        /// <param name="areaId"></param>
677
+        /// <returns></returns>
678
+        [Authority]
679
+        public ActionResult GetAIAnswer()
680
+        {
681
+            int id = RequestString.GetInt("id", 0);
682
+            Model.T_Chat_AIAnswer dModel = new BLL.T_Chat_AIAnswer().GetModel(id);
683
+            return Success("成功", dModel);
684
+        }
685
+
686
+        /// <summary>
687
+        /// 添加/编辑机器人回复
688
+        /// </summary>
689
+        /// <param name="input"></param>
690
+        /// <returns></returns>
691
+        [HttpPost]
692
+        [Authority]
693
+        public ActionResult AddAIAnswer()
694
+        {
695
+            int userId = Utils.StrToInt(User.UserData["F_UserID"], 0);
696
+            Model.T_Sys_UserAccount userModel = new BLL.T_Sys_UserAccount().GetModel(userId);
697
+
698
+            int id = RequestString.GetInt("id", 0);
699
+            int type = RequestString.GetInt("type", 0);
700
+            string key = RequestString.GetFormString("key");
701
+            string content = RequestString.GetFormString("content");
702
+            string remark = RequestString.GetFormString("remark");
703
+
704
+            Model.T_Chat_AIAnswer dModel = new Model.T_Chat_AIAnswer();
705
+            if (id == 0)
706
+            {
707
+                var list = new BLL.T_Chat_IPBlackList().GetModelList(" F_Key='" + key + "' and  F_IsDelete=0 ");
708
+                if (list.Count > 0)
709
+                {
710
+                    return Error("已经存在此关键词");
711
+                }
712
+                else
713
+                {
714
+                    dModel.F_Key = key;
715
+                    dModel.F_Content = content;
716
+                    dModel.F_Remark = remark;
717
+
718
+                    dModel.F_State = 1;
719
+                    dModel.F_IsDelete = 0;
720
+                    dModel.F_CreateUser = userModel.F_UserCode;
721
+                    dModel.F_CreateTime = DateTime.Now;
722
+                    int n = new BLL.T_Chat_AIAnswer().Add(dModel);
723
+                    if (n > 0)
724
+                        return Success("添加成功", n);
725
+                    else
726
+                        return Error("添加失败");
727
+                }
728
+            }
729
+            else
730
+            {
731
+                dModel = new BLL.T_Chat_AIAnswer().GetModel(id);
732
+                if (dModel != null)
733
+                {
734
+                    var list = new BLL.T_Chat_IPBlackList().GetModelList(" F_Key='" + key + "' and  F_IsDelete=0 and F_Id!='" + id + "' ");
735
+                    if (list.Count > 0)
736
+                    {
737
+                        return Error("已经存在此关键词");
738
+                    }
739
+                    else
740
+                    {
741
+                        dModel.F_Key = key;
742
+                        dModel.F_Content = content;
743
+                        dModel.F_Remark = remark;
744
+
745
+                        if (new BLL.T_Chat_AIAnswer().Update(dModel))
746
+                            return Success("修改成功");
747
+                        else
748
+                            return Error("修改失败");
749
+                    }
750
+                }
751
+                else
752
+                {
753
+                    return Error("修改失败");
754
+                }
755
+            }
756
+        }
757
+
758
+        /// <summary>
759
+        /// 删除机器人回复
760
+        /// </summary>
761
+        /// <param name="ids"></param>
762
+        /// <returns></returns>
763
+        [Authority]
764
+        public ActionResult DelAIAnswer(string[] ids)
765
+        {
766
+            int userId = Utils.StrToInt(User.UserData["F_UserID"], 0);
767
+            Model.T_Sys_UserAccount userModel = new BLL.T_Sys_UserAccount().GetModel(userId);
768
+
769
+            if (ids == null || ids.Length <= 0)
770
+            {
771
+                return Error("请选择要删除的机器人回复");
772
+            }
773
+
774
+            var idStr = string.Join(",", ids);
775
+            if (string.IsNullOrEmpty(idStr.Trim()))
776
+            {
777
+                return Error("请选择要删除的机器人回复");
778
+            }
779
+            int n = DbHelperSQL.ExecuteSql(" update T_Chat_AIAnswer set F_IsDelete=1,F_DeleteUser='" + userModel.F_UserCode + "',F_DeleteTime=getdate() where F_Id in (" + idStr + ")");
780
+            if (n > 0)
781
+            {
782
+                return Success("删除成功");
783
+            }
784
+            return Error("删除失败");
785
+        }
786
+        #endregion
574 787
     }
575 788
 }

+ 1 - 0
CallCenterApi/CallCenterApi.Model/CallCenterApi.Model.csproj

@@ -53,6 +53,7 @@
53 53
     <Compile Include="T_Bus_UserWorkOrder.cs" />
54 54
     <Compile Include="T_Call_RecordSet.cs" />
55 55
     <Compile Include="T_Bus_WorkOrder_GovernmentServiceWO_Map.cs" />
56
+    <Compile Include="T_Chat_AIAnswer.cs" />
56 57
     <Compile Include="T_Chat_InOut.cs" />
57 58
     <Compile Include="T_Chat_IPBlackList.cs" />
58 59
     <Compile Include="T_Chat_IPList.cs" />

+ 116 - 0
CallCenterApi/CallCenterApi.Model/T_Chat_AIAnswer.cs

@@ -0,0 +1,116 @@
1
+using System;
2
+namespace CallCenterApi.Model
3
+{
4
+    /// <summary>
5
+    /// T_Chat_AIAnswer:实体类(属性说明自动提取数据库字段的描述信息)
6
+    /// </summary>
7
+    [Serializable]
8
+    public partial class T_Chat_AIAnswer
9
+    {
10
+        public T_Chat_AIAnswer()
11
+        { }
12
+        #region Model
13
+        private int _f_id;
14
+        private int? _f_type;
15
+        private string _f_key;
16
+        private string _f_content;
17
+        private string _f_remark;
18
+        private int? _f_state;
19
+        private string _f_createuser;
20
+        private DateTime? _f_createtime;
21
+        private int? _f_isdelete;
22
+        private string _f_deleteuser;
23
+        private DateTime? _f_deletetime;
24
+        /// <summary>
25
+        /// 
26
+        /// </summary>
27
+        public int F_Id
28
+        {
29
+            set { _f_id = value; }
30
+            get { return _f_id; }
31
+        }
32
+        /// <summary>
33
+        /// 
34
+        /// </summary>
35
+        public int? F_Type
36
+        {
37
+            set { _f_type = value; }
38
+            get { return _f_type; }
39
+        }
40
+        /// <summary>
41
+        /// 
42
+        /// </summary>
43
+        public string F_Key
44
+        {
45
+            set { _f_key = value; }
46
+            get { return _f_key; }
47
+        }
48
+        /// <summary>
49
+        /// 
50
+        /// </summary>
51
+        public string F_Content
52
+        {
53
+            set { _f_content = value; }
54
+            get { return _f_content; }
55
+        }
56
+        /// <summary>
57
+        /// 
58
+        /// </summary>
59
+        public string F_Remark
60
+        {
61
+            set { _f_remark = value; }
62
+            get { return _f_remark; }
63
+        }
64
+        /// <summary>
65
+        /// 
66
+        /// </summary>
67
+        public int? F_State
68
+        {
69
+            set { _f_state = value; }
70
+            get { return _f_state; }
71
+        }
72
+        /// <summary>
73
+        /// 
74
+        /// </summary>
75
+        public string F_CreateUser
76
+        {
77
+            set { _f_createuser = value; }
78
+            get { return _f_createuser; }
79
+        }
80
+        /// <summary>
81
+        /// 
82
+        /// </summary>
83
+        public DateTime? F_CreateTime
84
+        {
85
+            set { _f_createtime = value; }
86
+            get { return _f_createtime; }
87
+        }
88
+        /// <summary>
89
+        /// 
90
+        /// </summary>
91
+        public int? F_IsDelete
92
+        {
93
+            set { _f_isdelete = value; }
94
+            get { return _f_isdelete; }
95
+        }
96
+        /// <summary>
97
+        /// 
98
+        /// </summary>
99
+        public string F_DeleteUser
100
+        {
101
+            set { _f_deleteuser = value; }
102
+            get { return _f_deleteuser; }
103
+        }
104
+        /// <summary>
105
+        /// 
106
+        /// </summary>
107
+        public DateTime? F_DeleteTime
108
+        {
109
+            set { _f_deletetime = value; }
110
+            get { return _f_deletetime; }
111
+        }
112
+        #endregion Model
113
+
114
+    }
115
+}
116
+