baseMenu.go 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. package dbModel
  2. import (
  3. "github.com/jinzhu/gorm"
  4. "github.com/pkg/errors"
  5. "main/controller/servers"
  6. "main/init/qmsql"
  7. "main/model/modelInterface"
  8. )
  9. type BaseMenu struct {
  10. gorm.Model
  11. MenuLevel uint `json:"-"`
  12. ParentId string `json:"parentId"`
  13. Path string `json:"path"`
  14. Name string `json:"name"`
  15. Hidden bool `json:"hidden"`
  16. Component string `json:"component"`
  17. Meta `json:"meta"`
  18. NickName string `json:"nickName"`
  19. Children []BaseMenu `json:"children"`
  20. }
  21. func (b *BaseMenu) AddBaseMenu() (err error) {
  22. findOne := qmsql.DEFAULTDB.Where("name = ?", b.Name).Find(&BaseMenu{}).Error
  23. if findOne != nil {
  24. b.NickName = b.Title
  25. err = qmsql.DEFAULTDB.Create(b).Error
  26. } else {
  27. err = errors.New("存在重复name,请修改name")
  28. }
  29. return err
  30. }
  31. func (b *BaseMenu) DeleteBaseMenu(name string) (err error) {
  32. err = qmsql.DEFAULTDB.Where("name = ?", name).Delete(&b).Delete(&Menu{}).Error
  33. return err
  34. }
  35. func (b *BaseMenu) UpdataBaseMenu(name string) (err error) {
  36. err = qmsql.DEFAULTDB.Where("name = ?", name).Update(&b).Update(&Menu{}).Error
  37. return err
  38. }
  39. func (b *BaseMenu) GetInfoList(info modelInterface.PageInfo) (err error, list interface{}, total int) {
  40. // 封装分页方法 调用即可 传入 当前的结构体和分页信息
  41. err, db, total := servers.PagingServer(b, info)
  42. if err != nil {
  43. return
  44. } else {
  45. var menuList []BaseMenu
  46. err = db.Find(&menuList).Error
  47. return err, menuList, total
  48. }
  49. }