WH01243 3 年 前
コミット
323729c057
2 ファイル変更41 行追加6 行削除
  1. 3 3
      rpc/messagecenter/test/message_test.go
  2. 38 3
      service/message_mail_box.go

+ 3 - 3
rpc/messagecenter/test/message_test.go

@@ -75,11 +75,11 @@ func Test_SaveMessage(t *testing.T) {
 		Title:     "11",
 		Content:   "请问在吗?",
 		Item:      8,
-		ItemType:  4,
+		ItemType:  6,
 		Link:      "1111",
 		Appid:     "10000",
 		ReceiveId: 2,
-		SendId:    3,
+		SendId:    4626,
 		OwnType:   int64(2),
 		Type:      1,
 	}
@@ -93,7 +93,7 @@ func Test_test1(t *testing.T) {
 	a := encrypt.SE.Encode2HexByCheck("14184")
 	fmt.Println(a)
 	fmt.Println(encrypt.SE.Decode4HexByCheck(a))
-	fmt.Println(encrypt.SE.Decode4Hex("475745"))
+	fmt.Println(encrypt.SE.Decode4Hex("405d445a"))
 	/*for d := 0; d <10 ; d++ {
 		c:=0
 		for i := 0; i <= 10000; i++ {

+ 38 - 3
service/message_mail_box.go

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