📄 provincefilter.java.svn-base
字号:
package com.onet.autobill.bill.convert;
import java.util.Map;
import org.apache.log4j.Logger;
import com.onet.autobill.bill.common.ResourceCollect;
import com.onet.pojomsg.onetmsg3.SM_Base_Msg;
import com.onet.pojomsg.onetmsg3.SM_Constant;
import com.onet.pojomsg.onetmsg3.SM_Deliver_Msg;
import com.onet.pojomsg.onetmsg3.SM_Submit_Msg;
/**
* 省份id转换过滤器
* 添加省份id到消息
* @author mengwei
*
*/
public class ProvinceFilter implements ConvertFilter {
private static Logger logger = Logger.getLogger(ProvinceFilter.class);
private static final String unKnownProvinceNo = "99";
private Map<String, String> mobileSection;
@Override
public void convert(SM_Base_Msg baseMsg) throws Exception{
if(this.mobileSection==null){
logger.error("mobileSection 没有配置,无法替换省份");
return;
}
if(baseMsg.getCommandID()==SM_Constant.TYPE_SM_DELIVER){
SM_Deliver_Msg deliver = (SM_Deliver_Msg)baseMsg;
String provinceNo = getProvinceNo(deliver.getSrcTermId());
deliver.putAppendageField("ProvinceNo",provinceNo);
}
if(baseMsg.getCommandID()==SM_Constant.TYPE_SM_SUBMIT){
SM_Submit_Msg submit = (SM_Submit_Msg)baseMsg;
String provinceNo = getProvinceNo(submit.getFeeTerminalId());
submit.putAppendageField("ProvinceNo", provinceNo);
return;
}
}
private String getProvinceNo(String mobile){
String mob = mobile;
if (mobile != null && mobile.length() > 7 && mobileSection != null) {
if(mobile.startsWith("+86"))
mob = mobile.substring(3);
if(mobile.startsWith("86"))
mob = mobile.substring(2);
String province = mobileSection.get(mob.substring(0, 7));
if (province != null)
return province;
}
return unKnownProvinceNo;
}
@Override
public void initResource(ResourceCollect resourceCollect) {
if(resourceCollect!=null){
this.mobileSection = resourceCollect.getMobileSection();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -