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

📄 getvnetdr.jsp

📁 陕西电信sp客户端
💻 JSP
字号:
<%@ page contentType="text/html;charset=GBK"%>
<%@ page import="java.util.*"%>
<%@ page import="java.io.*"%>
<%@ page import="java.security.*"%>
<%@ page import="java.net.*"%>
<%@ page import="java.text.SimpleDateFormat"%>
<%!
	class VnetDR {
		private long transactionID;
		private String vnetLoginName;
		private long totalCharge;
		private java.util.Date authorizationTime;
		private java.util.Date ratingTime;
		private long ROWID;
		private long suiteID;

		public void setTransactionID(long transactionID) {
			this.transactionID = transactionID;
		}
		public long getTransactionID() {
			return transactionID;
		}
		public void setVnetLoginName(String vnetLoginName) {
			this.vnetLoginName = vnetLoginName;
		}
		public String getVnetLoginName() {
			return vnetLoginName;
		}
		public void setTotalCharge(long totalCharge) {
			this.totalCharge = totalCharge;
		}
		public long getTotalCharge() {
			return totalCharge;
		}
		public void setAuthorizationTime(java.util.Date authorizationTime) {
			this.authorizationTime = authorizationTime;
		}
		public java.util.Date getAuthorizationTime() {
			return authorizationTime;
		}
		public void setRatingTime(java.util.Date ratingTime) {
			this.ratingTime = ratingTime;
		}
		public java.util.Date getRatingTime() {
			return ratingTime;
		}
		public void setROWID(long ROWID) {
			this.ROWID = ROWID;
		}
		public long getROWID() {
			return ROWID;
		}
		public void setSuiteID(long suiteID) {
			this.suiteID = suiteID;
		}
		public long getSuiteID() {
			return suiteID;
		}
		public String toString(){
			return "详单:TransactionID="+this.getTransactionID()+" ,VnetLoginName="+this.getVnetLoginName()+" ,TotalCharge="+this.getTotalCharge()+" ,AuthorizationTime="+this.getAuthorizationTime()+" ,RatingTime="+this.getRatingTime()+" ,SuiteID="+this.getSuiteID()+" ,ROWID="+this.getROWID();
		}
	}
	public static String byte2HEX(byte b) {
		return (""+"0123456789ABCDEF".charAt(0xf&b>>4)+"0123456789ABCDEF".charAt(b&0xF));
	}
	public static byte stringHEX2bytes(String str) {
		return (byte) ("0123456789ABCDEF".indexOf(str.substring(0,1))*16 + "0123456789ABCDEF".indexOf(str.substring(1)));
	}
	public static String md5bytes2string(byte[] bytes){
		String result = "";
		for(int i=0; i<bytes.length; i++){
			result += byte2HEX(bytes[i]);
		}
		return result;
	}
	public static byte[] md5string2bytes(String str){
		byte[] b = new byte[str.length()/2];
		for(int i=0; i<b.length; i++){
			String s = str.substring(i*2,i*2+2);
			b[i] = stringHEX2bytes(s);
		}
		return b;
	}
	/**
	 * 从response字符串中,取出key字段的值,如果key指定的字段不存在,返回null
	 * @param key -- 字段名称
	 * @param response -- Time接口返回的内容。
	 * @return 字段的值,如果字段不存在返回null.
	 */
	public static String getAttribue(String key, String response)
	{
		String POSTFIX = "=\"";
		String RIGTH_PARENTHESIS = "\"";
		String field = key + POSTFIX;
		String result = null;
		if(response == null || response.trim().length() == 0)
		{
			return null;
		}
		if(response.indexOf(field) < 0)
		{
			return null;
		}
		int pre = response.indexOf(field) + field.length();
		int post = response.indexOf(RIGTH_PARENTHESIS, pre);
		if(post < 0)
		{
			return null;
		}
		result = response.substring(pre, post);
		if(result != null && result.trim().length() == 0)
		{
			return null;
		}
		return result;
	}
	public static void getVnetDR(VnetDR vnetdr,String line){
		SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
		String TransactionID = getAttribue("TransactionID",line);
		if(TransactionID!=null && TransactionID.length()>0){
			try {
				vnetdr.setTransactionID(Long.parseLong(TransactionID));
			}catch (Exception ex) {
				ex.printStackTrace();
			}
		}

		vnetdr.setVnetLoginName(getAttribue("VnetLoginName",line));

		String TotalCharge = getAttribue("TotalCharge",line);
		if(TotalCharge!=null && TotalCharge.length()>0){
			try {
				vnetdr.setTotalCharge(Long.parseLong(TotalCharge));
			}catch (Exception ex) {
				ex.printStackTrace();
			}
		}
		String AuthorizationTime = getAttribue("AuthorizationTime",line);
		if(AuthorizationTime!=null && AuthorizationTime.length()>0){
			try {
				vnetdr.setAuthorizationTime(dateFormat.parse(AuthorizationTime));
			}catch (Exception ex) {
				ex.printStackTrace();
			}
		}
		String RatingTime = getAttribue("RatingTime",line);
		if(RatingTime!=null && RatingTime.length()>0){
			try {
				vnetdr.setRatingTime(dateFormat.parse(RatingTime));
			}catch (Exception ex) {
				ex.printStackTrace();
			}
		}
		String suiteid=getAttribue("SuiteID",line);
		if(suiteid!=null && suiteid.length()>0){
			try {
				vnetdr.setSuiteID(Long.parseLong(suiteid));
			}catch (Exception ex) {
				ex.printStackTrace();
			}
		}
		String ROWID = getAttribue("ROWID",line);
		if(ROWID!=null && ROWID.length()>0){
			try {
				vnetdr.setROWID(Long.parseLong(ROWID));
			}catch (Exception ex) {
				ex.printStackTrace();
			}
		}
	}
