2026-07-01 6b5f7c66fc40d7f6099d561e31a34fbd50dd20d3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
package cn.iocoder.yudao.module.crm.framework.permission.core.annotations;
 
import cn.iocoder.yudao.module.crm.enums.common.CrmBizTypeEnum;
import cn.iocoder.yudao.module.crm.enums.permission.CrmPermissionLevelEnum;
 
import java.lang.annotation.Documented;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
 
import static java.lang.annotation.ElementType.ANNOTATION_TYPE;
import static java.lang.annotation.ElementType.METHOD;
 
/**
 * CRM 数据操作权限校验 AOP 注解
 *
 * @author HUIHUI
 */
@Target({METHOD, ANNOTATION_TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface CrmPermission {
 
    /**
     * CRM 类型
     */
    CrmBizTypeEnum[] bizType() default {};
 
    /**
     * CRM 类型扩展,通过 Spring EL 表达式获取到 {@link #bizType()}
     *
     * 目的:用于 CrmPermissionController 团队权限校验
     */
    String bizTypeValue() default "";
 
    /**
     * 数据编号,通过 Spring EL 表达式获取
     */
    String bizId();
 
    /**
     * 操作所需权限级别
     */
    CrmPermissionLevelEnum level();
 
}