田源
2025-01-16 a13255b4129ee8a7a7b7e1ecd8e02dd2c78f7c17
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
47
48
49
50
51
52
53
54
55
package com.vci.starter.web.annotation.bus;
 
 
import com.vci.starter.web.enumpck.VciChangeDocumentTypeEnum;
 
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
 
/**
 * 添加,修改,删除数据
 * 缓存更新,全文检索,编码规则监控等
 * @author weidy
 * @date 2020/3/29
 */
@Target({ ElementType.METHOD,ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
public @interface VciChangeDocument {
    /**
     * 业务类型的名称
     * @return 业务类型的名称
     */
    String[] btmType() default "";
 
    /**
     * 主键的字段,支持spel(spring的表达式,参考缓存
     * @return 主键的字段
     */
    String[] oidField() default "";
 
    /**
     * 关联的业务类型
     * @return 当前的业务类型关联的业务类型
     */
    String[] linkBtmType() default "";
 
    /**
     * 修改的类型
     */
    VciChangeDocumentTypeEnum changeType() default VciChangeDocumentTypeEnum.ADD;
 
    /**
     * 不包含的表达式,支持spel
     * @return
     */
    String unless() default "";
 
    /**
     * 接口判断幂等性
     * @return 默认是开启幂等性,因为只要对数据进行变更都应该注意
     */
    boolean idempotence() default true;
 
}