hospital-admin-api/api/dao/adminRole.go
2023-06-13 17:08:48 +08:00

57 lines
1.4 KiB
Go

package dao
import (
"gorm.io/gorm"
"hospital-admin-api/api/model"
"hospital-admin-api/global"
)
type AdminRoleDao struct {
}
// GetAdminRoleFirstById 角色id获取用户角色
// roleId 角色id
func (r *AdminRoleDao) GetAdminRoleFirstById(roleId int64) (m *model.AdminRole, err error) {
err = global.Db.First(&m, roleId).Error
if err != nil {
return nil, err
}
return m, nil
}
// GetAdminRolePageSearch 搜索角色列表-分页
func (r *AdminRoleDao) GetAdminRolePageSearch(roleName string, page, pageSize int) (m []*model.AdminRole, err error) {
// 计算偏移量
offset := (page - 1) * pageSize
if roleName != "" {
err = global.Db.Where("role_name = ?", roleName).Offset(offset).Limit(pageSize).Find(&m).Error
if err != nil {
return nil, err
}
} else {
err = global.Db.Offset(offset).Limit(pageSize).Find(&m).Error
if err != nil {
return nil, err
}
}
return m, nil
}
// EditAdminRoleStatusById 角色启用/禁用-角色id
func (r *AdminRoleDao) EditAdminRoleStatusById(roleId int64, roleStatus int) error {
err := global.Db.Model(&model.AdminRole{}).Where("role_id = ?", roleId).Update("role_status", roleStatus).Error
if err != nil {
return err
}
return nil
}
// AddAdminRole 新增角色
func (r *AdminRoleDao) AddAdminRole(tx *gorm.DB, model *model.AdminRole) (*model.AdminRole, error) {
if err := tx.Create(model).Error; err != nil {
return nil, err
}
return model, nil
}