Commit 44ea6641d4d03318ef974dd97efa89e6df702348
1 parent
80db26ae
提交
Showing
3 changed files
with
143 additions
and
14 deletions
src/main/java/com/rnt/service/IRainQueryService.java
| ... | ... | @@ -5,6 +5,7 @@ import java.util.Map; |
| 5 | 5 | |
| 6 | 6 | import org.beetl.sql.core.kit.StringKit; |
| 7 | 7 | |
| 8 | +import com.alibaba.fastjson.JSON; | |
| 8 | 9 | import com.alibaba.fastjson.JSONObject; |
| 9 | 10 | import com.jfinal.kit.Prop; |
| 10 | 11 | import com.jfinal.kit.PropKit; |
| ... | ... | @@ -12,6 +13,7 @@ import com.jfinal.log.Log; |
| 12 | 13 | import com.rnt.model.park.IrainPknoRelation; |
| 13 | 14 | import com.rnt.utils.HttpClientTutorial; |
| 14 | 15 | import com.rnt.utils.MD5Utils; |
| 16 | +import com.zteits.clouds.api.dto.park.param.RoadsideRequest; | |
| 15 | 17 | |
| 16 | 18 | /** |
| 17 | 19 | * 艾润费用查询service.<br/> |
| ... | ... | @@ -37,14 +39,16 @@ public class IRainQueryService { |
| 37 | 39 | * @param parkCode |
| 38 | 40 | * @return |
| 39 | 41 | */ |
| 40 | - public String billQuery(String carNum,String parkCode) { | |
| 41 | - logger.info("开始调用查询费用接口,入参={carNum,parkCode}="+"{"+carNum+","+parkCode+"}"); | |
| 42 | + public Map<String, String> billQuery(String carNum,String parkCode) { | |
| 43 | + logger.info("---begin调用艾润查询费用接口,入参={carNum,parkCode}="+"{"+carNum+","+parkCode+"}"); | |
| 42 | 44 | //1.查询停车场关系映射表-获取艾润停车场查询费用编码 ztetis-park.irain_pkno_relation |
| 43 | 45 | StringBuffer sql = new StringBuffer("select a.irain_pkno1"); |
| 44 | 46 | sql.append(" from irain_pkno_relation a"); |
| 45 | 47 | sql.append(" where a.park_lotpkno = ?"); |
| 46 | 48 | String rs = ""; |
| 49 | + Map<String, String> map = new HashMap<String, String>(); | |
| 47 | 50 | IrainPknoRelation irainPknoRelation = new IrainPknoRelation().findFirst(sql.toString(), parkCode); |
| 51 | + logger.info("获取查询费用编码数据结果="+JSONObject.toJSON(irainPknoRelation)); | |
| 48 | 52 | if(irainPknoRelation != null && StringKit.isNotBlank(irainPknoRelation.getIrainPkno1())){ |
| 49 | 53 | /**** 以下为模拟入参 实际入参 由app提供-------------------------------------*/ |
| 50 | 54 | Prop prop = PropKit.use("a_little_config.txt"); |
| ... | ... | @@ -61,6 +65,12 @@ public class IRainQueryService { |
| 61 | 65 | logger.info("irain 查询停车费用入参:" + JSONObject.toJSONString(params)); |
| 62 | 66 | rs = HttpClientTutorial.httpPostRequest(prop.get("irain.url")+"/bill/Query", params); |
| 63 | 67 | logger.info("irain 查询停车费用返回:" + JSONObject.toJSONString(rs)); |
| 68 | + if (StringKit.isNotBlank(rs) && !"NO_PARK_RECORD".equals(JSONObject.parseObject(rs).get("code"))) { | |
| 69 | + map = this.jsonToMapForIrunResult(rs); | |
| 70 | + }else{ | |
| 71 | + logger.info("调用艾润费用查询接口:无停车记录"); | |
| 72 | + } | |
| 73 | + | |
| 64 | 74 | } catch (Exception e) { |
| 65 | 75 | logger.info("irain 查询停车费用出错:" + e); |
| 66 | 76 | } |
| ... | ... | @@ -68,30 +78,125 @@ public class IRainQueryService { |
| 68 | 78 | logger.info("没有查询到艾润查询费用编码"); |
| 69 | 79 | } |
| 70 | 80 | |
| 71 | - logger.info("结束调用查询费用接口,结果="+JSONObject.toJSONString(rs)); | |
| 81 | + logger.info("---end调用艾润查询费用接口,结果="+JSONObject.toJSON(map)); | |
| 72 | 82 | |
| 73 | 83 | |
| 74 | - return JSONObject.toJSON(rs)+""; | |
| 84 | + return map; | |
| 75 | 85 | } |
| 76 | 86 | |
| 77 | - public static void main(String[] args) { | |
| 87 | + /** | |
| 88 | + * 青岛路侧费用查询接口.<br/> | |
| 89 | + * @param recordId | |
| 90 | + * @return | |
| 91 | + */ | |
| 92 | + public static Map<String, String> queryBillRoadside(String recordId){ | |
| 93 | + logger.info("---begin调用青岛路侧费用查询接口,入参={recordId}="+"{"+recordId+"}"); | |
| 78 | 94 | Prop prop = PropKit.use("a_little_config.txt"); |
| 79 | - String rs = ""; | |
| 95 | + Map<String, Object> params = new HashMap<>(); | |
| 96 | + Long time = System.currentTimeMillis(); | |
| 97 | + params.put("orderCode", recordId); | |
| 98 | + params.put("timestamp",time); | |
| 99 | + Map<String, String> rsMap = new HashMap<String, String>(); | |
| 100 | + try{ | |
| 101 | + String qingdaors = HttpClientTutorial.httpPostRequest(prop.get("qindao.url")+"", JSONObject.toJSONString(params)); | |
| 102 | + logger.info("青岛路侧查询停车费用返回:" + JSONObject.toJSONString(qingdaors)); | |
| 103 | + RoadsideRequest roadsideRequest = JSONObject.parseObject(qingdaors,RoadsideRequest.class); | |
| 104 | + logger.info("青岛路侧返回JSON转换对象结果"+JSONObject.toJSON(roadsideRequest)); | |
| 105 | + if(roadsideRequest != null){ | |
| 106 | + rsMap.put("record_id", roadsideRequest.getOrderCode()); | |
| 107 | + // 出场时间 | |
| 108 | + rsMap.put("park_out_time", roadsideRequest.getOuttime()); | |
| 109 | + //入场时间 | |
| 110 | + rsMap.put("park_in_time", roadsideRequest.getIntime()); | |
| 111 | + //总费用 | |
| 112 | + rsMap.put("order_total_fee", roadsideRequest.getOrderPay() != null ? roadsideRequest.getOrderPay().toString() :"1"); | |
| 113 | + //已付费用 | |
| 114 | + rsMap.put("order_payed_fee", "0"); | |
| 115 | + //未支付费用(本次应付金额) | |
| 116 | + rsMap.put("order_not_pay_fee", roadsideRequest.getOrderPay() != null ? roadsideRequest.getOrderPay().toString() :"1"); | |
| 117 | + //停车时长 单位:秒 | |
| 118 | + rsMap.put("parking_duration",roadsideRequest.getStaytime() != null ? String.valueOf(roadsideRequest.getStaytime()) :"1"); | |
| 119 | + //停车场名车 | |
| 120 | + rsMap.put("park_name", roadsideRequest.getParkName()); | |
| 121 | + } | |
| 122 | + | |
| 123 | + }catch (Exception e) { | |
| 124 | + e.printStackTrace(); | |
| 125 | + } | |
| 126 | + logger.info("---end调用青岛路侧费用查询接口,结果="+JSONObject.toJSON(rsMap)); | |
| 127 | + return rsMap; | |
| 128 | + } | |
| 129 | + | |
| 130 | + | |
| 131 | + /** | |
| 132 | + * 获取查询费用返回结果.<br/> | |
| 133 | + * | |
| 134 | + * @param json | |
| 135 | + * @return | |
| 136 | + */ | |
| 137 | + private static Map<String, String> jsonToMapForIrunResult(String json) { | |
| 138 | + | |
| 139 | + JSONObject jsobj = JSONObject.parseObject(json); | |
| 140 | + Map<String, String> map = new HashMap<String, String>(); | |
| 141 | + if (jsobj != null) { | |
| 142 | + if (!jsobj.get("status").toString().equals("0")) { | |
| 143 | + JSONObject data = (JSONObject)jsobj.get("data"); | |
| 144 | + // 出场时间对象 | |
| 145 | + JSONObject parkOutObject = (JSONObject)data.get("out"); | |
| 146 | + //停车记录id | |
| 147 | + map.put("record_id", data.getString("id")); | |
| 148 | + // 出场时间 | |
| 149 | + map.put("park_out_time", parkOutObject.getString("time")); | |
| 150 | + if (data.get("park") != null) { | |
| 151 | + map.put("park_name", JSONObject.parseObject(data.get("park").toString()).get("name") + ""); | |
| 152 | + map.put("park_address", JSONObject.parseObject(data.get("park").toString()).get("address") + ""); | |
| 153 | + } | |
| 154 | + | |
| 155 | + //入场时间 | |
| 156 | + if (data.get("in") != null) { | |
| 157 | + map.put("park_in_time", JSONObject.parseObject(data.get("in").toString()).getString("time")); | |
| 158 | + } | |
| 159 | + //总费用 | |
| 160 | + map.put("order_total_fee", JSONObject.parseObject(data.get("charge").toString()).getString("due")); | |
| 161 | + //已付费用 | |
| 162 | + map.put("order_payed_fee", JSONObject.parseObject(data.get("charge").toString()).getString("paid")); | |
| 163 | + //未支付费用(本次应付金额) | |
| 164 | + map.put("order_not_pay_fee", JSONObject.parseObject(data.get("charge").toString()).getString("unpaid")); | |
| 165 | + //停车时长 单位:秒 | |
| 166 | + map.put("parking_duration", | |
| 167 | + JSONObject.parseObject(data.get("charge").toString()).getString("duration")); | |
| 168 | + } | |
| 169 | + } | |
| 170 | + return map; | |
| 171 | + } | |
| 172 | + | |
| 173 | + public static void main(String[] args) { | |
| 174 | + /**Map<String, String> map = new HashMap<String, String>(); | |
| 175 | + Prop prop = PropKit.use("a_little_config.txt"); | |
| 80 | 176 | Long time = System.currentTimeMillis(); |
| 81 | 177 | String md5 = MD5Utils.enMD5(prop.get("irain.appid")+prop.get("irain.appsecret")+time); |
| 82 | 178 | Map<String, Object> params = new HashMap<>(); |
| 83 | 179 | params.put("appid", prop.get("irain.appid")); |
| 84 | 180 | params.put("sign", md5); |
| 85 | 181 | params.put("timestamp", time); |
| 86 | - params.put("vpl_number", "苏B1B566"); | |
| 182 | + params.put("vpl_number", "苏BV291U"); | |
| 87 | 183 | params.put("park_code", "734861a1e8656ffa51bdd90829941ca9"); |
| 88 | - | |
| 184 | + String rs = ""; | |
| 89 | 185 | try { |
| 90 | 186 | logger.info("irain 查询停车费用入参:" + JSONObject.toJSONString(params)); |
| 91 | 187 | rs = HttpClientTutorial.httpPostRequest(prop.get("irain.url")+"/bill/Query", params); |
| 92 | 188 | logger.info("irain 查询停车费用返回:" + JSONObject.toJSONString(rs)); |
| 189 | + if (StringKit.isNotBlank(rs) && !"NO_PARK_RECORD".equals(JSONObject.parseObject(rs).get("code"))) { | |
| 190 | + System.out.println(rs); | |
| 191 | + map = jsonToMapForIrunResult(rs); | |
| 192 | + System.out.println("------"+JSONObject.toJSON(map)); | |
| 193 | + }else{ | |
| 194 | + logger.info("调用艾润费用查询接口:无停车记录"); | |
| 195 | + } | |
| 196 | + | |
| 93 | 197 | } catch (Exception e) { |
| 94 | 198 | logger.info("irain 查询停车费用出错:" + e); |
| 95 | - } | |
| 199 | + }*/ | |
| 200 | + queryBillRoadside("101332467802357239808"); | |
| 96 | 201 | } |
| 97 | 202 | } | ... | ... |
src/main/java/com/rnt/utils/HttpClientTutorial.java
| ... | ... | @@ -95,6 +95,18 @@ public class HttpClientTutorial { |
| 95 | 95 | return getResult(httpPost); |
| 96 | 96 | } |
| 97 | 97 | |
| 98 | + public static String httpPostRequest(String url, String jsonParam) throws UnsupportedEncodingException { | |
| 99 | + HttpPost httpPost = new HttpPost(url); | |
| 100 | + if (null != jsonParam) { | |
| 101 | + //解决中文乱码问题 | |
| 102 | + StringEntity entity = new StringEntity(jsonParam, "utf-8"); | |
| 103 | + entity.setContentEncoding("UTF-8"); | |
| 104 | + entity.setContentType("application/json"); | |
| 105 | + httpPost.setEntity(entity); | |
| 106 | + } | |
| 107 | + return getResult(httpPost); | |
| 108 | + } | |
| 109 | + | |
| 98 | 110 | public static String httpPostRequest(String url, JSONObject jsonParam) throws UnsupportedEncodingException { |
| 99 | 111 | HttpPost httpPost = new HttpPost(url); |
| 100 | 112 | if (null != jsonParam) { | ... | ... |
src/main/resources/a_little_config.txt
| ... | ... | @@ -3,11 +3,14 @@ devMode = true |
| 3 | 3 | |
| 4 | 4 | ######## park库 |
| 5 | 5 | |
| 6 | -park.druid.url=jdbc:mysql://10.117.185.28:3306/zt_park?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true | |
| 6 | +#park.druid.url=jdbc:mysql://10.117.185.28:3306/zt_park?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true | |
| 7 | +#park.druid.username=park | |
| 8 | +#park.druid.password=MySQL5.7;123 | |
| 9 | + | |
| 10 | +park.druid.url=jdbc:mysql://120.26.116.79:13306/zt_park?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true | |
| 7 | 11 | park.druid.username=park |
| 8 | 12 | park.druid.password=MySQL5.7;123 |
| 9 | 13 | |
| 10 | - | |
| 11 | 14 | park.druid.initialSize=1 |
| 12 | 15 | park.druid.minIdle=1 |
| 13 | 16 | park.druid.maxActive=20 |
| ... | ... | @@ -21,7 +24,11 @@ park.druid.testOnReturn=false |
| 21 | 24 | park.druid.testOnWhileIdle=true |
| 22 | 25 | |
| 23 | 26 | ####### zf库 |
| 24 | -zf.druid.url=jdbc:mysql://10.117.185.28:3306/zt_order?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true | |
| 27 | +#zf.druid.url=jdbc:mysql://10.117.185.28:3306/zt_order?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true | |
| 28 | +#zf.druid.username=order | |
| 29 | +#zf.druid.password=MySQL5.7;123 | |
| 30 | + | |
| 31 | +zf.druid.url=jdbc:mysql://120.26.116.79:13306/zt_order?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true | |
| 25 | 32 | zf.druid.username=order |
| 26 | 33 | zf.druid.password=MySQL5.7;123 |
| 27 | 34 | |
| ... | ... | @@ -57,9 +64,11 @@ appSecret=fc468de39e6fcf181982483331d08fbd |
| 57 | 64 | |
| 58 | 65 | |
| 59 | 66 | |
| 60 | -app.host=http://wxgzh.rnting.com/rnt-wx | |
| 61 | -app.staticHost=http://wxgzh.rnting.com/rnt-wx/static | |
| 67 | +#app.host=http://wxgzh.rnting.com/rnt-wx | |
| 68 | +#app.staticHost=http://wxgzh.rnting.com/rnt-wx/static | |
| 62 | 69 | |
| 70 | +app.host=http://localhost:8080 | |
| 71 | +app.staticHost=http://localhost:8080/static | |
| 63 | 72 | |
| 64 | 73 | #weixin pay |
| 65 | 74 | #是否支持信用卡支付 |
| ... | ... | @@ -79,6 +88,9 @@ irain.appsecret=rrr6uz3aqvutpsq2lsna0k18cea4mabw |
| 79 | 88 | irain.aes=avakrky0gk1m7n00 |
| 80 | 89 | irain.park_code=734861a1e8656ffa51bdd90829941ca9 |
| 81 | 90 | |
| 91 | +#青岛路侧费用查询url | |
| 92 | +qindao.url=http://zteits.gnway.cc:8088/RNT-ATMS-ADAPTER/pay/doPayAdvice | |
| 93 | + | |
| 82 | 94 | |
| 83 | 95 | #dubbo |
| 84 | 96 | dubbo.application.name=rnt-wx | ... | ... |