175 lines
5.6 KiB
Plaintext
175 lines
5.6 KiB
Plaintext
|
syntax = "v1"
|
||
|
|
||
|
info (
|
||
|
title: "后台产品管理服务"
|
||
|
desc: "后台产品管理相关接口"
|
||
|
author: "Liangzai"
|
||
|
email: "2440983361@qq.com"
|
||
|
version: "v1"
|
||
|
)
|
||
|
|
||
|
// 产品管理接口
|
||
|
@server(
|
||
|
prefix: /api/v1/admin/product
|
||
|
group: admin_product
|
||
|
)
|
||
|
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"` // 备注
|
||
|
CostPrice float64 `json:"cost_price"` // 成本
|
||
|
SellPrice float64 `json:"sell_price"` // 售价
|
||
|
}
|
||
|
|
||
|
// 创建产品响应
|
||
|
AdminCreateProductResp {
|
||
|
Id int64 `json:"id"` // 产品ID
|
||
|
}
|
||
|
|
||
|
// 更新产品请求
|
||
|
AdminUpdateProductReq {
|
||
|
Id int64 `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"` // 备注
|
||
|
CostPrice *float64 `json:"cost_price,optional"` // 成本
|
||
|
SellPrice *float64 `json:"sell_price,optional"` // 售价
|
||
|
}
|
||
|
|
||
|
// 更新产品响应
|
||
|
AdminUpdateProductResp {
|
||
|
Success bool `json:"success"` // 是否成功
|
||
|
}
|
||
|
|
||
|
// 删除产品请求
|
||
|
AdminDeleteProductReq {
|
||
|
Id int64 `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 int64 `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 int64 `path:"id"` // 产品ID
|
||
|
}
|
||
|
|
||
|
// 获取产品详情响应
|
||
|
AdminGetProductDetailResp {
|
||
|
Id int64 `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 int64 `path:"product_id"` // 产品ID
|
||
|
}
|
||
|
|
||
|
// 获取产品功能列表响应Item
|
||
|
AdminGetProductFeatureListResp {
|
||
|
Id int64 `json:"id"` // 关联ID
|
||
|
ProductId int64 `json:"product_id"` // 产品ID
|
||
|
FeatureId int64 `json:"feature_id"` // 功能ID
|
||
|
ApiId string `json:"api_id"` // API标识
|
||
|
Name string `json:"name"` // 功能描述
|
||
|
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 int64 `json:"feature_id"` // 功能ID
|
||
|
Sort int64 `json:"sort"` // 排序
|
||
|
Enable int64 `json:"enable"` // 是否启用
|
||
|
IsImportant int64 `json:"is_important"` // 是否重要
|
||
|
}
|
||
|
|
||
|
// 更新产品功能关联请求(批量)
|
||
|
AdminUpdateProductFeaturesReq {
|
||
|
ProductId int64 `path:"product_id"` // 产品ID
|
||
|
Features []ProductFeatureItem `json:"features"` // 功能列表
|
||
|
}
|
||
|
|
||
|
// 更新产品功能关联响应
|
||
|
AdminUpdateProductFeaturesResp {
|
||
|
Success bool `json:"success"` // 是否成功
|
||
|
}
|
||
|
)
|