mirror of
				https://github.com/openimsdk/open-im-server.git
				synced 2025-11-04 11:22:10 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			60 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			60 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
package user
 | 
						|
 | 
						|
import (
 | 
						|
	"Open_IM/pkg/common/constant"
 | 
						|
	"Open_IM/pkg/common/db"
 | 
						|
	"Open_IM/pkg/common/log"
 | 
						|
	pbUser "Open_IM/pkg/proto/user"
 | 
						|
	"context"
 | 
						|
)
 | 
						|
 | 
						|
func (s *userServer) SetReceiveMessageOpt(ctx context.Context, req *pbUser.SetReceiveMessageOptReq) (*pbUser.SetReceiveMessageOptResp, error) {
 | 
						|
	m := make(map[string]int, len(req.ConversationId))
 | 
						|
	for _, v := range req.ConversationId {
 | 
						|
		m[v] = int(req.Opt)
 | 
						|
	}
 | 
						|
	err := db.DB.SetMultiConversationMsgOpt(req.UId, m)
 | 
						|
	if err != nil {
 | 
						|
		log.NewError(req.OperationID, "SetMultiConversationMsgOpt failed ", err.Error(), req)
 | 
						|
		return &pbUser.SetReceiveMessageOptResp{ErrCode: constant.DatabaseError, ErrMsg: err.Error()}, nil
 | 
						|
	}
 | 
						|
	var resp pbUser.SetReceiveMessageOptResp
 | 
						|
	resp.ErrCode = 0
 | 
						|
 | 
						|
	for _, v := range req.ConversationId {
 | 
						|
		resp.OptResult = append(resp.OptResult, &pbUser.OptResult{ConversationId: v, Result: 0})
 | 
						|
	}
 | 
						|
	log.NewInfo(req.OperationID, "SetReceiveMessageOpt req, resp ", req, resp)
 | 
						|
	return &resp, nil
 | 
						|
}
 | 
						|
 | 
						|
func (s *userServer) GetReceiveMessageOpt(ctx context.Context, req *pbUser.GetReceiveMessageOptReq) (*pbUser.GetReceiveMessageOptResp, error) {
 | 
						|
	m, err := db.DB.GetMultiConversationMsgOpt(req.UId, req.ConversationId)
 | 
						|
	if err != nil {
 | 
						|
		log.NewError(req.OperationID, "GetMultiConversationMsgOpt failed ", err.Error(), req)
 | 
						|
		return &pbUser.GetReceiveMessageOptResp{ErrCode: constant.DatabaseError, ErrMsg: err.Error()}, nil
 | 
						|
	}
 | 
						|
	var resp pbUser.GetReceiveMessageOptResp
 | 
						|
	resp.ErrCode = 0
 | 
						|
	for k, v := range m {
 | 
						|
		resp.ConversationOptResult = append(resp.ConversationOptResult, &pbUser.OptResult{ConversationId: k, Result: int32(v)})
 | 
						|
	}
 | 
						|
	log.NewInfo(req.OperationID, "GetReceiveMessageOpt, req, resp", req, resp)
 | 
						|
	return &resp, nil
 | 
						|
}
 | 
						|
 | 
						|
func (s *userServer) GetAllConversationMsgOpt(ctx context.Context, req *pbUser.GetAllConversationMsgOptReq) (*pbUser.GetAllConversationMsgOptResp, error) {
 | 
						|
	m, err := db.DB.GetAllConversationMsgOpt(req.UId)
 | 
						|
	if err != nil {
 | 
						|
		log.NewError(req.OperationID, "GetAllConversationMsgOpt failed ", err.Error(), req)
 | 
						|
		return &pbUser.GetAllConversationMsgOptResp{ErrCode: constant.DatabaseError, ErrMsg: err.Error()}, nil
 | 
						|
	}
 | 
						|
	var resp pbUser.GetAllConversationMsgOptResp
 | 
						|
	resp.ErrCode = 0
 | 
						|
	for k, v := range m {
 | 
						|
		resp.ConversationOptResult = append(resp.ConversationOptResult, &pbUser.OptResult{ConversationId: k, Result: int32(v)})
 | 
						|
	}
 | 
						|
	log.NewInfo(req.OperationID, "GetAllConversationMsgOpt, req, resp", req, resp)
 | 
						|
	return &resp, nil
 | 
						|
}
 |