Documentation
¶
Index ¶
- Constants
- Variables
- func BaseAddRoute(app *gin.Engine)
- func BaseAppStartup() *gin.Engine
- func GetBalanceByUid(uid int) int
- func GrpcStartup()
- func MustBarrierFromGin(c *gin.Context) *dtmcli.BranchBarrier
- func MustBarrierFromGrpc(ctx context.Context) *dtmcli.BranchBarrier
- func PopulateDB(skipDrop bool)
- func QsFireRequest() string
- func QsStartSvr()
- func RegisterBusiServer(s grpc.ServiceRegistrar, srv BusiServer)
- func SagaAdjustBalance(db dtmcli.DB, uid int, amount int, result string) error
- func SetGrpcHeaderForHeadersYes(ctx context.Context, method string, req, reply interface{}, ...) error
- func SetHttpHeaderForHeadersYes(c *resty.Client, r *resty.Request) error
- func SetSleepCancelHandler(handler SleepCancelHandler)
- func Startup() *gin.Engine
- func TccBarrierTransOutCancel(c *gin.Context) interface{}
- type AutoEmptyString
- type BusiClient
- type BusiReply
- type BusiReq
- func (*BusiReq) Descriptor() ([]byte, []int)deprecated
- func (x *BusiReq) GetAmount() int64
- func (x *BusiReq) GetTransInResult() string
- func (x *BusiReq) GetTransOutResult() string
- func (*BusiReq) ProtoMessage()
- func (x *BusiReq) ProtoReflect() protoreflect.Message
- func (x *BusiReq) Reset()
- func (x *BusiReq) String() string
- type BusiServer
- type SleepCancelHandler
- type TransReq
- type UnimplementedBusiServer
- func (UnimplementedBusiServer) QueryPrepared(context.Context, *BusiReq) (*BusiReply, error)
- func (UnimplementedBusiServer) QueryPreparedB(context.Context, *BusiReq) (*emptypb.Empty, error)
- func (UnimplementedBusiServer) TransIn(context.Context, *BusiReq) (*emptypb.Empty, error)
- func (UnimplementedBusiServer) TransInBSaga(context.Context, *BusiReq) (*emptypb.Empty, error)
- func (UnimplementedBusiServer) TransInConfirm(context.Context, *BusiReq) (*emptypb.Empty, error)
- func (UnimplementedBusiServer) TransInRevert(context.Context, *BusiReq) (*emptypb.Empty, error)
- func (UnimplementedBusiServer) TransInRevertBSaga(context.Context, *BusiReq) (*emptypb.Empty, error)
- func (UnimplementedBusiServer) TransInTcc(context.Context, *BusiReq) (*emptypb.Empty, error)
- func (UnimplementedBusiServer) TransInTccNested(context.Context, *BusiReq) (*emptypb.Empty, error)
- func (UnimplementedBusiServer) TransInXa(context.Context, *BusiReq) (*emptypb.Empty, error)
- func (UnimplementedBusiServer) TransOut(context.Context, *BusiReq) (*emptypb.Empty, error)
- func (UnimplementedBusiServer) TransOutBSaga(context.Context, *BusiReq) (*emptypb.Empty, error)
- func (UnimplementedBusiServer) TransOutConfirm(context.Context, *BusiReq) (*emptypb.Empty, error)
- func (UnimplementedBusiServer) TransOutHeaderNo(context.Context, *BusiReq) (*emptypb.Empty, error)
- func (UnimplementedBusiServer) TransOutHeaderYes(context.Context, *BusiReq) (*emptypb.Empty, error)
- func (UnimplementedBusiServer) TransOutRevert(context.Context, *BusiReq) (*emptypb.Empty, error)
- func (UnimplementedBusiServer) TransOutRevertBSaga(context.Context, *BusiReq) (*emptypb.Empty, error)
- func (UnimplementedBusiServer) TransOutTcc(context.Context, *BusiReq) (*emptypb.Empty, error)
- func (UnimplementedBusiServer) TransOutXa(context.Context, *BusiReq) (*emptypb.Empty, error)
- func (UnimplementedBusiServer) XaNotify(context.Context, *emptypb.Empty) (*emptypb.Empty, error)
- type UnsafeBusiServer
- type UserAccount
Constants ¶
const ( // BusiAPI busi api prefix BusiAPI = "/api/busi" // BusiPort busi server port BusiPort = 8081 // BusiGrpcPort busi server port BusiGrpcPort = 58081 )
const TransInUID = 2
const TransOutUID = 1
Variables ¶
Busi busi service url prefix
var BusiConf = dtmcli.DBConf{
Driver: "mysql",
Host: "localhost",
Port: 3306,
User: "root",
}
var BusiGrpc string = fmt.Sprintf("localhost:%d", BusiGrpcPort)
BusiGrpc busi service grpc address
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)
var DtmClient dtmgpb.DtmClient = nil
DtmClient grpc client for dtm
var File_test_busi_busi_proto protoreflect.FileDescriptor
var MainSwitch mainSwitchType
MainSwitch controls busi success or fail
var XaClient *dtmcli.XaClient = nil
var XaGrpcClient *dtmgrpc.XaGrpcClient = nil
XaGrpcClient XA client connection
Functions ¶
func GetBalanceByUid ¶ added in v1.9.0
func MustBarrierFromGin ¶
func MustBarrierFromGin(c *gin.Context) *dtmcli.BranchBarrier
MustBarrierFromGin 1
func MustBarrierFromGrpc ¶
func MustBarrierFromGrpc(ctx context.Context) *dtmcli.BranchBarrier
MustBarrierFromGrpc 1
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 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 TccBarrierTransOutCancel ¶
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) GetMessage ¶
func (*BusiReply) ProtoMessage ¶
func (*BusiReply) ProtoMessage()
func (*BusiReply) ProtoReflect ¶
func (x *BusiReply) ProtoReflect() protoreflect.Message
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 (*BusiReq) Descriptor
deprecated
func (*BusiReq) GetTransInResult ¶
func (*BusiReq) GetTransOutResult ¶
func (*BusiReq) ProtoMessage ¶
func (*BusiReq) ProtoMessage()
func (*BusiReq) ProtoReflect ¶
func (x *BusiReq) ProtoReflect() protoreflect.Message
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 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 ¶
GenTransReq 1
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) TransInBSaga ¶
func (UnimplementedBusiServer) TransInConfirm ¶
func (UnimplementedBusiServer) TransInRevert ¶
func (UnimplementedBusiServer) TransInRevertBSaga ¶
func (UnimplementedBusiServer) TransInTcc ¶
func (UnimplementedBusiServer) TransInTccNested ¶
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) TransOutTcc ¶
func (UnimplementedBusiServer) TransOutXa ¶
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 ¶
func (*UserAccount) TableName ¶
func (*UserAccount) TableName() string