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

📄 builder_manage.java

📁 中移动lbs系统服务器端源码
💻 JAVA
字号:
package cn.netjava.lbs.le;

import cn.netjava.lbs.NetJava_LBS_Server;


/**
 * 创建发出请求的XML
 * Title: LBS服务接口
 * Copyright: Copyright (c) 2005
 * Company: 蓝杰实训
 * @author www.NetJava.cn
 * @version 1.0 1.build_Req_SLIS:立即定位服务SLIS(Standard Location Immediate Service)
 *          2.build_Req_ELIS:紧急定位服务ELIS(Emergency Location Immediate Service)
 *          3.build_Req_TLRS:紧急定位服务ELIS(Emergency Location Immediate Service)
 *          4.L_Trig_End:结束跟踪定位
 */
public class Builder_Manage {
	public Builder_Manage() {
	}

	public static void main(String[] args) throws Exception {

		Builder_Manage mr = new Builder_Manage();
		WebSendRequest webSend = new WebSendRequest();
		Builder_req result;
		AttributeRequestParaBean rb = new AttributeRequestParaBean();
		/** ******************************************* */
		rb.sycnOrAsycn = true;
		result = mr.build_Req_SLIS(rb);
		String q_str = result.toXMLStr();
		// Write2LogFile.write2AloneLog("同步自己_请求.xml",q_str );
		String lbsResult = webSend.connectURL(NetJava_LBS_Server.lbsServerURL, q_str);
		// Write2LogFile.write2AloneLog("同步自己_结果.xml",lbsResult);
		System.out.println(lbsResult);
		// System.out.println(req_SLIR);
		// rb.sycnOrAsycn=false;
		// result= mr.L_im_Self(rb);
		// Write2File.writeToTodayLog("异步自己.xml",result.toXMLStr());
		// /**********************************************/
		// rb.sycnOrAsycn=true;
		// result= mr.L_im_Other(rb);
		// Write2File.writeToTodayLog("同步别人.xml",result.toXMLStr());
		// rb.sycnOrAsycn=false;
		// result= mr.L_im_Other(rb);
		// Write2File.writeToTodayLog("异步别人.xml",result.toXMLStr());
		// /**********************************************/
		rb.selfOrOther = true;
		// result= mr.L_eme_lbs(rb);
		// String q_str=result.toXMLStr();
		// Write2File.writeToTodayLog("同步自己_请求.xml",q_str );
		// String lbsResult=webSend.connectURL(CfgApp.serverURL ,q_str);
		// Write2File.writeToTodayLog("同步自己_结果.xml",lbsResult);
		// System.out.println(lbsResult);

		// Write2File.writeToTodayLog("紧急自己.xml",result.toXMLStr() );
		// rb.selfOrOther=false;
		// result= mr.L_eme_lbs(rb);
		// q_str=result.toXMLStr();
		// Write2File.writeToTodayLog("同步自己_请求.xml",q_str );
		// lbsResult=webSend.connectURL(CfgApp.serverURL ,q_str);
		// Write2File.writeToTodayLog("同步自己_结果.xml",lbsResult);
		// System.out.println(lbsResult);

		// Write2File.writeToTodayLog("紧急别人.xml",result.toXMLStr() );
		// /**********************************************/
		// rb.selfOrOther=true;
		// result= mr.L_Trig_lbs(rb);
		// Write2File.writeToTodayLog("跟踪自己.xml",result.toXMLStr());
		// rb.selfOrOther=false;
		// result= mr.L_Trig_lbs(rb);
		// Write2File.writeToTodayLog("跟踪别人.xml",result.toXMLStr());
		// /**********************************************/
		// result= mr.L_Trig_End(rb);
		// Write2File.writeToTodayLog("结束跟踪.xml",result.toXMLStr());
	}

	// public ReportLBS test(){
	// AttributeRequestParaBean ab=new AttributeRequestParaBean() ;
	// WebSendRequest webSend=new WebSendRequest ();
	// String srcXML= webSend.connectURL(CfgApp.serverURL
	// ,build_Req_SLIS(ab).toXMLStr() );
	// Report_SLIA report=new Report_SLIA() ;
	// report.setSrcXML(srcXML) ;
	// return report;
	// }

	/**
	 * 立即定位服务SLIS(Standard Location Immediate Service) 发送立即定位请求:同步/异步 自己/别人
	 * 
	 * @param rb
	 *            RequestParaBean:请求参数对象
	 * @return Builder_req:将要发送的清求包
	 */
	public Builder_req build_Req_SLIS(AttributeRequestParaBean rb) {
		Builder_req req = null;
		if (rb.sycnOrAsycn) {// 同步
			if (rb.selfOrOther) {// 自己
				req = L_im_Self(rb);
			} else {// 别人
				req = L_im_Other(rb);
			}
		} else {// 异步
			if (rb.selfOrOther) {// 自己
				req = L_im_Self(rb);
			} else {// 别人
				req = L_im_Other(rb);
			}
		}
		return req;
	}


