Files
ArmedPolice/app/model/sys_user_role.go
2021-11-12 11:54:39 +08:00

38 lines
918 B
Go

package model
import (
"ArmedPolice/app/common/model"
"ArmedPolice/serve/orm"
"fmt"
)
type SysUserRole struct {
*model.SysUserRole
}
// SysUserRoleInfo 用户角色信息
type SysUserRoleInfo struct {
ID uint64 `json:"id"`
Name string `json:"name"`
}
// Roles 用户角色信息
func (m *SysUserRole) Roles(uid uint64) ([]*SysUserRoleInfo, error) {
db := orm.GetDB().Table(m.TableName()+" AS u_r").
Select("r.id", "r.name").
Joins(fmt.Sprintf("LEFT JOIN %s AS r ON u_r.role_id = r.id",
model.NewSysRole().TableName())).
Where("u_r.uid = ? AND u_r.is_deleted = ?", uid, model.DeleteStatusForNot)
out := make([]*SysUserRoleInfo, 0)
if err := db.Order("r.sort " + model.OrderModeToDesc).Order("r.id " + model.OrderModeToDesc).Scan(&out).Error; err != nil {
return nil, err
}
return out, nil
}
func NewSysUserRole() *SysUserRole {
return &SysUserRole{SysUserRole: model.NewSysUserRole()}
}