69 lines
2.0 KiB
Plaintext
69 lines
2.0 KiB
Plaintext
syntax = "v1"
|
|
|
|
info (
|
|
title: "order API"
|
|
desc: "API for ppanel"
|
|
author: "Tension"
|
|
email: "tension@ppanel.com"
|
|
version: "0.0.1"
|
|
)
|
|
|
|
import "../types.api"
|
|
|
|
type (
|
|
CreateOrderRequest {
|
|
UserId int64 `json:"user_id" validate:"required"`
|
|
Type uint8 `json:"type" validate:"required"`
|
|
Quantity int64 `json:"quantity,omitempty"`
|
|
Price int64 `json:"price" validate:"required"`
|
|
Amount int64 `json:"amount" validate:"required"`
|
|
Discount int64 `json:"discount,omitempty"`
|
|
Coupon string `json:"coupon,omitempty"`
|
|
CouponDiscount int64 `json:"coupon_discount,omitempty"`
|
|
Commission int64 `json:"commission"`
|
|
FeeAmount int64 `json:"fee_amount" validate:"required"`
|
|
PaymentId int64 `json:"payment_id" validate:"required"`
|
|
TradeNo string `json:"trade_no,omitempty"`
|
|
Status uint8 `json:"status,omitempty"`
|
|
SubscribeId int64 `json:"subscribe_id,omitempty"`
|
|
}
|
|
UpdateOrderStatusRequest {
|
|
Id int64 `json:"id" validate:"required"`
|
|
Status uint8 `json:"status" validate:"required"`
|
|
PaymentId int64 `json:"payment_id,omitempty"`
|
|
TradeNo string `json:"trade_no,omitempty"`
|
|
}
|
|
GetOrderListRequest {
|
|
Page int64 `form:"page" validate:"required"`
|
|
Size int64 `form:"size" validate:"required"`
|
|
UserId int64 `form:"user_id,omitempty"`
|
|
Status uint8 `form:"status,omitempty"`
|
|
SubscribeId int64 `form:"subscribe_id,omitempty"`
|
|
Search string `form:"search,omitempty"`
|
|
}
|
|
GetOrderListResponse {
|
|
Total int64 `json:"total"`
|
|
List []Order `json:"list"`
|
|
}
|
|
)
|
|
|
|
@server (
|
|
prefix: v1/admin/order
|
|
group: admin/order
|
|
middleware: AuthMiddleware
|
|
)
|
|
service ppanel {
|
|
@doc "Create order"
|
|
@handler CreateOrder
|
|
post / (CreateOrderRequest)
|
|
|
|
@doc "Get order list"
|
|
@handler GetOrderList
|
|
get /list (GetOrderListRequest) returns (GetOrderListResponse)
|
|
|
|
@doc "Update order status"
|
|
@handler UpdateOrderStatus
|
|
put /status (UpdateOrderStatusRequest)
|
|
}
|
|
|