package com.ruoyi.common.annotation;

import cn.hutool.core.util.DesensitizedUtil;

import java.lang.annotation.*;

/**
 * @author Duke_yzl
 * @date 20230618.01
 * @describe：
 */
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface DataMasking {

    /** 内置脱敏类型 */
    DesensitizedUtil.DesensitizedType desensitizedType() default DesensitizedUtil.DesensitizedType.FIRST_MASK;
    /** 需要脱敏的字段 */
    String name();
    /** 是否使用自带的脱敏 默认是 */
    boolean status() default true;
    /** 开始脱敏的位置 */
    int startNum() default 0;
    /** 结束脱敏的位置 都为0不进行脱敏 -1 为倒数第一个*/
    int endNum() default -1;

}
