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; }