⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 provincefilter.java.svn-base

📁 自动导入文件到数据库,用于无法实时入库,需要在特定时间大批量入库的程序
💻 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 + -