From afbd8e340732c17a56693ad425dca59d8a0a8f37 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期四, 30 四月 2026 14:04:05 +0800
Subject: [PATCH] 完善电话脱敏功能
---
xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpInvitationCodeController.java | 28 +++++++++++++++++++---------
1 files changed, 19 insertions(+), 9 deletions(-)
diff --git a/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpInvitationCodeController.java b/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpInvitationCodeController.java
index 6007e8c..fbf8592 100644
--- a/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpInvitationCodeController.java
+++ b/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpInvitationCodeController.java
@@ -10,6 +10,7 @@
import cn.hutool.core.util.PhoneUtil;
import cn.hutool.core.io.resource.ClassPathResource;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.xiaopeng.api.feignClient.account.SysGroupMenuClient;
import com.xiaopeng.api.model.operation.XpInvitationCode;
import com.xiaopeng.api.model.operation.XpWhitelist;
import com.xiaopeng.common.core.domain.R;
@@ -68,23 +69,27 @@
private IXpWhitelistService xpWhitelistService;
@Resource
private MessageSource messageSource;
+ @Resource
+ private SysGroupMenuClient groupMenuClient;
private static final Pattern CHINESE_PATTERN = Pattern.compile("\\p{IsHan}");
private static final long INVITATION_CODE_LIMIT = 500L;
- @ApiOperation(value = "邀请码管理分页列表",response = XpInvitationCode.class)
+ @ApiOperation(value = "邀请码管理分页列表", response = XpInvitationCode.class)
@PostMapping("/api/v1/invitation/pageList")
public R<PageInfo<XpInvitationCode>> pageList(@RequestBody InvitationPageListQuery query) {
PageInfo<XpInvitationCode> pageList = xpInvitationCodeService.pageList(query);
+ pageList.getRecords().forEach(s -> s.setBindAccount(groupMenuClient.getPhoneDesensitization(s.getBindAccount()).getData()));
return R.ok(pageList);
}
+
/**
* 生成邀请码
*/
@PostMapping("/api/v1/invitation/add")
@ResponseBody
@ApiOperation(value = "生成邀请码")
- public R add(@RequestBody InvitationAddDto dto){
+ public R add(@RequestBody InvitationAddDto dto) {
long existing = xpInvitationCodeService.count();
long incoming = Arrays.stream(Optional.ofNullable(dto.getPhones()).orElse("").split(","))
.map(String::trim)
@@ -99,6 +104,7 @@
}
return xpInvitationCodeService.add(dto.getPhones());
}
+
/**
* 解绑
*/
@@ -108,14 +114,15 @@
@ApiImplicitParams({
@ApiImplicitParam(value = "id", name = "id", dataType = "Long", required = true)
})
- public R unbind(@RequestParam("id") Long id){
+ public R unbind(@RequestParam("id") Long id) {
UpdateWrapper<XpInvitationCode> xpInvitationCodeUpdateWrapper = new UpdateWrapper<>();
- xpInvitationCodeUpdateWrapper.eq("id",id);
- xpInvitationCodeUpdateWrapper.set("status",3);
+ xpInvitationCodeUpdateWrapper.eq("id", id);
+ xpInvitationCodeUpdateWrapper.set("status", 3);
xpInvitationCodeUpdateWrapper.set("bind_account", null);
xpInvitationCodeService.update(xpInvitationCodeUpdateWrapper);
return R.ok();
}
+
@ApiOperation(value = "邀请码导入模板下载")
@GetMapping("/api/v1/invitation/import-template")
public void importTemplate() {
@@ -147,6 +154,7 @@
}
}
}
+
@ApiOperation(value = "邀请码导入")
@PostMapping("/base/v1/invitation/importExcel")
public R<String> importExcel(@RequestParam("file") MultipartFile file) {
@@ -248,7 +256,7 @@
}
if (!errors.isEmpty()) {
- return R.fail(messageSource.getMessage(I18nKeyConstant.INVITATION_IMPORT_VALIDATE_FAIL, new Object[]{String.join("\n", errors)},I18nKeyConstant.INVITATION_IMPORT_VALIDATE_FAIL, LocaleContextHolder.getLocale()));
+ return R.fail(messageSource.getMessage(I18nKeyConstant.INVITATION_IMPORT_VALIDATE_FAIL, new Object[]{String.join("\n", errors)}, I18nKeyConstant.INVITATION_IMPORT_VALIDATE_FAIL, LocaleContextHolder.getLocale()));
}
List<XpInvitationCode> addList = new ArrayList<>();
@@ -259,7 +267,7 @@
XpInvitationCode xpInvitationCode = new XpInvitationCode();
xpInvitationCode.setInvitationCode(locationExcel.getInvitationCode());
xpInvitationCode.setBindAccount(locationExcel.getBindAccount());
- if (StringUtils.hasLength(locationExcel.getBindTime())){
+ if (StringUtils.hasLength(locationExcel.getBindTime())) {
String replace = locationExcel.getBindTime().replace(".", "-");
String res = replace.replace("/", "-");
locationExcel.setBindTime(res);
@@ -294,6 +302,7 @@
}
return CHINESE_PATTERN.matcher(value).find();
}
+
@ApiOperation(value = "邀请码导出")
@PostMapping(value = "/api/v1/invitation/exportExcel")
public void exportExcel(@RequestBody InvitationPageListQuery query) {
@@ -333,13 +342,14 @@
}
}
+
/**
* 批量删除
*/
@GetMapping("/api/v1/invitation/deleteByIds")
@ResponseBody
@ApiOperation(value = "批量删除")
- public R deleteByIds(String ids){
+ public R deleteByIds(String ids) {
// 再转化为Long类型
List<Long> longs = Arrays.stream(ids.split(",")).map(Long::parseLong).collect(Collectors.toList());
xpInvitationCodeService.removeBatchByIds(longs);
@@ -348,7 +358,7 @@
@ApiOperation(value = "校验生成邀请码的手机号是否合法")
@GetMapping("/api/v1/invitation/validateCode")
- public R<List<String>> validateCode(@RequestParam String phone){
+ public R<List<String>> validateCode(@RequestParam String phone) {
List<String> phoneList = Arrays.asList(phone.split(","));
List<String> existPhones = phoneList.stream().filter(item -> xpInvitationCodeService.lambdaQuery()
.in(XpInvitationCode::getBindAccount, item)
--
Gitblit v1.7.1