package controller import ( "errors" "github.com/1340691923/xwl_bi/model" "github.com/1340691923/xwl_bi/platform-basic-libs/jwt" "github.com/1340691923/xwl_bi/platform-basic-libs/response" app2 "github.com/1340691923/xwl_bi/platform-basic-libs/service/app" "github.com/1340691923/xwl_bi/platform-basic-libs/service/myapp" "github.com/gofiber/fiber/v2" "log" "strconv" ) type AppController struct { BaseController } // 创建应用 func (this AppController) Create(ctx *fiber.Ctx) error { var app model.App err := ctx.BodyParser(&app) if err != nil { log.Printf("body parser error:%v", err) return this.Error(ctx, err) } saveMonth, _ := strconv.Atoi(app.SaveMonth) app.SaveMonthInt = saveMonth if app.AppName == "" { return this.Error(ctx, errors.New("应用名不能为空")) } c, _ := jwt.ParseToken(this.GetToken(ctx)) appService := app2.AppService{} err = appService.Create(app, c.UserID) if err != nil { return this.Error(ctx, err) } return this.Success(ctx, response.OperateSuccess, nil) } // 修改应用管理员 func (this AppController) UpdateManager(ctx *fiber.Ctx) error { var app model.App err := ctx.BodyParser(&app) if err != nil { return this.Error(ctx, err) } if app.AppId == "" { return this.Error(ctx, errors.New("应用ID不能为空")) } c, _ := jwt.ParseToken(this.GetToken(ctx)) appService := app2.AppService{} err = appService.UpdateManager(app, c.UserID) if err != nil { return this.Error(ctx, err) } return this.Success(ctx, response.OperateSuccess, nil) } // 得到该用户的应用下拉选 func (this AppController) Config(ctx *fiber.Ctx) error { list, err := myapp.GetAppidsByToken(this.GetToken(ctx)) if err != nil { return this.Error(ctx, err) } return this.Success(ctx, response.SearchSuccess, map[string]interface{}{ "list": list, }) } // 重置应用的appkey func (this AppController) ResetAppkey(ctx *fiber.Ctx) error { var app model.App err := ctx.BodyParser(&app) if err != nil { return this.Error(ctx, err) } c, _ := jwt.ParseToken(this.GetToken(ctx)) appService := app2.AppService{} err = appService.ResetAppkey(c.UserID, app) if err != nil { return this.Error(ctx, err) } return this.Success(ctx, response.OperateSuccess, nil) } // 修改应用的状态 func (this AppController) StatusAction(ctx *fiber.Ctx) error { var app model.App err := ctx.BodyParser(&app) if err != nil { return this.Error(ctx, err) } c, _ := jwt.ParseToken(this.GetToken(ctx)) appService := app2.AppService{} err = appService.ChangeStatus(app, c.UserID) if err != nil { return this.Error(ctx, err) } return this.Success(ctx, response.OperateSuccess, nil) } func (this AppController) List(ctx *fiber.Ctx) error { var app model.App err := ctx.BodyParser(&app) if err != nil { return this.Error(ctx, err) } c, _ := jwt.ParseToken(this.GetToken(ctx)) appService := app2.AppService{} list, count, err := appService.List(c.UserID, app) if err != nil { return this.Error(ctx, err) } return this.Success(ctx, response.SearchSuccess, map[string]interface{}{ "list": list, "count": count, }) }