Merge branch 'dev' of https://github.com/go-admin-team/go-admin into go-admin-team-dev

This commit is contained in:
zhangwenjian
2020-12-21 23:01:37 +08:00
46 changed files with 459 additions and 3627 deletions
+1
View File
@@ -167,6 +167,7 @@ func Digui(deptlist *[]SysDept, menu SysDept) SysDept {
mi.Phone = list[j].Phone
mi.Email = list[j].Email
mi.Status = list[j].Status
mi.CreatedAt = list[j].CreatedAt
mi.Children = []SysDept{}
ms := Digui(deptlist, mi)
min = append(min, ms)
+2
View File
@@ -88,6 +88,8 @@ func (e *DictData) Get() ([]DictData, error) {
table = table.Where("dict_type = ?", e.DictType)
}
table = table.Where("status = ?", 2)
if err := table.Order("dict_sort").Find(&doc).Error; err != nil {
return doc, err
}
-163
View File
@@ -1,163 +0,0 @@
package models
import (
orm "go-admin/common/global"
"go-admin/tools"
)
type SysFileDirOld struct {
Id int `json:"id"`
Label string `json:"label" gorm:"type:varchar(255);"` // 名称
PId int `json:"pId" gorm:"type:int(11);"` // 父id
Sort int `json:"sort" gorm:""` //排序
Path string `json:"path" gorm:"size:255;"` //
CreateBy string `json:"createBy" gorm:"type:varchar(128);"` // 创建人
UpdateBy string `json:"updateBy" gorm:"type:varchar(128);"` // 编辑人
Children []SysFileDirOld `json:"children" gorm:"-"`
DataScope string `json:"dataScope" gorm:"-"`
Params string `json:"params" gorm:"-"`
BaseModel
}
func (SysFileDirOld) TableName() string {
return "sys_file_dir"
}
// 创建SysFileDirOld
func (e *SysFileDirOld) Create() (SysFileDirOld, error) {
var doc SysFileDirOld
result := orm.Eloquent.Table(e.TableName()).Create(&e)
if result.Error != nil {
err := result.Error
return doc, err
}
path := "/" + tools.IntToString(e.Id)
if int(e.PId) != 0 {
var deptP SysFileDirOld
orm.Eloquent.Table(e.TableName()).Where("id = ?", e.PId).First(&deptP)
path = deptP.Path + path
} else {
path = "/0" + path
}
var mp = map[string]string{}
mp["path"] = path
if err := orm.Eloquent.Table(e.TableName()).Where("id = ?", e.Id).Updates(mp).Error; err != nil {
err := result.Error
return doc, err
}
doc = *e
doc.Path = path
return doc, nil
}
// 获取SysFileDirOld
func (e *SysFileDirOld) Get() (SysFileDirOld, error) {
var doc SysFileDirOld
table := orm.Eloquent.Table(e.TableName())
if e.Id != 0 {
table = table.Where("id = ?", e.Id)
}
if err := table.First(&doc).Error; err != nil {
return doc, err
}
return doc, nil
}
// 获取SysFileDirOld带分页
func (e *SysFileDirOld) GetPage() ([]SysFileDirOld, int, error) {
var doc []SysFileDirOld
table := orm.Eloquent.Table(e.TableName())
var count int64
if err := table.Find(&doc).Error; err != nil {
return nil, 0, err
}
table.Where("`deleted_at` IS NULL").Count(&count)
return doc, int(count), nil
}
// 更新SysFileDirOld
func (e *SysFileDirOld) Update(id int) (update SysFileDirOld, err error) {
if err = orm.Eloquent.Table(e.TableName()).Where("id = ?", id).First(&update).Error; err != nil {
return
}
path := "/" + tools.IntToString(e.Id)
if int(e.Id) != 0 {
var deptP SysFileDirOld
orm.Eloquent.Table(e.TableName()).Where("id = ?", e.Id).First(&deptP)
path = deptP.Path + path
} else {
path = "/0" + path
}
e.Path = path
if err = orm.Eloquent.Table(e.TableName()).Model(&update).Updates(&e).Error; err != nil {
return
}
return
}
// 删除SysFileDirOld
func (e *SysFileDirOld) Delete(id int) (success bool, err error) {
if err = orm.Eloquent.Table(e.TableName()).Where("id = ?", id).Delete(&SysFileDirOld{}).Error; err != nil {
success = false
return
}
success = true
return
}
//批量删除
func (e *SysFileDirOld) BatchDelete(id []int) (Result bool, err error) {
if err = orm.Eloquent.Table(e.TableName()).Where("id in (?)", id).Delete(&SysFileDirOld{}).Error; err != nil {
return
}
Result = true
return
}
func (e *SysFileDirOld) SetSysFileDirOld() ([]SysFileDirOld, error) {
list, _, err := e.GetPage()
m := make([]SysFileDirOld, 0)
for i := 0; i < len(list); i++ {
if list[i].PId != 0 {
continue
}
info := SysFileDirOldDigui(&list, list[i])
m = append(m, info)
}
return m, err
}
func SysFileDirOldDigui(deptlist *[]SysFileDirOld, menu SysFileDirOld) SysFileDirOld {
list := *deptlist
min := make([]SysFileDirOld, 0)
for j := 0; j < len(list); j++ {
if menu.Id != list[j].PId {
continue
}
mi := SysFileDirOld{}
mi.Id = list[j].Id
mi.PId = list[j].PId
mi.Label = list[j].Label
mi.Sort = list[j].Sort
mi.CreatedAt = list[j].CreatedAt
mi.UpdatedAt = list[j].UpdatedAt
mi.Children = []SysFileDirOld{}
ms := SysFileDirOldDigui(deptlist, mi)
min = append(min, ms)
}
menu.Children = min
return menu
}
+1 -1
View File
@@ -14,7 +14,7 @@ type Login struct {
func (u *Login) GetUser() (user SysUser, role SysRole, e error) {
e = orm.Eloquent.Table("sys_user").Where("username = ? ", u.Username).Find(&user).Error
e = orm.Eloquent.Table("sys_user").Where("username = ? and status = 2", u.Username).Find(&user).Error
if e != nil {
return
}
+17 -13
View File
@@ -146,7 +146,7 @@ func DiguiMenu(menulist *[]Menu, menu Menu) Menu {
return menu
}
func (e *Menu) SetMenuLable() (m *[]MenuLable, err error) {
func (e *Menu) SetMenuLabel() (m *[]MenuLable, err error) {
menulist, err := e.Get()
ml := make([]MenuLable, 0)
@@ -157,14 +157,14 @@ func (e *Menu) SetMenuLable() (m *[]MenuLable, err error) {
e := MenuLable{}
e.Id = menulist[i].MenuId
e.Label = menulist[i].Title
menusInfo := DiguiMenuLable(&menulist, e)
menusInfo := MenuLabelCall(&menulist, e)
ml = append(ml, menusInfo)
}
return &ml, err
}
func DiguiMenuLable(menulist *[]Menu, menu MenuLable) MenuLable {
func MenuLabelCall(menulist *[]Menu, menu MenuLable) MenuLable {
list := *menulist
min := make([]MenuLable, 0)
@@ -178,27 +178,31 @@ func DiguiMenuLable(menulist *[]Menu, menu MenuLable) MenuLable {
mi.Label = list[j].Title
mi.Children = []MenuLable{}
if list[j].MenuType != "F" {
ms := DiguiMenuLable(menulist, mi)
ms := MenuLabelCall(menulist, mi)
min = append(min, ms)
} else {
min = append(min, mi)
}
}
menu.Children = min
if len(min) > 0 {
menu.Children = min
} else {
menu.Children = nil
}
return menu
}
func (e *Menu) SetMenuRole(rolename string) (m []Menu, err error) {
func (e *Menu) SetMenuRole(roleName string) (m []Menu, err error) {
menulist, err := e.GetByRoleName(rolename)
menus, err := e.GetByRoleName(roleName)
m = make([]Menu, 0)
for i := 0; i < len(menulist); i++ {
if menulist[i].ParentId != 0 {
for i := 0; i < len(menus); i++ {
if menus[i].ParentId != 0 {
continue
}
menusInfo := DiguiMenu(&menulist, menulist[i])
menusInfo := DiguiMenu(&menus, menus[i])
m = append(m, menusInfo)
}
@@ -216,14 +220,14 @@ func (e *MenuRole) Get() (Menus []MenuRole, err error) {
return
}
func (e *Menu) GetByRoleName(rolename string) (Menus []Menu, err error) {
func (e *Menu) GetByRoleName(roleName string) (Menus []Menu, err error) {
var table *gorm.DB
if rolename == "admin" {
if roleName == "admin" {
table = orm.Eloquent.Table(e.TableName()).Select("sys_menu.*")
table = table.Where(" menu_type in ('M','C')")
} else {
table = orm.Eloquent.Table(e.TableName()).Select("sys_menu.*").Joins("left join sys_role_menu on sys_role_menu.menu_id=sys_menu.menu_id")
table = table.Where("sys_role_menu.role_name=? and menu_type in ('M','C')", rolename)
table = table.Where("sys_role_menu.role_name=? and menu_type in ('M','C')", roleName)
}
if err = table.Order("sort").Find(&Menus).Error; err != nil {
return
+21 -1
View File
@@ -88,6 +88,21 @@ func (role *SysRole) Get() (SysRole SysRole, err error) {
return
}
func (role *SysRole) GetOne(sysRole *SysRole) (err error) {
table := orm.Eloquent.Table("sys_role")
if role.RoleId != 0 {
table = table.Where("role_id = ?", role.RoleId)
}
if role.RoleName != "" {
table = table.Where("role_name = ?", role.RoleName)
}
if err = table.First(sysRole).Error; err != nil {
return
}
return
}
func (role *SysRole) GetList() (SysRole []SysRole, err error) {
table := orm.Eloquent.Table("sys_role")
if role.RoleId != 0 {
@@ -107,7 +122,12 @@ func (role *SysRole) GetList() (SysRole []SysRole, err error) {
func (role *SysRole) GetRoleMeunId() ([]int, error) {
menuIds := make([]int, 0)
menuList := make([]MenuIdList, 0)
if err := orm.Eloquent.Table("sys_role_menu").Select("sys_role_menu.menu_id").Where("role_id = ? ", role.RoleId).Where(" sys_role_menu.menu_id not in(select sys_menu.parent_id from sys_role_menu LEFT JOIN sys_menu on sys_menu.menu_id=sys_role_menu.menu_id where role_id =? and parent_id is not null)", role.RoleId).Find(&menuList).Error; err != nil {
if err := orm.Eloquent.Table("sys_role_menu").
Select("sys_role_menu.menu_id").
Where("role_id = ? ", role.RoleId).
Where(" sys_role_menu.menu_id not in(select sys_menu.parent_id from sys_role_menu " +
"LEFT JOIN sys_menu on sys_menu.menu_id=sys_role_menu.menu_id where role_id =? and parent_id is not null)", role.RoleId).
Find(&menuList).Error; err != nil {
return nil, err
}
+2 -2
View File
@@ -7,7 +7,7 @@ import (
type SysFileDir struct {
models.Model
Label string `json:"label" gorm:"type:varchar(255);comment:目录名称"` // 目录名称
PId int `json:"pId" gorm:"type:int(11);comment:上级目录"` // 上级目录
PId int `json:"pId" gorm:"type:int(11);comment:上级目录"` // 上级目录
Sort string `json:"sort" gorm:"type:bigint(20);comment:排序"` // 排序
Path string `json:"path" gorm:"type:varchar(255);comment:路径"` // 路径
models.ControlBy
@@ -17,7 +17,7 @@ type SysFileDir struct {
type SysFileDirL struct {
models.Model
Label string `json:"label" gorm:"type:varchar(255);comment:目录名称"` // 目录名称
PId int `json:"pId" gorm:"type:int(11);comment:上级目录"` // 上级目录
PId int `json:"pId" gorm:"type:int(11);comment:上级目录"` // 上级目录
Sort string `json:"sort" gorm:"type:bigint(20);comment:排序"` // 排序
Path string `json:"path" gorm:"type:varchar(255);comment:路径"` // 路径
models.ControlBy
-111
View File
@@ -1,111 +0,0 @@
package models
import (
orm "go-admin/common/global"
)
type SysFileInfoOld struct {
Id int `json:"id"` // id
Type string `json:"type" gorm:"type:varchar(255);"` // 文件类型
Name string `json:"name" gorm:"type:varchar(255);"` // 文件名称
Size string `json:"size" gorm:"type:int(11);"` // 文件大小
PId int `json:"pId" gorm:"type:int(11);"` // 目录id
Source string `json:"source" gorm:"type:varchar(255);"` // 文件源
Url string `json:"url" gorm:"type:varchar(255);"` // 文件路径
FullUrl string `json:"fullUrl" gorm:"type:varchar(255);"` // 文件全路径
CreateBy string `json:"createBy" gorm:"type:varchar(128);"` // 创建人
UpdateBy string `json:"updateBy" gorm:"type:varchar(128);"` // 编辑人
DataScope string `json:"dataScope" gorm:"-"`
Params string `json:"params" gorm:"-"`
BaseModel
}
func (SysFileInfoOld) TableName() string {
return "sys_file_info"
}
// 创建SysFileInfoOld
func (e *SysFileInfoOld) Create() (SysFileInfoOld, error) {
var doc SysFileInfoOld
result := orm.Eloquent.Table(e.TableName()).Create(&e)
if result.Error != nil {
err := result.Error
return doc, err
}
doc = *e
return doc, nil
}
// 获取SysFileInfoOld
func (e *SysFileInfoOld) Get() (SysFileInfoOld, error) {
var doc SysFileInfoOld
table := orm.Eloquent.Table(e.TableName())
if e.Id != 0 {
table = table.Where("id = ?", e.Id)
}
if err := table.First(&doc).Error; err != nil {
return doc, err
}
return doc, nil
}
// 获取SysFileInfoOld带分页
func (e *SysFileInfoOld) GetPage(pageSize int, pageIndex int) ([]SysFileInfoOld, int, error) {
var doc []SysFileInfoOld
table := orm.Eloquent.Table(e.TableName())
if e.PId != 0 {
table = table.Where("p_id = ?", e.PId)
}
// 数据权限控制(如果不需要数据权限请将此处去掉)
//dataPermission := new(DataPermission)
//dataPermission.UserId, _ = tools.StringToInt(e.DataScope)
//table, err := dataPermission.GetDataScope(e.TableName(), table)
//if err != nil {
// return nil, 0, err
//}
var count int64
if err := table.Offset((pageIndex - 1) * pageSize).Limit(pageSize).Find(&doc).Offset(-1).Limit(-1).Count(&count).Error; err != nil {
return nil, 0, err
}
//table.Where("`deleted_at` IS NULL").Count(&count)
return doc, int(count), nil
}
// 更新SysFileInfoOld
func (e *SysFileInfoOld) Update(id int) (update SysFileInfoOld, err error) {
if err = orm.Eloquent.Table(e.TableName()).Where("id = ?", id).First(&update).Error; err != nil {
return
}
//参数1:是要修改的数据
//参数2:是修改的数据
if err = orm.Eloquent.Table(e.TableName()).Model(&update).Updates(&e).Error; err != nil {
return
}
return
}
// 删除SysFileInfoOld
func (e *SysFileInfoOld) Delete(id int) (success bool, err error) {
if err = orm.Eloquent.Table(e.TableName()).Where("id = ?", id).Delete(&SysFileInfoOld{}).Error; err != nil {
success = false
return
}
success = true
return
}
//批量删除
func (e *SysFileInfoOld) BatchDelete(id []int) (Result bool, err error) {
if err = orm.Eloquent.Table(e.TableName()).Where("id in (?)", id).Delete(&SysFileInfoOld{}).Error; err != nil {
return
}
Result = true
return
}