Files
ArmedPolice/app/model/sys_user_role.go

38 lines
918 B
Go
Raw Normal View History

2021-11-02 10:02:52 +08:00
package model
import (
2021-11-02 17:01:04 +08:00
"ArmedPolice/app/common/model"
2021-11-12 11:54:39 +08:00
"ArmedPolice/serve/orm"
"fmt"
2021-11-02 10:02:52 +08:00
)
type SysUserRole struct {
2021-11-02 17:01:04 +08:00
*model.SysUserRole
2021-11-02 10:02:52 +08:00
}
2021-11-12 11:54:39 +08:00
// 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
}
2021-11-02 10:02:52 +08:00
func NewSysUserRole() *SysUserRole {
2021-11-02 17:01:04 +08:00
return &SysUserRole{SysUserRole: model.NewSysUserRole()}
2021-11-02 10:02:52 +08:00
}