package officialctrl import ( "91porn-server/common" "91porn-server/common/constant" "91porn-server/common/stderr" "91porn-server/models/l/operatorlgmod" "91porn-server/models/v/officialmod" "91porn-server/web/service/officialser" "encoding/json" "github.com/gin-gonic/gin" "time" ) // List doc // @Summary 查询官方配置列表 // @Description 查询官方配置列表 // @Tags 官方配置管理 // @Accept mpfd,json // @Produce json,html // @Param isActive query bool false "状态" // @Param pageNumber query integer true "页码" // @Param pageSize query integer true "每页条数"。 // @Success 200 {string} json "{"msg": "操作成功", "data":[]}" // @Failure 400 {string} json "{"msg": "操作失败"}" // @Router /web/official/list [get] func List(ctx *gin.Context) { var in *officialmod.QueryAllCond if err := ctx.ShouldBind(&in); err != nil { common.ServeJSON(ctx, stderr.ErrParamError, err) return } data, code := officialser.QueryAll(in) if code != stderr.Success { common.ServeJSON(ctx, code, nil) return } common.ServeJSON(ctx, stderr.Success, data) } // Update doc // @Summary 编辑官方配置 // @Description 编辑官方配置 // @Tags 官方配置管理 // @Accept mpfd,json // @Produce json,html // @Param id formData string true "id" // @Param officialName formData string true "官方配置名字" // @Param officialImg formData string true "官方配置图片" // @Param officialUrl formData string true "官方配置链接" // @Param isActive formData bool true "官方配置开关" // @Success 200 {string} json "{"msg": "操作成功", "data":[]}" // @Failure 400 {string} json "{"msg": "操作失败"}" // @Router /web/official/update [post] func Update(ctx *gin.Context) { manager, err := common.GetAdminAct(ctx) if err != nil { common.ServeJSON(ctx, stderr.AdminIDErr, err.Error()) return } param := officialmod.WebTagUpdateReqInfo{} if err := ctx.ShouldBind(¶m); err != nil { common.ServeJSON(ctx, stderr.ErrParamError, err) return } doc := officialmod.OfficiaUpdateDoc{ OfficialName: ¶m.OfficialName, OfficialDesc: ¶m.OfficialDesc, OfficialImg: ¶m.OfficialImg, OfficialUrl: ¶m.OfficialUrl, UpdatedAt: time.Now(), IsActive: ¶m.IsActive, Sort: ¶m.Sort, Position: ¶m.Position, IsHomepageAds: ¶m.IsHomepageAds, } if err := officialser.UpdateOfficial(param.ID, doc); err != nil { common.ServeJSON(ctx, stderr.Failure, err) return } log, _ := json.Marshal(param) _ = operatorlgmod.RecordOperation(manager, constant.OfficialConfig, constant.Modify, string(log), ctx.Request.URL.RequestURI()) common.ServeJSON(ctx, stderr.Success, nil) } // Delete doc // @Summary 批量删除官方配置 // @Description 批量删除官方配置 // @Tags 官方配置管理 // @Accept mpfd,json // @Produce json,html // @Param id formData array true "标签id" // @Success 200 {string} json "{"msg": "操作成功", "data":[]}" // @Failure 400 {string} json "{"msg": "操作失败"}" // @Router /web/official/delete [delete] func Delete(ctx *gin.Context) { manager, err := common.GetAdminAct(ctx) if err != nil { common.ServeJSON(ctx, stderr.AdminIDErr, err.Error()) return } param := officialmod.WebOfficialDeleteReqInfo{} if err := ctx.ShouldBind(¶m); err != nil { common.ServeJSON(ctx, stderr.ErrParamError, err) return } if err := officialser.DelOfficial(param); err != nil { common.ServeJSON(ctx, stderr.Failure, err) return } log, _ := json.Marshal(param) _ = operatorlgmod.RecordOperation(manager, constant.OfficialConfig, constant.Delete, string(log), ctx.Request.URL.RequestURI()) common.ServeJSON(ctx, stderr.Success, nil) } // Add doc // @Summary 新增官方配置 // @Description 新增官方配置 // @Tags 官方配置管理 // @Accept mpfd,json // @Produce json,html // @Param officialName formData string true "官方配置名字" // @Param officialImg formData string true "官方配置图片" // @Param officialUrl formData string true "官方配置链接" // @Param isActive formData bool false "官方配置开关" // @Success 200 {string} json "{"msg": "操作成功", "data":[]}" // @Failure 400 {string} json "{"msg": "操作失败"}" // @Router /web/official/add [post] func Add(ctx *gin.Context) { manager, err := common.GetAdminAct(ctx) if err != nil { common.ServeJSON(ctx, stderr.AdminIDErr, err.Error()) return } param := officialmod.WebOfficialAddReqInfo{} if err := ctx.ShouldBind(¶m); err != nil { common.ServeJSON(ctx, stderr.ErrParamError, err) return } now := time.Now() official := officialmod.OfficialConfig{ OfficialName: param.OfficialName, OfficialDesc: param.OfficialDesc, OfficialImg: param.OfficialImg, OfficialUrl: param.OfficialUrl, OfficialType: param.OfficialType, IsHomepageAds: param.IsHomepageAds, Sort: param.Sort, Position: param.Position, IsActive: false, CreatedAt: now, UpdatedAt: now, } if _, err := officialser.AddOfficial(official); err != nil { common.ServeJSON(ctx, stderr.Failure, err) return } log, _ := json.Marshal(param) _ = operatorlgmod.RecordOperation(manager, constant.OfficialConfig, constant.Add, string(log), ctx.Request.URL.RequestURI()) common.ServeJSON(ctx, stderr.Success, nil) }