busi

package
v1.10.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 10, 2022 License: BSD-3-Clause Imports: 29 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// BusiAPI busi api prefix
	BusiAPI = "/api/busi"
	// BusiPort busi server port
	BusiPort = 8081
	// BusiGrpcPort busi server port
	BusiGrpcPort = 58081
)
View Source
const TransInUID = 2
View Source
const TransOutUID = 1

Variables

View Source
var Busi string = fmt.Sprintf("http://localhost:%d%s", BusiPort, BusiAPI)

Busi busi service url prefix

View Source
var BusiConf = dtmcli.DBConf{
	Driver: "mysql",
	Host:   "localhost",
	Port:   3306,
	User:   "root",
}
View Source
var BusiGrpc string = fmt.Sprintf("localhost:%d", BusiGrpcPort)

BusiGrpc busi service grpc address

View Source
var Busi_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "busi.Busi",
	HandlerType: (*BusiServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "TransIn",
			Handler:    _Busi_TransIn_Handler,
		},
		{
			MethodName: "TransOut",
			Handler:    _Busi_TransOut_Handler,
		},
		{
			MethodName: "TransInRevert",
			Handler:    _Busi_TransInRevert_Handler,
		},
		{
			MethodName: "TransOutRevert",
			Handler:    _Busi_TransOutRevert_Handler,
		},
		{
			MethodName: "TransInConfirm",
			Handler:    _Busi_TransInConfirm_Handler,
		},
		{
			MethodName: "TransOutConfirm",
			Handler:    _Busi_TransOutConfirm_Handler,
		},
		{
			MethodName: "XaNotify",
			Handler:    _Busi_XaNotify_Handler,
		},
		{
			MethodName: "TransInXa",
			Handler:    _Busi_TransInXa_Handler,
		},
		{
			MethodName: "TransOutXa",
			Handler:    _Busi_TransOutXa_Handler,
		},
		{
			MethodName: "TransInTcc",
			Handler:    _Busi_TransInTcc_Handler,
		},
		{
			MethodName: "TransOutTcc",
			Handler:    _Busi_TransOutTcc_Handler,
		},
		{
			MethodName: "TransInTccNested",
			Handler:    _Busi_TransInTccNested_Handler,
		},
		{
			MethodName: "TransInBSaga",
			Handler:    _Busi_TransInBSaga_Handler,
		},
		{
			MethodName: "TransOutBSaga",
			Handler:    _Busi_TransOutBSaga_Handler,
		},
		{
			MethodName: "TransInRevertBSaga",
			Handler:    _Busi_TransInRevertBSaga_Handler,
		},
		{
			MethodName: "TransOutRevertBSaga",
			Handler:    _Busi_TransOutRevertBSaga_Handler,
		},
		{
			MethodName: "TransOutHeaderYes",
			Handler:    _Busi_TransOutHeaderYes_Handler,
		},
		{
			MethodName: "TransOutHeaderNo",
			Handler:    _Busi_TransOutHeaderNo_Handler,
		},
		{
			MethodName: "QueryPrepared",
			Handler:    _Busi_QueryPrepared_Handler,
		},
		{
			MethodName: "QueryPreparedB",
			Handler:    _Busi_QueryPreparedB_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "test/busi/busi.proto",
}

Busi_ServiceDesc is the grpc.ServiceDesc for Busi service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)

View Source
var DtmClient dtmgpb.DtmClient = nil

DtmClient grpc client for dtm

View Source
var File_test_busi_busi_proto protoreflect.FileDescriptor
View Source
var MainSwitch mainSwitchType

MainSwitch controls busi success or fail

View Source
var XaClient *dtmcli.XaClient = nil
View Source
var XaGrpcClient *dtmgrpc.XaGrpcClient = nil

XaGrpcClient XA client connection

Functions

func BaseAddRoute

func BaseAddRoute(app *gin.Engine)

BaseAddRoute add base route handler

