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

package systemservice

import (
	"context"

	"sundynix-micro-go/app/system/rpc/system"

	"github.com/zeromicro/go-zero/zrpc"
	"google.golang.org/grpc"
)

type (
	AssignRoleMenusReq       = system.AssignRoleMenusReq
	AssignUserRolesReq       = system.AssignUserRolesReq
	ClientInfo               = system.ClientInfo
	ClientListReq            = system.ClientListReq
	ClientListResp           = system.ClientListResp
	ClientReq                = system.ClientReq
	ClientUpdateReq          = system.ClientUpdateReq
	CommonResp               = system.CommonResp
	CreateOperationRecordReq = system.CreateOperationRecordReq
	CreateUserReq            = system.CreateUserReq
	CreateUserResp           = system.CreateUserResp
	DeleteUserReq            = system.DeleteUserReq
	DictInfo                 = system.DictInfo
	DictListReq              = system.DictListReq
	DictListResp             = system.DictListResp
	DictReq                  = system.DictReq
	DictUpdateReq            = system.DictUpdateReq
	GetClientByIdReq         = system.GetClientByIdReq
	GetClientByIdResp        = system.GetClientByIdResp
	GetMenusByRoleIdReq      = system.GetMenusByRoleIdReq
	GetMenusByRoleIdResp     = system.GetMenusByRoleIdResp
	GetRoleDetailReq         = system.GetRoleDetailReq
	GetRoleListReq           = system.RoleListReq
	GetRoleListResp          = system.RoleListResp
	GetRolesByUserIdReq      = system.GetRolesByUserIdReq
	GetRolesByUserIdResp     = system.GetRolesByUserIdResp
	GetUserByIdReq           = system.GetUserByIdReq
	GetUserByIdResp          = system.GetUserByIdResp
	GetUserByOpenIdReq       = system.GetUserByOpenIdReq
	GetUserByOpenIdResp      = system.GetUserByOpenIdResp
	GetUserDetailReq         = system.GetUserDetailReq
	GetUserListReq           = system.GetUserListReq
	GetUserListResp          = system.GetUserListResp
	IdReq                    = system.IdReq
	IdsReq                   = system.IdsReq
	LoginByAccountReq        = system.LoginByAccountReq
	LoginByAccountResp       = system.LoginByAccountResp
	MenuInfo                 = system.MenuInfo
	MenuListResp             = system.MenuListResp
	MenuReq                  = system.MenuReq
	MenuUpdateReq            = system.MenuUpdateReq
	OperationRecordInfo      = system.OperationRecordInfo
	OperationRecordListReq   = system.OperationRecordListReq
	OperationRecordListResp  = system.OperationRecordListResp
	ResetPasswordReq         = system.ResetPasswordReq
	RoleDetailResp           = system.RoleDetailResp
	RoleInfo                 = system.RoleInfo
	RoleListReq              = system.RoleListReq
	RoleListResp             = system.RoleListResp
	RoleReq                  = system.RoleReq
	RoleUpdateReq            = system.RoleUpdateReq
	UpdateUserReq            = system.UpdateUserReq
	UserDetailResp           = system.UserDetailResp
	UserInfo                 = system.UserInfo

	SystemService interface {
		// --- 用户 ---
		GetUserById(ctx context.Context, in *GetUserByIdReq, opts ...grpc.CallOption) (*GetUserByIdResp, error)
		GetUserByOpenId(ctx context.Context, in *GetUserByOpenIdReq, opts ...grpc.CallOption) (*GetUserByOpenIdResp, error)
		LoginByAccount(ctx context.Context, in *LoginByAccountReq, opts ...grpc.CallOption) (*LoginByAccountResp, error)
		CreateUser(ctx context.Context, in *CreateUserReq, opts ...grpc.CallOption) (*CreateUserResp, error)
		UpdateUser(ctx context.Context, in *UpdateUserReq, opts ...grpc.CallOption) (*CommonResp, error)
		GetUserList(ctx context.Context, in *GetUserListReq, opts ...grpc.CallOption) (*GetUserListResp, error)
		GetUserDetail(ctx context.Context, in *GetUserDetailReq, opts ...grpc.CallOption) (*UserDetailResp, error)
		DeleteUser(ctx context.Context, in *DeleteUserReq, opts ...grpc.CallOption) (*CommonResp, error)
		ResetPassword(ctx context.Context, in *ResetPasswordReq, opts ...grpc.CallOption) (*CommonResp, error)
		// --- 角色 ---
		GetRolesByUserId(ctx context.Context, in *GetRolesByUserIdReq, opts ...grpc.CallOption) (*GetRolesByUserIdResp, error)
		CreateRole(ctx context.Context, in *RoleReq, opts ...grpc.CallOption) (*CommonResp, error)
		UpdateRole(ctx context.Context, in *RoleUpdateReq, opts ...grpc.CallOption) (*CommonResp, error)
		DeleteRole(ctx context.Context, in *IdsReq, opts ...grpc.CallOption) (*CommonResp, error)
		GetRoleList(ctx context.Context, in *RoleListReq, opts ...grpc.CallOption) (*RoleListResp, error)
		GetRoleDetail(ctx context.Context, in *GetRoleDetailReq, opts ...grpc.CallOption) (*RoleDetailResp, error)
		AssignRoleMenus(ctx context.Context, in *AssignRoleMenusReq, opts ...grpc.CallOption) (*CommonResp, error)
		// --- RBAC 用户授权 ---
		AssignUserRoles(ctx context.Context, in *AssignUserRolesReq, opts ...grpc.CallOption) (*CommonResp, error)
		// --- 菜单 ---
		GetMenusByRoleId(ctx context.Context, in *GetMenusByRoleIdReq, opts ...grpc.CallOption) (*GetMenusByRoleIdResp, error)
		CreateMenu(ctx context.Context, in *MenuReq, opts ...grpc.CallOption) (*CommonResp, error)
		UpdateMenu(ctx context.Context, in *MenuUpdateReq, opts ...grpc.CallOption) (*CommonResp, error)
		DeleteMenu(ctx context.Context, in *IdsReq, opts ...grpc.CallOption) (*CommonResp, error)
		GetMenuList(ctx context.Context, in *IdReq, opts ...grpc.CallOption) (*MenuListResp, error)
		// --- 客户端 ---
		GetClientById(ctx context.Context, in *GetClientByIdReq, opts ...grpc.CallOption) (*GetClientByIdResp, error)
		CreateClient(ctx context.Context, in *ClientReq, opts ...grpc.CallOption) (*CommonResp, error)
		UpdateClient(ctx context.Context, in *ClientUpdateReq, opts ...grpc.CallOption) (*CommonResp, error)
		DeleteClient(ctx context.Context, in *IdsReq, opts ...grpc.CallOption) (*CommonResp, error)
		GetClientList(ctx context.Context, in *ClientListReq, opts ...grpc.CallOption) (*ClientListResp, error)
		// --- 字典 ---
		CreateDict(ctx context.Context, in *DictReq, opts ...grpc.CallOption) (*CommonResp, error)
		UpdateDict(ctx context.Context, in *DictUpdateReq, opts ...grpc.CallOption) (*CommonResp, error)
		DeleteDict(ctx context.Context, in *IdsReq, opts ...grpc.CallOption) (*CommonResp, error)
		GetDictList(ctx context.Context, in *DictListReq, opts ...grpc.CallOption) (*DictListResp, error)
		// --- 操作日志 ---
		CreateOperationRecord(ctx context.Context, in *CreateOperationRecordReq, opts ...grpc.CallOption) (*CommonResp, error)
		DeleteOperationRecord(ctx context.Context, in *IdsReq, opts ...grpc.CallOption) (*CommonResp, error)
		GetOperationRecordList(ctx context.Context, in *OperationRecordListReq, opts ...grpc.CallOption) (*OperationRecordListResp, error)
	}

	defaultSystemService struct {
		cli zrpc.Client
	}
)

