feat: swag.
This commit is contained in:
@@ -32,6 +32,16 @@ func NewProductDefinitionAdminController() *ProductDefinitionAdminController {
|
||||
return &ProductDefinitionAdminController{DB: config.DB}
|
||||
}
|
||||
|
||||
// @Summary 获取产品定义列表
|
||||
// @Description 查询产品定义列表,支持按关键词/分类/启用状态筛选
|
||||
// @Tags 产品定义管理
|
||||
// @Produce json
|
||||
// @Param keyword query string false "关键词(代码/名称/描述模糊搜索)"
|
||||
// @Param category query string false "分类筛选"
|
||||
// @Param isActive query bool false "是否启用"
|
||||
// @Security BearerAuth
|
||||
// @Success 200 {object} SwagAPIResponse "查询成功"
|
||||
// @Router /admin/product-definitions [get]
|
||||
func (pc *ProductDefinitionAdminController) List(c *gin.Context) {
|
||||
var items []models.ProductDefinition
|
||||
query := pc.DB.Model(&models.ProductDefinition{}).Order("sort ASC, id ASC")
|
||||
@@ -59,6 +69,16 @@ func (pc *ProductDefinitionAdminController) List(c *gin.Context) {
|
||||
writeSuccess(c, http.StatusOK, "query success", items)
|
||||
}
|
||||
|
||||
// @Summary 创建产品定义
|
||||
// @Description 创建新的产品定义
|
||||
// @Tags 产品定义管理
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param productDefinition body productDefinitionPayload true "产品定义信息"
|
||||
// @Security BearerAuth
|
||||
// @Success 201 {object} SwagAPIResponse "创建成功"
|
||||
// @Failure 400 {object} SwagAPIResponse "请求参数错误"
|
||||
// @Router /admin/product-definitions [post]
|
||||
func (pc *ProductDefinitionAdminController) Create(c *gin.Context) {
|
||||
var payload productDefinitionPayload
|
||||
if err := c.ShouldBindJSON(&payload); err != nil {
|
||||
@@ -87,6 +107,18 @@ func (pc *ProductDefinitionAdminController) Create(c *gin.Context) {
|
||||
writeSuccess(c, http.StatusCreated, "create success", record)
|
||||
}
|
||||
|
||||
// @Summary 更新产品定义
|
||||
// @Description 更新指定产品定义的信息
|
||||
// @Tags 产品定义管理
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param id path int true "产品定义ID"
|
||||
// @Param productDefinition body productDefinitionPayload true "更新信息"
|
||||
// @Security BearerAuth
|
||||
// @Success 200 {object} SwagAPIResponse "更新成功"
|
||||
// @Failure 400 {object} SwagAPIResponse "请求参数错误"
|
||||
// @Failure 404 {object} SwagAPIResponse "产品定义不存在"
|
||||
// @Router /admin/product-definitions/{id} [put]
|
||||
func (pc *ProductDefinitionAdminController) Update(c *gin.Context) {
|
||||
record, err := pc.findByID(c.Param("id"))
|
||||
if err != nil {
|
||||
@@ -120,6 +152,16 @@ func (pc *ProductDefinitionAdminController) Update(c *gin.Context) {
|
||||
writeSuccess(c, http.StatusOK, "update success", record)
|
||||
}
|
||||
|
||||
// @Summary 删除产品定义
|
||||
// @Description 删除指定产品定义(被库存或模板引用的无法删除)
|
||||
// @Tags 产品定义管理
|
||||
// @Produce json
|
||||
// @Param id path int true "产品定义ID"
|
||||
// @Security BearerAuth
|
||||
// @Success 200 {object} SwagAPIResponse "删除成功"
|
||||
// @Failure 404 {object} SwagAPIResponse "产品定义不存在"
|
||||
// @Failure 409 {object} SwagAPIResponse "已被引用无法删除"
|
||||
// @Router /admin/product-definitions/{id} [delete]
|
||||
func (pc *ProductDefinitionAdminController) Delete(c *gin.Context) {
|
||||
record, err := pc.findByID(c.Param("id"))
|
||||
if err != nil {
|
||||
|
||||
Reference in New Issue
Block a user