func BaseAppStartup

func BaseAppStartup() *gin.Engine

BaseAppStartup base app startup

func GetBalanceByUid added in v1.9.0

func GetBalanceByUid(uid int) int

func GrpcStartup

func GrpcStartup()

GrpcStartup for grpc

func MustBarrierFromGin

func MustBarrierFromGin(c *gin.Context) *dtmcli.BranchBarrier

MustBarrierFromGin 1

func MustBarrierFromGrpc

func MustBarrierFromGrpc(ctx context.Context) *dtmcli.BranchBarrier

MustBarrierFromGrpc 1

func PopulateDB

func PopulateDB(skipDrop bool)

PopulateDB populate example mysql data

func QsFireRequest

func QsFireRequest() string

func QsStartSvr

func QsStartSvr()

func RegisterBusiServer

func RegisterBusiServer(s grpc.ServiceRegistrar, srv BusiServer)

func SagaAdjustBalance added in v1.9.0

func SagaAdjustBalance(db dtmcli.DB, uid int, amount int, result string) error

func SetGrpcHeaderForHeadersYes added in v1.8.2

func SetGrpcHeaderForHeadersYes(ctx context.Context, method string, req, reply interface{}, cc *grpc.ClientConn, invoker grpc.UnaryInvoker, opts ...grpc.CallOption) error

SetGrpcHeaderForHeadersYes interceptor to set head for HeadersYes

func SetHttpHeaderForHeadersYes added in v1.8.2

func SetHttpHeaderForHeadersYes(c *resty.Client, r *resty.Request) error

SetHttpHeaderForHeadersYes interceptor to set head for HeadersYes

func SetSleepCancelHandler

func SetSleepCancelHandler(handler SleepCancelHandler)

func Startup

func Startup() *gin.Engine

Startup startup the busi's grpc and http service

func TccBarrierTransOutCancel

func TccBarrierTransOutCancel(c *gin.Context) interface{}

TccBarrierTransOutCancel will be use in test

Types

type AutoEmptyString

type AutoEmptyString struct {
	// contains filtered or unexported fields
}

AutoEmptyString auto reset to empty when used once

func (*AutoEmptyString) Fetch

func (s *AutoEmptyString) Fetch() string

Fetch fetch the stored value, then reset the value to empty

func (*AutoEmptyString) SetOnce

func (s *AutoEmptyString) SetOnce(v string)

SetOnce set a value once

type BusiClient

type BusiClient interface {
	TransIn(ctx context.Context, in *BusiReq, opts ...grpc.CallOption) (*emptypb.Empty, error)
	TransOut(ctx context.Context, in *BusiReq, opts ...grpc.CallOption) (*emptypb.Empty, error)
	TransInRevert(ctx context.Context, in *BusiReq, opts ...grpc.CallOption) (*emptypb.Empty, error)
	TransOutRevert(ctx context.Context, in *BusiReq, opts ...grpc.CallOption) (*emptypb.Empty, error)
	TransInConfirm(ctx context.Context, in *BusiReq, opts ...grpc.CallOption) (*emptypb.Empty, error)
	TransOutConfirm(ctx context.Context, in *BusiReq, opts ...grpc.CallOption) (*emptypb.Empty, error)
	XaNotify(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*emptypb.Empty, error)
	TransInXa(ctx context.Context, in *BusiReq, opts ...grpc.CallOption) (*emptypb.Empty, error)
	TransOutXa(ctx context.Context, in *BusiReq, opts ...grpc.CallOption) (*emptypb.Empty, error)
	TransInTcc(ctx context.Context, in *BusiReq, opts ...grpc.CallOption) (*emptypb.Empty, error)
	TransOutTcc(ctx context.Context, in *BusiReq, opts ...grpc.CallOption) (*emptypb.Empty, error)
	TransInTccNested(ctx context.Context, in *BusiReq, opts ...grpc.CallOption) (*emptypb.Empty, error)
	TransInBSaga(ctx context.Context, in *BusiReq, opts ...grpc.CallOption) (*emptypb.Empty, error)
	TransOutBSaga(ctx context.Context, in *BusiReq, opts ...grpc.CallOption) (*emptypb.Empty, error)
	TransInRevertBSaga(ctx context.Context, in *BusiReq, opts ...grpc.CallOption) (*emptypb.Empty, error)
	TransOutRevertBSaga(ctx context.Context, in *BusiReq, opts ...grpc.CallOption) (*emptypb.Empty, error)
	TransOutHeaderYes(ctx context.Context, in *BusiReq, opts ...grpc.CallOption) (*emptypb.Empty, error)
	TransOutHeaderNo(ctx context.Context, in *BusiReq, opts ...grpc.CallOption) (*emptypb.Empty, error)
	QueryPrepared(ctx context.Context, in *BusiReq, opts ...grpc.CallOption) (*BusiReply, error)
	QueryPreparedB(ctx context.Context, in *BusiReq, opts ...grpc.CallOption) (*emptypb.Empty, error)
}

