Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
cocktail-party-server
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
cocktail-party
cocktail-party-server
Commits
f16a5803
提交
f16a5803
authored
10月 19, 2025
作者:
吕本才
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
脱敏
上级
8e96503b
隐藏空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
68 行增加
和
15 行删除
+68
-15
DesensitizedType.java
...rc/main/java/com/ruoyi/common/enums/DesensitizedType.java
+9
-0
DesensitizedUtil.java
...rc/main/java/com/ruoyi/common/utils/DesensitizedUtil.java
+50
-15
DealerBigScreenDynamicRes.java
...om/ruoyi/dealer/domain/dto/DealerBigScreenDynamicRes.java
+4
-0
DealerBigScreenGroupListRes.java
.../ruoyi/dealer/domain/dto/DealerBigScreenGroupListRes.java
+5
-0
没有找到文件。
ruoyi-common/src/main/java/com/ruoyi/common/enums/DesensitizedType.java
浏览文件 @
f16a5803
...
...
@@ -40,11 +40,20 @@ public enum DesensitizedType
*/
BANK_CARD
(
s
->
s
.
replaceAll
(
"\\d{15}(\\d{3})"
,
"**** **** **** **** $1"
)),
/**
* 经销商名称
* 保留前三字 后三字,中间6位星号替换
* 正则表达式:(\S3))(\S*)(\S4)
*/
DEALER_NAME
(
DesensitizedUtil:
:
dealerNameSentive
),
/**
* 车牌号码,包含普通车辆、新能源车辆
*/
CAR_LICENSE
(
DesensitizedUtil:
:
carLicense
);
private
final
Function
<
String
,
String
>
desensitizer
;
DesensitizedType
(
Function
<
String
,
String
>
desensitizer
)
...
...
ruoyi-common/src/main/java/com/ruoyi/common/utils/DesensitizedUtil.java
浏览文件 @
f16a5803
...
...
@@ -5,42 +5,77 @@ package com.ruoyi.common.utils;
*
* @author ruoyi
*/
public
class
DesensitizedUtil
{
public
class
DesensitizedUtil
{
/**
* 密码的全部字符都用*代替,比如:******
*
* @param password 密码
* @return 脱敏后的密码
*/
public
static
String
password
(
String
password
)
{
if
(
StringUtils
.
isBlank
(
password
))
{
public
static
String
password
(
String
password
)
{
if
(
StringUtils
.
isBlank
(
password
))
{
return
StringUtils
.
EMPTY
;
}
return
StringUtils
.
repeat
(
'*'
,
password
.
length
());
}
public
static
String
dealerNameSentive
(
String
dealerName
)
{
if
(
StringUtils
.
isBlank
(
dealerName
))
{
return
StringUtils
.
EMPTY
;
}
if
(
dealerName
.
length
()
<
7
)
{
return
dealerName
;
}
if
(
dealerName
.
contains
(
"市"
))
{
int
indexArea
=
dealerName
.
indexOf
(
"市"
);
int
endIndex
=
dealerName
.
indexOf
(
"有限公司"
);
if
(
endIndex
>
0
)
{
endIndex
=
dealerName
.
length
()
-
5
;
}
else
{
endIndex
=
dealerName
.
length
()
-
3
;
}
dealerName
=
StringUtils
.
hide
(
dealerName
,
indexArea
+
2
,
endIndex
);
}
else
{
// 不包含市,需要初始化 超过三个字的市 一个集合 ,像内蒙古 哈尔滨等
String
[]
citys
=
{
"内蒙古"
,
"黑龙江"
,
"吉林"
,
"辽宁"
,
"河北"
,
"河南"
,
"山东"
,
"山西"
,
"陕西"
,
"新疆"
,
"西藏"
,
"甘肃"
,
"宁夏"
,
"青海"
,
"海南"
};
int
startIndex
=
3
;
if
(
StringUtils
.
containsAny
(
dealerName
,
citys
))
{
// 返回包含的 下标
for
(
String
city
:
citys
)
{
int
indexCity
=
dealerName
.
indexOf
(
city
);
if
(
indexCity
>
-
1
)
{
startIndex
=
dealerName
.
indexOf
(
indexCity
)+
1
;
break
;
}
}
}
int
endIndex
=
dealerName
.
indexOf
(
"有限公司"
);
if
(
endIndex
<
0
)
{
endIndex
=
dealerName
.
length
()
-
4
;
}
dealerName
=
StringUtils
.
hide
(
dealerName
,
startIndex
,
endIndex
);
}
return
dealerName
;
}
/**
* 车牌中间用*代替,如果是错误的车牌,不处理
*
* @param carLicense 完整的车牌号
* @return 脱敏后的车牌
*/
public
static
String
carLicense
(
String
carLicense
)
{
if
(
StringUtils
.
isBlank
(
carLicense
))
{
public
static
String
carLicense
(
String
carLicense
)
{
if
(
StringUtils
.
isBlank
(
carLicense
))
{
return
StringUtils
.
EMPTY
;
}
// 普通车牌
if
(
carLicense
.
length
()
==
7
)
{
if
(
carLicense
.
length
()
==
7
)
{
carLicense
=
StringUtils
.
hide
(
carLicense
,
3
,
6
);
}
else
if
(
carLicense
.
length
()
==
8
)
{
}
else
if
(
carLicense
.
length
()
==
8
)
{
// 新能源车牌
carLicense
=
StringUtils
.
hide
(
carLicense
,
3
,
7
);
}
...
...
ruoyi-system/src/main/java/com/ruoyi/dealer/domain/dto/DealerBigScreenDynamicRes.java
浏览文件 @
f16a5803
package
com
.
ruoyi
.
dealer
.
domain
.
dto
;
import
com.ruoyi.common.annotation.Sensitive
;
import
com.ruoyi.common.enums.DesensitizedType
;
import
lombok.Data
;
import
java.math.BigDecimal
;
...
...
@@ -17,6 +19,7 @@ public class DealerBigScreenDynamicRes {
* 经销商名称(非空)
* TODO 脱敏经销商名称
*/
@Sensitive
(
desensitizedType
=
DesensitizedType
.
DEALER_NAME
)
private
String
dealerName
;
/**
...
...
@@ -35,6 +38,7 @@ public class DealerBigScreenDynamicRes {
*/
private
String
paymentPercentage
;
@Sensitive
(
desensitizedType
=
DesensitizedType
.
PHONE
)
private
String
phone
;
/**
* 预付款变化 up down
...
...
ruoyi-system/src/main/java/com/ruoyi/dealer/domain/dto/DealerBigScreenGroupListRes.java
浏览文件 @
f16a5803
package
com
.
ruoyi
.
dealer
.
domain
.
dto
;
import
com.ruoyi.common.annotation.Sensitive
;
import
com.ruoyi.common.enums.DesensitizedType
;
import
lombok.Data
;
@Data
...
...
@@ -7,7 +9,10 @@ public class DealerBigScreenGroupListRes {
private
Integer
roundTime
;
private
String
groupName
;
private
String
dealerCategory
;
@Sensitive
(
desensitizedType
=
DesensitizedType
.
PHONE
)
private
String
phone
;
@Sensitive
(
desensitizedType
=
DesensitizedType
.
DEALER_NAME
)
private
String
dealerName
;
private
Long
dealerId
;
/**
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论