可以根据城市+车牌号+发动机号查询违章信息列表;
违章实体类
package org.wx.xhelper.model; /** * 违章实体类 * @author wangxw * @version 1.0 * @date Jul 11, 2014 3:25:34 PM */ public class ViolRegu { // 违章时间 private String date; // 违章地点 private String area; // 违章行为 private String act; // 违章扣分 private String fen; // 违章罚款 private String money; // 是否处理 private String handled; public String getDate() { return date; } public void setDate(String date) { this.date = date; } public String getArea() { return area; } public void setArea(String area) { this.area = area; } public String getAct() { return act; } public void setAct(String act) { this.act = act; } public String getFen() { return fen; } public void setFen(String fen) { this.fen = fen; } public String getMoney() { return money; } public void setMoney(String money) { this.money = money; } public String getHandled() { return handled; } public void setHandled(String handled) { this.handled = handled; } }
违章查询服务接口类
package org.wx.xhelper.service; import java.io.UnsupportedEncodingException; import java.net.URLEncoder; import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.List; import net.sf.json.JSONArray; import net.sf.json.JSONObject; import org.wx.xhelper.model.ViolRegu; import org.wx.xhelper.util.CitysUtil; import org.wx.xhelper.util.HttpRequestUtil; /** * 违章查询服务接口类 * @author wangxw * @version 1.0 * @date Jul 11, 2014 3:29:16 PM */ public class ViolReguService { /** * 生成违章信息 * @param cityName * @param carNo * @param engineNo * @return 返回违章信息 * @throws UnsupportedEncodingException */ public static String getViolReguDetail(String cityName,String carNo,String engineNo) throws UnsupportedEncodingException{ // 获取违章信息列表 List<ViolRegu> violregulist = getViolReguInfo(cityName,carNo,engineNo); // 存储文本信息 StringBuffer news = new StringBuffer(); if (violregulist != null && violregulist.size() > 0) { for(int i=0;i<violregulist.size();i++){ news.append("违章时间:"+violregulist.get(i).getDate()).append("\n"); news.append("违章地点:"+violregulist.get(i).getArea()).append("\n"); news.append("违章行为:"+violregulist.get(i).getAct()).append("\n"); news.append("违章扣分:"+violregulist.get(i).getFen()).append("\n"); news.append("违章罚款:"+violregulist.get(i).getMoney()).append("\n"); news.append("处理状态:"+violregulist.get(i).getHandled()).append("\n\n"); } } if(news.length() == 0){ news.append("没有相关的违章信息,请重新输入!"); } return news.toString(); } /** * 获取违章信息列表 * @param cityName * @param carNo * @param engineNo * @return */ public static List<ViolRegu> getViolReguInfo(String cityName,String carNo,String engineNo){ // 存放违章信息列表 List<ViolRegu> list = new ArrayList<ViolRegu>(); try{ // 获取城市简拼 String city = CitysUtil.getSimpSpell(cityName); // 获取json串 String json = HttpRequestUtil.HttpRequest("http://apis.haoservice.com/weizhang/query?city="+URLEncoder.encode(city, "utf-8") +"&hphm="+URLEncoder.encode(carNo, "utf-8") +"&hpzl=02&engineno="+URLEncoder.encode(engineNo, "utf-8") +"&key=8ff45540c1364ad6b1b0d7479bf3d1f8"); JSONObject jsonObject = JSONObject.fromObject(json); JSONObject jsonResult = JSONObject.fromObject(jsonObject.get("result")); JSONArray listsArray = jsonResult.getJSONArray("lists"); // 封装数据到列表 for(int i=0;i<listsArray.size();i++){ HashMap<String, String> map = new HashMap<String, String>(); ViolRegu violRegu = new ViolRegu(); JSONObject futurnObject = JSONObject.fromObject(listsArray.getJSONObject(i)); Iterator iterator = futurnObject.keys(); while (iterator.hasNext()) { String key = String.valueOf(iterator.next()); String value = (String) futurnObject.get(key); map.put(key, value); } violRegu.setDate(map.get("date")); // 违章时间 violRegu.setArea(map.get("area")); // 违章区域 violRegu.setAct(map.get("act")); // 违章行为 violRegu.setFen(map.get("fen")); // 违章扣分 violRegu.setMoney(map.get("money")); // 违章罚款 violRegu.setHandled(map.get("handled")); // 是否处理 list.add(violRegu); } }catch(Exception e){ e.printStackTrace(); } return list; } }
查询结果:
违章时间:2013-01-22 08:33:00
违章地点:延安路与瑞金路交叉口
违章行为:在禁止通行的时间、路段、车道内行驶的
违章扣分:0
违章罚款:200
处理状态:未处理
违章时间:2013-03-12 08:33:00
违章地点:瑞金南路和文化路交叉口
违章行为:在禁止通行的时间、路段、车道内行驶的
违章扣分:0
违章罚款:200
处理状态:未处理
违章时间:2013-12-25 19:22:00
违章地点:箭道街
违章行为:机动车逆向行驶的
违章扣分:3
违章罚款:200
处理状态:未处理
违章时间:2014-06-24 19:06:00
违章地点:解放路(嘉润路口-南厂路口)
违章行为:在禁止通行的时间、路段、车道内行驶的
违章扣分:0
违章罚款:200
处理状态:未处理