diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxCarController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxCarController.java index c31233a75..3711b60fd 100644 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxCarController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxCarController.java @@ -2,6 +2,7 @@ package com.iformall.controller; import com.alibaba.fastjson.JSON; import com.iformall.common.ErrorCode; +import com.iformall.common.IdWorker; import com.iformall.common.Result; import com.iformall.common.ResultData; import com.iformall.domain.po.*; @@ -452,8 +453,9 @@ public class WxCarController extends BaseController { //创建车场支付订单 ParkCreatePayOrder payOrder = parkFactory.getParkService(park.getVendorType()).createPayOrder(paramMap, park,carNumber); 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,"创建车场订单错误."); } if (payOrder.getFee() <= 0 ) { @@ -500,8 +502,10 @@ public class WxCarController extends BaseController { if (EnumYesOrNo.YES.getCode() == isvModel) { isIsv = true; } + final IdWorker idWorker = IdWorker.get(); + String uniquePayOrderNo = carVendor.getMessage()+"_"+idWorker.nextId(); 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()); return new ResultData(wxResult); } catch (Exception e) {