diff --git a/src/main/java/com/rnt/service/IRainQueryService.java b/src/main/java/com/rnt/service/IRainQueryService.java
index 93c5f48..e6dde88 100644
--- a/src/main/java/com/rnt/service/IRainQueryService.java
+++ b/src/main/java/com/rnt/service/IRainQueryService.java
@@ -5,6 +5,7 @@ import java.util.Map;
import org.beetl.sql.core.kit.StringKit;
+import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.jfinal.kit.Prop;
import com.jfinal.kit.PropKit;
@@ -12,6 +13,7 @@ import com.jfinal.log.Log;
import com.rnt.model.park.IrainPknoRelation;
import com.rnt.utils.HttpClientTutorial;
import com.rnt.utils.MD5Utils;
+import com.zteits.clouds.api.dto.park.param.RoadsideRequest;
/**
* 艾润费用查询service.
@@ -37,14 +39,16 @@ public class IRainQueryService {
* @param parkCode
* @return
*/
- public String billQuery(String carNum,String parkCode) {
- logger.info("开始调用查询费用接口,入参={carNum,parkCode}="+"{"+carNum+","+parkCode+"}");
+ public Map billQuery(String carNum,String parkCode) {
+ logger.info("---begin调用艾润查询费用接口,入参={carNum,parkCode}="+"{"+carNum+","+parkCode+"}");
//1.查询停车场关系映射表-获取艾润停车场查询费用编码 ztetis-park.irain_pkno_relation
StringBuffer sql = new StringBuffer("select a.irain_pkno1");
sql.append(" from irain_pkno_relation a");
sql.append(" where a.park_lotpkno = ?");
String rs = "";
+ Map map = new HashMap();
IrainPknoRelation irainPknoRelation = new IrainPknoRelation().findFirst(sql.toString(), parkCode);
+ logger.info("获取查询费用编码数据结果="+JSONObject.toJSON(irainPknoRelation));
if(irainPknoRelation != null && StringKit.isNotBlank(irainPknoRelation.getIrainPkno1())){
/**** 以下为模拟入参 实际入参 由app提供-------------------------------------*/
Prop prop = PropKit.use("a_little_config.txt");
@@ -61,6 +65,12 @@ public class IRainQueryService {
logger.info("irain 查询停车费用入参:" + JSONObject.toJSONString(params));
rs = HttpClientTutorial.httpPostRequest(prop.get("irain.url")+"/bill/Query", params);
logger.info("irain 查询停车费用返回:" + JSONObject.toJSONString(rs));
+ if (StringKit.isNotBlank(rs) && !"NO_PARK_RECORD".equals(JSONObject.parseObject(rs).get("code"))) {
+ map = this.jsonToMapForIrunResult(rs);
+ }else{
+ logger.info("调用艾润费用查询接口:无停车记录");
+ }
+
} catch (Exception e) {
logger.info("irain 查询停车费用出错:" + e);
}
@@ -68,30 +78,125 @@ public class IRainQueryService {
logger.info("没有查询到艾润查询费用编码");
}
- logger.info("结束调用查询费用接口,结果="+JSONObject.toJSONString(rs));
+ logger.info("---end调用艾润查询费用接口,结果="+JSONObject.toJSON(map));
- return JSONObject.toJSON(rs)+"";
+ return map;
}
- public static void main(String[] args) {
+ /**
+ * 青岛路侧费用查询接口.
+ * @param recordId
+ * @return
+ */
+ public static Map queryBillRoadside(String recordId){
+ logger.info("---begin调用青岛路侧费用查询接口,入参={recordId}="+"{"+recordId+"}");
Prop prop = PropKit.use("a_little_config.txt");
- String rs = "";
+ Map params = new HashMap<>();
+ Long time = System.currentTimeMillis();
+ params.put("orderCode", recordId);
+ params.put("timestamp",time);
+ Map rsMap = new HashMap();
+ try{
+ String qingdaors = HttpClientTutorial.httpPostRequest(prop.get("qindao.url")+"", JSONObject.toJSONString(params));
+ logger.info("青岛路侧查询停车费用返回:" + JSONObject.toJSONString(qingdaors));
+ RoadsideRequest roadsideRequest = JSONObject.parseObject(qingdaors,RoadsideRequest.class);
+ logger.info("青岛路侧返回JSON转换对象结果"+JSONObject.toJSON(roadsideRequest));
+ if(roadsideRequest != null){
+ rsMap.put("record_id", roadsideRequest.getOrderCode());
+ // 出场时间
+ rsMap.put("park_out_time", roadsideRequest.getOuttime());
+ //入场时间
+ rsMap.put("park_in_time", roadsideRequest.getIntime());
+ //总费用
+ rsMap.put("order_total_fee", roadsideRequest.getOrderPay() != null ? roadsideRequest.getOrderPay().toString() :"1");
+ //已付费用
+ rsMap.put("order_payed_fee", "0");
+ //未支付费用(本次应付金额)
+ rsMap.put("order_not_pay_fee", roadsideRequest.getOrderPay() != null ? roadsideRequest.getOrderPay().toString() :"1");
+ //停车时长 单位:秒
+ rsMap.put("parking_duration",roadsideRequest.getStaytime() != null ? String.valueOf(roadsideRequest.getStaytime()) :"1");
+ //停车场名车
+ rsMap.put("park_name", roadsideRequest.getParkName());
+ }
+
+ }catch (Exception e) {
+ e.printStackTrace();
+ }
+ logger.info("---end调用青岛路侧费用查询接口,结果="+JSONObject.toJSON(rsMap));
+ return rsMap;
+ }
+
+
+ /**
+ * 获取查询费用返回结果.
+ *
+ * @param json
+ * @return
+ */
+ private static Map jsonToMapForIrunResult(String json) {
+
+ JSONObject jsobj = JSONObject.parseObject(json);
+ Map map = new HashMap();
+ if (jsobj != null) {
+ if (!jsobj.get("status").toString().equals("0")) {
+ JSONObject data = (JSONObject)jsobj.get("data");
+ // 出场时间对象
+ JSONObject parkOutObject = (JSONObject)data.get("out");
+ //停车记录id
+ map.put("record_id", data.getString("id"));
+ // 出场时间
+ map.put("park_out_time", parkOutObject.getString("time"));
+ if (data.get("park") != null) {
+ map.put("park_name", JSONObject.parseObject(data.get("park").toString()).get("name") + "");
+ map.put("park_address", JSONObject.parseObject(data.get("park").toString()).get("address") + "");
+ }
+
+ //入场时间
+ if (data.get("in") != null) {
+ map.put("park_in_time", JSONObject.parseObject(data.get("in").toString()).getString("time"));
+ }
+ //总费用
+ map.put("order_total_fee", JSONObject.parseObject(data.get("charge").toString()).getString("due"));
+ //已付费用
+ map.put("order_payed_fee", JSONObject.parseObject(data.get("charge").toString()).getString("paid"));
+ //未支付费用(本次应付金额)
+ map.put("order_not_pay_fee", JSONObject.parseObject(data.get("charge").toString()).getString("unpaid"));
+ //停车时长 单位:秒
+ map.put("parking_duration",
+ JSONObject.parseObject(data.get("charge").toString()).getString("duration"));
+ }
+ }
+ return map;
+ }
+
+ public static void main(String[] args) {
+ /**Map map = new HashMap();
+ Prop prop = PropKit.use("a_little_config.txt");
Long time = System.currentTimeMillis();
String md5 = MD5Utils.enMD5(prop.get("irain.appid")+prop.get("irain.appsecret")+time);
Map params = new HashMap<>();
params.put("appid", prop.get("irain.appid"));
params.put("sign", md5);
params.put("timestamp", time);
- params.put("vpl_number", "苏B1B566");
+ params.put("vpl_number", "苏BV291U");
params.put("park_code", "734861a1e8656ffa51bdd90829941ca9");
-
+ String rs = "";
try {
logger.info("irain 查询停车费用入参:" + JSONObject.toJSONString(params));
rs = HttpClientTutorial.httpPostRequest(prop.get("irain.url")+"/bill/Query", params);
logger.info("irain 查询停车费用返回:" + JSONObject.toJSONString(rs));
+ if (StringKit.isNotBlank(rs) && !"NO_PARK_RECORD".equals(JSONObject.parseObject(rs).get("code"))) {
+ System.out.println(rs);
+ map = jsonToMapForIrunResult(rs);
+ System.out.println("------"+JSONObject.toJSON(map));
+ }else{
+ logger.info("调用艾润费用查询接口:无停车记录");
+ }
+
} catch (Exception e) {
logger.info("irain 查询停车费用出错:" + e);
- }
+ }*/
+ queryBillRoadside("101332467802357239808");
}
}
diff --git a/src/main/java/com/rnt/utils/HttpClientTutorial.java b/src/main/java/com/rnt/utils/HttpClientTutorial.java
index d91e2f3..63f2f39 100644
--- a/src/main/java/com/rnt/utils/HttpClientTutorial.java
+++ b/src/main/java/com/rnt/utils/HttpClientTutorial.java
@@ -95,6 +95,18 @@ public class HttpClientTutorial {
return getResult(httpPost);
}
+ public static String httpPostRequest(String url, String jsonParam) throws UnsupportedEncodingException {
+ HttpPost httpPost = new HttpPost(url);
+ if (null != jsonParam) {
+ //解决中文乱码问题
+ StringEntity entity = new StringEntity(jsonParam, "utf-8");
+ entity.setContentEncoding("UTF-8");
+ entity.setContentType("application/json");
+ httpPost.setEntity(entity);
+ }
+ return getResult(httpPost);
+ }
+
public static String httpPostRequest(String url, JSONObject jsonParam) throws UnsupportedEncodingException {
HttpPost httpPost = new HttpPost(url);
if (null != jsonParam) {
diff --git a/src/main/resources/a_little_config.txt b/src/main/resources/a_little_config.txt
index 3d92a11..580ca1c 100644
--- a/src/main/resources/a_little_config.txt
+++ b/src/main/resources/a_little_config.txt
@@ -3,11 +3,14 @@ devMode = true
######## park库
-park.druid.url=jdbc:mysql://10.117.185.28:3306/zt_park?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true
+#park.druid.url=jdbc:mysql://10.117.185.28:3306/zt_park?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true
+#park.druid.username=park
+#park.druid.password=MySQL5.7;123
+
+park.druid.url=jdbc:mysql://120.26.116.79:13306/zt_park?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true
park.druid.username=park
park.druid.password=MySQL5.7;123
-
park.druid.initialSize=1
park.druid.minIdle=1
park.druid.maxActive=20
@@ -21,7 +24,11 @@ park.druid.testOnReturn=false
park.druid.testOnWhileIdle=true
####### zf库
-zf.druid.url=jdbc:mysql://10.117.185.28:3306/zt_order?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true
+#zf.druid.url=jdbc:mysql://10.117.185.28:3306/zt_order?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true
+#zf.druid.username=order
+#zf.druid.password=MySQL5.7;123
+
+zf.druid.url=jdbc:mysql://120.26.116.79:13306/zt_order?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true
zf.druid.username=order
zf.druid.password=MySQL5.7;123
@@ -57,9 +64,11 @@ appSecret=fc468de39e6fcf181982483331d08fbd
-app.host=http://wxgzh.rnting.com/rnt-wx
-app.staticHost=http://wxgzh.rnting.com/rnt-wx/static
+#app.host=http://wxgzh.rnting.com/rnt-wx
+#app.staticHost=http://wxgzh.rnting.com/rnt-wx/static
+app.host=http://localhost:8080
+app.staticHost=http://localhost:8080/static
#weixin pay
#是否支持信用卡支付
@@ -79,6 +88,9 @@ irain.appsecret=rrr6uz3aqvutpsq2lsna0k18cea4mabw
irain.aes=avakrky0gk1m7n00
irain.park_code=734861a1e8656ffa51bdd90829941ca9
+#青岛路侧费用查询url
+qindao.url=http://zteits.gnway.cc:8088/RNT-ATMS-ADAPTER/pay/doPayAdvice
+
#dubbo
dubbo.application.name=rnt-wx