// Code generated by goctl. DO NOT EDIT.
// Source: user.proto

package server

import (
	"context"

	"github.com/cherish-chat/xxim-server/app/user/internal/logic/infoservice"
	"github.com/cherish-chat/xxim-server/app/user/internal/svc"
	"github.com/cherish-chat/xxim-server/common/pb"
)

type InfoServiceServer struct {
	svcCtx *svc.ServiceContext
	pb.UnimplementedInfoServiceServer
}

func NewInfoServiceServer(svcCtx *svc.ServiceContext) *InfoServiceServer {
	return &InfoServiceServer{
		svcCtx: svcCtx,
	}
}

// UpdateUserProfileMap 更新用户个人信息
func (s *InfoServiceServer) UpdateUserProfileMap(ctx context.Context, in *pb.UpdateUserProfileMapReq) (*pb.UpdateUserProfileMapResp, error) {
	l := infoservicelogic.NewUpdateUserProfileMapLogic(ctx, s.svcCtx)
	return l.UpdateUserProfileMap(in)
}

// UpdateUserExtraMap 更新用户扩展信息
func (s *InfoServiceServer) UpdateUserExtraMap(ctx context.Context, in *pb.UpdateUserExtraMapReq) (*pb.UpdateUserExtraMapResp, error) {
	l := infoservicelogic.NewUpdateUserExtraMapLogic(ctx, s.svcCtx)
	return l.UpdateUserExtraMap(in)
}

// UpdateUserCountMap 更新用户计数信息
func (s *InfoServiceServer) UpdateUserCountMap(ctx context.Context, in *pb.UpdateUserCountMapReq) (*pb.UpdateUserCountMapResp, error) {
	l := infoservicelogic.NewUpdateUserCountMapLogic(ctx, s.svcCtx)
	return l.UpdateUserCountMap(in)
}

// GetSelfUserInfo 获取自己的用户信息
func (s *InfoServiceServer) GetSelfUserInfo(ctx context.Context, in *pb.GetSelfUserInfoReq) (*pb.GetSelfUserInfoResp, error) {
	l := infoservicelogic.NewGetSelfUserInfoLogic(ctx, s.svcCtx)
	return l.GetSelfUserInfo(in)
}

// GetUserInfo 获取用户信息
func (s *InfoServiceServer) GetUserInfo(ctx context.Context, in *pb.GetUserInfoReq) (*pb.GetUserInfoResp, error) {
	l := infoservicelogic.NewGetUserInfoLogic(ctx, s.svcCtx)
	return l.GetUserInfo(in)
}

// GetUserModelById 获取用户模型
func (s *InfoServiceServer) GetUserModelById(ctx context.Context, in *pb.GetUserModelByIdReq) (*pb.GetUserModelByIdResp, error) {
	l := infoservicelogic.NewGetUserModelByIdLogic(ctx, s.svcCtx)
	return l.GetUserModelById(in)
}

// GetUserModelByIds 批量获取用户模型
func (s *InfoServiceServer) GetUserModelByIds(ctx context.Context, in *pb.GetUserModelByIdsReq) (*pb.GetUserModelByIdsResp, error) {
	l := infoservicelogic.NewGetUserModelByIdsLogic(ctx, s.svcCtx)
	return l.GetUserModelByIds(in)
}
