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 }