diff --git a/app/main.go b/app/main.go index eeb2766..4455045 100644 --- a/app/main.go +++ b/app/main.go @@ -12,12 +12,17 @@ import ( type M = map[string]interface{} func main() { - if len(os.Args) == 1 { // 默认情况下,展示saga例子 + if len(os.Args) == 1 || os.Args[1] == "saga" { // 默认情况下,展示saga例子 dtmsvr.PopulateMysql() go dtmsvr.Main() go examples.SagaStartSvr() time.Sleep(100 * time.Millisecond) examples.SagaFireRequest() + } else if os.Args[1] == "xa" { // 启动xa示例 + dtmsvr.PopulateMysql() + go dtmsvr.StartSvr() + examples.PopulateMysql() + examples.XaMain() } else if os.Args[1] == "dtmsvr" { // 只启动dtmsvr go dtmsvr.StartSvr() } else if os.Args[1] == "all" { // 运行所有示例 diff --git a/examples/data.go b/examples/data.go index 74407bf..aee5629 100644 --- a/examples/data.go +++ b/examples/data.go @@ -21,7 +21,7 @@ func RunSqlScript(mysql map[string]string, script string) { sqls := strings.Split(string(content), ";") for _, sql := range sqls { s := strings.TrimSpace(sql) - if strings.Contains(strings.ToLower(s), "drop1") || s == "" { + if s == "" { continue } logrus.Printf("executing: '%s'", s) diff --git a/examples/main_xa.go b/examples/main_xa.go index 80af58b..d772f03 100644 --- a/examples/main_xa.go +++ b/examples/main_xa.go @@ -81,7 +81,7 @@ func xaTransIn(c *gin.Context) (interface{}, error) { return fmt.Errorf("tranIn failed") } dbr := db.Model(&UserAccount{}).Where("user_id = ?", c.Query("user_id")). - Update("balance", gorm.Expr("balance - ?", req.Amount)) + Update("balance", gorm.Expr("balance + ?", req.Amount)) return dbr.Error }) e2p(err) @@ -95,7 +95,7 @@ func xaTransOut(c *gin.Context) (interface{}, error) { return fmt.Errorf("tranOut failed") } dbr := db.Model(&UserAccount{}).Where("user_id = ?", c.Query("user_id")). - Update("balance", gorm.Expr("balance + ?", req.Amount)) + Update("balance", gorm.Expr("balance - ?", req.Amount)) return dbr.Error }) e2p(err)