public enum SMSTemplateTypeEnum {
RESET_PASSWORD("15759",new String[]{"code","username"}),
VERIFICATION("16021",new String[]{"verificationCode"});
private String id;
private String[] params;
SMSTemplateTypeEnum(String id, String[] params){
this.id = id;
this.params = params;
}
/**
*解析出templateVaryInfo的变量并且放入map中以便于模板解析
* @param templateVaryInfo 传入的模板变量信息,传入的信息没有冗余只有变量,每个变量用,隔开,用于模板解析,变量一定要用,隔开
* @param smsType 传入的不同模板号
*/
public static Map<String,String> parseSmsApiParam(String smsType, String templateVaryInfo) throws Exception{ //考虑异常,别人调用我的方法的时候可能不是用,分割开
Map<String,String> map=new HashMap<>();
String[] messageSplit;
messageSplit=templateVaryInfo.split(",");
for(SMSTemplateTypeEnum applyTypeEnum: SMSTemplateTypeEnum.values()) {
if(applyTypeEnum.getId().equals(smsType)) {
if(applyTypeEnum.getParams().length != messageSplit.length){
throw new IllegalArgumentException("没有用逗号隔开变量");
}
else{
for (int i = 0; i < applyTypeEnum.getParams().length; i++) {
map.put(applyTypeEnum.getParams()[i], messageSplit[i]);
}
break;
}
}
}
return map;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String[] getParams() {
return params;
}
public void setParams(String[] params) {
this.params = params;
}
}
模板号对应枚举类
猜你喜欢
转载自blog.csdn.net/qq_25931839/article/details/79424175
今日推荐
周排行