109 lines
2.7 KiB
Plaintext
109 lines
2.7 KiB
Plaintext
syntax = "v1"
|
|
|
|
import "common.api"
|
|
|
|
info (
|
|
title: "聚玩订单服务"
|
|
desc: "处理订单业务"
|
|
author: "Asadz"
|
|
version: "1.0"
|
|
)
|
|
|
|
type (
|
|
PathId {
|
|
Id int64 `path:"id"`
|
|
}
|
|
PlayerService {
|
|
Id int64 `json:"id,string"`
|
|
PlayerId int64 `json:"playerId,string"`
|
|
GameId int64 `json:"gameId,string"`
|
|
GameName string `json:"gameName"`
|
|
Title string `json:"title"`
|
|
Description string `json:"description"`
|
|
Price float64 `json:"price"`
|
|
Unit string `json:"unit"`
|
|
RankRange string `json:"rankRange,optional"`
|
|
Availability []string `json:"availability"`
|
|
}
|
|
Order {
|
|
Id int64 `json:"id,string"`
|
|
ConsumerId int64 `json:"consumerId,string"`
|
|
PlayerId string `json:"playerId"`
|
|
ShopId int64 `json:"shopId,string,optional"`
|
|
Service PlayerService `json:"service"`
|
|
Status string `json:"status"`
|
|
TotalPrice float64 `json:"totalPrice"`
|
|
Note string `json:"note,optional"`
|
|
CreatedAt string `json:"createdAt"`
|
|
AcceptedAt string `json:"acceptedAt,optional"`
|
|
CompletedAt string `json:"completedAt,optional"`
|
|
}
|
|
OrderListReq {
|
|
PageReq
|
|
Role string `form:"role"` // consumer, player, owner
|
|
Status string `form:"status,optional"`
|
|
}
|
|
OrderListResp {
|
|
Items []Order `json:"items"`
|
|
Meta PageMeta `json:"meta"`
|
|
}
|
|
CreateOrderReq {
|
|
PlayerId int64 `json:"playerId,string"`
|
|
ShopId int64 `json:"shopId,string,optional"`
|
|
ServiceId int64 `json:"serviceId,string"`
|
|
Quantity int `json:"quantity"`
|
|
Note string `json:"note,optional"`
|
|
}
|
|
CreateOrderResp {
|
|
Ok bool `json:"ok"`
|
|
Order Order `json:"order"`
|
|
}
|
|
)
|
|
|
|
@server (
|
|
prefix: api/v1/orders
|
|
group: order
|
|
)
|
|
service order-api {
|
|
@doc "获取订单列表"
|
|
@handler ListOrders
|
|
get / (OrderListReq) returns (OrderListResp)
|
|
|
|
@doc "获取订单详情"
|
|
@handler GetOrder
|
|
get /:id (PathId) returns (Order)
|
|
|
|
@doc "创建订单"
|
|
@handler CreateOrder
|
|
post / (CreateOrderReq) returns (CreateOrderResp)
|
|
|
|
@doc "创建并支付订单"
|
|
@handler CreateAndPayOrder
|
|
post /paid (CreateOrderReq) returns (CreateOrderResp)
|
|
|
|
@doc "支付订单"
|
|
@handler PayOrder
|
|
post /:id/pay (PathId) returns (EmptyResp)
|
|
|
|
@doc "接单"
|
|
@handler AcceptOrder
|
|
post /:id/accept (PathId) returns (EmptyResp)
|
|
|
|
@doc "申请结算"
|
|
@handler RequestCloseOrder
|
|
post /:id/request-close (PathId) returns (EmptyResp)
|
|
|
|
@doc "确认结算"
|
|
@handler ConfirmCloseOrder
|
|
post /:id/confirm-close (PathId) returns (EmptyResp)
|
|
|
|
@doc "取消订单"
|
|
@handler CancelOrder
|
|
post /:id/cancel (PathId) returns (EmptyResp)
|
|
|
|
@doc "再来一单"
|
|
@handler Reorder
|
|
post /:id/reorder (PathId) returns (CreateOrderResp)
|
|
}
|
|
|