Browse Source
Merge pull request #307 from dtm-labs/topic
Fix TransOutXa amount adjustment
pull/310/head
yedf2
4 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with
13 additions and
1 deletions
-
sqls/dtmsvr.storage.mysql.sql
-
test/busi/base_http.go
|
|
|
@ -41,3 +41,15 @@ CREATE TABLE IF NOT EXISTS dtm.trans_branch_op ( |
|
|
|
PRIMARY KEY (`id`), |
|
|
|
UNIQUE KEY `gid_uniq` (`gid`, `branch_id`, `op`) |
|
|
|
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4; |
|
|
|
drop table IF EXISTS dtm.kv; |
|
|
|
CREATE TABLE IF NOT EXISTS dtm.kv ( |
|
|
|
`id` bigint(22) NOT NULL AUTO_INCREMENT, |
|
|
|
`cat` varchar(45) NOT NULL COMMENT 'the category of this data', |
|
|
|
`k` varchar(128) NOT NULL, |
|
|
|
`v` TEXT, |
|
|
|
`version` bigint(22) default 1 COMMENT 'version of the value', |
|
|
|
create_time datetime default NULL, |
|
|
|
update_time datetime DEFAULT NULL, |
|
|
|
PRIMARY KEY (`id`), |
|
|
|
UNIQUE key `uniq_k`(`cat`, `k`) |
|
|
|
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4; |
|
|
|
|
|
|
|
@ -141,7 +141,7 @@ func BaseAddRoute(app *gin.Engine) { |
|
|
|
})) |
|
|
|
app.POST(BusiAPI+"/TransOutXa", dtmutil.WrapHandler(func(c *gin.Context) interface{} { |
|
|
|
return dtmcli.XaLocalTransaction(c.Request.URL.Query(), BusiConf, func(db *sql.DB, xa *dtmcli.Xa) error { |
|
|
|
return SagaAdjustBalance(db, TransOutUID, reqFrom(c).Amount, reqFrom(c).TransOutResult) |
|
|
|
return SagaAdjustBalance(db, TransOutUID, -reqFrom(c).Amount, reqFrom(c).TransOutResult) |
|
|
|
}) |
|
|
|
})) |
|
|
|
app.POST(BusiAPI+"/TransOutTimeout", dtmutil.WrapHandler(func(c *gin.Context) interface{} { |
|
|
|
|