server/apis/admin/order.api
Chang lue Tsen 8addcc584b init: 1.0.0
2025-04-25 12:08:29 +09:00

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)
}