From 76b3532393aa98c2daaeb67caeefa2ab9556e866 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期二, 12 五月 2026 09:26:48 +0800
Subject: [PATCH] 日志
---
xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpWhitelistController.java | 26 +++++++++++++++++++++++---
1 files changed, 23 insertions(+), 3 deletions(-)
diff --git a/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpWhitelistController.java b/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpWhitelistController.java
index 1e962b0..0ed3867 100644
--- a/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpWhitelistController.java
+++ b/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpWhitelistController.java
@@ -15,6 +15,7 @@
import com.xiaopeng.api.vo.account.LoginUser;
import com.xiaopeng.common.core.domain.R;
import com.xiaopeng.common.core.exception.ServiceException;
+import com.xiaopeng.common.core.utils.SensitiveDataCryptoUtil;
import com.xiaopeng.common.core.utils.WebUtils;
import com.xiaopeng.common.core.utils.bean.BeanUtils;
import com.xiaopeng.common.core.utils.ip.IpUtils;
@@ -94,6 +95,7 @@
public R<XpWhitelist> detail(@PathVariable("id") Long id) {
LoginUser loginUser = tokenService.getLoginUser();
XpWhitelist xpWhitelist = xpWhitelistService.getById(id);
+ xpWhitelist.setAccount(SensitiveDataCryptoUtil.decryptIfPossible(xpWhitelist.getAccount()));
if(!loginUser.getPhoneDesensitizationExempt()){
xpWhitelist.setAccount(DesensitizedUtil.mobilePhone(xpWhitelist.getAccount()));
}
@@ -284,10 +286,11 @@
if (!CollectionUtils.isEmpty(candidateAccounts)) {
existsAccounts = xpWhitelistService.lambdaQuery()
.select(XpWhitelist::getAccount)
- .in(XpWhitelist::getAccount, candidateAccounts)
+ .in(XpWhitelist::getAccount, buildAccountQueryValues(candidateAccounts))
.list()
.stream()
.map(XpWhitelist::getAccount)
+ .map(SensitiveDataCryptoUtil::decryptIfPossible)
.filter(StringUtils::hasLength)
.collect(Collectors.toSet());
}
@@ -302,7 +305,7 @@
}
XpWhitelist xpWhitelist = new XpWhitelist();
xpWhitelist.setNickName(whitelistImportExcel.getNickName());
- xpWhitelist.setAccount(whitelistImportExcel.getAccount());
+ xpWhitelist.setAccount(SensitiveDataCryptoUtil.encrypt(whitelistImportExcel.getAccount()));
xpWhitelist.setStatus(true);
xpWhitelist.setIsPriorityDispatch(true);
xpWhitelist.setWhitelistSource(1);
@@ -422,6 +425,19 @@
return value.substring(0, maxLength);
}
+ private static List<String> buildAccountQueryValues(Collection<String> accounts) {
+ Set<String> values = new LinkedHashSet<>();
+ if (accounts == null) {
+ return new ArrayList<>();
+ }
+ for (String account : accounts) {
+ if (StringUtils.hasLength(account)) {
+ values.addAll(SensitiveDataCryptoUtil.queryValues(account));
+ }
+ }
+ return new ArrayList<>(values);
+ }
+
@ApiOperation(value = "白名单导出")
@PostMapping(value = "/api/v1/whitelist/exportExcels")
public void exportExcels(@RequestBody WhitelistPageListQuery query) {
@@ -500,8 +516,12 @@
*/
@PostMapping("/logan/api/v1/whitelist/inner/getXpWhitelistByPhone")
public R<List<XpWhitelist>> getXpWhitelistByPhone(@RequestParam String phone){
- List<XpWhitelist> list = xpWhitelistService.list(new QueryWrapper<XpWhitelist>().eq("account", phone)
+ if (!StringUtils.hasLength(phone)) {
+ return R.ok(Collections.emptyList());
+ }
+ List<XpWhitelist> list = xpWhitelistService.list(new QueryWrapper<XpWhitelist>().in("account", SensitiveDataCryptoUtil.queryValues(phone))
.eq("status", 1).eq("is_deleted", 0));
+ list.forEach(item -> item.setAccount(SensitiveDataCryptoUtil.decryptIfPossible(item.getAccount())));
return R.ok(list);
}
--
Gitblit v1.7.1