package controller import ( "Panel_development/app/e" "Panel_development/app/model" "Panel_development/app/service" "Panel_development/unity" "github.com/gin-gonic/gin" "github.com/go-playground/validator/v10" "strconv" ) var PageManage service.Page = &model.PageManage{} // GetPageManage 获取页面 func GetPageManage(c *gin.Context) { var page unity.QueryPageParams uid := unity.GetUId(c) // 查询条件:查询name queryCond := "name like ?" page.Query = "%" + page.Query + "%" err := c.ShouldBindJSON(&page) if err != nil { e.ResponseWithMsg(c, e.JSONParsingFailed, e.JSONParsingFailed.GetMsg()) return } if uid == 0 { e.ResponseWithMsg(c, e.ERROR, "用户不存在") return } else if uid == 1 { result, total, err := unity.PaginateWithCondition(page, model.PageManage{}, queryCond) if err != nil { e.ResponseWithMsg(c, e.PaginationFailed, e.PaginationFailed.GetMsg()) return } e.ResPonsePage(c, result, total, page) return } var manage model.PageManage manage.UserId = uid result, total, err := PageManage.GetPageManage(page, manage, queryCond) if err != nil { e.ResponseWithMsg(c, e.PaginationFailed, e.PaginationFailed.GetMsg()) return } e.ResPonsePage(c, result, total, page) } // GetPageManageById 获取页面 func GetPageManageById(c *gin.Context) { uid := unity.GetUId(c) s := c.Query("id") validate := validator.New() err := validate.Var(s, "required,numeric") if err != nil { e.ResponseWithMsg(c, e.ERROR, "id不能为空") return } id, _ := strconv.Atoi(s) if uid == 0 { e.ResponseWithMsg(c, e.TheUserIsEmpty, e.TheUserIsEmpty.GetMsg()) return } else if uid == 1 { result, err := unity.GetById(id, model.PageManage{}) if err != nil { e.ResponseWithMsg(c, e.ERROR, err.Error()) return } e.ResponseSuccess(c, result) return } byId, err := PageManage.GetPageManageById(uid, id) if err != nil { e.ResponseWithMsg(c, e.ERROR, err.Error()) return } e.ResponseSuccess(c, byId) } // AddPageManage 添加页面 func AddPageManage(c *gin.Context) { var page model.PageManage if err := c.ShouldBindJSON(&page); err != nil { e.ResponseWithMsg(c, e.JSONParsingFailed, e.JSONParsingFailed.GetMsg()) return } validate := validator.New() if err := validate.Struct(page); err != nil { e.ResponseWithMsg(c, e.ERROR, err.Error()) return } id := unity.GetUId(c) if id == 0 { e.ResponseWithMsg(c, e.TheUserIsEmpty, e.TheUserIsEmpty.GetMsg()) return } page.UserId = id page.PanelId = unity.RandomId() add, err := unity.Add(&page) if err != nil { e.ResponseWithMsg(c, e.ERROR, err.Error()) return } e.ResponseSuccess(c, add) } // UpdatePageManage 更新页面 func UpdatePageManage(c *gin.Context) { uid := unity.GetUId(c) s := c.Query("id") validate := validator.New() err := validate.Var(s, "required,numeric") if err != nil { e.ResponseWithMsg(c, e.ERROR, "id不能为空") return } id, _ := strconv.Atoi(s) var page model.PageManage if err = c.ShouldBindJSON(&page); err != nil { e.ResponseWithMsg(c, e.JSONParsingFailed, e.JSONParsingFailed.GetMsg()) return } page.ID = uint(id) page.UserId = uid v := validator.New() if err = v.Struct(page); err != nil { e.ResponseWithMsg(c, e.ERROR, err.Error()) return } if uid == 0 { e.ResponseWithMsg(c, e.TheUserIsEmpty, e.TheUserIsEmpty.GetMsg()) return } else if uid == 1 { page.UserId = 0 _, err = unity.UpdateById(id, &page) if err != nil { e.ResponseWithMsg(c, e.UPDATEFAIL, e.UPDATEFAIL.GetMsg()) return } e.ResponseSuccess(c, nil) return } err = PageManage.UpdatePageManage(page) if err != nil { e.ResponseWithMsg(c, e.UPDATEFAIL, e.UPDATEFAIL.GetMsg()) return } e.ResponseSuccess(c, nil) } // DeletePageManage 删除页面 func DeletePageManage(c *gin.Context) { uid := unity.GetUId(c) s := c.Query("id") validate := validator.New() err := validate.Var(s, "required,numeric") if err != nil { e.ResponseWithMsg(c, e.ERROR, "id不能为空") return } atoi, _ := strconv.Atoi(s) if uid == 0 { e.ResponseWithMsg(c, e.TheUserIsEmpty, e.TheUserIsEmpty.GetMsg()) return } else if uid == 1 { _, err = unity.DeleteById(atoi, model.PageManage{}) if err != nil { e.ResponseWithMsg(c, e.DELETEFAIL, e.DELETEFAIL.GetMsg()) return } else { e.ResponseSuccess(c, nil) return } } err = PageManage.DeletePageManageById(uid, atoi) if err != nil { e.ResponseWithMsg(c, e.DELETEFAIL, err.Error()) return } e.ResponseSuccess(c, nil) }