func NewSystemService(cli zrpc.Client) SystemService {
	return &defaultSystemService{
		cli: cli,
	}
}

// --- 用户 ---
func (m *defaultSystemService) GetUserById(ctx context.Context, in *GetUserByIdReq, opts ...grpc.CallOption) (*GetUserByIdResp, error) {
	client := system.NewSystemServiceClient(m.cli.Conn())
	return client.GetUserById(ctx, in, opts...)
}

func (m *defaultSystemService) GetUserByOpenId(ctx context.Context, in *GetUserByOpenIdReq, opts ...grpc.CallOption) (*GetUserByOpenIdResp, error) {
	client := system.NewSystemServiceClient(m.cli.Conn())
	return client.GetUserByOpenId(ctx, in, opts...)
}

func (m *defaultSystemService) LoginByAccount(ctx context.Context, in *LoginByAccountReq, opts ...grpc.CallOption) (*LoginByAccountResp, error) {
	client := system.NewSystemServiceClient(m.cli.Conn())
	return client.LoginByAccount(ctx, in, opts...)
}

func (m *defaultSystemService) CreateUser(ctx context.Context, in *CreateUserReq, opts ...grpc.CallOption) (*CreateUserResp, error) {
	client := system.NewSystemServiceClient(m.cli.Conn())
	return client.CreateUser(ctx, in, opts...)
}

