| @@ -2,6 +2,7 @@ package com.iformall.controller; | |||||
| import com.alibaba.fastjson.JSON; | import com.alibaba.fastjson.JSON; | ||||
| import com.iformall.common.ErrorCode; | import com.iformall.common.ErrorCode; | ||||
| import com.iformall.common.IdWorker; | |||||
| import com.iformall.common.Result; | import com.iformall.common.Result; | ||||
| import com.iformall.common.ResultData; | import com.iformall.common.ResultData; | ||||
| import com.iformall.domain.po.*; | import com.iformall.domain.po.*; | ||||
| @@ -452,8 +453,9 @@ public class WxCarController extends BaseController { | |||||
| //创建车场支付订单 | //创建车场支付订单 | ||||
| ParkCreatePayOrder payOrder = parkFactory.getParkService(park.getVendorType()).createPayOrder(paramMap, park,carNumber); | ParkCreatePayOrder payOrder = parkFactory.getParkService(park.getVendorType()).createPayOrder(paramMap, park,carNumber); | ||||
| EnumCarVendor carVendor = EnumCarVendor.getEnum(park.getVendorType()); | EnumCarVendor carVendor = EnumCarVendor.getEnum(park.getVendorType()); | ||||
| String uniquePayOrderNo = ParkCreatePayOrder.getUniqueParkOrderNumber(payOrder.getParkOrderNumber(), carVendor); | |||||
| if (null == payOrder || StringUtils.isBlank(uniquePayOrderNo)) { | |||||
| //微信订单号最大32位,有的车场传过来的超过长度 | |||||
| //String uniquePayOrderNo = ParkCreatePayOrder.getUniqueParkOrderNumber(payOrder.getParkOrderNumber(), carVendor); | |||||
| if (null == payOrder || StringUtils.isBlank(payOrder.getParkOrderNumber())) { | |||||
| return new ResultData(Result.ERROR,"创建车场订单错误."); | return new ResultData(Result.ERROR,"创建车场订单错误."); | ||||
| } | } | ||||
| if (payOrder.getFee() <= 0 ) { | if (payOrder.getFee() <= 0 ) { | ||||
| @@ -500,8 +502,10 @@ public class WxCarController extends BaseController { | |||||
| if (EnumYesOrNo.YES.getCode() == isvModel) { | if (EnumYesOrNo.YES.getCode() == isvModel) { | ||||
| isIsv = true; | isIsv = true; | ||||
| } | } | ||||
| final IdWorker idWorker = IdWorker.get(); | |||||
| String uniquePayOrderNo = carVendor.getMessage()+"_"+idWorker.nextId(); | |||||
| String apiKey = (String)receiver.getReceiverParamValue(Constant.paymentReceicerParamApiKey); | String apiKey = (String)receiver.getReceiverParamValue(Constant.paymentReceicerParamApiKey); | ||||
| PayAdapterResult wxResult = wxParkPayService.createWxPayOrder(park,isIsv,false,user.getOpenId(), user.getAppId(), receiver.getReceiverAccount(), "停车费支付", attachSb.toString(), uniquePayOrderNo, payOrder.getFee(), | |||||
| PayAdapterResult wxResult = wxParkPayService.createWxPayOrder(park,isIsv,false,user.getOpenId(), user.getAppId(), receiver.getReceiverAccount(), "停车费支付,车场订单号"+payOrder.getParkOrderNumber(), attachSb.toString(), uniquePayOrderNo, payOrder.getFee(), | |||||
| "127.0.0.1", park.getPaidCallBack(), apiKey, new Date()); | "127.0.0.1", park.getPaidCallBack(), apiKey, new Date()); | ||||
| return new ResultData(wxResult); | return new ResultData(wxResult); | ||||
| } catch (Exception e) { | } catch (Exception e) { | ||||