	/**
	 * 紧急请求自己/别人的
	 * 
	 * @param rb
	 *            RequestParaBean
	 * @return LBS_xml
	 */
	public Builder_req build_Req_ELIS(AttributeRequestParaBean rb) {
		Builder_EmeReq xml = new Builder_EmeReq();
		initID(xml);
		xml.setValue(AttributeDesc.msids_msid, rb.msids_msid);
		xml.setValue(AttributeDesc.resp_req_type, rb.resp_req_type);
		xml.setValue(AttributeDesc.eqop_hor_acc, rb.eqop_hor_acc);
		xml.setValue(AttributeDesc.loc_type_type, rb.loc_type_type);
		xml.setValue(AttributeDesc.prio_type, rb.prio_type);
		xml.setValue(AttributeDesc.requestmode_type, rb.requestmode_type);
		xml.setValue(AttributeDesc.requestor_id, rb.requestor_id);
		if (rb.selfOrOther) {
			xml.L_EmeSelf();
		} else {
			xml.L_EmeOther();
		}
		return xml;
	}

	/**
	 * 触发位置报告服务TLRS (Triggered Location Reporting Service)
	 * 
	 * @param rb
	 *            RequestParaBean
	 * @return Builder_req
	 */
	public Builder_req build_Req_TLRS(AttributeRequestParaBean rb) {
		Builder_req req = null;
		if (rb.selfOrOther) {// 自己
			req = L_Trig_lbs(rb);
		} else {// 别人
			req = L_Trig_lbs(rb);
		}
		return req;
	}

	/**
	 * 结束跟踪定位
	 * 
	 * @param rb
	 *            RequestParaBean
	 * @return LBS_xml
	 */
	public	Builder_req L_Trig_End(AttributeRequestParaBean rb) {
		Builder_TrigReq xml = new Builder_TrigReq();
		initID(xml);
		xml.setValue(AttributeDesc.tlrsr_req_id, rb.tlrsr_req_id);
		xml.L_TrigEnd();
		return xml;
	}

	/**
	 * 打包同步/异步立即定位自己的XML
	 * 
	 * @param rb
	 *            RequestParaBean
	 * @return LBS_xml
	 */
	private Builder_req L_im_Self(AttributeRequestParaBean rb) {
		Builder_imReq xml = new Builder_imReq();
		initID(xml);
		xml.setValue(AttributeDesc.msids_msid, rb.msids_msid);
		xml.setValue(AttributeDesc.resp_req_type, rb.resp_req_type);
		xml.setValue(AttributeDesc.eqop_hor_acc, rb.eqop_hor_acc);
		xml.setValue(AttributeDesc.loc_type_type, rb.loc_type_type);
		xml.setValue(AttributeDesc.prio_type, rb.prio_type);
		xml.setValue(AttributeDesc.requestmode_type, rb.requestmode_type);
		if (rb.sycnOrAsycn) {
			xml.L_SyncSelf();
		} else {
			xml.setValue(AttributeDesc.pushaddr_url, rb.pushaddr_url);
			xml.setValue(AttributeDesc.pushaddr_pwd, rb.pushaddr_pwd);
			xml.setValue(AttributeDesc.pushaddr_id, rb.pushaddr_id);
			xml.L_AsyncSelf();
		}
		return xml;
	}

	/**
	 * 同步或异步立即请求别人的
	 * 
	 * @param rb
	 *            RequestParaBean
	 * @return LBS_xml
	 */
	private Builder_req L_im_Other(AttributeRequestParaBean rb) {
		Builder_imReq xml = new Builder_imReq();
		initID(xml);
		xml.setValue(AttributeDesc.msids_msid, rb.msids_msid);
		xml.setValue(AttributeDesc.resp_req_type, rb.resp_req_type);
		xml.setValue(AttributeDesc.eqop_hor_acc, rb.eqop_hor_acc);
		xml.setValue(AttributeDesc.loc_type_type, rb.loc_type_type);
		xml.setValue(AttributeDesc.prio_type, rb.prio_type);
		xml.setValue(AttributeDesc.requestmode_type, rb.requestmode_type);
		xml.setValue(AttributeDesc.requestor_id, rb.requestor_id);
		if (rb.sycnOrAsycn) {
			xml.L_SyncOther();
		} else {
			xml.setValue(AttributeDesc.pushaddr_url, rb.pushaddr_url);
			xml.setValue(AttributeDesc.pushaddr_pwd, rb.pushaddr_pwd);
			xml.setValue(AttributeDesc.pushaddr_id, rb.pushaddr_id);
			xml.L_AsyncOther();
		}
		return xml;
	}

