package admin import ( "net/http" "strconv" "bindbox-game/internal/code" "bindbox-game/internal/pkg/core" ) type deleteGuildMemberResponse struct { Message string `json:"message"` } func (h *handler) DeleteGuildMember() core.HandlerFunc { return func(ctx core.Context) { res := new(deleteGuildMemberResponse) if ctx.SessionUserInfo().IsSuper != 1 { ctx.AbortWithError(core.Error(http.StatusBadRequest, code.DeleteGuildError, "禁止操作")) return } guildID, err := strconv.ParseInt(ctx.Param("guild_id"), 10, 64) if err != nil { ctx.AbortWithError(core.Error(http.StatusBadRequest, code.ParamBindError, "未传递工会ID")) return } userID, err := strconv.ParseInt(ctx.Param("user_id"), 10, 64) if err != nil { ctx.AbortWithError(core.Error(http.StatusBadRequest, code.ParamBindError, "未传递用户ID")) return } if err := h.guild.KickMember(ctx.RequestContext(), guildID, userID); err != nil { ctx.AbortWithError(core.Error(http.StatusBadRequest, code.DeleteGuildError, err.Error())) return } res.Message = "操作成功" ctx.Payload(res) } }