174 lines
5.9 KiB
Plaintext
174 lines
5.9 KiB
Plaintext
syntax = "v1"
|
||
|
||
info (
|
||
title: "后台产品管理服务"
|
||
desc: "后台产品管理相关接口"
|
||
version: "v1"
|
||
)
|
||
|
||
// 产品管理接口
|
||
@server(
|
||
prefix: /api/v1/admin/product
|
||
group: admin_product
|
||
middleware: AdminAuthInterceptor
|
||
)
|
||
service main {
|
||
// 创建产品
|
||
@handler AdminCreateProduct
|
||
post /create (AdminCreateProductReq) returns (AdminCreateProductResp)
|
||
|
||
// 更新产品
|
||
@handler AdminUpdateProduct
|
||
put /update/:id (AdminUpdateProductReq) returns (AdminUpdateProductResp)
|
||
|
||
// 删除产品
|
||
@handler AdminDeleteProduct
|
||
delete /delete/:id (AdminDeleteProductReq) returns (AdminDeleteProductResp)
|
||
|
||
// 获取产品列表
|
||
@handler AdminGetProductList
|
||
get /list (AdminGetProductListReq) returns (AdminGetProductListResp)
|
||
|
||
// 获取产品详情
|
||
@handler AdminGetProductDetail
|
||
get /detail/:id (AdminGetProductDetailReq) returns (AdminGetProductDetailResp)
|
||
|
||
// 获取产品功能列表
|
||
@handler AdminGetProductFeatureList
|
||
get /feature/list/:product_id (AdminGetProductFeatureListReq) returns ([]AdminGetProductFeatureListResp)
|
||
|
||
// 更新产品功能关联(批量)
|
||
@handler AdminUpdateProductFeatures
|
||
put /feature/update/:product_id (AdminUpdateProductFeaturesReq) returns (AdminUpdateProductFeaturesResp)
|
||
}
|
||
|
||
type (
|
||
// 创建产品请求
|
||
AdminCreateProductReq {
|
||
ProductName string `json:"product_name"` // 服务名
|
||
ProductEn string `json:"product_en"` // 英文名
|
||
Description string `json:"description"` // 描述
|
||
Notes string `json:"notes,optional"` // 备注
|
||
SellPrice float64 `json:"sell_price"` // 售价
|
||
}
|
||
|
||
// 创建产品响应
|
||
AdminCreateProductResp {
|
||
Id string `json:"id"` // 产品ID
|
||
}
|
||
|
||
// 更新产品请求
|
||
AdminUpdateProductReq {
|
||
Id string `path:"id"` // 产品ID
|
||
ProductName *string `json:"product_name,optional"` // 服务名
|
||
ProductEn *string `json:"product_en,optional"` // 英文名
|
||
Description *string `json:"description,optional"` // 描述
|
||
Notes *string `json:"notes,optional"` // 备注
|
||
SellPrice *float64 `json:"sell_price,optional"` // 售价
|
||
}
|
||
|
||
// 更新产品响应
|
||
AdminUpdateProductResp {
|
||
Success bool `json:"success"` // 是否成功
|
||
}
|
||
|
||
// 删除产品请求
|
||
AdminDeleteProductReq {
|
||
Id string `path:"id"` // 产品ID
|
||
}
|
||
|
||
// 删除产品响应
|
||
AdminDeleteProductResp {
|
||
Success bool `json:"success"` // 是否成功
|
||
}
|
||
|
||
// 获取产品列表请求
|
||
AdminGetProductListReq {
|
||
Page int64 `form:"page"` // 页码
|
||
PageSize int64 `form:"pageSize"` // 每页数量
|
||
ProductName *string `form:"product_name,optional"` // 服务名
|
||
ProductEn *string `form:"product_en,optional"` // 英文名
|
||
}
|
||
|
||
// 产品列表项
|
||
ProductListItem {
|
||
Id string `json:"id"` // 产品ID
|
||
ProductName string `json:"product_name"` // 服务名
|
||
ProductEn string `json:"product_en"` // 英文名
|
||
Description string `json:"description"` // 描述
|
||
Notes string `json:"notes"` // 备注
|
||
CostPrice float64 `json:"cost_price"` // 成本(由关联模块成本汇总,只读)
|
||
SellPrice float64 `json:"sell_price"` // 售价
|
||
CreateTime string `json:"create_time"` // 创建时间
|
||
UpdateTime string `json:"update_time"` // 更新时间
|
||
}
|
||
|
||
// 获取产品列表响应
|
||
AdminGetProductListResp {
|
||
Total int64 `json:"total"` // 总数
|
||
Items []ProductListItem `json:"items"` // 列表数据
|
||
}
|
||
|
||
// 获取产品详情请求
|
||
AdminGetProductDetailReq {
|
||
Id string `path:"id"` // 产品ID
|
||
}
|
||
|
||
// 获取产品详情响应
|
||
AdminGetProductDetailResp {
|
||
Id string `json:"id"` // 产品ID
|
||
ProductName string `json:"product_name"` // 服务名
|
||
ProductEn string `json:"product_en"` // 英文名
|
||
Description string `json:"description"` // 描述
|
||
Notes string `json:"notes"` // 备注
|
||
CostPrice float64 `json:"cost_price"` // 成本(由关联模块成本汇总,只读)
|
||
SellPrice float64 `json:"sell_price"` // 售价
|
||
CreateTime string `json:"create_time"` // 创建时间
|
||
UpdateTime string `json:"update_time"` // 更新时间
|
||
}
|
||
|
||
// 获取产品功能列表请求
|
||
AdminGetProductFeatureListReq {
|
||
ProductId string `path:"product_id"` // 产品ID
|
||
}
|
||
|
||
// 获取产品功能列表响应Item
|
||
AdminGetProductFeatureListResp {
|
||
Id string `json:"id"` // 关联ID
|
||
ProductId string `json:"product_id"` // 产品ID
|
||
FeatureId string `json:"feature_id"` // 功能ID
|
||
ApiId string `json:"api_id"` // API标识
|
||
Name string `json:"name"` // 功能描述
|
||
CostPrice float64 `json:"cost_price"` // 模块成本价(元,来自 feature)
|
||
Sort int64 `json:"sort"` // 排序
|
||
Enable int64 `json:"enable"` // 是否启用
|
||
IsImportant int64 `json:"is_important"` // 是否重要
|
||
CreateTime string `json:"create_time"` // 创建时间
|
||
UpdateTime string `json:"update_time"` // 更新时间
|
||
}
|
||
|
||
// // 获取产品功能列表响应
|
||
// AdminGetProductFeatureListResp {
|
||
// Items []ProductFeatureListItem `json:"items"` // 列表数据
|
||
// }
|
||
|
||
// 产品功能关联项
|
||
ProductFeatureItem {
|
||
FeatureId string `json:"feature_id"` // 功能ID
|
||
Sort int64 `json:"sort"` // 排序
|
||
Enable int64 `json:"enable"` // 是否启用
|
||
IsImportant int64 `json:"is_important"` // 是否重要
|
||
}
|
||
|
||
// 更新产品功能关联请求(批量)
|
||
AdminUpdateProductFeaturesReq {
|
||
ProductId string `path:"product_id"` // 产品ID
|
||
Features []ProductFeatureItem `json:"features"` // 功能列表
|
||
}
|
||
|
||
// 更新产品功能关联响应
|
||
AdminUpdateProductFeaturesResp {
|
||
Success bool `json:"success"` // 是否成功
|
||
}
|
||
)
|