mirror of
https://gitee.com/XM-GO/PandaX.git
synced 2026-04-29 13:41:25 +08:00
[fix]异常处理
This commit is contained in:
@@ -29,8 +29,8 @@ func (r *RoleApi) GetRoleList(rc *restfulx.ReqCtx) {
|
||||
roleName := restfulx.QueryParam(rc, "roleName")
|
||||
roleKey := restfulx.QueryParam(rc, "roleKey")
|
||||
role := entity.SysRole{Status: status, RoleName: roleName, RoleKey: roleKey}
|
||||
list, total := r.RoleApp.FindListPage(pageNum, pageSize, role)
|
||||
|
||||
list, total, err := r.RoleApp.FindListPage(pageNum, pageSize, role)
|
||||
biz.ErrIsNil(err, "查询角色分页列表失败")
|
||||
rc.ResData = model.ResultPage{
|
||||
Total: total,
|
||||
PageNum: int64(pageNum),
|
||||
@@ -42,9 +42,11 @@ func (r *RoleApi) GetRoleList(rc *restfulx.ReqCtx) {
|
||||
// GetRole 获取Role数据
|
||||
func (r *RoleApi) GetRole(rc *restfulx.ReqCtx) {
|
||||
roleId := restfulx.PathParamInt(rc, "roleId")
|
||||
role := r.RoleApp.FindOne(int64(roleId))
|
||||
role.MenuIds = r.RoleApp.GetRoleMeunId(entity.SysRole{RoleId: int64(roleId)})
|
||||
|
||||
role, err := r.RoleApp.FindOne(int64(roleId))
|
||||
biz.ErrIsNil(err, "查询角色失败")
|
||||
menuIds, err := r.RoleApp.GetRoleMeunId(entity.SysRole{RoleId: int64(roleId)})
|
||||
biz.ErrIsNil(err, "查询角色菜单失败")
|
||||
role.MenuIds = menuIds
|
||||
rc.ResData = role
|
||||
}
|
||||
|
||||
@@ -57,7 +59,8 @@ func (r *RoleApi) InsertRole(rc *restfulx.ReqCtx) {
|
||||
role.DataScope = "0"
|
||||
}
|
||||
// 添加角色对应的菜单
|
||||
insert := r.RoleApp.Insert(role)
|
||||
insert, err := r.RoleApp.Insert(role)
|
||||
biz.ErrIsNil(err, "添加角色失败")
|
||||
role.RoleId = insert.RoleId
|
||||
r.RoleMenuApp.Insert(insert.RoleId, role.MenuIds)
|
||||
//添加权限
|
||||
@@ -71,11 +74,13 @@ func (r *RoleApi) UpdateRole(rc *restfulx.ReqCtx) {
|
||||
restfulx.BindJsonAndValid(rc, &role)
|
||||
role.UpdateBy = rc.LoginAccount.UserName
|
||||
// 修改角色
|
||||
r.RoleApp.Update(role)
|
||||
_, err := r.RoleApp.Update(role)
|
||||
biz.ErrIsNil(err, "修改角色失败")
|
||||
// 删除角色的菜单绑定
|
||||
r.RoleMenuApp.DeleteRoleMenu(role.RoleId)
|
||||
// 添加角色菜单绑定
|
||||
r.RoleMenuApp.Insert(role.RoleId, role.MenuIds)
|
||||
err = r.RoleMenuApp.Insert(role.RoleId, role.MenuIds)
|
||||
biz.ErrIsNil(err, "添加角色菜单绑定失败")
|
||||
//修改api权限
|
||||
ca := casbin.CasbinService{ModelPath: global.Conf.Casbin.ModelPath}
|
||||
ca.UpdateCasbin(role.RoleKey, role.ApiIds)
|
||||
@@ -87,7 +92,8 @@ func (r *RoleApi) UpdateRoleStatus(rc *restfulx.ReqCtx) {
|
||||
restfulx.BindJsonAndValid(rc, &role)
|
||||
role.UpdateBy = rc.LoginAccount.UserName
|
||||
// 修改角色
|
||||
r.RoleApp.Update(role)
|
||||
_, err := r.RoleApp.Update(role)
|
||||
biz.ErrIsNil(err, "修改角色失败")
|
||||
}
|
||||
|
||||
// UpdateRoleDataScope 修改用户角色组织
|
||||
@@ -96,12 +102,17 @@ func (r *RoleApi) UpdateRoleDataScope(rc *restfulx.ReqCtx) {
|
||||
restfulx.BindJsonAndValid(rc, &role)
|
||||
role.UpdateBy = rc.LoginAccount.UserName
|
||||
// 修改角色
|
||||
update := r.RoleApp.Update(role)
|
||||
update, err := r.RoleApp.Update(role)
|
||||
biz.ErrIsNil(err, "修改角色失败")
|
||||
go func() {
|
||||
if role.DataScope != entity.SELFDATASCOPE {
|
||||
organizationIds := make([]int64, 0)
|
||||
if role.DataScope == entity.ALLDATASCOPE {
|
||||
for _, organization := range *r.OrganizationApp.FindList(entity.SysOrganization{}) {
|
||||
orgs, err := r.OrganizationApp.FindList(entity.SysOrganization{})
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
for _, organization := range *orgs {
|
||||
organizationIds = append(organizationIds, organization.OrganizationId)
|
||||
}
|
||||
}
|
||||
@@ -113,7 +124,11 @@ func (r *RoleApi) UpdateRoleDataScope(rc *restfulx.ReqCtx) {
|
||||
}
|
||||
if role.DataScope == entity.ORGALLDATASCOPE {
|
||||
//organizationIds = append(organizationIds, rc.LoginAccount.OrganizationId)
|
||||
organizationIds = r.OrganizationApp.SelectOrganizationIds(entity.SysOrganization{OrganizationId: rc.LoginAccount.OrganizationId})
|
||||
orgIds, err := r.OrganizationApp.SelectOrganizationIds(entity.SysOrganization{OrganizationId: rc.LoginAccount.OrganizationId})
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
organizationIds = orgIds
|
||||
}
|
||||
// 删除角色的组织绑定
|
||||
r.RoleOrganizationApp.Delete(entity.SysRoleOrganization{RoleId: update.RoleId})
|
||||
@@ -134,8 +149,8 @@ func (r *RoleApi) DeleteRole(rc *restfulx.ReqCtx) {
|
||||
// 判断角色下面是否绑定用户
|
||||
for _, rid := range roleIds {
|
||||
user.RoleId = rid
|
||||
role := r.RoleApp.FindOne(rid)
|
||||
list := r.UserApp.FindList(user)
|
||||
role, _ := r.RoleApp.FindOne(rid)
|
||||
list, _ := r.UserApp.FindList(user)
|
||||
if len(*list) == 0 {
|
||||
delList = append(delList, rid)
|
||||
//删除角色绑定api
|
||||
@@ -160,8 +175,8 @@ func (p *RoleApi) ExportRole(rc *restfulx.ReqCtx) {
|
||||
roleKey := restfulx.QueryParam(rc, "roleKey")
|
||||
role := entity.SysRole{Status: status, RoleName: roleName, RoleKey: roleKey}
|
||||
|
||||
list := p.RoleApp.FindList(role)
|
||||
|
||||
list, err := p.RoleApp.FindList(role)
|
||||
biz.ErrIsNil(err, "查询角色列表失败")
|
||||
fileName := utils.GetFileName(global.Conf.Server.ExcelDir, filename)
|
||||
utils.InterfaceToExcel(*list, fileName)
|
||||
rc.Download(fileName)
|
||||
|
||||
Reference in New Issue
Block a user