func (m *defaultSystemService) UpdateUser(ctx context.Context, in *UpdateUserReq, opts ...grpc.CallOption) (*CommonResp, error) {
	client := system.NewSystemServiceClient(m.cli.Conn())
	return client.UpdateUser(ctx, in, opts...)
}

func (m *defaultSystemService) GetUserList(ctx context.Context, in *GetUserListReq, opts ...grpc.CallOption) (*GetUserListResp, error) {
	client := system.NewSystemServiceClient(m.cli.Conn())
	return client.GetUserList(ctx, in, opts...)
}

func (m *defaultSystemService) GetUserDetail(ctx context.Context, in *GetUserDetailReq, opts ...grpc.CallOption) (*UserDetailResp, error) {
	client := system.NewSystemServiceClient(m.cli.Conn())
	return client.GetUserDetail(ctx, in, opts...)
}

func (m *defaultSystemService) DeleteUser(ctx context.Context, in *DeleteUserReq, opts ...grpc.CallOption) (*CommonResp, error) {
	client := system.NewSystemServiceClient(m.cli.Conn())
	return client.DeleteUser(ctx, in, opts...)
}

func (m *defaultSystemService) ResetPassword(ctx context.Context, in *ResetPasswordReq, opts ...grpc.CallOption) (*CommonResp, error) {
	client := system.NewSystemServiceClient(m.cli.Conn())
	return client.ResetPassword(ctx, in, opts...)
}

// --- 角色 ---
func (m *defaultSystemService) GetRolesByUserId(ctx context.Context, in *GetRolesByUserIdReq, opts ...grpc.CallOption) (*GetRolesByUserIdResp, error) {
	client := system.NewSystemServiceClient(m.cli.Conn())
	return client.GetRolesByUserId(ctx, in, opts...)
}

func (m *defaultSystemService) CreateRole(ctx context.Context, in *RoleReq, opts ...grpc.CallOption) (*CommonResp, error) {
	client := system.NewSystemServiceClient(m.cli.Conn())
	return client.CreateRole(ctx, in, opts...)
}

func (m *defaultSystemService) UpdateRole(ctx context.Context, in *RoleUpdateReq, opts ...grpc.CallOption) (*CommonResp, error) {
	client := system.NewSystemServiceClient(m.cli.Conn())
	return client.UpdateRole(ctx, in, opts...)
}

func (m *defaultSystemService) DeleteRole(ctx context.Context, in *IdsReq, opts ...grpc.CallOption) (*CommonResp, error) {
	client := system.NewSystemServiceClient(m.cli.Conn())
	return client.DeleteRole(ctx, in, opts...)
}

func (m *defaultSystemService) GetRoleList(ctx context.Context, in *RoleListReq, opts ...grpc.CallOption) (*RoleListResp, error) {
	client := system.NewSystemServiceClient(m.cli.Conn())
	return client.GetRoleList(ctx, in, opts...)
}

func (m *defaultSystemService) GetRoleDetail(ctx context.Context, in *GetRoleDetailReq, opts ...grpc.CallOption) (*RoleDetailResp, error) {
	client := system.NewSystemServiceClient(m.cli.Conn())
	return client.GetRoleDetail(ctx, in, opts...)
}

func (m *defaultSystemService) AssignRoleMenus(ctx context.Context, in *AssignRoleMenusReq, opts ...grpc.CallOption) (*CommonResp, error) {
	client := system.NewSystemServiceClient(m.cli.Conn())
	return client.AssignRoleMenus(ctx, in, opts...)
}

// --- RBAC 用户授权 ---
func (m *defaultSystemService) AssignUserRoles(ctx context.Context, in *AssignUserRolesReq, opts ...grpc.CallOption) (*CommonResp, error) {
	client := system.NewSystemServiceClient(m.cli.Conn())
	return client.AssignUserRoles(ctx, in, opts...)
}

// --- 菜单 ---
func (m *defaultSystemService) GetMenusByRoleId(ctx context.Context, in *GetMenusByRoleIdReq, opts ...grpc.CallOption) (*GetMenusByRoleIdResp, error) {
	client := system.NewSystemServiceClient(m.cli.Conn())
	return client.GetMenusByRoleId(ctx, in, opts...)
}

