[fix]异常处理

This commit is contained in:
panda
2024-06-06 20:46:35 +08:00
parent 41b61ebf1e
commit 4cee5ae537
24 changed files with 801 additions and 600 deletions

View File

@@ -2,22 +2,21 @@ package services
import (
"pandax/apps/system/entity"
"pandax/kit/biz"
"pandax/pkg/global"
)
type (
SysMenuModel interface {
Insert(data entity.SysMenu) *entity.SysMenu
FindOne(menuId int64) *entity.SysMenu
FindListPage(page, pageSize int, data entity.SysMenu) (*[]entity.SysMenu, int64)
FindList(data entity.SysMenu) *[]entity.SysMenu
Update(data entity.SysMenu) *entity.SysMenu
Delete(menuId []int64)
SelectMenu(data entity.SysMenu) *[]entity.SysMenu
SelectMenuLable(data entity.SysMenu) *[]entity.MenuLable
SelectMenuRole(roleName string) *[]entity.SysMenu
GetMenuRole(data entity.MenuRole) *[]entity.MenuRole
Insert(data entity.SysMenu) (*entity.SysMenu, error)
FindOne(menuId int64) (*entity.SysMenu, error)
FindListPage(page, pageSize int, data entity.SysMenu) (*[]entity.SysMenu, int64, error)
FindList(data entity.SysMenu) (*[]entity.SysMenu, error)
Update(data entity.SysMenu) error
Delete(menuId []int64) error
SelectMenu(data entity.SysMenu) (*[]entity.SysMenu, error)
SelectMenuLable(data entity.SysMenu) (*[]entity.MenuLable, error)
SelectMenuRole(roleName string) (*[]entity.SysMenu, error)
GetMenuRole(data entity.MenuRole) (*[]entity.MenuRole, error)
}
sysMenuModelImpl struct {
@@ -29,20 +28,18 @@ var SysMenuModelDao SysMenuModel = &sysMenuModelImpl{
table: `sys_menus`,
}
func (m *sysMenuModelImpl) Insert(data entity.SysMenu) *entity.SysMenu {
func (m *sysMenuModelImpl) Insert(data entity.SysMenu) (*entity.SysMenu, error) {
err := global.Db.Table(m.table).Create(&data).Error
biz.ErrIsNil(err, "添加菜单失败")
return &data
return &data, err
}
func (m *sysMenuModelImpl) FindOne(menuId int64) *entity.SysMenu {
func (m *sysMenuModelImpl) FindOne(menuId int64) (*entity.SysMenu, error) {
resData := new(entity.SysMenu)
err := global.Db.Table(m.table).Where("menu_id = ?", menuId).First(resData).Error
biz.ErrIsNil(err, "查询菜单失败")
return resData
return resData, err
}
func (m *sysMenuModelImpl) FindListPage(page, pageSize int, data entity.SysMenu) (*[]entity.SysMenu, int64) {
func (m *sysMenuModelImpl) FindListPage(page, pageSize int, data entity.SysMenu) (*[]entity.SysMenu, int64, error) {
list := make([]entity.SysMenu, 0)
var total int64 = 0
@@ -52,11 +49,10 @@ func (m *sysMenuModelImpl) FindListPage(page, pageSize int, data entity.SysMenu)
db.Where("delete_time IS NULL")
err := db.Count(&total).Error
err = db.Limit(pageSize).Offset(offset).Find(&list).Error
biz.ErrIsNil(err, "查询分页菜单失败")
return &list, total
return &list, total, err
}
func (m *sysMenuModelImpl) FindList(data entity.SysMenu) *[]entity.SysMenu {
func (m *sysMenuModelImpl) FindList(data entity.SysMenu) (*[]entity.SysMenu, error) {
list := make([]entity.SysMenu, 0)
db := global.Db.Table(m.table)
@@ -78,25 +74,22 @@ func (m *sysMenuModelImpl) FindList(data entity.SysMenu) *[]entity.SysMenu {
}
db.Where("delete_time IS NULL")
err := db.Order("sort").Find(&list).Error
biz.ErrIsNil(err, "查询菜单列表失败")
return &list
return &list, err
}
func (m *sysMenuModelImpl) Update(data entity.SysMenu) *entity.SysMenu {
err := global.Db.Table(m.table).Select("*").Updates(data).Error
biz.ErrIsNil(err, "修改菜单失败")
return &data
func (m *sysMenuModelImpl) Update(data entity.SysMenu) error {
return global.Db.Table(m.table).Select("*").Updates(data).Error
}
func (m *sysMenuModelImpl) Delete(menuIds []int64) {
err := global.Db.Table(m.table).Delete(&entity.SysMenu{}, "menu_id in (?)", menuIds).Error
biz.ErrIsNil(err, "修改菜单失败")
return
func (m *sysMenuModelImpl) Delete(menuIds []int64) error {
return global.Db.Table(m.table).Delete(&entity.SysMenu{}, "menu_id in (?)", menuIds).Error
}
func (m *sysMenuModelImpl) SelectMenu(data entity.SysMenu) *[]entity.SysMenu {
menuList := m.FindList(data)
func (m *sysMenuModelImpl) SelectMenu(data entity.SysMenu) (*[]entity.SysMenu, error) {
menuList, err := m.FindList(data)
if err != nil {
return nil, err
}
redData := make([]entity.SysMenu, 0)
ml := *menuList
for i := 0; i < len(ml); i++ {
@@ -106,12 +99,14 @@ func (m *sysMenuModelImpl) SelectMenu(data entity.SysMenu) *[]entity.SysMenu {
menusInfo := DiguiMenu(menuList, ml[i])
redData = append(redData, menusInfo)
}
return &redData
return &redData, nil
}
func (m *sysMenuModelImpl) SelectMenuLable(data entity.SysMenu) *[]entity.MenuLable {
menuList := m.FindList(data)
func (m *sysMenuModelImpl) SelectMenuLable(data entity.SysMenu) (*[]entity.MenuLable, error) {
menuList, err := m.FindList(data)
if err != nil {
return nil, err
}
redData := make([]entity.MenuLable, 0)
ml := *menuList
for i := 0; i < len(ml); i++ {
@@ -125,23 +120,25 @@ func (m *sysMenuModelImpl) SelectMenuLable(data entity.SysMenu) *[]entity.MenuLa
redData = append(redData, menusInfo)
}
return &redData
return &redData, nil
}
func (m *sysMenuModelImpl) GetMenuByRoleKey(roleKey string) *[]entity.SysMenu {
func (m *sysMenuModelImpl) GetMenuByRoleKey(roleKey string) (*[]entity.SysMenu, error) {
menus := make([]entity.SysMenu, 0)
db := global.Db.Table(m.table).Select("sys_menus.*").Joins("left join sys_role_menus on sys_role_menus.menu_id=sys_menus.menu_id")
db = db.Where("sys_role_menus.role_name=? and menu_type in ('M','C')", roleKey)
db.Where("sys_menus.delete_time IS NULL")
err := db.Order("sort").Find(&menus).Error
biz.ErrIsNil(err, "通过角色名查询菜单失败")
return &menus
return &menus, err
}
func (m *sysMenuModelImpl) SelectMenuRole(roleKey string) *[]entity.SysMenu {
func (m *sysMenuModelImpl) SelectMenuRole(roleKey string) (*[]entity.SysMenu, error) {
redData := make([]entity.SysMenu, 0)
menulist := m.GetMenuByRoleKey(roleKey)
menulist, err := m.GetMenuByRoleKey(roleKey)
if err != nil {
return nil, err
}
menuList := *menulist
redData = make([]entity.SysMenu, 0)
for i := 0; i < len(menuList); i++ {
@@ -152,9 +149,9 @@ func (m *sysMenuModelImpl) SelectMenuRole(roleKey string) *[]entity.SysMenu {
redData = append(redData, menusInfo)
}
return &redData
return &redData, nil
}
func (m *sysMenuModelImpl) GetMenuRole(data entity.MenuRole) *[]entity.MenuRole {
func (m *sysMenuModelImpl) GetMenuRole(data entity.MenuRole) (*[]entity.MenuRole, error) {
menus := make([]entity.MenuRole, 0)
db := global.Db.Table(m.table)
@@ -162,8 +159,8 @@ func (m *sysMenuModelImpl) GetMenuRole(data entity.MenuRole) *[]entity.MenuRole
db = db.Where("menu_name = ?", data.MenuName)
}
db.Where("delete_time IS NULL")
biz.ErrIsNil(db.Order("sort").Find(&menus).Error, "查询角色菜单失败")
return &menus
err := db.Order("sort").Find(&menus).Error
return &menus, err
}
func DiguiMenu(menulist *[]entity.SysMenu, menu entity.SysMenu) entity.SysMenu {