fusenapi/server_api/shopping-cart.api

81 lines
2.7 KiB
Plaintext
Raw Normal View History

2023-09-13 08:44:23 +00:00
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_to_cart(AddToCartReq) returns (response);
//删除购物车
@handler DeleteCartHandler
post /api/shopping-cart/delete_cart(DeleteCartReq) returns (response);
//修改购物车购买数量
@handler ModifyCartPurchaseQuantityHandler
post /api/shopping-cart/modify_cart_purchase_quantity(ModifyCartPurchaseQuantityReq) returns (response);
//获取购物车列表
@handler GetCartsHandler
get /api/shopping-cart/get_carts(GetCartsReq) returns (response);
}
2023-09-13 09:27:16 +00:00
2023-09-13 08:44:23 +00:00
//加入购物车
2023-09-13 09:27:16 +00:00
type AddToCartReq {
ProductId int64 `json:"product_id"` //产品id
TemplateId int64 `json:"template_id"` //模板id
SizeId int64 `json:"size_id"` //尺寸id
FittingId int64 `json:"fitting_id"` //配件id
PurchaseQuantity int64 `json:"purchase_quantity"` //购买数量
Logo string `json:"logo"` //logo地址
CombineImage string `json:"combine_image"` //合图地址
RenderImage string `json:"render_image"` //渲染结果图
2023-09-13 08:44:23 +00:00
}
//删除购物车
2023-09-13 09:27:16 +00:00
type DeleteCartReq {
Id int64 `json:"id"` //购物车id
2023-09-13 08:44:23 +00:00
}
//修改购物车购买数量
2023-09-13 09:27:16 +00:00
type ModifyCartPurchaseQuantityReq {
Id int64 `json:"id"` //购物车id
2023-09-13 08:44:23 +00:00
Quantity int64 `json:"quantity"` //数量
}
//获取购物车列表
2023-09-13 09:27:16 +00:00
type GetCartsReq {
2023-09-13 08:44:23 +00:00
Page int `form:"page"` //当前页
}
2023-09-13 09:20:39 +00:00
type GetCartsRsp {
2023-09-13 09:27:16 +00:00
Meta Meta `json:"meta"` //分页信息
CartList []CartItem `json:"cart_list"`
2023-09-13 09:20:39 +00:00
}
2023-09-13 09:27:16 +00:00
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:"totalPrice"` //单价X数量=总价
2023-09-13 09:20:39 +00:00
DiyInformation DiyInformation `json:"diy_information"` //diy信息
2023-09-13 09:27:16 +00:00
StepNum []int64 `json:"step_num"` //阶梯数量
2023-09-13 09:20:39 +00:00
}
2023-09-13 09:27:16 +00:00
type SizeInfo {
SizeId int64 `json:"size_id"` //尺寸id
Capacity string `json:"capacity"` //尺寸名称
2023-09-13 09:20:39 +00:00
Title SizeTitle `json:"title"`
}
2023-09-13 09:27:16 +00:00
type FittingInfo {
FittingId int64 `json:"fitting_id"` //配件id
2023-09-13 09:20:39 +00:00
FittingName string `json:"fitting_name"` //配件名称
}
2023-09-13 09:27:16 +00:00
type SizeTitle {
Cm string `json:"cm"`
2023-09-13 09:20:39 +00:00
Inch string `json:"inch"`
}
2023-09-13 09:27:16 +00:00
type DiyInformation {
Phone string `json:"phone"`
2023-09-13 09:20:39 +00:00
Address string `json:"address"`
Website string `json:"website"`
2023-09-13 09:27:16 +00:00
Qrcode string `json:"qrcode"`
2023-09-13 09:20:39 +00:00
}