陈昶聿
5 天以前 672412bddd714eed3191b5393b85ab2b22d70e00
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
package com.ruoyi.common.annotation;
 
import java.lang.annotation.*;
 
/**
 * 自定义注解 - 自动填充orgid
 *
 * 使用场景:
 * 在Controller的增删改查方法上添加此注解,会自动为方法参数对象填充当前登录用户的orgid
 *
 * 示例:
 * @AutoInit
 * @PostMapping
 * public AjaxResult add(@RequestBody YourEntity entity) {
 *     // entity的orgid字段会被自动填充
 *     return toAjax(yourService.insert(entity));
 * }
 *
 * @author smartor
 */
@Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface AutoInit {
 
    /**
     * 是否覆盖已有的orgid值
     * 默认false:如果参数对象的orgid已有值,则不覆盖
     * true:强制覆盖为当前用户的orgid
     */
    boolean override() default false;
 
    /**
     * 指定要填充orgid的参数名称
     * 默认为空,表示自动查找并填充所有包含orgid字段的参数
     * 如果指定了参数名,则只填充指定的参数对象
     */
    String[] paramNames() default {};
}