BusiClient is the client API for Busi 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.

func NewBusiClient

func NewBusiClient(cc grpc.ClientConnInterface) BusiClient

type BusiReply

type BusiReply struct {
	Message string `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"`
	// contains filtered or unexported fields
}

func (*BusiReply) Descriptor deprecated

func (*BusiReply) Descriptor() ([]byte, []int)

Deprecated: Use BusiReply.ProtoReflect.Descriptor instead.

func (*BusiReply) GetMessage

func (x *BusiReply) GetMessage() string

func (*BusiReply) ProtoMessage

func (*BusiReply) ProtoMessage()

func (*BusiReply) ProtoReflect

func (x *BusiReply) ProtoReflect() protoreflect.Message

func (*BusiReply) Reset

func (x *BusiReply) Reset()

func (*BusiReply) String

func (x *BusiReply) String() string

type BusiReq

type BusiReq struct {
	Amount         int64  `protobuf:"varint,1,opt,name=Amount,proto3" json:"Amount,omitempty"`
	TransOutResult string `protobuf:"bytes,2,opt,name=TransOutResult,proto3" json:"TransOutResult,omitempty"`
	TransInResult  string `protobuf:"bytes,3,opt,name=TransInResult,proto3" json:"TransInResult,omitempty"`
	// contains filtered or unexported fields
}

DtmRequest request sent to dtm server

func GenBusiReq

func GenBusiReq(amount int, outFailed bool, inFailed bool) *BusiReq

GenBusiReq 1

func (*BusiReq) Descriptor deprecated

func (*BusiReq) Descriptor() ([]byte, []int)

Deprecated: Use BusiReq.ProtoReflect.Descriptor instead.

func (*BusiReq) GetAmount

func (x *BusiReq) GetAmount() int64

func (*BusiReq) GetTransInResult

func (x *BusiReq) GetTransInResult() string

func (*BusiReq) GetTransOutResult

func (x *BusiReq) GetTransOutResult() string

func (*BusiReq) ProtoMessage

func (*BusiReq) ProtoMessage()

func (*BusiReq) ProtoReflect

func (x *BusiReq) ProtoReflect() protoreflect.Message

func (*BusiReq) Reset

func (x *BusiReq) Reset()

func (*BusiReq) String

func (x *BusiReq) String() string

type BusiServer

