|
@@ -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{}{
|