Browse Source

修改已读

renjiaojiao 1 năm trước cách đây
mục cha
commit
683a3fd839

+ 6 - 0
rpc/internal/common/messageService.go

@@ -18,6 +18,12 @@ type MessageService struct{}
 
 // 修改消息阅读状态
 func (service *MessageService) ChangeReadStatus(data *message.ChangeReadStatusReq) error {
+	row := entity.ClickhouseConn.QueryRow(context.Background(), fmt.Sprintf("SELECT count(*) from message_user_summary WHERE  userId = '%s' ANd bitmapContains(readMsg,%d)", data.UserId, data.Id))
+	var count uint64
+	row.Scan(&count)
+	if count > 0 {
+		return nil
+	}
 	msg := entity.Mysql.FindOne("message_send_log", map[string]interface{}{"id": data.Id}, "group_id", "")
 	if msg != nil && len(*msg) > 0 {
 		groupId := qutil.IntAll((*msg)["group_id"])

+ 3 - 0
rpc/internal/common/msglistService.go

@@ -175,6 +175,9 @@ func BitmapUserMsgList(this *message.UserMsgListReq) (*message.UserMsgList, *mes
 			if this.Read == 0 { //未读
 				userMsgArr = Uint32ArrToIntArr(userUnreadArr)
 			}
+			if this.MsgType > 0 {
+				count = int64(len(userMsgArr))
+			}
 			if len(userMsgArr) > 0 {
 				userMsgArr = IntArrSort(userMsgArr)
 				fmt.Println("列表消息:", userMsgArr)