com.snow.auto_monitor/app/http/controllers/transfersys/transfersys.go

92 lines
2.1 KiB
Go

package orders
import (
"time"
common "com.snow.auto_monitor/app/http/controllers"
transEnt "com.snow.auto_monitor/app/http/entities/transfersys"
orderMod "com.snow.auto_monitor/app/models/orders"
proServ "com.snow.auto_monitor/app/services/product"
transServ "com.snow.auto_monitor/app/services/transfersys"
"github.com/gin-gonic/gin"
)
func GetOrder(c *gin.Context) {
item, err := transServ.ReadGroup()
if err != nil {
common.Error(c, 400, err.Error())
return
}
var response *transEnt.GetOrderResp = nil
product, err := proServ.GetById(item.ProductId)
if err != nil {
common.Error(c, 400, "产品不存在")
return
}
if item != nil {
response = &transEnt.GetOrderResp{
Id: item.Id,
OrderNo: item.OrderNo,
MerchantId: item.MerchantId,
ProductId: item.ProductId,
ProductUrl: product.ProductUrl,
OutTradeNo: item.OutTradeNo,
RechargeAccount: item.RechargeAccount,
AccountType: item.AccountType,
Number: item.Number,
NotifyUrl: item.NotifyUrl,
ExtendParameter: item.ExtendParameter,
Status: item.Status,
TransferStatus: item.TransferStatus,
FailReason: item.FailReason,
CreatedAt: item.CreatedAt.Format(time.RFC3339),
}
} else {
c.JSON(500, gin.H{
"code": 500,
"message": "no data",
})
return
}
common.Success(c, response)
}
func FinishOrder(c *gin.Context) {
request := new(transEnt.FinishOrderReq)
err := common.GenRequest(c, request)
if err != nil {
common.Error(c, 400, err.Error())
return
}
status := 5
if request.Result == "success" {
status = 1
} else if request.Result == "fail" {
status = 4
}
orders := &orderMod.Orders{
Id: request.Id,
ProductId: request.ProductId,
MerchantId: request.MerchantId,
TransferStatus: int64(status),
FailReason: request.FailReason,
}
affected, err := transServ.FinishOrder(orders)
if err != nil || affected == 0 {
common.Error(c, 400, "无法修改已完成订单")
return
}
response := &transEnt.FinishOrderResp{
Id: orders.Id,
}
common.Success(c, response)
}