🔥A cross-language distributed transaction manager. Support xa, tcc, saga, transactional messages. 跨语言分布式事务管理器
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

35 lines
725 B

package dtmsvr
import (
"github.com/gin-gonic/gin"
"github.com/yedf/dtm/common"
)
func AddRoute(engine *gin.Engine) {
engine.POST("/api/dtmsvr/prepare", Prepare)
engine.POST("/api/dtmsvr/commit", Commit)
}
func Prepare(c *gin.Context) {
data := gin.H{}
err := c.BindJSON(&data)
if err != nil {
return
}
rabbit := RabbitmqGet()
err = rabbit.SendAndConfirm(RabbitmqConstPrepared, data)
common.PanicIfError(err)
c.JSON(200, gin.H{"message": "SUCCESS"})
}
func Commit(c *gin.Context) {
data := gin.H{}
err := c.BindJSON(&data)
if err != nil {
return
}
rabbit := RabbitmqGet()
err = rabbit.SendAndConfirm(RabbitmqConstCommited, data)
common.PanicIfError(err)
c.JSON(200, gin.H{"message": "SUCCESS"})
}