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