151 lines
3.1 KiB
Go
151 lines
3.1 KiB
Go
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,
|
|
})
|
|
}
|