Explorar el Código

fix car pay

release_toaliyun_real
lin hace 3 años
padre
commit
bf338e266a
Se han modificado 1 ficheros con 7 adiciones y 3 borrados
  1. +7
    -3
      mallinkCApi/src/main/java/com/iformall/controller/WxCarController.java

+ 7
- 3
mallinkCApi/src/main/java/com/iformall/controller/WxCarController.java Ver fichero

@@ -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) {


Cargando…
Cancelar
Guardar