57 lines
1.9 KiB
Go
57 lines
1.9 KiB
Go
package routers
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"github.com/gin-gonic/gin"
|
|
"github.com/mitchellh/mapstructure"
|
|
)
|
|
|
|
type CostItem struct {
|
|
Cost float64 `json:"cost" binding:"required,min=0"` // 必须,非负
|
|
CostT float64 `json:"cost_t" binding:"required,min=0"` // 必须,非负
|
|
CurrencyType string `json:"currency_type" binding:"required"` // 必须
|
|
Int int `json:"int" binding:"required"` // 必须
|
|
Type string `json:"type" binding:"required"` // 必须
|
|
}
|
|
type From_purchase_addorder struct {
|
|
Costs []CostItem `json:"costs"` //
|
|
Link string `json:"link"` // 可选
|
|
OrderStatus string `json:"order_status" binding:"required"` //
|
|
PartName string `json:"part_name"` // 可选
|
|
Photos []string `json:"photos"` // 可选
|
|
Remark string `json:"remark"` // 可选
|
|
Styles string `json:"styles"` // 可选
|
|
Title string `json:"title" binding:"required"` // 必须
|
|
TrackingNumber string `json:"tracking_number"` // 可选
|
|
UpdateTime string `json:"update_time"` // 可选
|
|
}
|
|
|
|
func ApiPurchase(r *gin.RouterGroup) {
|
|
|
|
r.POST("/addorder", func(ctx *gin.Context) {
|
|
isAuth, user, data := AuthenticationAuthority(ctx)
|
|
if isAuth {
|
|
|
|
//需要处理提交的数据,接口有固定的数据格式,不允许乱搞
|
|
//fmt.Println(isAuth)
|
|
fmt.Println(user)
|
|
//DebugPrintJson(data)
|
|
var jsondata From_purchase_addorder
|
|
if err := mapstructure.Decode(data, &jsondata); err == nil {
|
|
|
|
fmt.Println("转换后数据:\n", jsondata)
|
|
|
|
} else {
|
|
ReturnJson(ctx, "jsonErr", nil)
|
|
}
|
|
|
|
} else {
|
|
ReturnJson(ctx, "jsonErr", nil)
|
|
}
|
|
|
|
ReturnJson(ctx, "apiErr", nil)
|
|
})
|
|
|
|
}
|