%>
<%
	String starttime = request.getParameter("starttime");
	String endtime = request.getParameter("endtime");
	if(starttime == null || starttime.length()==0){
		//初始页面
%>
<html>
<head>
<title>
取得对帐单
</title>
</head>
<body>
<form method="post" name="form1" action="getvnetdr.jsp">
取得对帐单
开始时间<input name="starttime" type="text" value="20030701000000">
结束时间<input name="endtime" type="text" value="20030708000000">
详单总数<input name="totalcount" type="text" value="16">
详单总计(厘)<input name="totalfee" type="text" value="0">

<input name="endtime" type="submit" >

</form>
</body>
</html>
<%

	}else {

	String ICPCode="test";
	String ICPKey="7EF36F3A638D3066";
	String seed = ICPCode + ICPKey;
	MessageDigest md = MessageDigest.getInstance("MD5");
	String ICPVerifyCode = md5bytes2string(md.digest(seed.getBytes()));

	String serverVerifyURL = "http://gd.chinavnet.com:8590/aaa/v20/VnetDRInterface.jsp";
	serverVerifyURL += "?icpcode=" + ICPCode + "&icpverifycode=" + ICPVerifyCode + "&starttime=" + request.getParameter("starttime") + "&endtime=" + request.getParameter("endtime");
	serverVerifyURL += "&totalfee=" + request.getParameter("totalfee") + "&totalcount=" + request.getParameter("totalcount");

	System.out.println(serverVerifyURL);
	//invoke jsp pages here
	URL aurl = new URL(serverVerifyURL);
	BufferedReader in = new BufferedReader(new InputStreamReader(aurl.openStream()));
	String line=null;
	String errormessage=null;
	String result=null;
	String totalcount=null;
	String totalfee=null;
	Vector vnerdrs = new Vector();
	while((line=in.readLine())!=null){
		System.out.println(line);
		if(line.length()>0 && line.indexOf("Response")!=-1 && line.indexOf("Result")!=-1){
			errormessage=getAttribue("ErrorMessage",line);
			result=getAttribue("Result",line);
			totalcount =getAttribue("TotalCount",line);
			totalfee =getAttribue("TotalFee",line);
			if("3000".equals(result)||"1000".equals(result)){
				//发现错误或对帐成功
				break;
			}
		}
		if(line.length()>0 && line.indexOf("VnetDR")!=-1){
			//取帐单,存到Vector里面
			VnetDR vnetdr= new VnetDR();
			getVnetDR(vnetdr,line);
			vnerdrs.addElement(vnetdr);
		}
	}
	if("3000".equals(result)){
		out.println("发现错误,错误信息为:" + errormessage);
	}else if("1000".equals(result)){
		out.println("对帐成功,详单总数:" + totalcount + ",详单总计(厘)" + totalfee );
	}else if("2000".equals(result)){
		out.println("对帐失败,返回的详单总数:" + totalcount + ",返回的详单总计(厘)" + totalfee+"<BR>");
		out.println("取得"+ vnerdrs.size() + "条详单:<BR><BR>" );
		for(int i=0;i<vnerdrs.size();i++){
			out.println(vnerdrs.get(i) + "<BR>");
		}
	}else{
		out.println("无发失败返回结果");
	}
}

%>



⌨️ 快捷键说明

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