duxin 2 anni fa
parent
commit
62896f2530
1 ha cambiato i file con 30 aggiunte e 27 eliminazioni
  1. 30 27
      service/message_mail_box.go

+ 30 - 27
service/message_mail_box.go

@@ -184,21 +184,21 @@ func (b MessaggeService) UserList(in *messagecenter.UserReq) (data *[]map[string
 			in.Size = 50
 		}
 		sqlStr = fmt.Sprintf(`SELECT(
-			CASE
-			WHEN SUBSTR( b.nickname, 1, 3 ) = 'JY_' THEN
-			CONCAT( SUBSTR( b.phone, 1, 3 ), '****', SUBSTR( b.phone, 8, 11 ) ) 
-			WHEN b. IS NULL THEN
-				CONCAT( SUBSTR( b.phone, 1, 3 ), '****', SUBSTR( b.phone, 8, 11 ) ) ELSE b.nickname 
-			END nickname = '' 
-			OR b.nickname
-			) AS NAME,
+			 CASE
+            	WHEN SUBSTR( b.nickname, 1, 3 ) = 'JY_' THEN
+            	CONCAT( SUBSTR( b.phone, 1, 3 ), '****', SUBSTR( b.phone, 8, 11 ) ) 
+            	WHEN b.nickname = '' 
+            	OR b.nickname IS NULL THEN
+            	CONCAT( SUBSTR( b.phone, 1, 3 ), '****', SUBSTR( b.phone, 8, 11 ) ) ELSE b.nickname 
+            	END 
+            ) AS name,
 			b.id,
 			e.title,
 			b.headimg,
 			e.type,
 			e.link,
 			e.content,
-			a.update_time,
+			a.update_time as create_time,
 			(
 			SELECT
 				count( h.id ) 
@@ -221,16 +221,20 @@ func (b MessaggeService) UserList(in *messagecenter.UserReq) (data *[]map[string
 	ORDER BY
 	a.update_time DESC`, util.SOCIALIZE_MESSAGE_MAILBOX, util.SOCIALIZE_CHAT_SESSION, in.EntUserId, util.User_message_list, util.BASE_USER, idSql, util.SOCIALIZE_MESSAGE)
 	}
+	dataSize := []map[string]interface{}{}
 	if sqlStr != "" {
 		log.Println("查询列表sql:", sqlStr)
 		dataAll := util.Mysql.SelectBySql(sqlStr)
 		if dataAll != nil && len(*dataAll) > 0 {
-			log.Println("查询列表耗时2:", time.Since(tm), count)
 			count = quitl.Int64All(len(*dataAll))
-			if in.Page*in.Size >= count {
-				*data = (*dataAll)[(in.Page-1)*in.Size:]
-			} else {
-				*data = (*dataAll)[(in.Page-1)*in.Size : in.Page*in.Size]
+			log.Println("查询列表耗时2:", time.Since(tm), count)
+			if in.UserType != 2 {
+				if in.Page*in.Size >= count {
+					dataSize = (*dataAll)[(in.Page-1)*in.Size:]
+				} else {
+					dataSize = (*dataAll)[(in.Page-1)*in.Size : in.Page*in.Size]
+				}
+				return &dataSize, count, err
 			}
 		}
 	}
@@ -250,20 +254,20 @@ func (b MessaggeService) ConversationList(in *messagecenter.ConversationReq) (da
 		idSql := fmt.Sprintf("a.customer_service_id = %d AND  b.id  in (%s) ", in.EntUserId, strings.Join(ids, ","))
 		sqlStr = fmt.Sprintf(`SELECT(
 			CASE
-			WHEN SUBSTR( b.nickname, 1, 3 ) = 'JY_' THEN
-			CONCAT( SUBSTR( b.phone, 1, 3 ), '****', SUBSTR( b.phone, 8, 11 ) ) 
-			WHEN b. IS NULL THEN
-				CONCAT( SUBSTR( b.phone, 1, 3 ), '****', SUBSTR( b.phone, 8, 11 ) ) ELSE b.nickname 
-			END nickname = '' 
-			OR b.nickname
-			) AS NAME,
+            	WHEN SUBSTR( b.nickname, 1, 3 ) = 'JY_' THEN
+            	CONCAT( SUBSTR( b.phone, 1, 3 ), '****', SUBSTR( b.phone, 8, 11 ) ) 
+            	WHEN b.nickname = '' 
+            	OR b.nickname IS NULL THEN
+            	CONCAT( SUBSTR( b.phone, 1, 3 ), '****', SUBSTR( b.phone, 8, 11 ) ) ELSE b.nickname 
+            	END 
+            ) AS name,
 			b.id,
 			e.title,
 			b.headimg,
 			e.type,
 			e.link,
 			e.content,
-			a.update_time,
+			a.update_time as create_time,
 			(
 			SELECT
 				count( h.id ) 
@@ -331,7 +335,7 @@ func (b MessaggeService) SaveMessage(in *messagecenter.MessageEntity) (fool bool
 			break
 		}
 		//查找会话信息
-		chatJson := util.Mysql.FindOne(util.SOCIALIZE_CHAT_SESSION, map[string]interface{}{"id": sessionId}, "user_id", "")
+		chatJson := util.Mysql.FindOne(util.SOCIALIZE_CHAT_SESSION, map[string]interface{}{"id": sessionId}, "user_id,ent_id,customer_service_id", "")
 		if chatJson == nil {
 			return false, "会话标识不存在", "", 0, nowForm.Unix()
 		} else {
@@ -365,7 +369,7 @@ func (b MessaggeService) SaveMessage(in *messagecenter.MessageEntity) (fool bool
 		}
 		ok := util.Mysql.InsertByTx(tx, util.SOCIALIZE_MESSAGE, message)
 		receiveOk := int64(0)
-		messageId = ok
+		messageId, message_id = ok, ok
 		data["id"] = ok
 		//在插入邮箱表socialize_message_mailbox
 		messageMailBox := map[string]interface{}{
@@ -513,7 +517,6 @@ func (b MessaggeService) SaveMessage(in *messagecenter.MessageEntity) (fool bool
 			}
 			util.SetData(userType, userId, map[string]interface{}{"data": data, "count": count}, util.SurvivalTime)
 		}
-		message_id = receiveOk
 		return ok > 1 && receiveOk > 1
 	})
 	if fool && in.ItemType != 2 && in.ItemType != 3 {
@@ -542,8 +545,8 @@ func UserSynchronousList(customerServiceId, userId, entId, messageId int64, crea
 			upData["type"] = 1
 		}
 		//已于人工客服联系过 只同步最后消息
-		util.Mysql.Update(util.User_message_list, map[string]interface{}{"user_id": userId},
-			map[string]interface{}{"$set": upData})
+		util.Mysql.Update(util.User_message_list, map[string]interface{}{"user_id": userId}, upData)
+		return
 	}
 	//不存在消息列表 创建
 	util.Mysql.Insert(util.User_message_list, map[string]interface{}{