96 lines
3.6 KiB
Plaintext
96 lines
3.6 KiB
Plaintext
syntax = "v1"
|
||
|
||
info (
|
||
title: "shopping-cart"// TODO: add title
|
||
desc: "购物车服务"// TODO: add description
|
||
author: ""
|
||
email: ""
|
||
)
|
||
|
||
import "basic.api"
|
||
service shopping-cart {
|
||
//加入购物车
|
||
@handler AddToCartHandler
|
||
post /api/shopping-cart/add(AddToCartReq) returns (response);
|
||
//删除购物车
|
||
@handler DeleteCartHandler
|
||
post /api/shopping-cart/delete(DeleteCartReq) returns (response);
|
||
//修改购物车购买数量
|
||
@handler ModifyCartPurchaseQuantityHandler
|
||
post /api/shopping-cart/modify(ModifyCartPurchaseQuantityReq) returns (response);
|
||
//获取购物车列表
|
||
@handler GetCartsHandler
|
||
get /api/shopping-cart/get_carts(GetCartsReq) returns (response);
|
||
}
|
||
|
||
//加入购物车
|
||
type AddToCartReq {
|
||
ProductId int64 `json:"product_id"` //产品id
|
||
TemplateId int64 `json:"template_id,optional"` //模板id(不可定制的不传)
|
||
SizeId int64 `json:"size_id"` //尺寸id
|
||
FittingId int64 `json:"fitting_id,optional"` //配件id(没有可以不传)
|
||
PurchaseQuantity int64 `json:"purchase_quantity"` //购买数量
|
||
Logo string `json:"logo,optional"` //logo地址(没有可以不传)
|
||
CombineImage string `json:"combine_image,optional"` //合图地址 (没有可以不传)
|
||
RenderImage string `json:"render_image,optional"` //渲染结果图 (没有可以不传)
|
||
DiyInfo DiyInfo `json:"diy_info,optional"` //用户diy数据(可选)
|
||
}
|
||
type DiyInfo {
|
||
Phone string `json:"phone,optional"` //电话(可选)
|
||
Address string `json:"address,optional"` //地址 (可选)
|
||
Website string `json:"website,optional"` //网站 (可选)
|
||
Qrcode string `json:"qrcode,optional"` //二维码 (可选)
|
||
Slogan string `json:"slogan,optional"` //slogan (可选)
|
||
}
|
||
//删除购物车
|
||
type DeleteCartReq {
|
||
Id int64 `json:"id"` //购物车id
|
||
}
|
||
//修改购物车购买数量
|
||
type ModifyCartPurchaseQuantityReq {
|
||
Id int64 `json:"id"` //购物车id
|
||
PurchaseQuantity int64 `json:"purchase_quantity"` //数量
|
||
}
|
||
//获取购物车列表
|
||
type GetCartsReq {
|
||
CurrentPage int `form:"current_page"` //当前页
|
||
}
|
||
type GetCartsRsp {
|
||
Meta Meta `json:"meta"` //分页信息
|
||
CartList []CartItem `json:"cart_list"`
|
||
}
|
||
type CartItem {
|
||
ProductId int64 `json:"product_id"` //产品id
|
||
SizeInfo SizeInfo `json:"size_info"` //尺寸信息
|
||
FittingInfo FittingInfo `json:"fitting_info"` //配件信息
|
||
ItemPrice string `json:"item_price"` //单价
|
||
TotalPrice string `json:"total_price"` //单价X数量=总价
|
||
DiyInformation DiyInformation `json:"diy_information"` //diy信息
|
||
StepNum []StepNumItem `json:"step_num"` //阶梯数量
|
||
IsInvalid bool `json:"is_invalid"` //是否无效
|
||
InvalidDescription string `json:"invalid_description"` //无效原因
|
||
}
|
||
type StepNumItem {
|
||
PurchaseQuantity int64 `json:"purchase_quantity"` //数量
|
||
IsSelected bool `json:"is_selected"` //是否选中
|
||
}
|
||
type SizeInfo {
|
||
SizeId int64 `json:"size_id"` //尺寸id
|
||
Capacity string `json:"capacity"` //尺寸名称
|
||
Title SizeTitle `json:"title"`
|
||
}
|
||
type FittingInfo {
|
||
FittingId int64 `json:"fitting_id"` //配件id
|
||
FittingName string `json:"fitting_name"` //配件名称
|
||
}
|
||
type SizeTitle {
|
||
Cm string `json:"cm"`
|
||
Inch string `json:"inch"`
|
||
}
|
||
type DiyInformation {
|
||
Phone string `json:"phone"`
|
||
Address string `json:"address"`
|
||
Website string `json:"website"`
|
||
Qrcode string `json:"qrcode"`
|
||
Slogan string `json:"slogan"`
|
||
} |