|
|
|
@ -1,13 +1,20 @@ |
|
|
|
package examples |
|
|
|
|
|
|
|
import ( |
|
|
|
"fmt" |
|
|
|
|
|
|
|
"github.com/gin-gonic/gin" |
|
|
|
"github.com/sirupsen/logrus" |
|
|
|
"github.com/yedf/dtm/common" |
|
|
|
) |
|
|
|
|
|
|
|
func AddRoute(app *gin.Engine) { |
|
|
|
app.POST(BusiApi+"/TransIn", common.WrapHandler(TransIn)) |
|
|
|
app.POST(BusiApi+"/TransInCompensate", common.WrapHandler(TransInCompensate)) |
|
|
|
app.POST(BusiApi+"/TransOut", common.WrapHandler(TransOut)) |
|
|
|
app.POST(BusiApi+"/TransOutCompensate", common.WrapHandler(TransOutCompensate)) |
|
|
|
app.GET(BusiApi+"/TransQuery", common.WrapHandler(TransQuery)) |
|
|
|
logrus.Printf("examples istening at %d", BusiPort) |
|
|
|
} |
|
|
|
|
|
|
|
type M = map[string]interface{} |
|
|
|
|
|
|
|
var TransInResult = "" |
|
|
|
@ -22,63 +29,61 @@ type TransReq struct { |
|
|
|
TransOutFailed bool `json:"transOutFailed"` |
|
|
|
} |
|
|
|
|
|
|
|
func TransIn(c *gin.Context) { |
|
|
|
func TransIn(c *gin.Context) (interface{}, error) { |
|
|
|
gid := c.Query("gid") |
|
|
|
req := TransReq{} |
|
|
|
if err := c.BindJSON(&req); err != nil { |
|
|
|
return |
|
|
|
return nil, err |
|
|
|
} |
|
|
|
if req.TransInFailed { |
|
|
|
logrus.Printf("%s TransIn %v failed", req) |
|
|
|
c.Error(fmt.Errorf("TransIn failed for gid: %s", gid)) |
|
|
|
return |
|
|
|
logrus.Printf("%s TransIn %v failed", gid, req) |
|
|
|
return M{"result": "FAIL"}, nil |
|
|
|
} |
|
|
|
res := common.OrString(TransInResult, "SUCCESS") |
|
|
|
logrus.Printf("%s TransIn: %v result: %s", gid, req, res) |
|
|
|
c.JSON(200, M{"result": res}) |
|
|
|
return M{"result": res}, nil |
|
|
|
} |
|
|
|
|
|
|
|
func TransInCompensate(c *gin.Context) { |
|
|
|
func TransInCompensate(c *gin.Context) (interface{}, error) { |
|
|
|
gid := c.Query("gid") |
|
|
|
req := TransReq{} |
|
|
|
if err := c.BindJSON(&req); err != nil { |
|
|
|
return |
|
|
|
return nil, err |
|
|
|
} |
|
|
|
res := common.OrString(TransInCompensateResult, "SUCCESS") |
|
|
|
logrus.Printf("%s TransInCompensate: %v result: %s", gid, req, res) |
|
|
|
c.JSON(200, M{"result": res}) |
|
|
|
return M{"result": res}, nil |
|
|
|
} |
|
|
|
|
|
|
|
func TransOut(c *gin.Context) { |
|
|
|
func TransOut(c *gin.Context) (interface{}, error) { |
|
|
|
gid := c.Query("gid") |
|
|
|
req := TransReq{} |
|
|
|
if err := c.BindJSON(&req); err != nil { |
|
|
|
return |
|
|
|
return nil, err |
|
|
|
} |
|
|
|
if req.TransOutFailed { |
|
|
|
logrus.Printf("%s TransOut %v failed", gid, req) |
|
|
|
c.JSON(500, M{"result": "FAIL"}) |
|
|
|
return |
|
|
|
return M{"result": "FAIL"}, nil |
|
|
|
} |
|
|
|
res := common.OrString(TransOutResult, "SUCCESS") |
|
|
|
logrus.Printf("%s TransOut: %v result: %s", gid, req, res) |
|
|
|
c.JSON(200, M{"result": res}) |
|
|
|
return M{"result": res}, nil |
|
|
|
} |
|
|
|
|
|
|
|
func TransOutCompensate(c *gin.Context) { |
|
|
|
func TransOutCompensate(c *gin.Context) (interface{}, error) { |
|
|
|
gid := c.Query("gid") |
|
|
|
req := TransReq{} |
|
|
|
if err := c.BindJSON(&req); err != nil { |
|
|
|
return |
|
|
|
return nil, err |
|
|
|
} |
|
|
|
res := common.OrString(TransOutCompensateResult, "SUCCESS") |
|
|
|
logrus.Printf("%s TransOutCompensate: %v result: %s", gid, req, res) |
|
|
|
c.JSON(200, M{"result": res}) |
|
|
|
return M{"result": res}, nil |
|
|
|
} |
|
|
|
|
|
|
|
func TransQuery(c *gin.Context) { |
|
|
|
func TransQuery(c *gin.Context) (interface{}, error) { |
|
|
|
gid := c.Query("gid") |
|
|
|
logrus.Printf("%s TransQuery", gid) |
|
|
|
res := common.OrString(TransQueryResult, "SUCCESS") |
|
|
|
c.JSON(200, M{"result": res}) |
|
|
|
return M{"result": res}, nil |
|
|
|
} |
|
|
|
|