|
@@ -86,8 +86,43 @@ func (b MessaggeService) UserList(in *messagecenter.UserReq) (data *[]map[string
|
|
|
}
|
|
|
return
|
|
|
}
|
|
|
-func (b MessaggeService) SaveMessage(in *messagecenter.MessageEntity) (errorCode int64) {
|
|
|
+func (b MessaggeService) SaveMessage(in *messagecenter.MessageEntity) (errorCode int64, errorMsg string) {
|
|
|
//先插入信息表
|
|
|
+ //判断会话标识是否属于本人
|
|
|
+ if in.ItemType != 2 {
|
|
|
+ userId := int64(0)
|
|
|
+ sessionId := int64(0)
|
|
|
+ switch in.ItemType {
|
|
|
+ case 4, 5:
|
|
|
+ if in.OwnType == 1 {
|
|
|
+ sessionId = in.ReceiveId
|
|
|
+ userId = in.NewUserId
|
|
|
+ } else {
|
|
|
+ sessionId = in.SendId
|
|
|
+ userId = in.ReceiveId
|
|
|
+ }
|
|
|
+ break
|
|
|
+ case 6:
|
|
|
+ if in.OwnType == 1 {
|
|
|
+ sessionId = in.ReceiveId
|
|
|
+ userId = in.NewUserId
|
|
|
+ } else {
|
|
|
+ sessionId = in.SendId
|
|
|
+ userId = in.ReceiveId
|
|
|
+ }
|
|
|
+ break
|
|
|
+ }
|
|
|
+ //查找会话信息
|
|
|
+ chatJson := Mysql.FindOne("socialize_chat_session", map[string]interface{}{"id": sessionId}, "user_id", "")
|
|
|
+ if chatJson == nil {
|
|
|
+ return 1, "会话标识不存在"
|
|
|
+ } else {
|
|
|
+ if userId != quitl.Int64All((*chatJson)["user_id"]) {
|
|
|
+ return 1, "会话标识不属于此用户"
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
fool := Mysql.ExecTx("聊天信息保存", func(tx *sql.Tx) bool {
|
|
|
//先插入信息表
|
|
|
message := map[string]interface{}{
|
|
@@ -238,9 +273,9 @@ func (b MessaggeService) SaveMessage(in *messagecenter.MessageEntity) (errorCode
|
|
|
return true
|
|
|
})
|
|
|
if fool {
|
|
|
- return 0
|
|
|
+ return 0, ""
|
|
|
} else {
|
|
|
- return 1
|
|
|
+ return 1, "保存失败"
|
|
|
}
|
|
|
}
|
|
|
func (b MessaggeService) FindMessage(in *messagecenter.MessageReq) (*[]map[string]interface{}, int64) {
|