mirror of
https://github.com/lzh-1625/go_process_manager.git
synced 2025-10-05 07:56:50 +08:00
初次提交
This commit is contained in:
42
dao/permission.go
Normal file
42
dao/permission.go
Normal file
@@ -0,0 +1,42 @@
|
||||
package dao
|
||||
|
||||
import (
|
||||
"msm/log"
|
||||
"msm/model"
|
||||
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
type permissionDao struct{}
|
||||
|
||||
var PermissionDao = new(permissionDao)
|
||||
|
||||
func (p *permissionDao) GetPermssionList(account string) []model.PermissionPo {
|
||||
result := []model.PermissionPo{}
|
||||
if err := db.Raw(`SELECT p.name ,p.uuid as pid,p2.owned ,p2."start" ,p2.stop ,p2.terminal
|
||||
FROM users u full join process p left join permission p2 on p2.account == u.account and p2.pid =p.uuid WHERE u.account = ? or u.account ISNULL`, account).Find(&result); err.Error != nil {
|
||||
log.Logger.Warnw("权限查询失败", "err", err)
|
||||
}
|
||||
|
||||
return result
|
||||
}
|
||||
|
||||
func (p *permissionDao) EditPermssion(data model.Permission) error {
|
||||
if db.Model(&model.Permission{}).Where("account = ? and pid = ?", data.Account, data.Pid).First(nil).Error == gorm.ErrRecordNotFound {
|
||||
db.Omit("name").Create(&model.Permission{
|
||||
Account: data.Account,
|
||||
Pid: data.Pid,
|
||||
})
|
||||
}
|
||||
return db.Debug().Model(&model.Permission{}).Where("account = ? and pid = ?", data.Account, data.Pid).Updates(map[string]interface{}{
|
||||
"owned": data.Owned,
|
||||
"start": data.Start,
|
||||
"stop": data.Stop,
|
||||
"terminal": data.Terminal,
|
||||
}).Error
|
||||
}
|
||||
|
||||
func (p *permissionDao) GetPermission(user string, pid int) (result model.Permission) {
|
||||
db.Debug().Model(&model.Permission{}).Where("account = ? and pid = ?", user, pid).First(&result)
|
||||
return
|
||||
}
|
Reference in New Issue
Block a user