Merge branch 'feature/REQ-3045' into dev

This commit is contained in:
yanglin 2024-10-21 20:44:09 +08:00
commit 391461443d
6 changed files with 41 additions and 4 deletions

View File

@ -87,7 +87,7 @@ public class MessageTemplateParserV3 {
PersonInfo person = kv.getPersonInfo();
if (person != null)
item = new CardExtensionItem(kv.getKey(), String.format(
"%s(%s)", person.getRealName(), person.getMobilePhoneCiphertext()));
"%s(%s)", person.getRealName(), person.maskPhone()));
}
im.getCardExtension().add(item);
}

View File

@ -18,18 +18,22 @@ public class ParsedModel3Walker {
if (model == null) return;
visitor.visitModel(model);
ParsedTemplateV3 template = model.getTemplate();
visitor.visitTemplate(template);
visitCard(visitor, template);
if (template != null) {
visitor.visitTemplate(template);
visitCard(visitor, template);
}
for (ParsedGroupV3 group : model.determineGroups())
visitGroup(visitor, group);
for (ParsedButtonV3 button : model.determineButtons())
visitButton(visitor, button);
visitor.exitTemplate(template);
if (template != null)
visitor.exitTemplate(template);
visitor.exitModel(model);
}
private static void visitCard(ParsedModel3Visitor visitor,
ParsedTemplateV3 template) {
if (template == null) return;
CardUrlConfig cardUrlConfig = template.getCardUrlConfig();
if (cardUrlConfig != null
&& cardUrlConfig.getUrlConfig() != null

View File

@ -1,5 +1,6 @@
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 com.alibaba.fastjson.JSON;
import lombok.Getter;
@ -36,6 +37,10 @@ public class PersonInfo {
this.mobilePhoneCiphertext = mobilePhone;
}
public String maskPhone() {
return MiscUtils2.maskPhone(mobilePhone);
}
@Override
public String toString() {
return JSON.toJSONString(this);

View File

@ -1,8 +1,11 @@
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
@ -25,4 +28,8 @@ public class PhoneInfo {
public void resetCiphertextFields() {
this.mobilePhoneCiphertext = mobilePhone;
}
public String maskPhone() {
return MiscUtils2.maskPhone(mobilePhone);
}
}

View File

@ -1,5 +1,6 @@
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.annotation.SDIdCardField;
import com.alibaba.fastjson.JSON;
@ -67,6 +68,10 @@ public class WorkerInfo {
idNumberCiphertext = idNumber;
}
public String maskPhone() {
return MiscUtils2.maskPhone(phone);
}
@Override
public String toString() {
return JSON.toJSONString(this);

View File

@ -0,0 +1,16 @@
package cn.axzo.msg.center.service.util;
import cn.axzo.trade.datasecurity.sd.extension.ruleimpl.CellPhoneRuleHandler;
import org.apache.commons.lang3.StringUtils;
/**
* @author yanglin
*/
public class MiscUtils2 {
public static String maskPhone(String mobilePhone) {
if (StringUtils.isBlank(mobilePhone)) return mobilePhone;
return new CellPhoneRuleHandler().mask(null, mobilePhone);
}
}