mirror of https://github.com/dtm-labs/dtm.git
15 changed files with 290 additions and 197 deletions
@ -0,0 +1,43 @@ |
|||
package dtmsvr |
|||
|
|||
import ( |
|||
"github.com/gin-gonic/gin" |
|||
"github.com/sirupsen/logrus" |
|||
"github.com/yedf/dtm/common" |
|||
"gorm.io/gorm/clause" |
|||
) |
|||
|
|||
func AddRoute(engine *gin.Engine) { |
|||
engine.POST("/api/dtmsvr/prepare", common.WrapHandler(Prepare)) |
|||
engine.POST("/api/dtmsvr/commit", common.WrapHandler(Commit)) |
|||
} |
|||
|
|||
func Prepare(c *gin.Context) (interface{}, error) { |
|||
db := DbGet() |
|||
m := getSagaModelFromContext(c) |
|||
m.Status = "prepared" |
|||
writeTransLog(m.Gid, "save prepared", m.Status, -1, m.Steps) |
|||
db.Must().Clauses(clause.OnConflict{ |
|||
DoNothing: true, |
|||
}).Create(&m) |
|||
return M{"message": "SUCCESS"}, nil |
|||
} |
|||
|
|||
func Commit(c *gin.Context) (interface{}, error) { |
|||
m := getSagaModelFromContext(c) |
|||
saveCommitedSagaModel(m) |
|||
go ProcessCommitedSaga(m.Gid) |
|||
return M{"message": "SUCCESS"}, nil |
|||
} |
|||
|
|||
func getSagaModelFromContext(c *gin.Context) *SagaModel { |
|||
data := M{} |
|||
b, err := c.GetRawData() |
|||
common.PanicIfError(err) |
|||
common.MustUnmarshal(b, &data) |
|||
logrus.Printf("creating saga model in prepare") |
|||
data["steps"] = common.MustMarshalString(data["steps"]) |
|||
m := SagaModel{} |
|||
common.MustRemarshal(data, &m) |
|||
return &m |
|||
} |
|||
@ -0,0 +1,6 @@ |
|||
mysql: |
|||
host: 'xxx' |
|||
user: 'xxx' |
|||
password: 'xxx' |
|||
database: 'xxx' |
|||
port: '3306' |
|||
@ -0,0 +1,90 @@ |
|||
mode: set |
|||
github.com/yedf/dtm/dtmsvr/types.go:22.38,24.2 1 1 |
|||
github.com/yedf/dtm/dtmsvr/types.go:38.42,40.2 1 1 |
|||
github.com/yedf/dtm/dtmsvr/api.go:10.35,13.2 2 1 |
|||
github.com/yedf/dtm/dtmsvr/api.go:15.51,24.2 6 1 |
|||
github.com/yedf/dtm/dtmsvr/api.go:26.50,31.2 4 1 |
|||
github.com/yedf/dtm/dtmsvr/api.go:33.57,43.2 9 1 |
|||
github.com/yedf/dtm/dtmsvr/config.go:21.65,23.25 2 1 |
|||
github.com/yedf/dtm/dtmsvr/config.go:26.2,30.20 5 1 |
|||
github.com/yedf/dtm/dtmsvr/config.go:36.2,37.23 2 1 |
|||
github.com/yedf/dtm/dtmsvr/config.go:23.25,25.3 1 1 |
|||
github.com/yedf/dtm/dtmsvr/config.go:30.20,32.36 2 1 |
|||
github.com/yedf/dtm/dtmsvr/config.go:32.36,33.9 1 1 |
|||
github.com/yedf/dtm/dtmsvr/config.go:42.19,43.18 1 1 |
|||
github.com/yedf/dtm/dtmsvr/config.go:46.2,51.26 6 1 |
|||
github.com/yedf/dtm/dtmsvr/config.go:43.18,45.3 1 1 |
|||
github.com/yedf/dtm/dtmsvr/cron.go:13.45,18.18 5 1 |
|||
github.com/yedf/dtm/dtmsvr/cron.go:21.2,21.24 1 1 |
|||
github.com/yedf/dtm/dtmsvr/cron.go:18.18,20.3 1 0 |
|||
github.com/yedf/dtm/dtmsvr/cron.go:21.24,27.37 6 1 |
|||
github.com/yedf/dtm/dtmsvr/cron.go:27.37,30.4 2 1 |
|||
github.com/yedf/dtm/dtmsvr/cron.go:30.9,30.47 1 1 |
|||
github.com/yedf/dtm/dtmsvr/cron.go:30.47,33.4 2 1 |
|||
github.com/yedf/dtm/dtmsvr/cron.go:37.21,38.6 1 0 |
|||
github.com/yedf/dtm/dtmsvr/cron.go:38.6,41.3 2 0 |
|||
github.com/yedf/dtm/dtmsvr/cron.go:44.45,49.18 5 1 |
|||
github.com/yedf/dtm/dtmsvr/cron.go:52.2,52.24 1 1 |
|||
github.com/yedf/dtm/dtmsvr/cron.go:49.18,51.3 1 0 |
|||
github.com/yedf/dtm/dtmsvr/cron.go:52.24,56.3 3 1 |
|||
github.com/yedf/dtm/dtmsvr/cron.go:59.21,60.6 1 0 |
|||
github.com/yedf/dtm/dtmsvr/cron.go:60.6,63.3 2 0 |
|||
github.com/yedf/dtm/dtmsvr/cron.go:66.20,67.34 1 1 |
|||
github.com/yedf/dtm/dtmsvr/cron.go:67.34,69.3 1 1 |
|||
github.com/yedf/dtm/dtmsvr/db.go:21.29,24.2 2 1 |
|||
github.com/yedf/dtm/dtmsvr/db.go:26.31,29.2 2 1 |
|||
github.com/yedf/dtm/dtmsvr/db.go:31.20,33.15 2 1 |
|||
github.com/yedf/dtm/dtmsvr/db.go:44.2,44.22 1 1 |
|||
github.com/yedf/dtm/dtmsvr/db.go:33.15,43.3 7 1 |
|||
github.com/yedf/dtm/dtmsvr/db.go:47.87,49.18 2 1 |
|||
github.com/yedf/dtm/dtmsvr/db.go:52.2,58.4 1 1 |
|||
github.com/yedf/dtm/dtmsvr/db.go:49.18,51.3 1 1 |
|||
github.com/yedf/dtm/dtmsvr/db.go:63.38,65.2 1 1 |
|||
github.com/yedf/dtm/dtmsvr/db.go:67.60,68.30 1 1 |
|||
github.com/yedf/dtm/dtmsvr/db.go:72.2,72.29 1 1 |
|||
github.com/yedf/dtm/dtmsvr/db.go:83.2,102.8 16 1 |
|||
github.com/yedf/dtm/dtmsvr/db.go:68.30,70.3 1 1 |
|||
github.com/yedf/dtm/dtmsvr/db.go:72.29,76.58 4 1 |
|||
github.com/yedf/dtm/dtmsvr/db.go:76.58,77.61 1 1 |
|||
github.com/yedf/dtm/dtmsvr/db.go:77.61,78.20 1 0 |
|||
github.com/yedf/dtm/dtmsvr/main.go:8.13,11.2 2 0 |
|||
github.com/yedf/dtm/dtmsvr/main.go:13.17,19.2 5 1 |
|||
github.com/yedf/dtm/dtmsvr/service.go:15.42,18.49 3 1 |
|||
github.com/yedf/dtm/dtmsvr/service.go:55.2,55.26 1 1 |
|||
github.com/yedf/dtm/dtmsvr/service.go:18.49,24.28 4 1 |
|||
github.com/yedf/dtm/dtmsvr/service.go:28.3,31.30 4 1 |
|||
github.com/yedf/dtm/dtmsvr/service.go:49.3,53.13 3 1 |
|||
github.com/yedf/dtm/dtmsvr/service.go:24.28,27.4 2 1 |
|||
github.com/yedf/dtm/dtmsvr/service.go:31.30,48.4 2 1 |
|||
github.com/yedf/dtm/dtmsvr/service.go:60.35,62.16 2 1 |
|||
github.com/yedf/dtm/dtmsvr/service.go:62.16,65.3 2 0 |
|||
github.com/yedf/dtm/dtmsvr/service.go:68.38,70.16 2 1 |
|||
github.com/yedf/dtm/dtmsvr/service.go:73.2,73.34 1 1 |
|||
github.com/yedf/dtm/dtmsvr/service.go:70.16,72.3 1 1 |
|||
github.com/yedf/dtm/dtmsvr/service.go:73.34,75.3 1 1 |
|||
github.com/yedf/dtm/dtmsvr/service.go:77.34,78.27 1 1 |
|||
github.com/yedf/dtm/dtmsvr/service.go:78.27,79.42 1 1 |
|||
github.com/yedf/dtm/dtmsvr/service.go:83.56,88.40 5 1 |
|||
github.com/yedf/dtm/dtmsvr/service.go:120.2,120.27 1 1 |
|||
github.com/yedf/dtm/dtmsvr/service.go:129.2,129.53 1 1 |
|||
github.com/yedf/dtm/dtmsvr/service.go:150.2,150.19 1 1 |
|||
github.com/yedf/dtm/dtmsvr/service.go:153.2,159.12 4 1 |
|||
github.com/yedf/dtm/dtmsvr/service.go:88.40,90.114 2 1 |
|||
github.com/yedf/dtm/dtmsvr/service.go:93.3,93.56 1 1 |
|||
github.com/yedf/dtm/dtmsvr/service.go:90.114,91.12 1 1 |
|||
github.com/yedf/dtm/dtmsvr/service.go:93.56,95.18 2 1 |
|||
github.com/yedf/dtm/dtmsvr/service.go:98.4,100.41 3 1 |
|||
github.com/yedf/dtm/dtmsvr/service.go:95.18,97.5 1 0 |
|||
github.com/yedf/dtm/dtmsvr/service.go:100.41,107.5 3 1 |
|||
github.com/yedf/dtm/dtmsvr/service.go:107.10,107.45 1 1 |
|||
github.com/yedf/dtm/dtmsvr/service.go:107.45,114.10 4 1 |
|||
github.com/yedf/dtm/dtmsvr/service.go:115.10,117.5 1 1 |
|||
github.com/yedf/dtm/dtmsvr/service.go:120.27,128.3 4 1 |
|||
github.com/yedf/dtm/dtmsvr/service.go:129.53,131.60 2 1 |
|||
github.com/yedf/dtm/dtmsvr/service.go:134.3,135.17 2 1 |
|||
github.com/yedf/dtm/dtmsvr/service.go:138.3,139.40 2 1 |
|||
github.com/yedf/dtm/dtmsvr/service.go:131.60,132.12 1 1 |
|||
github.com/yedf/dtm/dtmsvr/service.go:135.17,137.4 1 0 |
|||
github.com/yedf/dtm/dtmsvr/service.go:139.40,146.4 3 1 |
|||
github.com/yedf/dtm/dtmsvr/service.go:146.9,148.4 1 0 |
|||
github.com/yedf/dtm/dtmsvr/service.go:150.19,152.3 1 0 |
|||
Loading…
Reference in new issue