1 Star 0 Fork 0

庞飞/multiapp

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
PermissionRepository.go 2.06 KB
一键复制 编辑 原始数据 按行查看 历史
庞飞 提交于 2023-10-08 10:22 +08:00 . 调整
package repositories
import (
"gitee.com/pangxianfei/multiapp/simple"
"gitee.com/pangxianfei/multiapp/simple/sqlcmd"
"gitee.com/pangxianfei/multiapp/sysmodel"
"gorm.io/gorm"
)
var PermissionRepository = new(synPermissionDao)
type synPermissionDao struct {
}
// DeleteRolePermission 角色ID条件删除
func (r *synPermissionDao) DeleteRolePermission(db *gorm.DB, roleId int64) error {
return db.Where("role_id = ?", roleId).Delete(&sysmodel.RolePermissions{}).Error
}
func (r *synPermissionDao) Take(db *gorm.DB, where ...interface{}) *sysmodel.Permissions {
ret := &sysmodel.Permissions{}
if err := db.Take(ret, where...).Error; err != nil {
return nil
}
return ret
}
// Find 返回列表
func (r *synPermissionDao) Find(db *gorm.DB, cnd *sqlcmd.Cnd) (list []sysmodel.Permissions) {
cnd.Find(db, &list)
return
}
func (r *synPermissionDao) GetByMobile(mobile string) *sysmodel.Permissions {
return r.Take(simple.DB(), "mobile = ?", mobile)
}
func (r *synPermissionDao) GetByTenantName(TenantName string) *sysmodel.Permissions {
return r.Take(simple.DB(), "tenant_name = ?", TenantName)
}
func (r *synPermissionDao) Create(db *gorm.DB, SysPermissions *sysmodel.Permissions) (Tenants *sysmodel.Permissions, err error) {
r.IsHasTable(db)
if err := db.Transaction(func(tx *gorm.DB) error {
if err := tx.FirstOrCreate(SysPermissions, sysmodel.Permissions{PermissionId: SysPermissions.PermissionId}).Error; err != nil {
return err
}
return nil
}); err != nil {
return nil, err
}
return SysPermissions, err
}
func (r *synPermissionDao) HasPermission(db *gorm.DB, userId int64, routeName string) *sysmodel.AdminPermissions {
Permissions := &sysmodel.AdminPermissions{UserId: userId, RouteName: routeName}
PermissionsRows := db.Where(Permissions).First(&Permissions)
if PermissionsRows.Error != nil {
return nil
}
if PermissionsRows.RowsAffected > 0 {
return Permissions
}
return nil
}
func (r *synPermissionDao) IsHasTable(db *gorm.DB) {
if db.Migrator().HasTable(&sysmodel.Permissions{}) == false {
db.Migrator().CreateTable(&sysmodel.Permissions{})
}
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/pangxianfei/multiapp.git
git@gitee.com:pangxianfei/multiapp.git
pangxianfei
multiapp
multiapp
v1.2.3

搜索帮助