作者 yangfu

机会池权限修改

... ... @@ -83,6 +83,8 @@ func GetChancePool(uid, cid int64, o *models.ChancePoolOption, departmentId int,
return models.GetChancePoolSpecialDepartment(uid, cid, option, lastId, pageSize, v, specialDIds)
case OpportunityCheckLv4:
return models.GetChancePoolAll(uid, cid, option, lastId, pageSize, v)
case OpportunityCheckLv5:
return models.GetChancePoolMyself(uid, cid, option, lastId, pageSize, v)
default:
return models.GetChancePoolAll(uid, cid, option, lastId, pageSize, v)
}
... ...
... ... @@ -151,13 +151,14 @@ type OptionOpportunity struct {
2:仅查看自己部门和公开机会:查看对自己部门公开的机会+公司公开的机会 -> 仅查看自己部门和公开机会:查看对自己所在部门公开的机会+公司公开的机会;
3:特定部门的机会:自由配置选定部门的待审核、公司公开、部门公开的机会+查看对自己部门公开的机会 -> 特定部门的公开机会:选定部门提交的公司公开、部门公开的机会;>只选择部门
4:查看所有机会:查看所有部门的待审核机会、公开机会及部门公开机会 -> 查看所有公开机会:查看所有部门的公开机会及部门公开机会;
5. -> 特定部门的待审核机会:选定部门提交的待审核机会。>只选择部门(这条这期可以先不做)
5:特定部门的待审核机会:选定部门提交的待审核机会。>只选择部门 (只配置该权限,则机会池查看权限是 1)
*/
const (
OpportunityCheckLv1 int = 1
OpportunityCheckLv2 int = 2
OpportunityCheckLv3 int = 3
OpportunityCheckLv4 int = 4
OpportunityCheckLv5 int = 5
)
var (
... ... @@ -351,6 +352,15 @@ func getUserChancePermission(userCompanyid int64) (map[string]PermissionOptionOb
return getPermissionMap(list)
}
//权限权重 值越大,权重越大
var PermissionWeight map[int]int = map[int]int{
OpportunityCheckLv1: 1,
OpportunityCheckLv2: 2,
OpportunityCheckLv3: 3,
OpportunityCheckLv4: 4,
OpportunityCheckLv5: 1,
}
//获取机会权限map
func getPermissionMap(list []OptionOpportunity) (map[string]PermissionOptionObject, error) {
var (
... ... @@ -371,7 +381,7 @@ func getPermissionMap(list []OptionOpportunity) (map[string]PermissionOptionObje
specialDepIds := make(map[int64]CheckDeparment) //特定部门
for i := range list {
tmp := list[i]
if tmp.Check > obj.Check {
if tmp.Check > 0 && checkPermissionWeight(obj.Check, tmp.Check) {
obj.Check = tmp.Check
}
if _, ok := obj.CheckMap[tmp.Check]; !ok { //所有的check都加进来
... ... @@ -397,3 +407,15 @@ func getPermissionMap(list []OptionOpportunity) (map[string]PermissionOptionObje
objMap[M_SYSTEM_OPPORTUNITY] = obj
return objMap, nil
}
//@return true:比当前权限更大 false:比当前权限小
func checkPermissionWeight(oldCheck, newCheck int) bool {
var ow, nw int
if v, ok := PermissionWeight[oldCheck]; ok {
ow = v
}
if v, ok := PermissionWeight[newCheck]; ok {
nw = v
}
return nw > ow
}
... ...