// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.4.0
// - protoc             v5.27.2
// source: system_dept.proto

// system_dept 部门

package dept

import (
	context "context"
	grpc "google.golang.org/grpc"
	codes "google.golang.org/grpc/codes"
	status "google.golang.org/grpc/status"
)

// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
// Requires gRPC-Go v1.62.0 or later.
const _ = grpc.SupportPackageIsVersion8

const (
	SystemDeptService_SystemDeptCreate_FullMethodName    = "/dept.SystemDeptService/SystemDeptCreate"
	SystemDeptService_SystemDeptUpdate_FullMethodName    = "/dept.SystemDeptService/SystemDeptUpdate"
	SystemDeptService_SystemDeptDelete_FullMethodName    = "/dept.SystemDeptService/SystemDeptDelete"
	SystemDeptService_SystemDept_FullMethodName          = "/dept.SystemDeptService/SystemDept"
	SystemDeptService_SystemDeptRecover_FullMethodName   = "/dept.SystemDeptService/SystemDeptRecover"
	SystemDeptService_SystemDeptDrop_FullMethodName      = "/dept.SystemDeptService/SystemDeptDrop"
	SystemDeptService_SystemDeptList_FullMethodName      = "/dept.SystemDeptService/SystemDeptList"
	SystemDeptService_SystemDeptListTotal_FullMethodName = "/dept.SystemDeptService/SystemDeptListTotal"
)

// SystemDeptServiceClient is the client API for SystemDeptService service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
//
// SystemDeptService 服务
type SystemDeptServiceClient interface {
	SystemDeptCreate(ctx context.Context, in *SystemDeptCreateRequest, opts ...grpc.CallOption) (*SystemDeptCreateResponse, error)
	SystemDeptUpdate(ctx context.Context, in *SystemDeptUpdateRequest, opts ...grpc.CallOption) (*SystemDeptUpdateResponse, error)
	SystemDeptDelete(ctx context.Context, in *SystemDeptDeleteRequest, opts ...grpc.CallOption) (*SystemDeptDeleteResponse, error)
	SystemDept(ctx context.Context, in *SystemDeptRequest, opts ...grpc.CallOption) (*SystemDeptResponse, error)
	SystemDeptRecover(ctx context.Context, in *SystemDeptRecoverRequest, opts ...grpc.CallOption) (*SystemDeptRecoverResponse, error)
	SystemDeptDrop(ctx context.Context, in *SystemDeptDropRequest, opts ...grpc.CallOption) (*SystemDeptDropResponse, error)
	SystemDeptList(ctx context.Context, in *SystemDeptListRequest, opts ...grpc.CallOption) (*SystemDeptListResponse, error)
	SystemDeptListTotal(ctx context.Context, in *SystemDeptListTotalRequest, opts ...grpc.CallOption) (*SystemDeptTotalResponse, error)
}

type systemDeptServiceClient struct {
	cc grpc.ClientConnInterface
}

func NewSystemDeptServiceClient(cc grpc.ClientConnInterface) SystemDeptServiceClient {
	return &systemDeptServiceClient{cc}
}

