feat: swag.
This commit is contained in:
@@ -49,6 +49,16 @@ func NewUserAdminController() *UserAdminController {
|
||||
return &UserAdminController{DB: config.DB}
|
||||
}
|
||||
|
||||
// @Summary 获取用户列表
|
||||
// @Description 查询系统用户列表,支持按关键词/角色/类型筛选
|
||||
// @Tags 用户管理
|
||||
// @Produce json
|
||||
// @Param keyword query string false "关键词(用户名/邮箱/手机号模糊搜索)"
|
||||
// @Param role query string false "角色筛选"
|
||||
// @Param flavorType query string false "类型筛选"
|
||||
// @Security BearerAuth
|
||||
// @Success 200 {object} SwagAPIResponse "查询成功"
|
||||
// @Router /admin/users [get]
|
||||
func (uc *UserAdminController) List(c *gin.Context) {
|
||||
var users []models.User
|
||||
query := uc.DB.Preload("Regions").Order("id ASC")
|
||||
@@ -76,6 +86,16 @@ func (uc *UserAdminController) List(c *gin.Context) {
|
||||
writeSuccess(c, http.StatusOK, "query success", items)
|
||||
}
|
||||
|
||||
// @Summary 创建用户
|
||||
// @Description 创建新的系统用户
|
||||
// @Tags 用户管理
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param user body userAdminPayload true "用户信息"
|
||||
// @Security BearerAuth
|
||||
// @Success 201 {object} SwagAPIResponse "创建成功"
|
||||
// @Failure 400 {object} SwagAPIResponse "请求参数错误"
|
||||
// @Router /admin/users [post]
|
||||
func (uc *UserAdminController) Create(c *gin.Context) {
|
||||
var payload userAdminPayload
|
||||
if err := c.ShouldBindJSON(&payload); err != nil {
|
||||
@@ -127,6 +147,18 @@ func (uc *UserAdminController) Create(c *gin.Context) {
|
||||
writeSuccess(c, http.StatusCreated, "create success", items[0])
|
||||
}
|
||||
|
||||
// @Summary 更新用户信息
|
||||
// @Description 更新指定用户的详细信息,支持重置密码和吊销Token
|
||||
// @Tags 用户管理
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param id path int true "用户ID"
|
||||
// @Param user body userAdminPayload true "更新信息"
|
||||
// @Security BearerAuth
|
||||
// @Success 200 {object} SwagAPIResponse "更新成功"
|
||||
// @Failure 400 {object} SwagAPIResponse "请求参数错误"
|
||||
// @Failure 404 {object} SwagAPIResponse "用户不存在"
|
||||
// @Router /admin/users/{id} [put]
|
||||
func (uc *UserAdminController) Update(c *gin.Context) {
|
||||
user, err := uc.findUserByID(c.Param("id"))
|
||||
if err != nil {
|
||||
@@ -212,6 +244,16 @@ func (uc *UserAdminController) Update(c *gin.Context) {
|
||||
writeSuccess(c, http.StatusOK, "update success", items[0])
|
||||
}
|
||||
|
||||
// @Summary 删除用户
|
||||
// @Description 删除指定用户(不能删除admin账号和当前登录用户)
|
||||
// @Tags 用户管理
|
||||
// @Produce json
|
||||
// @Param id path int true "用户ID"
|
||||
// @Security BearerAuth
|
||||
// @Success 200 {object} SwagAPIResponse "删除成功"
|
||||
// @Failure 400 {object} SwagAPIResponse "无法删除受保护账号"
|
||||
// @Failure 404 {object} SwagAPIResponse "用户不存在"
|
||||
// @Router /admin/users/{id} [delete]
|
||||
func (uc *UserAdminController) Delete(c *gin.Context) {
|
||||
user, err := uc.findUserByID(c.Param("id"))
|
||||
if err != nil {
|
||||
|
||||
Reference in New Issue
Block a user