	/**
	 * 发起跟踪自己/别人的
	 * 
	 * @param rb
	 *            RequestParaBean
	 * @return LBS_xml
	 */
	private Builder_req L_Trig_lbs(AttributeRequestParaBean rb) {
		Builder_TrigReq xml = new Builder_TrigReq();
		initID(xml);
		xml.setValue(AttributeDesc.msids_msid, rb.msids_msid);
		xml.setValue(AttributeDesc.resp_req_type, rb.resp_req_type);
		xml.setValue(AttributeDesc.eqop_hor_acc, rb.eqop_hor_acc);
		xml.setValue(AttributeDesc.loc_type_type, rb.loc_type_type);
		xml.setValue(AttributeDesc.prio_type, rb.prio_type);
		xml.setValue(AttributeDesc.requestmode_type, rb.requestmode_type);
		xml.setValue(AttributeDesc.requestor_id, rb.requestor_id);
		xml.setValue(AttributeDesc.pushaddr_url, rb.pushaddr_url);
		xml.setValue(AttributeDesc.pushaddr_pwd, rb.pushaddr_pwd);
		xml.setValue(AttributeDesc.pushaddr_id, rb.pushaddr_id);

		xml.setValue(AttributeDesc.tlrr_interval, rb.tlrr_interval);
		xml.setValue(AttributeDesc.tlrr_start_time, rb.tlrr_start_time);
		xml.setValue(AttributeDesc.tlrr_stop_time, rb.tlrr_stop_time);
		xml.setValue(AttributeDesc.pushaddr_id, rb.pushaddr_id);
		if (rb.selfOrOther) {
			xml.L_TrigSelf();
		} else {
			xml.L_TrigOther();
		}
		return xml;
	}

	/**
	 * 初始化户密和业代码
	 * 
	 * @param lx
	 *            LBS_xml
	 */
	private void initID(Builder_req lx) {
		lx.setValue(AttributeDesc.client_id, NetJava_LBS_Server.lbsClientID);
		lx.setValue(AttributeDesc.client_pwd, NetJava_LBS_Server.lbsClientPWD);
		lx.setValue(AttributeDesc.client_serviceid, NetJava_LBS_Server.lbsServiceID);
	}

	/**
	 * 打包同步定位自己
	 * 
	 * @param msids_msid
	 *            String:被定位手机号
	 * @param resp_req_type
	 *            String:查询的响应时间要求 NO_DELAY 无定义值 延迟 LOW_DELAY 低延迟 DELAY_TOL 任意延迟
	 *            缺省值 DELAY_TOL
	 * @param eqop_hor_acc
	 *            String:延时时间:秒
	 * @param loc_type_type
	 *            String :定位类型 CURRENT 当前的位置 LAST 最近的位置 CURRENT_OR_LAST 当前或最近
	 *            INITIAL 在紧急呼叫中,呼叫建立时的位置 缺省值 CURRENT
	 * @param prio_type
	 *            String :优先级要求 NORMAL 普通 HIGH 高 缺省值 NORMAL
	 * @param requestmode_type
	 *            String: /** 1.决定信令查询时是否重新更新交换机里手机的位置,主动(ACTIVE)不需要更 新位置,
	 *            被动(PASSIVE)需要更新位置; 2.主动和被动查询的权限校验也不相同,主动查询按移动的标准不需要鉴权
	 *            ACTIVE:移动台用户主动查询(呼叫相关,一般是查自己) PASSIVE 移动台用户被动查询(呼叫无关,一般是查别人)
	 *            缺省值 PASSIVE
	 * @param synOrAsyn
	 *            boolean :同步还是异步 true:同步 false:异步
	 */

	// :立即定位服务 (SLIR)
	// <!-- Case1: 用户查找自己,同步方式-->
	private static String req_SLIR = "<?xml version=\"1.0\" encoding=\"gb2312\"?>              "
			+ "<svc_init ver=\"1.0.0\" >                                "
			+ "<hdr ver=\"1.0.0\">                                      "
			+ "<client>                                                 "
			+ "<id>test</id>                                            "
			+ "<pwd>test9999</pwd>                                          "
			+ "<serviceid>test</serviceid>                           "
			+ "</client>                                                "
			+ "</hdr>                                                   "
			+ "<slir ver=\"1.0.0\" res_type=\"SYNC\">                   "
			+ "<msids>                                  "
			+ "<msid enc=\"ASC\" type=\"MSISDN\" >13875938411</msid>   "
			+ "</msids>                                                 "
			+ "<eqop>                                                   "
			+ "<resp_req type=\"LOW_DELAY\" />                          "
			+ "<hor_acc>120</hor_acc>                                    "
			+ "</eqop>                                                  "
			+ "<geo_info>                                               "
			+ "<CoordinateReferenceSystem>                              "
			+ "<Identifier>                                             "
			+ "<code>4326</code>                                        "
			+ "<codeSpace>EPSG</codeSpace>                              "
			+ "<edition>6.1</edition>                                   "
			+ "</Identifier>                                            "
			+ "</CoordinateReferenceSystem>                             "
			+ "</geo_info>                                              "
			+ "<loc_type type=\"CURRENT_OR_LAST\" />                    "
			+ "<prio type = \"HIGH\" />                                 "
			+ "</slir>                                                  "
			+ "</svc_init>                                              ";

}

⌨️ 快捷键说明

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