|
@@ -120,10 +120,13 @@ func CheckPermissionByFicc(companyId int64, permissionId int) (ok bool, permissi
|
|
|
return
|
|
|
}
|
|
|
|
|
|
-// CheckPermissionByPermissionIdList2Ficc 根据权限id集合权限校验
|
|
|
+// CheckPermissionByPermissionIdList2Ficc 根据权限id集合权限校验(ficc)
|
|
|
func CheckPermissionByPermissionIdList2Ficc(companyId int64, userId int, permissionIdList []int) (ok bool, permissionCheckInfo PermissionCheckInfo, err error) {
|
|
|
defer func() {
|
|
|
// 如果无权限,那么就去查询是否申请过
|
|
|
+ if ok == false {
|
|
|
+ ok, _ = checkPermissionByPermissionIdList2Rai(companyId, permissionIdList)
|
|
|
+ }
|
|
|
if ok == false && permissionCheckInfo.Type == "apply" {
|
|
|
_, err = yb_apply_record.GetLastNotOpRecordByUserId(userId)
|
|
|
//查询是否有申请过,如果有申请过的话,那么err是nil
|
|
@@ -232,3 +235,44 @@ func CheckPermissionByPermissionIdList2Ficc(companyId int64, userId int, permiss
|
|
|
|
|
|
return
|
|
|
}
|
|
|
+
|
|
|
+// checkPermissionByPermissionIdList2Rai 根据权限id集合权限校验(权益)
|
|
|
+func checkPermissionByPermissionIdList2Rai(companyId int64, permissionIdList []int) (ok bool, err error) {
|
|
|
+ //非潜在客户
|
|
|
+ if len(permissionIdList) <= 0 {
|
|
|
+ err = fmt.Errorf("权限异常,请传入需要校验的权限")
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ //市场策略(ficc权限id):33
|
|
|
+ ficcPermissionId := 33
|
|
|
+ //市场策略(权益权限id):23
|
|
|
+ raiPermissionId := 23
|
|
|
+
|
|
|
+ //是否往下校验
|
|
|
+ var permissionOk bool
|
|
|
+ for _, permissionId := range permissionIdList {
|
|
|
+ if permissionId == ficcPermissionId {
|
|
|
+ permissionOk = true
|
|
|
+ }
|
|
|
+ }
|
|
|
+ var productId int64
|
|
|
+ productId = 2
|
|
|
+ if companyId > 1 && permissionOk {
|
|
|
+ // 获取有效的权限id列表
|
|
|
+ validPermissionIdList, tmpErr := GetValidPermissionIdListByCompany2ProductId(companyId, productId)
|
|
|
+ if tmpErr != nil {
|
|
|
+ err = tmpErr
|
|
|
+ return
|
|
|
+ }
|
|
|
+ // 校验在有效的权限id列表中是否存在该权限
|
|
|
+ for _, validPermissionId := range validPermissionIdList {
|
|
|
+ if validPermissionId == raiPermissionId {
|
|
|
+ ok = true
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return
|
|
|
+}
|