Kaynağa Gözat

聊天记录附件、 报错等

liyuanyuan 3 yıl önce
ebeveyn
işleme
ab2aa11c89

+ 14 - 6
RMYY_CallCenter_Api.Dal/T_Msg_Chat.cs

@@ -47,9 +47,9 @@ namespace RMYY_CallCenter_Api.Dal
47 47
         {
48 48
             StringBuilder strSql = new StringBuilder();
49 49
             strSql.Append("insert into T_Msg_Chat(");
50
-            strSql.Append("Content,VoiceUrl,CreateDate,FromUserId,ToUserId,ToRoleId,IsToAll,IsDelete)");
50
+            strSql.Append("Content,VoiceUrl,CreateDate,FromUserId,ToUserId,ToRoleId,IsToAll,IsDelete,Files)");
51 51
             strSql.Append(" values (");
52
-            strSql.Append("@Content,@VoiceUrl,@CreateDate,@FromUserId,@ToUserId,@ToRoleId,@IsToAll,@IsDelete)");
52
+            strSql.Append("@Content,@VoiceUrl,@CreateDate,@FromUserId,@ToUserId,@ToRoleId,@IsToAll,@IsDelete,@Files)");
53 53
             strSql.Append(";select @@IDENTITY");
54 54
             SqlParameter[] parameters = {
55 55
                     new SqlParameter("@Content", SqlDbType.NText),
@@ -59,7 +59,10 @@ namespace RMYY_CallCenter_Api.Dal
59 59
                     new SqlParameter("@ToUserId", SqlDbType.Int,4),
60 60
                     new SqlParameter("@ToRoleId", SqlDbType.Int,4),
61 61
                     new SqlParameter("@IsToAll", SqlDbType.Int,4),
62
-                    new SqlParameter("@IsDelete", SqlDbType.Int,4)};
62
+                    new SqlParameter("@IsDelete", SqlDbType.Int,4),
63
+                      new SqlParameter("@Files", SqlDbType.NVarChar,100)
64
+                    
65
+            };
63 66
             parameters[0].Value = model.Content;
64 67
             parameters[1].Value = model.VoiceUrl;
65 68
             parameters[2].Value = model.CreateDate;
@@ -68,7 +71,7 @@ namespace RMYY_CallCenter_Api.Dal
68 71
             parameters[5].Value = model.ToRoleId;
69 72
             parameters[6].Value = model.IsToAll;
70 73
             parameters[7].Value = model.IsDelete;
71
-
74
+            parameters[8].Value = model.Files;
72 75
             object obj = DbHelperSQL.GetSingle(strSql.ToString(), parameters);
73 76
             if (obj == null)
