Merge branch 'feature/REQ-3045' into dev

This commit is contained in:
yanglin 2024-10-22 11:04:09 +08:00
commit b0b208bdb7
6 changed files with 22 additions and 9 deletions

View File

@ -13,6 +13,7 @@ import cn.axzo.msg.center.service.pending.response.v3.model.ParsedKV;
import cn.axzo.msg.center.service.pending.response.v3.model.ParsedModelV3;
import cn.axzo.msg.center.service.pending.response.v3.model.PersonInfo;
import cn.axzo.msg.center.service.pending.response.v3.model.WorkerInfo;
import cn.axzo.trade.datasecurity.core.util.DataSecurityHelper;
import lombok.RequiredArgsConstructor;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
@ -56,7 +57,7 @@ public class ModelV3ExtPopulator {
populatePersonKV(Collections.singletonList(keyValue));
}
private void populatePersonKV(List<ParsedKV> keyValues) {
public void populatePersonKV(List<ParsedKV> keyValues) {
if (CollectionUtils.isEmpty(keyValues)) return;
List<Long> personIds = keyValues.stream()
.map(ParsedKV::getValueAsLong)
@ -75,7 +76,7 @@ public class ModelV3ExtPopulator {
personInfo.setRealName(profile.getRealName());
personInfo.setAvatar(profile.getAvatarUrl());
personInfo.setMobilePhone(profile.getPhone());
personInfo.setMobilePhoneCiphertext(profile.getPhone());
personInfo.setMobilePhoneCiphertext(DataSecurityHelper.encrypt(profile.getPhone()));
kv.setPersonInfo(personInfo);
}
}
@ -108,7 +109,7 @@ public class ModelV3ExtPopulator {
workerInfo.setBirthday(person.getBirthday());
workerInfo.setNationality(person.getNationality());
workerInfo.setIdNumber(person.getIdNumber());
workerInfo.setIdNumberCiphertext(person.getIdNumber());
workerInfo.setIdNumberCiphertext(DataSecurityHelper.encrypt(person.getIdNumber()));
workerInfo.setIdentityValid(isWorkerIdentityValid(worker));
List<WorkerBankCardRes> bankCards = personId2BankCard.get(workerGroup.getWorkerIdentityId());
workerInfo.setCardValid(CollectionUtils.isNotEmpty(bankCards)

View File

@ -114,7 +114,7 @@ public class ModelV3Parser {
if (phone.contains("*"))
phone = DataSecurityHelper.decrypt(phone);
phoneInfo.setMobilePhone(phone);
phoneInfo.setMobilePhoneCiphertext(phone);
phoneInfo.setMobilePhoneCiphertext(DataSecurityHelper.encrypt(phone));
return phoneInfo;
} catch (Exception e) {
log.warn("error parse phone info. kv={}", kv);

View File

@ -19,6 +19,7 @@ import cn.axzo.msg.center.message.service.group.GroupTemplates;
import cn.axzo.msg.center.message.service.group.NodeWrapper;
import cn.axzo.msg.center.message.service.group.TemplateCache;
import cn.axzo.msg.center.message.service.impl.PendingMessageNewServiceImpl;
import cn.axzo.msg.center.message.service.impl.v3.ModelV3ExtPopulator;
import cn.axzo.msg.center.message.service.todo.cache.NodeStatCache;
import cn.axzo.msg.center.message.service.todo.manage.TodoTerminalHelper;
import cn.axzo.msg.center.message.service.todo.mybatis.CollectSQLInterceptor;
@ -41,6 +42,10 @@ import cn.axzo.msg.center.service.pending.response.PendingMessageStatisticRespon
import cn.axzo.msg.center.service.pending.response.PendingMessageStatisticResponseV2.GroupStat;
import cn.axzo.msg.center.service.pending.response.PendingMessageStatisticResponseV2.Stat;
import cn.axzo.msg.center.service.pending.response.PersonTodoToBeDoneStatResponse;
import cn.axzo.msg.center.service.pending.response.v3.ParsedModel3Visitor;
import cn.axzo.msg.center.service.pending.response.v3.ParsedModel3Walker;
import cn.axzo.msg.center.service.pending.response.v3.model.ParsedGroupV3;
import cn.axzo.msg.center.service.pending.response.v3.model.ParsedKV;
import cn.axzo.msg.center.utils.DateFormatUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@ -87,6 +92,7 @@ public class TodoRangeQueryService {
private final NodeStatCache nodeStatCache;
private final TodoTerminalHelper todoTerminalHelper;
private final AnalysisHelper analysisHelper;
private final ModelV3ExtPopulator modelV3ExtPopulator;
// !! page query
@ -111,11 +117,19 @@ public class TodoRangeQueryService {
respResult.addAnalysis("request", request);
respResult.addAnalysis("terminals", pendingMessageNewServiceImpl::getTerminalConfigInfo);
if (respResult.getList() != null) {
ArrayList<ParsedKV> keyValues = new ArrayList<>();
for (PendingMessageResponse response : respResult.getList()) {
response.getButtonRouters()
.removeIf(btn -> !btn.getStyle().contains(ButtonStyleEnum.OVER_CARD));
response.getModelV3().getButtons()
.removeIf(btn -> !btn.parseStyle().contains(ButtonStyleEnum.OVER_CARD));
ParsedModel3Walker.walkDown(response.getModelV3(), new ParsedModel3Visitor() {
@Override
public void visitGroupKeyValue(ParsedGroupV3 group, ParsedKV kv) {
keyValues.add(kv);
}
});
modelV3ExtPopulator.populatePersonKV(keyValues);
}
}
return respResult;

View File

@ -25,12 +25,12 @@ public class PersonInfo {
/**
* 手机号, 未加密
*/
@SDCellPhoneField
private String mobilePhone;
/**
* 加密手机号
*/
@SDCellPhoneField
private String mobilePhoneCiphertext;
public void resetCiphertextFields() {

View File

@ -2,10 +2,8 @@ package cn.axzo.msg.center.service.pending.response.v3.model;
import cn.axzo.msg.center.service.util.MiscUtils2;
import cn.axzo.trade.datasecurity.sd.extension.annotation.SDCellPhoneField;
import cn.axzo.trade.datasecurity.sd.extension.ruleimpl.CellPhoneRuleHandler;
import lombok.Getter;
import lombok.Setter;
import org.apache.commons.lang3.StringUtils;
/**
* @author yanglin
@ -17,12 +15,12 @@ public class PhoneInfo {
/**
* 手机号, 未加密
*/
@SDCellPhoneField
private String mobilePhone;
/**
* 加密手机号
*/
@SDCellPhoneField
private String mobilePhoneCiphertext;
public void resetCiphertextFields() {

View File

@ -44,11 +44,11 @@ public class WorkerInfo {
/**
* 身份证号
*/
@SDIdCardField
private String idNumber;
/**
* 身份证号密文
*/
@SDIdCardField
private String idNumberCiphertext;
/**
* 身份信息校验