func (m *defaultSystemService) CreateMenu(ctx context.Context, in *MenuReq, opts ...grpc.CallOption) (*CommonResp, error) {
	client := system.NewSystemServiceClient(m.cli.Conn())
	return client.CreateMenu(ctx, in, opts...)
}

func (m *defaultSystemService) UpdateMenu(ctx context.Context, in *MenuUpdateReq, opts ...grpc.CallOption) (*CommonResp, error) {
	client := system.NewSystemServiceClient(m.cli.Conn())
	return client.UpdateMenu(ctx, in, opts...)
}

func (m *defaultSystemService) DeleteMenu(ctx context.Context, in *IdsReq, opts ...grpc.CallOption) (*CommonResp, error) {
	client := system.NewSystemServiceClient(m.cli.Conn())
	return client.DeleteMenu(ctx, in, opts...)
}

func (m *defaultSystemService) GetMenuList(ctx context.Context, in *IdReq, opts ...grpc.CallOption) (*MenuListResp, error) {
	client := system.NewSystemServiceClient(m.cli.Conn())
	return client.GetMenuList(ctx, in, opts...)
}

// --- 客户端 ---
func (m *defaultSystemService) GetClientById(ctx context.Context, in *GetClientByIdReq, opts ...grpc.CallOption) (*GetClientByIdResp, error) {
	client := system.NewSystemServiceClient(m.cli.Conn())
	return client.GetClientById(ctx, in, opts...)
}

func (m *defaultSystemService) CreateClient(ctx context.Context, in *ClientReq, opts ...grpc.CallOption) (*CommonResp, error) {
	client := system.NewSystemServiceClient(m.cli.Conn())
	return client.CreateClient(ctx, in, opts...)
}

func (m *defaultSystemService) UpdateClient(ctx context.Context, in *ClientUpdateReq, opts ...grpc.CallOption) (*CommonResp, error) {
	client := system.NewSystemServiceClient(m.cli.Conn())
	return client.UpdateClient(ctx, in, opts...)
}

func (m *defaultSystemService) DeleteClient(ctx context.Context, in *IdsReq, opts ...grpc.CallOption) (*CommonResp, error) {
	client := system.NewSystemServiceClient(m.cli.Conn())
	return client.DeleteClient(ctx, in, opts...)
}

func (m *defaultSystemService) GetClientList(ctx context.Context, in *ClientListReq, opts ...grpc.CallOption) (*ClientListResp, error) {
	client := system.NewSystemServiceClient(m.cli.Conn())
	return client.GetClientList(ctx, in, opts...)
}

// --- 字典 ---
func (m *defaultSystemService) CreateDict(ctx context.Context, in *DictReq, opts ...grpc.CallOption) (*CommonResp, error) {
	client := system.NewSystemServiceClient(m.cli.Conn())
	return client.CreateDict(ctx, in, opts...)
}

func (m *defaultSystemService) UpdateDict(ctx context.Context, in *DictUpdateReq, opts ...grpc.CallOption) (*CommonResp, error) {
	client := system.NewSystemServiceClient(m.cli.Conn())
	return client.UpdateDict(ctx, in, opts...)
}

func (m *defaultSystemService) DeleteDict(ctx context.Context, in *IdsReq, opts ...grpc.CallOption) (*CommonResp, error) {
	client := system.NewSystemServiceClient(m.cli.Conn())
	return client.DeleteDict(ctx, in, opts...)
}

func (m *defaultSystemService) GetDictList(ctx context.Context, in *DictListReq, opts ...grpc.CallOption) (*DictListResp, error) {
	client := system.NewSystemServiceClient(m.cli.Conn())
	return client.GetDictList(ctx, in, opts...)
}

// --- 操作日志 ---
func (m *defaultSystemService) CreateOperationRecord(ctx context.Context, in *CreateOperationRecordReq, opts ...grpc.CallOption) (*CommonResp, error) {
	client := system.NewSystemServiceClient(m.cli.Conn())
	return client.CreateOperationRecord(ctx, in, opts...)
}

func (m *defaultSystemService) DeleteOperationRecord(ctx context.Context, in *IdsReq, opts ...grpc.CallOption) (*CommonResp, error) {
	client := system.NewSystemServiceClient(m.cli.Conn())
	return client.DeleteOperationRecord(ctx, in, opts...)
}

func (m *defaultSystemService) GetOperationRecordList(ctx context.Context, in *OperationRecordListReq, opts ...grpc.CallOption) (*OperationRecordListResp, error) {
	client := system.NewSystemServiceClient(m.cli.Conn())
	return client.GetOperationRecordList(ctx, in, opts...)
}
