mirror of
				https://github.com/dromara/RuoYi-Vue-Plus.git
				synced 2025-11-04 08:13:44 +08:00 
			
		
		
		
	add 增加邮箱与银行卡脱敏策略 并应用到 SysUser
This commit is contained in:
		@@ -3,7 +3,9 @@ package com.ruoyi.common.core.domain.entity;
 | 
			
		||||
import com.baomidou.mybatisplus.annotation.*;
 | 
			
		||||
import com.fasterxml.jackson.annotation.JsonIgnore;
 | 
			
		||||
import com.fasterxml.jackson.annotation.JsonProperty;
 | 
			
		||||
import com.ruoyi.common.annotation.Sensitive;
 | 
			
		||||
import com.ruoyi.common.core.domain.BaseEntity;
 | 
			
		||||
import com.ruoyi.common.enums.SensitiveStrategy;
 | 
			
		||||
import com.ruoyi.common.xss.Xss;
 | 
			
		||||
import io.swagger.annotations.ApiModel;
 | 
			
		||||
import io.swagger.annotations.ApiModelProperty;
 | 
			
		||||
@@ -65,6 +67,7 @@ public class SysUser extends BaseEntity {
 | 
			
		||||
	/**
 | 
			
		||||
	 * 用户邮箱
 | 
			
		||||
	 */
 | 
			
		||||
    @Sensitive(strategy = SensitiveStrategy.EMAIL)
 | 
			
		||||
	@ApiModelProperty(value = "用户邮箱")
 | 
			
		||||
	@Email(message = "邮箱格式不正确")
 | 
			
		||||
	@Size(min = 0, max = 50, message = "邮箱长度不能超过50个字符")
 | 
			
		||||
@@ -73,6 +76,7 @@ public class SysUser extends BaseEntity {
 | 
			
		||||
	/**
 | 
			
		||||
	 * 手机号码
 | 
			
		||||
	 */
 | 
			
		||||
    @Sensitive(strategy = SensitiveStrategy.PHONE)
 | 
			
		||||
	@ApiModelProperty(value = "手机号码")
 | 
			
		||||
	private String phonenumber;
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,31 +1,48 @@
 | 
			
		||||
package com.ruoyi.common.enums;
 | 
			
		||||
 | 
			
		||||
import cn.hutool.core.util.DesensitizedUtil;
 | 
			
		||||
import lombok.AllArgsConstructor;
 | 
			
		||||
 | 
			
		||||
import java.util.function.Function;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 脱敏策略
 | 
			
		||||
 *  @author Yjoioooo
 | 
			
		||||
 *
 | 
			
		||||
 * @author Yjoioooo
 | 
			
		||||
 * @version 3.6.0
 | 
			
		||||
 */
 | 
			
		||||
@AllArgsConstructor
 | 
			
		||||
public enum SensitiveStrategy {
 | 
			
		||||
 | 
			
		||||
    /** 身份证脱敏 */
 | 
			
		||||
    /**
 | 
			
		||||
     * 身份证脱敏
 | 
			
		||||
     */
 | 
			
		||||
    ID_CARD(s -> DesensitizedUtil.idCardNum(s, 3, 4)),
 | 
			
		||||
 | 
			
		||||
    /** 手机号脱敏 */
 | 
			
		||||
    /**
 | 
			
		||||
     * 手机号脱敏
 | 
			
		||||
     */
 | 
			
		||||
    PHONE(DesensitizedUtil::mobilePhone),
 | 
			
		||||
 | 
			
		||||
    /**  地址脱敏 */
 | 
			
		||||
    ADDRESS(s -> DesensitizedUtil.address(s, 8));
 | 
			
		||||
    /**
 | 
			
		||||
     * 地址脱敏
 | 
			
		||||
     */
 | 
			
		||||
    ADDRESS(s -> DesensitizedUtil.address(s, 8)),
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 邮箱脱敏
 | 
			
		||||
     */
 | 
			
		||||
    EMAIL(DesensitizedUtil::email),
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 银行卡
 | 
			
		||||
     */
 | 
			
		||||
    BANK_CARD(DesensitizedUtil::bankCard);
 | 
			
		||||
 | 
			
		||||
    //可自行添加其他脱敏策略
 | 
			
		||||
 | 
			
		||||
    private final Function<String, String> desensitizer;
 | 
			
		||||
 | 
			
		||||
    SensitiveStrategy(Function<String, String> desensitizer) {
 | 
			
		||||
        this.desensitizer = desensitizer;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public Function<String, String> desensitizer() {
 | 
			
		||||
        return desensitizer;
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user