74 77
             {
@@ -177,7 +180,7 @@ namespace RMYY_CallCenter_Api.Dal
177 180
         {
178 181
 
179 182
             StringBuilder strSql = new StringBuilder();
180
-            strSql.Append("select  top 1 Id,Content,VoiceUrl,CreateDate,FromUserId,ToUserId,ToRoleId,IsToAll,IsDelete from T_Msg_Chat ");
183
+            strSql.Append("select  top 1 Id,Content,VoiceUrl,CreateDate,FromUserId,ToUserId,ToRoleId,IsToAll,Files,IsDelete from T_Msg_Chat ");
181 184
             strSql.Append(" where Id=@Id");
182 185
             SqlParameter[] parameters = {
183 186
                     new SqlParameter("@Id", SqlDbType.Int,4)
@@ -213,6 +216,11 @@ namespace RMYY_CallCenter_Api.Dal
213 216
                 {
214 217
                     model.Content = row["Content"].ToString();
215 218
                 }
219
+                
220
+ if (row["Files"] != null)
221
+                {
222
+                    model.Files = row["Files"].ToString();
223
+                }
216 224
                 if (row["VoiceUrl"] != null)
217 225
                 {
218 226
                     model.VoiceUrl = row["VoiceUrl"].ToString();
@@ -251,7 +259,7 @@ namespace RMYY_CallCenter_Api.Dal
251 259
         public DataSet GetList(string strWhere)
252 260
         {
253 261
             StringBuilder strSql = new StringBuilder();
254
-            strSql.Append("select Id,Content,VoiceUrl,CreateDate,FromUserId,ToUserId,ToRoleId,IsToAll,IsDelete ");
262
+            strSql.Append("select Id,Content,VoiceUrl,CreateDate,FromUserId,ToUserId,ToRoleId,IsToAll,IsDelete ,Files");
255 263
             strSql.Append(" FROM T_Msg_Chat ");
256 264
             if (strWhere.Trim() != "")
257 265
             {

+ 8 - 0
RMYY_CallCenter_Api.Model/T_Msg_Chat.cs

@@ -20,6 +20,14 @@ namespace RMYY_CallCenter_Api.Model
20 20
         private int? _toroleid;
21 21
         private int? _istoall;
22 22
         private int? _isdelete;
23
+        private string _files;
24
+
25
+        public string Files
26
+        {
27
+            set { _files = value; }
28
+            get { return _files; }
29
+        }
30
+
23 31
         /// <summary>
24 32
         /// Id
25 33
         /// </summary>

+ 48 - 4
RMYY_CallCenter_Api/Controllers/IndexController.cs

@@ -19,6 +19,7 @@ namespace RMYY_CallCenter_Api.Controllers
19 19
         private Bll.T_Msg_Chat bllchat = new Bll.T_Msg_Chat();
20 20
         private Bll.T_Msg_Chat_Map bllmap = new Bll.T_Msg_Chat_Map();
21 21
         private readonly Bll.T_Sys_UserAccount userAccount = new Bll.T_Sys_UserAccount();
22
+       private Bll.T_Sys_SystemConfig configBll = new Bll.T_Sys_SystemConfig();
22 23
         // GET: Index
23 24
         /// <summary>
24 25
         /// 获取当前用户
@@ -411,6 +412,18 @@ namespace RMYY_CallCenter_Api.Controllers
411 412
             return Success("获取成功", dt);
412 413
         }
413 414
 
415
+        public DataTable GetFileData(string ids, string prefix)
416
+        {
417
+            DataTable dt = DbHelperSQL.Query("select * from T_Sys_Accessories WITH(NOLOCK) where F_FileId in (" + ids + ")").Tables[0];
418
+
419
+            foreach (DataRow dr in dt.Rows)
420
+            {
421
+                dr["F_FileUrl"] = prefix + dr["F_FileUrl"].ToString();
422
+            }
423
+
424
+            return dt;
425
+        }
426
+
414 427
         /// <summary>
415 428
         /// 即时聊天 - 获取最新通讯(获取双方记录【聊天】)
416 429
         /// </summary>
@@ -440,12 +453,30 @@ namespace RMYY_CallCenter_Api.Controllers
440 453
                     sql += " and b.CreateDate > '" + start + "' ";
441 454
                 }
442 455
                 //查询(聊天记录)
443
-                string sql1 = "SELECT a.Id,a.FromUserId,a.Content,a.IsToAll,a.CreateDate,c.F_UserName FROM dbo.T_Msg_Chat a RIGHT JOIN dbo.T_Msg_Chat_Map b ON b.ChatId = a.Id LEFT JOIN dbo.T_Sys_UserAccount c ON c.F_UserId = a.FromUserId WHERE " + sql + " ORDER BY a.CreateDate ASC";
456
+                string sql1 = "SELECT a.Id,a.FromUserId,a.Content,a.Files,a.IsToAll,a.CreateDate,c.F_UserName FROM dbo.T_Msg_Chat a RIGHT JOIN dbo.T_Msg_Chat_Map b ON b.ChatId = a.Id LEFT JOIN dbo.T_Sys_UserAccount c ON c.F_UserId = a.FromUserId WHERE " + sql + " ORDER BY a.CreateDate ASC";
444 457
                 dt = DbHelperSQL.Query(sql1).Tables[0];
445 458
                 recordCount = dt.Rows.Count;
446 459
 
447
-                //修改(设置已读)
448
-                string sqlwhere = " ISNULL(IsRead,0) = 0 ";
460
+
461
+                dt.Columns.Add("FileUrl", typeof(object));
462
+            
463
+               var configfj = configBll.GetModelList(" F_ParamCode='FileUrlPath' ").FirstOrDefault();
464
+
465
+                foreach (DataRow dr in dt.Rows)
466
+                {
467
+                  
468
+                    if (configfj != null && !string.IsNullOrEmpty(dr["Files"].ToString()))
469
+                    {
470
+                        dr["FileUrl"] = GetFileData(dr["Files"].ToString(), configfj.F_ParamValue);
471
+                    }
472
+                }
473
+
474
+
475
+
476
+
477
+
478
+                    //修改(设置已读)
479
+               string sqlwhere = " ISNULL(IsRead,0) = 0 ";
449 480
                 if (fromuserId > 0)
450 481
                 {
451 482
                     sqlwhere += " and FromUserId = " + fromuserId + " ";
@@ -564,6 +595,7 @@ namespace RMYY_CallCenter_Api.Controllers
564 595
             model.ToUserId = input.ToUserId;
565 596
             model.ToRoleId = input.ToRoleId;
566 597
             model.CreateDate = DateTime.Now;
598
+            model.Files = input.Files;
567 599
             //如果用户和角色都为0,则发送所有人
568 600
             if (input.ToUserId == 0 && input.ToRoleId == 0)
569 601
             {
@@ -640,9 +672,21 @@ namespace RMYY_CallCenter_Api.Controllers
640 672
                 sql += " and ISNULL(b.IsRead,0) = " + isread + " ";
641 673
             }
642 674
             //查询(聊天记录)
643
-            string sql1 = "SELECT TOP " + top + " a.Id,b.FromUserId,b.ToUserId,a.Content,a.IsToAll,a.CreateDate,b.IsRead,c.F_UserName,c.F_RoleId,c.F_Sex,c.F_See FROM dbo.T_Msg_Chat a RIGHT JOIN dbo.T_Msg_Chat_Map b ON b.ChatId = a.Id LEFT JOIN dbo.T_Sys_UserAccount c ON c.F_UserId = a.FromUserId WHERE " + sql + " ORDER BY a.CreateDate ASC";
675
+            string sql1 = "SELECT TOP " + top + " a.Id,b.FromUserId,b.ToUserId,a.Content,a.Files,a.IsToAll,a.CreateDate,b.IsRead,c.F_UserName,c.F_RoleId,c.F_Sex,c.F_See FROM dbo.T_Msg_Chat a RIGHT JOIN dbo.T_Msg_Chat_Map b ON b.ChatId = a.Id LEFT JOIN dbo.T_Sys_UserAccount c ON c.F_UserId = a.FromUserId WHERE " + sql + " ORDER BY a.CreateDate ASC";
644 676
             dt = DbHelperSQL.Query(sql1).Tables[0];
645 677
             recordCount = dt.Rows.Count;
678
+            dt.Columns.Add("FileUrl", typeof(object));
679
+
680
+            var configfj = configBll.GetModelList(" F_ParamCode='FileUrlPath' ").FirstOrDefault();
681
+
682
+            foreach (DataRow dr in dt.Rows)
683
+            {
684
+
685
+                if (configfj != null && !string.IsNullOrEmpty(dr["Files"].ToString()))
686
+                {
687
+                    dr["FileUrl"] = GetFileData(dr["Files"].ToString(), configfj.F_ParamValue);
688
+                }
689
+            }
646 690
 
647 691
             var obj = new
648 692
             {

+ 1 - 1
RMYY_CallCenter_Api/Controllers/InfoController.cs

@@ -183,7 +183,7 @@ namespace RMYY_CallCenter_Api.Controllers
183 183
             var date = DateTime.Now;
184 184
 
185 185
 
186
-            string sqlhw = "       select a. F_GDID F_Type , a.F_Name,(SELECT COUNT(1) FROM T_Car_WorkOrder WHERE   F_IsDel=0 AND F_Typ in( select F_GDId  from [dbo].[GetValueId](a.F_GDID))  " +
186
+            string sqlhw = "       select a. F_GDID F_Type , a.F_Name,(SELECT COUNT(1) FROM T_Car_WorkOrder WHERE   F_IsDel=0 AND F_Type in( select F_GDId  from [dbo].[GetValueId](a.F_GDID))  " +
187 187
                 "    AND datediff(day , F_CreateTime  , getdate())= 0) COUNT    from T_Sys_Gongdan a" +
188 188
                 "     where F_ParentID = 4000 AND F_IsDelete = 0   ";
189 189
             DataTable dthw = DbHelperSQL.Query(sqlhw).Tables[0];

+ 5 - 0
RMYY_CallCenter_Api/Models/Input/ChatInput.cs

@@ -7,6 +7,11 @@ namespace RMYY_CallCenter_Api.Models.Input
7 7
 {
8 8
     public class ChatInput
9 9
     {
10
+
11
+        /// <summary>
12
+        /// 附件内容
13
+        /// </summary>
14
+               public string Files { get; set; }
10 15
         /// <summary>
11 16
         /// Id
12 17
         /// </summary>