feat: 徽章api

This commit is contained in:
Blizzard
2026-02-12 14:34:31 +08:00
parent 01e13e736c
commit 0405968597
22 changed files with 1150 additions and 62 deletions
+119
View File
@@ -0,0 +1,119 @@
package plant
import (
"sundynix-go/global"
"sundynix-go/model/commom/response"
plantReq "sundynix-go/model/plant/request"
"github.com/gin-gonic/gin"
"go.uber.org/zap"
)
type BadgeConfigApi struct{}
// GetBadgeTree 获取徽章配置树 (不分页)
// @Tags 徽章配置
// @Summary 获取徽章配置树形结构
// @Security BearerAuth
// @Produce application/json
// @Success 200 {string} string "{"success":true,"data":{},"msg":"获取成功"}"
// @Router /config/badge/tree [get]
func (a *BadgeConfigApi) GetBadgeTree(c *gin.Context) {
// 不需要 bind query 了,因为没有参数
tree, err := badgeConfigService.GetBadgeTree()
if err != nil {
global.Logger.Error("获取徽章树失败", zap.Error(err))
response.FailWithMsg("获取数据失败", c)
return
}
// 直接返回 data = tree
response.OkWithData(tree, c)
}
// AddBadgeConfig 添加徽章配置
// @Tags 徽章配置
// @Summary 添加徽章配置
// @Security BearerAuth
// @accept application/json
// @Produce application/json
// @Param data body plantReq.CreateBadge true "添加徽章配置"
// @Success 200 {string} string "{"success":true,"data":{},"msg":"添加成功"}"
// @Router /config/badge/add [post]
func (a *BadgeConfigApi) AddBadgeConfig(c *gin.Context) {
var req plantReq.CreateBadge
err := c.ShouldBindJSON(&req)
if err != nil {
response.FailWithMsg("参数错误", c)
return
}
err = badgeConfigService.AddBadgeConfig(req)
if err != nil {
global.Logger.Error("添加徽章失败", zap.Error(err))
response.FailWithMsg("添加失败", c)
return
}
response.OkWithMsg("添加成功", c)
}
// UpdateBadgeConfig 更新徽章配置
// @Tags 徽章配置
// @Summary 更新徽章配置
// @Security BearerAuth
// @accept application/json
// @Produce application/json
// @Param data body plantReq.UpdateBadge true "更新参数"
// @Success 200 {string} string "{"success":true,"data":{},"msg":"更新成功"}"
// @Router /config/badge/update [post]
func (a *BadgeConfigApi) UpdateBadgeConfig(c *gin.Context) {
var req plantReq.UpdateBadge
err := c.ShouldBindJSON(&req)
if err != nil {
response.FailWithMsg("参数错误", c)
return
}
err = badgeConfigService.UpdateBadgeConfig(req)
if err != nil {
global.Logger.Error("更新失败", zap.Error(err))
response.FailWithMsg("更新失败", c)
return
}
response.OkWithMsg("更新成功", c)
}
// FindBadgeConfig 根据ID获取徽章配置
// @Tags 徽章配置
// @Summary 根据ID获取徽章配置
// @Security BearerAuth
// @Produce application/json
// @Param id query string true "id"
// @Success 200 {string} string "{"success":true,"data":{},"msg":"获取成功"}"
// @Router /config/badge/find [get]
func (a *BadgeConfigApi) FindBadgeConfig(c *gin.Context) {
id := c.Query("id")
badge, err := badgeConfigService.GetBadgeConfig(id)
if err != nil {
global.Logger.Error("查询失败", zap.Error(err))
response.FailWithMsg("查询失败", c)
return
}
response.OkWithData(badge, c)
}
// DeleteBadgeConfig 删除徽章配置
// @Tags 徽章配置
// @Summary 删除徽章配置
// @Security BearerAuth
// @Produce application/json
// @Param id query string true "id"
// @Success 200 {string} string "{"success":true,"data":{},"msg":"删除成功"}"
// @Router /config/badge/delete [get]
func (a *BadgeConfigApi) DeleteBadgeConfig(c *gin.Context) {
id := c.Query("id")
err := badgeConfigService.DeleteBadgeConfig(id)
if err != nil {
global.Logger.Error("删除失败", zap.Error(err))
response.FailWithMsg("删除失败", c)
return
}
response.OkWithMsg("删除成功", c)
}
+2
View File
@@ -11,6 +11,7 @@ type ApiGroup struct {
OcrApi
LevelConfigApi
UserProfileApi
BadgeConfigApi
}
var (
@@ -22,4 +23,5 @@ var (
ocrService = service.GroupApp.PlantServiceGroup.OcrService
levelConfigService = service.GroupApp.PlantServiceGroup.LevelConfigService
userProfileService = service.GroupApp.PlantServiceGroup.UserProfileService
badgeConfigService = service.GroupApp.PlantServiceGroup.BadgeConfigService
)
+1 -1
View File
@@ -132,7 +132,7 @@ func (a *TopicApi) TopicDetail(c *gin.Context) {
// @Tags 帖子话题
// @Summary 删除任务
// @Security BearerAuth
// @accept json
// @accept application/json
// @Produce application/json
// @Param data body request.IdsReq true "删除话题"
// @Success 200 {string} string "{"success":true,"data":{},"msg":"删除成功"}"