Browse Source

权限完成

v1
超级管理员 3 years ago
parent
commit
80fb193ef0
  1. 65
      api/version1/grantpowers/postpower.go
  2. 8
      api/version1/grantpowers/type.go
  3. 24
      api/version1/user/userCont.go
  4. 2
      apirouter/v1/grantsystempower/pc.go

65
api/version1/grantpowers/postpower.go

@ -136,7 +136,7 @@ func GetSysKpiMenuPower(menusPower, operPower []string) (powersList []string) {
*/
func GetWmsMenuPower(menusPower []string) (powersList []string) {
var permList []int64
err := overall.CONSTANT_DB_AppPlatform.Model(&modelsstorage.AccesstoAddress{}).Select("`id`").Where("`state` = 1").Find(&permList).Error
err := overall.CONSTANT_DB_Storage.Model(&modelsstorage.AccesstoAddress{}).Select("`id`").Where("`state` = 1").Find(&permList).Error
if err != nil {
return
}
@ -148,3 +148,66 @@ func GetWmsMenuPower(menusPower []string) (powersList []string) {
}
return
}
/*
*
@ 作者: 秦东
@ 时间: 2023-05-30 14:36:57
@ 功能: 获取角色已配置的权限
@ 参数
#
@ 返回值
#
@ 方法原型
#
*/
func (a *ApiMethod) GetRoleGrantPowers(c *gin.Context) {
var requestData GetRolePowerCont
err := c.ShouldBindJSON(&requestData)
if err != nil {
publicmethod.Result(100, err, c)
return
}
if requestData.RoleId == "" || requestData.RoleId == "0" {
publicmethod.Result(1, requestData, c, "未知角色!不可进行配权")
return
}
if requestData.SystemName == "" {
publicmethod.Result(1, requestData, c, "未知配权系统!不可进行配权")
return
}
var powerList []string
var empowerCont modelssystempermission.RoleEmpower
err = empowerCont.GetCont(map[string]interface{}{"`role_id`": requestData.RoleId, "`system`": requestData.SystemName}, "`id`", "`point_id`", "`operation`")
if err != nil {
publicmethod.Result(0, powerList, c)
return
}
switch requestData.SystemName {
case "kpi":
if empowerCont.PointId != "" || empowerCont.Operation != "" {
powerAry := strings.Split(empowerCont.PointId, ",")
opeartionAry := strings.Split(empowerCont.Operation, ",")
powerList = GetSysKpiMenuPower(powerAry, opeartionAry)
}
case "cangchu":
fmt.Printf("仓储--->%v\n", empowerCont.PointId)
if empowerCont.PointId != "" {
powerAry := strings.Split(empowerCont.PointId, ",")
powerList = GetWmsMenuPower(powerAry)
fmt.Printf("仓储--111->%v\n", powerList)
}
default:
if empowerCont.PointId != "" {
powerAry := strings.Split(empowerCont.PointId, ",")
powerList = GetSysAppMenuPower(powerAry)
}
}
publicmethod.Result(0, powerList, c)
}

8
api/version1/grantpowers/type.go

@ -39,3 +39,11 @@ type GetPostPowerCont struct {
PostId string `json:"postid"` //岗位
SystemName string `json:"name"` //系统识别符
}
/*
根据系统获取岗位已配置的权限
*/
type GetRolePowerCont struct {
RoleId string `json:"roleid"` //角色Id
SystemName string `json:"name"` //系统识别符
}

24
api/version1/user/userCont.go

@ -107,7 +107,10 @@ func GetUserPower(appType string, postId int64, roleList []string) (menuPoint, o
}
//获取角色权限
if len(roleList) > 0 {
for _, v := range roleList {
var roleId []int64
err = overall.CONSTANT_DB_System_Permission.Model(&modelssystempermission.SystemRole{}).Select("`id`").Where("`state` = 1 AND `id` IN ?", roleList).Find(&roleId).Error
if err == nil && len(roleId) > 0 {
for _, v := range roleId {
var roleEmpower modelssystempermission.RoleEmpower
err = roleEmpower.GetCont(map[string]interface{}{"`role_id`": v, "`system`": appType})
if err == nil {
@ -126,6 +129,25 @@ func GetUserPower(appType string, postId int64, roleList []string) (menuPoint, o
}
}
}
// for _, v := range roleList {
// var roleEmpower modelssystempermission.RoleEmpower
// err = roleEmpower.GetCont(map[string]interface{}{"`role_id`": v, "`system`": appType})
// if err == nil {
// if roleEmpower.PointId != "" {
// pointIdList := strings.Split(roleEmpower.PointId, ",")
// menuPoint = publicmethod.MergeStruct[string](pointIdList, menuPoint)
// }
// if roleEmpower.Operation != "" {
// operationIdList := strings.Split(roleEmpower.Operation, ",")
// opeart = publicmethod.MergeStruct[string](operationIdList, opeart)
// }
// if roleEmpower.Organization != "" {
// orgIdList := strings.Split(roleEmpower.Organization, ",")
// orgList = publicmethod.MergeStruct[string](orgIdList, orgList)
// }
// }
// }
}
return
}

2
apirouter/v1/grantsystempower/pc.go

@ -15,6 +15,6 @@ func (a *ApiRouter) RouterGroupPc(router *gin.RouterGroup) {
apiRouter.GET("", methodBinding.Index) //入口
apiRouter.POST("", methodBinding.Index) //入口
apiRouter.POST("get_post_grant_powers", methodBinding.GetPostGrantPowers) //获取岗位已配置的权限
apiRouter.POST("get_role_grant_powers", methodBinding.GetRoleGrantPowers) //获取角色已配置的权限
}
}

Loading…
Cancel
Save