buildBarCode.java 2.9 KB
package com.sy.crossDomain;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import org.springframework.stereotype.Component;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.Map;


@Component
public class buildBarCode {

	private static String CREATEBARCODE = "http://10.50.7.11:8088/publiclogistics/createVehicleBarCode";
	private static String CANCLEBARCODE = "http://10.50.7.11:8088/publiclogistics/cancelVehicleBarCode";

	// 发送数据并接收返回数据
	public static String sendData(String url, String json) {
		StringBuilder str = new StringBuilder();
		BufferedReader bf = null;
		OutputStreamWriter writer = null;
		try {
			URL Url = new URL(url);
			HttpURLConnection conn = (HttpURLConnection) Url.openConnection();
			conn.setDoInput(true);
			conn.setDoOutput(true);
			conn.setRequestProperty("X-Rrquested-With", "XMLHttpRequest");
			conn.setRequestProperty("Connection", "keep-alive");
			conn.setRequestProperty("Content-Type", "application/json;charset=UTF-8");
			conn.setRequestMethod("POST");
			conn.connect();
			writer = new OutputStreamWriter(conn.getOutputStream(), "UTF-8");
			writer.write(json);
			writer.flush();
			bf = new BufferedReader(new InputStreamReader(conn.getInputStream(), "UTF-8"));
			String inputLine = null;
			while ((inputLine = bf.readLine()) != null) {
				str.append(inputLine);
			}
		} catch (MalformedURLException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			try {
				writer.close();
				bf.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
		return str.toString();
	}

	// 解析返回的json里的data数据
	public static Map jsonFormat(String json) {
		JSONObject jsonObject = JSONObject.parseObject(json);
		Object data = jsonObject.get("data");
		Map map =null;
		if(data!=null) {
			String content = "[" + data.toString() + "]";
			JSONArray jsonArray = JSONArray.parseArray(content);
			map= JSON.parseObject(jsonArray.getString(0));
		}
		return map;
	}

	// 生成二维码
	public static String CreateBarCode(String carCode,String carColor,String mainifist) {
		String json = "{\"token\":\"samples\",\"data\":{\"vehicle_no\":\""+carCode+"\"," +
				"\"vehicle_no_color\":\"黄\",\"vehicle_rela_id\":\""+mainifist+"\"}}";
		String content = buildBarCode.sendData(CREATEBARCODE, json);
		Map map = buildBarCode.jsonFormat(content);
		return map.get("vehicle_bar_code").toString();
	}

	// 取消二维码
	public static void cancleBarCode(String frameNo) {
		String json = "{\"token\":\"samples\",\"data\":{\"vehicle_no\":\""+frameNo+"\",\"vehicle_no_color\":\"黄\"}}";
		buildBarCode.sendData(CANCLEBARCODE, json);
	}

}