| @@ -11,6 +11,7 @@ import org.springframework.beans.factory.annotation.Autowired; | |||
| import org.springframework.stereotype.Service; | |||
| import com.alibaba.fastjson.JSON; | |||
| import com.alibaba.fastjson.JSONArray; | |||
| import com.alibaba.fastjson.JSONObject; | |||
| import com.iformall.common.ErrorCode; | |||
| import com.iformall.common.IdWorker; | |||
| @@ -55,7 +56,8 @@ public class JieShunParkCallbackService extends BaseParkService implements ParkB | |||
| @Override | |||
| public List<ParkNotifyParam> parseInNoticyParam(Object param) { | |||
| Map<String,Object> paramm = (Map<String, Object>) param; | |||
| List list = (List) paramm.get("dataItems"); | |||
| String liststr = (String) paramm.get("dataItems"); | |||
| JSONArray list = JSONArray.parseArray(liststr); | |||
| if (null != list && list.size() > 0 ) { | |||
| List<ParkNotifyParam> retList = new ArrayList<ParkNotifyParam>(); | |||
| for (int i = 0 ; i < list.size() ; i ++) { | |||
| @@ -96,7 +98,8 @@ public class JieShunParkCallbackService extends BaseParkService implements ParkB | |||
| @Override | |||
| public List<ParkNotifyParam> parseOutNoticyParam(Object param) { | |||
| Map<String,Object> paramm = (Map<String, Object>) param; | |||
| List list = (List) paramm.get("dataItems"); | |||
| String liststr = (String) paramm.get("dataItems"); | |||
| JSONArray list = JSONArray.parseArray(liststr); | |||
| if (null != list && list.size() > 0 ) { | |||
| List<ParkNotifyParam> retList = new ArrayList<ParkNotifyParam>(); | |||
| for (int i = 0 ; i < list.size() ; i ++) { | |||
| @@ -153,7 +156,8 @@ public class JieShunParkCallbackService extends BaseParkService implements ParkB | |||
| @Override | |||
| public List<ParkNotifyParam> parsePaidNoticyParam(Object param) { | |||
| Map<String,Object> paramm = (Map<String, Object>) param; | |||
| List list = (List) paramm.get("dataItems"); | |||
| String liststr = (String) paramm.get("dataItems"); | |||
| JSONArray list = JSONArray.parseArray(liststr); | |||
| if (null != list && list.size() > 0 ) { | |||
| List<ParkNotifyParam> retList = new ArrayList<ParkNotifyParam>(); | |||
| for (int i = 0 ; i < list.size() ; i ++) { | |||
| @@ -178,7 +182,4 @@ public class JieShunParkCallbackService extends BaseParkService implements ParkB | |||
| p.setPayTime((Date) vo.get("tradeTime")); | |||
| return p; | |||
| } | |||
| } | |||
| @@ -151,14 +151,20 @@ public class JieShunParkService extends BaseParkService implements ParkAdapterSe | |||
| String message = result.getString("message"); | |||
| throw new MallinkException(result.getInteger("resultCode"), "jieshun createOrder error."+message); | |||
| } | |||
| String parkOrderId = result.getString("orderNo"); | |||
| JSONArray arrays = result.getJSONArray("dataItems"); | |||
| if (null == arrays || arrays.size() == 0) { | |||
| throw new MallinkException(result.getInteger("resultCode"), "jieshun createOrder error. no order result"+carNumber); | |||
| } | |||
| String parkOrderId = arrays.getJSONObject(0).getJSONObject("attributes").getString("orderNo"); | |||
| String ret = jieshun.getCarStopFee(park, parkOrderId, getCacheToken(park)); | |||
| JSONObject retObj = JSON.parseObject(ret); | |||
| if (retObj.getIntValue("resultCode") == 0){ | |||
| String createTime = retObj.getString("createTime");//计费时间,格式为“yyyy-MM-dd HH:mi:ss” | |||
| String endTime = retObj.getString("endTime");//离场时间,格式为“yyyy-MM-dd HH:mi:ss” | |||
| String appId = "wx24b70f0ad2a9a89a"; | |||
| String payPath = "pages/thirdPayOrder/payOrder?carNo="+jieshun.handleCarNumber(carNumber)+"&parkCode="+park.getParkId(); | |||
| String payPath = "pages/thirdPayOrder/payOrder?carNo="+jieshun.handleCarNumber(carNumber)+"&parkCode="+park.getParkingId(); | |||
| return new ResultData(new ParkStopFee(parkOrderId,jieshun.utcToLocal(createTime),jieshun.utcToLocal(endTime), | |||
| String.valueOf(retObj.getDouble("totalFee")),appId,payPath,null)); | |||
| }else { | |||
| @@ -93,7 +93,7 @@ public class JieShunUtil { | |||
| public String getToken(WxPark wxPark) { | |||
| String vendroParams = wxPark.getVendorParams(); | |||
| JSONObject vp = JSON.parseObject(vendroParams); | |||
| String cid = wxPark.getParkingId(); | |||
| String cid = wxPark.getParkId(); | |||
| String userName = vp.getString("usr"); | |||
| String password = vp.getString("psw"); | |||
| return getToken(cid,userName,password); | |||
| @@ -126,11 +126,10 @@ public class JieShunUtil { | |||
| if (carNumber.contains("-")) { | |||
| return carNumber; | |||
| }else { | |||
| carNumber = carNumber.substring(0,1)+carNumber.substring(1, carNumber.length()-1); | |||
| carNumber = carNumber.substring(0,1)+"-"+carNumber.substring(1, carNumber.length()); | |||
| return carNumber; | |||
| } | |||
| } | |||
| /** | |||
| * 创建订单 | |||
| * @return | |||
| @@ -140,12 +139,12 @@ public class JieShunUtil { | |||
| JSONObject vp = JSON.parseObject(vendroParams); | |||
| Map param = new HashMap(); | |||
| param.put("businesserCode", vp.get("businesserCode"));//商户编号 | |||
| param.put("parkCode", wxPark.getParkId()); | |||
| param.put("parkCode", wxPark.getParkingId()); | |||
| param.put("orderType", "VNP"); | |||
| param.put("carNo", handleCarNumber(cardNumber)); | |||
| Map map = generateMap("3c.pay.createorderbycarno",param); | |||
| log.info("jieshun create order :" + JSON.toJSONString(map)); | |||
| return ProcBussiness(CREATE_ORDER, wxPark.getParkingId(), map, token,vp.getString("version"),vp.getString("signkey")); | |||
| return ProcBussiness(CREATE_ORDER, wxPark.getParkId(), map, token,vp.getString("version"),vp.getString("signkey")); | |||
| } | |||
| /** | |||
| @@ -158,7 +157,7 @@ public class JieShunUtil { | |||
| param.put("orderNo", orderNo);//商户编号 | |||
| Map map = generateMap("3c.pay.queryorder",param); | |||
| log.info("jieshun getCarStopFee :" + JSON.toJSONString(map)); | |||
| return ProcBussiness(QUERY_ORDER, wxPark.getParkingId(), map, token,vp.getString("version"),vp.getString("signkey")); | |||
| return ProcBussiness(QUERY_ORDER, wxPark.getParkId(), map, token,vp.getString("version"),vp.getString("signkey")); | |||
| } | |||
| @@ -176,7 +175,7 @@ public class JieShunUtil { | |||
| param.put("tel", phone);//商户编号 | |||
| Map map = generateMap("3c.coupons.receive.coupons",param); | |||
| log.info("jieshun getCoupon :" + JSON.toJSONString(map)); | |||
| return ProcBussiness(GET_COUPON, wxPark.getParkingId(), map, token,vp.getString("version"),vp.getString("signkey")); | |||
| return ProcBussiness(GET_COUPON, wxPark.getParkId(), map, token,vp.getString("version"),vp.getString("signkey")); | |||
| } | |||
| @@ -191,10 +190,10 @@ public class JieShunUtil { | |||
| param.put("businesserCode", vp.get("businesserCode"));//商户编号 | |||
| param.put("couponsNo", couponNo);//优惠券编号 | |||
| param.put("orderNo", orderNo);//商户编号 | |||
| param.put("parkCode", wxPark.getParkId()); | |||
| param.put("parkCode", wxPark.getParkingId()); | |||
| Map map = generateMap("3c.coupons.use.coupons",param); | |||
| log.info("jieshun useCoupon :" + JSON.toJSONString(map)); | |||
| return ProcBussiness(COUPON_USE, wxPark.getParkingId(), map, token,vp.getString("version"),vp.getString("signkey")); | |||
| return ProcBussiness(COUPON_USE, wxPark.getParkId(), map, token,vp.getString("version"),vp.getString("signkey")); | |||
| } | |||