func (c *systemDeptServiceClient) SystemDeptCreate(ctx context.Context, in *SystemDeptCreateRequest, opts ...grpc.CallOption) (*SystemDeptCreateResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(SystemDeptCreateResponse)
	err := c.cc.Invoke(ctx, SystemDeptService_SystemDeptCreate_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *systemDeptServiceClient) SystemDeptUpdate(ctx context.Context, in *SystemDeptUpdateRequest, opts ...grpc.CallOption) (*SystemDeptUpdateResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(SystemDeptUpdateResponse)
	err := c.cc.Invoke(ctx, SystemDeptService_SystemDeptUpdate_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *systemDeptServiceClient) SystemDeptDelete(ctx context.Context, in *SystemDeptDeleteRequest, opts ...grpc.CallOption) (*SystemDeptDeleteResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(SystemDeptDeleteResponse)
	err := c.cc.Invoke(ctx, SystemDeptService_SystemDeptDelete_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *systemDeptServiceClient) SystemDept(ctx context.Context, in *SystemDeptRequest, opts ...grpc.CallOption) (*SystemDeptResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(SystemDeptResponse)
	err := c.cc.Invoke(ctx, SystemDeptService_SystemDept_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *systemDeptServiceClient) SystemDeptRecover(ctx context.Context, in *SystemDeptRecoverRequest, opts ...grpc.CallOption) (*SystemDeptRecoverResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(SystemDeptRecoverResponse)
	err := c.cc.Invoke(ctx, SystemDeptService_SystemDeptRecover_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *systemDeptServiceClient) SystemDeptDrop(ctx context.Context, in *SystemDeptDropRequest, opts ...grpc.CallOption) (*SystemDeptDropResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(SystemDeptDropResponse)
	err := c.cc.Invoke(ctx, SystemDeptService_SystemDeptDrop_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *systemDeptServiceClient) SystemDeptList(ctx context.Context, in *SystemDeptListRequest, opts ...grpc.CallOption) (*SystemDeptListResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(SystemDeptListResponse)
	err := c.cc.Invoke(ctx, SystemDeptService_SystemDeptList_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *systemDeptServiceClient) SystemDeptListTotal(ctx context.Context, in *SystemDeptListTotalRequest, opts ...grpc.CallOption) (*SystemDeptTotalResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(SystemDeptTotalResponse)
	err := c.cc.Invoke(ctx, SystemDeptService_SystemDeptListTotal_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// SystemDeptServiceServer is the server API for SystemDeptService service.
// All implementations must embed UnimplementedSystemDeptServiceServer
// for forward compatibility
//
// SystemDeptService 服务
type SystemDeptServiceServer interface {
	SystemDeptCreate(context.Context, *SystemDeptCreateRequest) (*SystemDeptCreateResponse, error)
	SystemDeptUpdate(context.Context, *SystemDeptUpdateRequest) (*SystemDeptUpdateResponse, error)
	SystemDeptDelete(context.Context, *SystemDeptDeleteRequest) (*SystemDeptDeleteResponse, error)
	SystemDept(context.Context, *SystemDeptRequest) (*SystemDeptResponse, error)
	SystemDeptRecover(context.Context, *SystemDeptRecoverRequest) (*SystemDeptRecoverResponse, error)
	SystemDeptDrop(context.Context, *SystemDeptDropRequest) (*SystemDeptDropResponse, error)
	SystemDeptList(context.Context, *SystemDeptListRequest) (*SystemDeptListResponse, error)
	SystemDeptListTotal(context.Context, *SystemDeptListTotalRequest) (*SystemDeptTotalResponse, error)
	mustEmbedUnimplementedSystemDeptServiceServer()
}

// UnimplementedSystemDeptServiceServer must be embedded to have forward compatible implementations.
type UnimplementedSystemDeptServiceServer struct {
}

func (UnimplementedSystemDeptServiceServer) SystemDeptCreate(context.Context, *SystemDeptCreateRequest) (*SystemDeptCreateResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method SystemDeptCreate not implemented")
}
func (UnimplementedSystemDeptServiceServer) SystemDeptUpdate(context.Context, *SystemDeptUpdateRequest) (*SystemDeptUpdateResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method SystemDeptUpdate not implemented")
}
func (UnimplementedSystemDeptServiceServer) SystemDeptDelete(context.Context, *SystemDeptDeleteRequest) (*SystemDeptDeleteResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method SystemDeptDelete not implemented")
}
func (UnimplementedSystemDeptServiceServer) SystemDept(context.Context, *SystemDeptRequest) (*SystemDeptResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method SystemDept not implemented")
}
func (UnimplementedSystemDeptServiceServer) SystemDeptRecover(context.Context, *SystemDeptRecoverRequest) (*SystemDeptRecoverResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method SystemDeptRecover not implemented")
}
func (UnimplementedSystemDeptServiceServer) SystemDeptDrop(context.Context, *SystemDeptDropRequest) (*SystemDeptDropResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method SystemDeptDrop not implemented")
}
func (UnimplementedSystemDeptServiceServer) SystemDeptList(context.Context, *SystemDeptListRequest) (*SystemDeptListResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method SystemDeptList not implemented")
}
func (UnimplementedSystemDeptServiceServer) SystemDeptListTotal(context.Context, *SystemDeptListTotalRequest) (*SystemDeptTotalResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method SystemDeptListTotal not implemented")
}
func (UnimplementedSystemDeptServiceServer) mustEmbedUnimplementedSystemDeptServiceServer() {}

// UnsafeSystemDeptServiceServer may be embedded to opt out of forward compatibility for this service.
// Use of this interface is not recommended, as added methods to SystemDeptServiceServer will
// result in compilation errors.
type UnsafeSystemDeptServiceServer interface {
	mustEmbedUnimplementedSystemDeptServiceServer()
}

func RegisterSystemDeptServiceServer(s grpc.ServiceRegistrar, srv SystemDeptServiceServer) {
	s.RegisterService(&SystemDeptService_ServiceDesc, srv)
}

func _SystemDeptService_SystemDeptCreate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SystemDeptCreateRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(SystemDeptServiceServer).SystemDeptCreate(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: SystemDeptService_SystemDeptCreate_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(SystemDeptServiceServer).SystemDeptCreate(ctx, req.(*SystemDeptCreateRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _SystemDeptService_SystemDeptUpdate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SystemDeptUpdateRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(SystemDeptServiceServer).SystemDeptUpdate(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: SystemDeptService_SystemDeptUpdate_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(SystemDeptServiceServer).SystemDeptUpdate(ctx, req.(*SystemDeptUpdateRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _SystemDeptService_SystemDeptDelete_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SystemDeptDeleteRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(SystemDeptServiceServer).SystemDeptDelete(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: SystemDeptService_SystemDeptDelete_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(SystemDeptServiceServer).SystemDeptDelete(ctx, req.(*SystemDeptDeleteRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _SystemDeptService_SystemDept_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SystemDeptRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(SystemDeptServiceServer).SystemDept(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: SystemDeptService_SystemDept_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(SystemDeptServiceServer).SystemDept(ctx, req.(*SystemDeptRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _SystemDeptService_SystemDeptRecover_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SystemDeptRecoverRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(SystemDeptServiceServer).SystemDeptRecover(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: SystemDeptService_SystemDeptRecover_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(SystemDeptServiceServer).SystemDeptRecover(ctx, req.(*SystemDeptRecoverRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _SystemDeptService_SystemDeptDrop_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SystemDeptDropRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(SystemDeptServiceServer).SystemDeptDrop(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: SystemDeptService_SystemDeptDrop_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(SystemDeptServiceServer).SystemDeptDrop(ctx, req.(*SystemDeptDropRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _SystemDeptService_SystemDeptList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SystemDeptListRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(SystemDeptServiceServer).SystemDeptList(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: SystemDeptService_SystemDeptList_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(SystemDeptServiceServer).SystemDeptList(ctx, req.(*SystemDeptListRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _SystemDeptService_SystemDeptListTotal_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SystemDeptListTotalRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(SystemDeptServiceServer).SystemDeptListTotal(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: SystemDeptService_SystemDeptListTotal_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(SystemDeptServiceServer).SystemDeptListTotal(ctx, req.(*SystemDeptListTotalRequest))
	}
	return interceptor(ctx, in, info, handler)
}

// SystemDeptService_ServiceDesc is the grpc.ServiceDesc for SystemDeptService service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
var SystemDeptService_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "dept.SystemDeptService",
	HandlerType: (*SystemDeptServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "SystemDeptCreate",
			Handler:    _SystemDeptService_SystemDeptCreate_Handler,
		},
		{
			MethodName: "SystemDeptUpdate",
			Handler:    _SystemDeptService_SystemDeptUpdate_Handler,
		},
		{
			MethodName: "SystemDeptDelete",
			Handler:    _SystemDeptService_SystemDeptDelete_Handler,
		},
		{
			MethodName: "SystemDept",
			Handler:    _SystemDeptService_SystemDept_Handler,
		},
		{
			MethodName: "SystemDeptRecover",
			Handler:    _SystemDeptService_SystemDeptRecover_Handler,
		},
		{
			MethodName: "SystemDeptDrop",
			Handler:    _SystemDeptService_SystemDeptDrop_Handler,
		},
		{
			MethodName: "SystemDeptList",
			Handler:    _SystemDeptService_SystemDeptList_Handler,
		},
		{
			MethodName: "SystemDeptListTotal",
			Handler:    _SystemDeptService_SystemDeptListTotal_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "system_dept.proto",
}