type BusiServer interface {
	TransIn(context.Context, *BusiReq) (*emptypb.Empty, error)
	TransOut(context.Context, *BusiReq) (*emptypb.Empty, error)
	TransInRevert(context.Context, *BusiReq) (*emptypb.Empty, error)
	TransOutRevert(context.Context, *BusiReq) (*emptypb.Empty, error)
	TransInConfirm(context.Context, *BusiReq) (*emptypb.Empty, error)
	TransOutConfirm(context.Context, *BusiReq) (*emptypb.Empty, error)
	XaNotify(context.Context, *emptypb.Empty) (*emptypb.Empty, error)
	TransInXa(context.Context, *BusiReq) (*emptypb.Empty, error)
	TransOutXa(context.Context, *BusiReq) (*emptypb.Empty, error)
	TransInTcc(context.Context, *BusiReq) (*emptypb.Empty, error)
	TransOutTcc(context.Context, *BusiReq) (*emptypb.Empty, error)
	TransInTccNested(context.Context, *BusiReq) (*emptypb.Empty, error)
	TransInBSaga(context.Context, *BusiReq) (*emptypb.Empty, error)
	TransOutBSaga(context.Context, *BusiReq) (*emptypb.Empty, error)
	TransInRevertBSaga(context.Context, *BusiReq) (*emptypb.Empty, error)
	TransOutRevertBSaga(context.Context, *BusiReq) (*emptypb.Empty, error)
	TransOutHeaderYes(context.Context, *BusiReq) (*emptypb.Empty, error)
	TransOutHeaderNo(context.Context, *BusiReq) (*emptypb.Empty, error)
	QueryPrepared(context.Context, *BusiReq) (*BusiReply, error)
	QueryPreparedB(context.Context, *BusiReq) (*emptypb.Empty, error)
	// contains filtered or unexported methods
}

BusiServer is the server API for Busi service. All implementations must embed UnimplementedBusiServer for forward compatibility

type SleepCancelHandler

type SleepCancelHandler func(c *gin.Context) interface{}

type TransReq

type TransReq struct {
	Amount         int    `json:"amount"`
	TransInResult  string `json:"trans_in_result"`
	TransOutResult string `json:"trans_out_Result"`
}

TransReq transaction request payload

func GenTransReq

func GenTransReq(amount int, outFailed bool, inFailed bool) *TransReq

GenTransReq 1

func (*TransReq) String

func (t *TransReq) String() string

type UnimplementedBusiServer

type UnimplementedBusiServer struct {
}

UnimplementedBusiServer must be embedded to have forward compatible implementations.

func (UnimplementedBusiServer) QueryPrepared added in v1.9.0

func (UnimplementedBusiServer) QueryPreparedB added in v1.9.0

func (UnimplementedBusiServer) TransIn

func (UnimplementedBusiServer) TransInBSaga

func (UnimplementedBusiServer) TransInConfirm

func (UnimplementedBusiServer) TransInRevert

func (UnimplementedBusiServer) TransInRevertBSaga

func (UnimplementedBusiServer) TransInRevertBSaga(context.Context, *BusiReq) (*emptypb.Empty, error)

func (UnimplementedBusiServer) TransInTcc

func (UnimplementedBusiServer) TransInTccNested

func (UnimplementedBusiServer) TransInXa

func (UnimplementedBusiServer) TransOut

func (UnimplementedBusiServer) TransOutBSaga

func (UnimplementedBusiServer) TransOutConfirm

func (UnimplementedBusiServer) TransOutHeaderNo added in v1.8.2

func (UnimplementedBusiServer) TransOutHeaderYes added in v1.8.2

func (UnimplementedBusiServer) TransOutRevert

func (UnimplementedBusiServer) TransOutRevertBSaga

func (UnimplementedBusiServer) TransOutRevertBSaga(context.Context, *BusiReq) (*emptypb.Empty, error)

func (UnimplementedBusiServer) TransOutTcc

func (UnimplementedBusiServer) TransOutXa

func (UnimplementedBusiServer) XaNotify

type UnsafeBusiServer

type UnsafeBusiServer interface {
	// contains filtered or unexported methods
}

UnsafeBusiServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to BusiServer will result in compilation errors.

type UserAccount

type UserAccount struct {
	UserId         int
	Balance        string
	TradingBalance string
}

func (*UserAccount) TableName

func (*UserAccount) TableName() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL