...
|
...
|
@@ -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
|
|
|
} |
...
|
...
|
|