// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.6.2
// - protoc             v7.35.0
// source: module/ec/mall/proto/store.proto

package mall

import (
	protobuf "bsm/full/protobuf"
	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.64.0 or later.
const _ = grpc.SupportPackageIsVersion9

const (
	Store_ApplyJoin_FullMethodName  = "/mall.Store/ApplyJoin"
	Store_Licensing_FullMethodName  = "/mall.Store/Licensing"
	Store_GetSetting_FullMethodName = "/mall.Store/GetSetting"
	Store_SetSetting_FullMethodName = "/mall.Store/SetSetting"
	Store_SetPayment_FullMethodName = "/mall.Store/SetPayment"
	Store_SetEmail_FullMethodName   = "/mall.Store/SetEmail"
	Store_GetPayment_FullMethodName = "/mall.Store/GetPayment"
	Store_GetEmail_FullMethodName   = "/mall.Store/GetEmail"
	Store_MiniCode_FullMethodName   = "/mall.Store/MiniCode"
	Store_Search_FullMethodName     = "/mall.Store/Search"
)

// StoreClient is the client API for Store 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.
//
// Store(店铺)微服务-店铺基础服务
type StoreClient interface {
	// 申请加入店铺
	ApplyJoin(ctx context.Context, in *ApplyJoinRequest, opts ...grpc.CallOption) (*protobuf.IdentityStatusReply, error)
	// 店铺许可授权
	Licensing(ctx context.Context, in *LicensingRequest, opts ...grpc.CallOption) (*protobuf.IdentityStatusReply, error)
	// 获取店铺基础配置
	GetSetting(ctx context.Context, in *protobuf.IdentRequest, opts ...grpc.CallOption) (*StoreBasic, error)
	// 设置店铺基础配置
	SetSetting(ctx context.Context, in *StoreBasic, opts ...grpc.CallOption) (*protobuf.IdentityStatusReply, error)
	// 设置支付方式配置
	SetPayment(ctx context.Context, in *SettingRequest, opts ...grpc.CallOption) (*protobuf.IdentityStatusReply, error)
	// 设置邮件服务器配置
	SetEmail(ctx context.Context, in *SettingRequest, opts ...grpc.CallOption) (*protobuf.IdentityStatusReply, error)
	// 获取支付方式配置
	GetPayment(ctx context.Context, in *protobuf.IdentRequest, opts ...grpc.CallOption) (*ConfigsReply, error)
	// 获取邮件服务器配置
	GetEmail(ctx context.Context, in *protobuf.IdentRequest, opts ...grpc.CallOption) (*ConfigsReply, error)
	// 获取小程序推荐码
	MiniCode(ctx context.Context, in *MiniCodeRequest, opts ...grpc.CallOption) (*MiniCodeReply, error)
	// 店铺搜索
	Search(ctx context.Context, in *MallSearchRequest, opts ...grpc.CallOption) (*MallSearchReply, error)
}

type storeClient struct {
	cc grpc.ClientConnInterface
}

func NewStoreClient(cc grpc.ClientConnInterface) StoreClient {
	return &storeClient{cc}
}

func (c *storeClient) ApplyJoin(ctx context.Context, in *ApplyJoinRequest, opts ...grpc.CallOption) (*protobuf.IdentityStatusReply, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(protobuf.IdentityStatusReply)
	err := c.cc.Invoke(ctx, Store_ApplyJoin_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *storeClient) Licensing(ctx context.Context, in *LicensingRequest, opts ...grpc.CallOption) (*protobuf.IdentityStatusReply, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(protobuf.IdentityStatusReply)
	err := c.cc.Invoke(ctx, Store_Licensing_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *storeClient) GetSetting(ctx context.Context, in *protobuf.IdentRequest, opts ...grpc.CallOption) (*StoreBasic, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(StoreBasic)
	err := c.cc.Invoke(ctx, Store_GetSetting_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *storeClient) SetSetting(ctx context.Context, in *StoreBasic, opts ...grpc.CallOption) (*protobuf.IdentityStatusReply, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(protobuf.IdentityStatusReply)
	err := c.cc.Invoke(ctx, Store_SetSetting_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *storeClient) SetPayment(ctx context.Context, in *SettingRequest, opts ...grpc.CallOption) (*protobuf.IdentityStatusReply, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(protobuf.IdentityStatusReply)
	err := c.cc.Invoke(ctx, Store_SetPayment_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *storeClient) SetEmail(ctx context.Context, in *SettingRequest, opts ...grpc.CallOption) (*protobuf.IdentityStatusReply, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(protobuf.IdentityStatusReply)
	err := c.cc.Invoke(ctx, Store_SetEmail_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *storeClient) GetPayment(ctx context.Context, in *protobuf.IdentRequest, opts ...grpc.CallOption) (*ConfigsReply, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(ConfigsReply)
	err := c.cc.Invoke(ctx, Store_GetPayment_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *storeClient) GetEmail(ctx context.Context, in *protobuf.IdentRequest, opts ...grpc.CallOption) (*ConfigsReply, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(ConfigsReply)
	err := c.cc.Invoke(ctx, Store_GetEmail_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *storeClient) MiniCode(ctx context.Context, in *MiniCodeRequest, opts ...grpc.CallOption) (*MiniCodeReply, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(MiniCodeReply)
	err := c.cc.Invoke(ctx, Store_MiniCode_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *storeClient) Search(ctx context.Context, in *MallSearchRequest, opts ...grpc.CallOption) (*MallSearchReply, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(MallSearchReply)
	err := c.cc.Invoke(ctx, Store_Search_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// StoreServer is the server API for Store service.
// All implementations should embed UnimplementedStoreServer
// for forward compatibility.
//
// Store(店铺)微服务-店铺基础服务
type StoreServer interface {
	// 申请加入店铺
	ApplyJoin(context.Context, *ApplyJoinRequest) (*protobuf.IdentityStatusReply, error)
	// 店铺许可授权
	Licensing(context.Context, *LicensingRequest) (*protobuf.IdentityStatusReply, error)
	// 获取店铺基础配置
	GetSetting(context.Context, *protobuf.IdentRequest) (*StoreBasic, error)
	// 设置店铺基础配置
	SetSetting(context.Context, *StoreBasic) (*protobuf.IdentityStatusReply, error)
	// 设置支付方式配置
	SetPayment(context.Context, *SettingRequest) (*protobuf.IdentityStatusReply, error)
	// 设置邮件服务器配置
	SetEmail(context.Context, *SettingRequest) (*protobuf.IdentityStatusReply, error)
	// 获取支付方式配置
	GetPayment(context.Context, *protobuf.IdentRequest) (*ConfigsReply, error)
	// 获取邮件服务器配置
	GetEmail(context.Context, *protobuf.IdentRequest) (*ConfigsReply, error)
	// 获取小程序推荐码
	MiniCode(context.Context, *MiniCodeRequest) (*MiniCodeReply, error)
	// 店铺搜索
	Search(context.Context, *MallSearchRequest) (*MallSearchReply, error)
}

// UnimplementedStoreServer should be embedded to have
// forward compatible implementations.
//
// NOTE: this should be embedded by value instead of pointer to avoid a nil
// pointer dereference when methods are called.
type UnimplementedStoreServer struct{}

func (UnimplementedStoreServer) ApplyJoin(context.Context, *ApplyJoinRequest) (*protobuf.IdentityStatusReply, error) {
	return nil, status.Error(codes.Unimplemented, "method ApplyJoin not implemented")
}
func (UnimplementedStoreServer) Licensing(context.Context, *LicensingRequest) (*protobuf.IdentityStatusReply, error) {
	return nil, status.Error(codes.Unimplemented, "method Licensing not implemented")
}
func (UnimplementedStoreServer) GetSetting(context.Context, *protobuf.IdentRequest) (*StoreBasic, error) {
	return nil, status.Error(codes.Unimplemented, "method GetSetting not implemented")
}
func (UnimplementedStoreServer) SetSetting(context.Context, *StoreBasic) (*protobuf.IdentityStatusReply, error) {
	return nil, status.Error(codes.Unimplemented, "method SetSetting not implemented")
}
func (UnimplementedStoreServer) SetPayment(context.Context, *SettingRequest) (*protobuf.IdentityStatusReply, error) {
	return nil, status.Error(codes.Unimplemented, "method SetPayment not implemented")
}
func (UnimplementedStoreServer) SetEmail(context.Context, *SettingRequest) (*protobuf.IdentityStatusReply, error) {
	return nil, status.Error(codes.Unimplemented, "method SetEmail not implemented")
}
func (UnimplementedStoreServer) GetPayment(context.Context, *protobuf.IdentRequest) (*ConfigsReply, error) {
	return nil, status.Error(codes.Unimplemented, "method GetPayment not implemented")
}
func (UnimplementedStoreServer) GetEmail(context.Context, *protobuf.IdentRequest) (*ConfigsReply, error) {
	return nil, status.Error(codes.Unimplemented, "method GetEmail not implemented")
}
func (UnimplementedStoreServer) MiniCode(context.Context, *MiniCodeRequest) (*MiniCodeReply, error) {
	return nil, status.Error(codes.Unimplemented, "method MiniCode not implemented")
}
func (UnimplementedStoreServer) Search(context.Context, *MallSearchRequest) (*MallSearchReply, error) {
	return nil, status.Error(codes.Unimplemented, "method Search not implemented")
}
func (UnimplementedStoreServer) testEmbeddedByValue() {}

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

func RegisterStoreServer(s grpc.ServiceRegistrar, srv StoreServer) {
	// If the following call panics, it indicates UnimplementedStoreServer was
	// embedded by pointer and is nil.  This will cause panics if an
	// unimplemented method is ever invoked, so we test this at initialization
	// time to prevent it from happening at runtime later due to I/O.
	if t, ok := srv.(interface{ testEmbeddedByValue() }); ok {
		t.testEmbeddedByValue()
	}
	s.RegisterService(&Store_ServiceDesc, srv)
}

func _Store_ApplyJoin_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ApplyJoinRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(StoreServer).ApplyJoin(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Store_ApplyJoin_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(StoreServer).ApplyJoin(ctx, req.(*ApplyJoinRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Store_Licensing_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(LicensingRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(StoreServer).Licensing(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Store_Licensing_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(StoreServer).Licensing(ctx, req.(*LicensingRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Store_GetSetting_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(protobuf.IdentRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(StoreServer).GetSetting(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Store_GetSetting_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(StoreServer).GetSetting(ctx, req.(*protobuf.IdentRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Store_SetSetting_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(StoreBasic)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(StoreServer).SetSetting(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Store_SetSetting_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(StoreServer).SetSetting(ctx, req.(*StoreBasic))
	}
	return interceptor(ctx, in, info, handler)
}

func _Store_SetPayment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SettingRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(StoreServer).SetPayment(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Store_SetPayment_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(StoreServer).SetPayment(ctx, req.(*SettingRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Store_SetEmail_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SettingRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(StoreServer).SetEmail(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Store_SetEmail_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(StoreServer).SetEmail(ctx, req.(*SettingRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Store_GetPayment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(protobuf.IdentRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(StoreServer).GetPayment(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Store_GetPayment_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(StoreServer).GetPayment(ctx, req.(*protobuf.IdentRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Store_GetEmail_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(protobuf.IdentRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(StoreServer).GetEmail(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Store_GetEmail_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(StoreServer).GetEmail(ctx, req.(*protobuf.IdentRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Store_MiniCode_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(MiniCodeRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(StoreServer).MiniCode(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Store_MiniCode_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(StoreServer).MiniCode(ctx, req.(*MiniCodeRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Store_Search_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(MallSearchRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(StoreServer).Search(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Store_Search_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(StoreServer).Search(ctx, req.(*MallSearchRequest))
	}
	return interceptor(ctx, in, info, handler)
}

// Store_ServiceDesc is the grpc.ServiceDesc for Store service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
var Store_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "mall.Store",
	HandlerType: (*StoreServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "ApplyJoin",
			Handler:    _Store_ApplyJoin_Handler,
		},
		{
			MethodName: "Licensing",
			Handler:    _Store_Licensing_Handler,
		},
		{
			MethodName: "GetSetting",
			Handler:    _Store_GetSetting_Handler,
		},
		{
			MethodName: "SetSetting",
			Handler:    _Store_SetSetting_Handler,
		},
		{
			MethodName: "SetPayment",
			Handler:    _Store_SetPayment_Handler,
		},
		{
			MethodName: "SetEmail",
			Handler:    _Store_SetEmail_Handler,
		},
		{
			MethodName: "GetPayment",
			Handler:    _Store_GetPayment_Handler,
		},
		{
			MethodName: "GetEmail",
			Handler:    _Store_GetEmail_Handler,
		},
		{
			MethodName: "MiniCode",
			Handler:    _Store_MiniCode_Handler,
		},
		{
			MethodName: "Search",
			Handler:    _Store_Search_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "module/ec/mall/proto/store.proto",
}
