dongfeng-pay/gateway/controllers/gateway/order_controller.go

71 lines
1.8 KiB
Go
Raw Normal View History

package gateway
import (
"gateway/conf"
"gateway/models/order"
"gateway/query"
"gateway/service"
"github.com/astaxie/beego/logs"
"github.com/beego/beego/v2/server/web"
)
type OrderController struct {
web.Controller
}
func (c *OrderController) OrderQuery() {
bankOrderId := c.GetString("bankOrderId")
logs.Debug("获取到boss后台的银行id = " + bankOrderId)
qy := query.SupplierOrderQueryResult(bankOrderId)
if qy {
c.Ctx.WriteString("success")
} else {
c.Ctx.WriteString("fail")
}
c.StopRun()
}
func (c *OrderController) OrderUpdate() {
bankOrderId := c.GetString("bankOrderId")
solveType := c.GetString("solveType")
orderInfo := order.GetOrderByBankOrderId(bankOrderId)
flag := false
if orderInfo.BankOrderId == "" {
logs.Error("该订单不存在,bankOrderId=", bankOrderId)
} else if orderInfo.Status != conf.SUCCESS {
logs.Notice("该订单没有完成支付不能进行此操作bankOrderId = ", bankOrderId)
} else {
switch solveType {
case conf.SUCCESS:
flag = service.SolvePaySuccess(bankOrderId, orderInfo.FactAmount, orderInfo.BankTransId)
case conf.FAIL:
flag = service.SolvePayFail(bankOrderId, orderInfo.BankTransId)
case conf.FREEZE_AMOUNT:
//将这笔订单进行冻结
flag = service.SolveOrderFreeze(bankOrderId)
case conf.UNFREEZE_AMOUNT:
//将这笔订单金额解冻
flag = service.SolveOrderUnfreeze(bankOrderId)
case conf.REFUND:
if orderInfo.Status == conf.SUCCESS {
flag = service.SolveRefund(bankOrderId)
}
case conf.ORDERROLL:
if orderInfo.Status == conf.SUCCESS {
flag = service.SolveOrderRoll(bankOrderId)
}
default:
logs.Error("不存在这样的处理类型")
}
if flag {
c.Ctx.WriteString(conf.SUCCESS)
} else {
c.Ctx.WriteString(conf.FAIL)
}
}
c.StopRun()
}