diff --git a/dtmsvr/trans_saga.go b/dtmsvr/trans_saga.go index 8be49dd..7c56dc8 100644 --- a/dtmsvr/trans_saga.go +++ b/dtmsvr/trans_saga.go @@ -19,8 +19,8 @@ func (t *transSagaProcessor) GenBranches() []TransBranch { branches := []TransBranch{} steps := []M{} common.MustUnmarshalString(t.Data, &steps) - for _, step := range steps { - branch := GenGid() + for i, step := range steps { + branch := fmt.Sprintf("%02d", i+1) for _, branchType := range []string{"compensate", "action"} { branches = append(branches, TransBranch{ Gid: t.Gid, diff --git a/examples/main_base.go b/examples/main_base.go index 4cea49c..36f7165 100644 --- a/examples/main_base.go +++ b/examples/main_base.go @@ -63,7 +63,7 @@ var MainSwitch mainSwitchType func handleGeneralBusiness(c *gin.Context, result1 string, result2 string, busi string) (interface{}, error) { info := infoFromContext(c) res := common.OrString(MainSwitch.TransInResult.Fetch(), result2, "SUCCESS") - logrus.Printf("%s %s result: %s", info.String(), common.GetFuncName(), res) + logrus.Printf("%s %s result: %s", busi, info.String(), res) return M{"dtm_result": res}, nil } @@ -74,19 +74,19 @@ func BaseAddRoute(app *gin.Engine) { return handleGeneralBusiness(c, MainSwitch.TransInResult.Fetch(), reqFrom(c).TransInResult, "transIn") })) app.POST(BusiAPI+"/TransOut", common.WrapHandler(func(c *gin.Context) (interface{}, error) { - return handleGeneralBusiness(c, MainSwitch.TransOutResult.Fetch(), reqFrom(c).TransOutResult, "transIn") + return handleGeneralBusiness(c, MainSwitch.TransOutResult.Fetch(), reqFrom(c).TransOutResult, "TransOut") })) app.POST(BusiAPI+"/TransInConfirm", common.WrapHandler(func(c *gin.Context) (interface{}, error) { - return handleGeneralBusiness(c, MainSwitch.TransInConfirmResult.Fetch(), "", "transIn") + return handleGeneralBusiness(c, MainSwitch.TransInConfirmResult.Fetch(), "", "TransInConfirm") })) app.POST(BusiAPI+"/TransOutConfirm", common.WrapHandler(func(c *gin.Context) (interface{}, error) { - return handleGeneralBusiness(c, MainSwitch.TransOutConfirmResult.Fetch(), "", "transIn") + return handleGeneralBusiness(c, MainSwitch.TransOutConfirmResult.Fetch(), "", "TransOutConfirm") })) app.POST(BusiAPI+"/TransInRevert", common.WrapHandler(func(c *gin.Context) (interface{}, error) { - return handleGeneralBusiness(c, MainSwitch.TransInRevertResult.Fetch(), "", "transIn") + return handleGeneralBusiness(c, MainSwitch.TransInRevertResult.Fetch(), "", "TransInRevert") })) app.POST(BusiAPI+"/TransOutRevert", common.WrapHandler(func(c *gin.Context) (interface{}, error) { - return handleGeneralBusiness(c, MainSwitch.TransOutRevertResult.Fetch(), "", "transIn") + return handleGeneralBusiness(c, MainSwitch.TransOutRevertResult.Fetch(), "", "TransOutRevert") })) app.GET(BusiAPI+"/CanSubmit", common.WrapHandler(func(c *gin.Context) (interface{}, error) { logrus.Printf("%s CanSubmit", c.Query("gid")) diff --git a/examples/main_tcc.go b/examples/main_tcc.go index c2c79be..dd0dc79 100644 --- a/examples/main_tcc.go +++ b/examples/main_tcc.go @@ -9,15 +9,14 @@ import ( // TccSetup 1 func TccSetup(app *gin.Engine) { - app.POST(BusiAPI+"/TransInTcc", common.WrapHandler(func(c *gin.Context) (interface{}, error) { + app.POST(BusiAPI+"/TransInTccParent", common.WrapHandler(func(c *gin.Context) (interface{}, error) { tcc, err := dtmcli.TccFromReq(c) e2p(err) req := reqFrom(c) - logrus.Printf("Trans in %d here, and Trans in another %d in call2 ", req.Amount/2, req.Amount/2) - _, rerr := tcc.CallBranch(&TransReq{Amount: req.Amount / 2}, Busi+"/TransIn", Busi+"/TransInConfirm", Busi+"/TransInRevert") + logrus.Printf("TransInTccParent ") + _, rerr := tcc.CallBranch(&TransReq{Amount: req.Amount}, Busi+"/TransIn", Busi+"/TransInConfirm", Busi+"/TransInRevert") e2p(rerr) return M{"dtm_result": "SUCCESS"}, nil - })) } @@ -28,7 +27,7 @@ func TccFireRequestNested() string { err := dtmcli.TccGlobalTransaction(DtmServer, gid, func(tcc *dtmcli.Tcc) (rerr error) { res1, rerr := tcc.CallBranch(&TransReq{Amount: 30}, Busi+"/TransOut", Busi+"/TransOutConfirm", Busi+"/TransOutRevert") e2p(rerr) - res2, rerr := tcc.CallBranch(&TransReq{Amount: 30}, Busi+"/TransInTcc", Busi+"/TransInConfirm", Busi+"/TransInRevert") + res2, rerr := tcc.CallBranch(&TransReq{Amount: 30}, Busi+"/TransInTccParent", Busi+"/TransInConfirm", Busi+"/TransInRevert") e2p(rerr) logrus.Printf("tcc returns: %s, %s", res1.String(), res2.String()) return