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

📄 phoneinfo.java

📁 短信开发用于文件交换处理转发的类模块
💻 JAVA
字号:
package com.sms.platform.switchcenter.entity;

import java.util.*;
import java.io.*;

import org.jdom.xpath.XPath;
import org.jdom.input.SAXBuilder;
import org.jdom.*;
import org.apache.log4j.Logger;


public class PhoneInfo {

    private static Logger log = Logger.getLogger(PhoneInfo.class);

    private String mobile;
    private short operatorID;
    private short provinceID;
    private short cityID;
    public PhoneInfo() {
    }

    public static void main(String[] args) {
        PhoneInfo phoneinfo = new PhoneInfo();
    }

    public void setMobile(String mobile) {
        this.mobile = mobile;
    }

    public void setOperatorID(short operatorID) {
        this.operatorID = operatorID;
    }

    public void setProvinceID(short provinceID) {
        this.provinceID = provinceID;
    }

    public void setCityID(short cityID) {
        this.cityID = cityID;
    }

    public String getMobile() {
        return mobile;
    }

    public short getOperatorID() {
        return operatorID;
    }

    public short getProvinceID() {
        return provinceID;
    }

    public short getCityID() {
        return cityID;
    }

    public static HashMap<String, PhoneInfo> loadPhoneInfo() throws Exception {
        HashMap<String, PhoneInfo> hashmap = null;

        SAXBuilder builder = new SAXBuilder();
        File fileXml = new File("./memory/PhoneInfo.xml");
        Document doc = builder.build(fileXml);
        Element root = doc.getRootElement();

        XPath xpath = XPath.newInstance("//phase/descendant-or-self::*");
        List list = xpath.selectNodes(root);
        Iterator iter = list.iterator();
        hashmap = new HashMap<String, PhoneInfo>();
        PhoneInfo dr = null;
        while (iter.hasNext()) {
            Element item = (Element) iter.next();

            if (item.getName().equalsIgnoreCase("phase")) {
                dr = new PhoneInfo();
                continue;
            } else if (item.getName().equalsIgnoreCase("mobile")) {
                dr.setMobile(item.getText());
                continue;
            } else if (item.getName().equalsIgnoreCase("operatorID")) {
                dr.setOperatorID(Short.parseShort(item.getText()));
                continue;
            } else if (item.getName().equalsIgnoreCase("provinceID")) {
                dr.setProvinceID(Short.parseShort(item.getText()));
                continue;
            } else if (item.getName().equalsIgnoreCase("cityID")) {
                dr.setCityID(Short.parseShort(item.getText()));
                hashmap.put(dr.getMobile(), dr);
            }

        }
        return hashmap;

    }

    public static PhoneInfo getPhoneInfo(HashMap<String, PhoneInfo> hashmap,
            String mobile) {
        PhoneInfo pi = null;

        if (mobile.startsWith("0")) {
            if (hashmap.containsKey(mobile.substring(0, 4))) {
                pi = hashmap.get(mobile.substring(0, 4));
            } else {
                pi = hashmap.get(mobile.substring(0, 3));
            }
        } else {
            if(mobile.length() >= 7){
                pi = hashmap.get(mobile.substring(0, 7));
            } else {
                log.debug("err mobile : " + mobile);
            }
        }

        if (pi == null) {
            int m = Integer.parseInt(mobile.substring(0,3));
            if (m >= 130 && m <= 133 || m == 153 || m == 156) {
                pi = new PhoneInfo();
                pi.setOperatorID((short) 2);
            } else if (m >= 134 && m <= 139 || m == 158 || m == 159 || m == 144) {
                pi = new PhoneInfo();
                pi.setOperatorID((short) 1);
            } else {
            	pi = new PhoneInfo();
                pi.setOperatorID((short) 0);
            }
        }

        return pi;
    }

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -