From f81374933d9498e8eb09f001af5e256070322bb7 Mon Sep 17 00:00:00 2001 From: lin <642018748@qq.com> Date: Mon, 13 Feb 2023 21:16:23 +0800 Subject: [PATCH] fix car pay --- .../resources/db/migration/V20230200001__car.sql | 3 +++ .../com/iformall/controller/WxCarController.java | 3 ++- .../domain/po/WxProfitPaymentReceiver.java | 14 ++++++++++++++ .../service/impl/WxMerchantServiceImpl.java | 2 +- .../src/main/java/com/iformall/utils/Constant.java | 2 ++ .../mapper/WxProfitPaymentReceiverMapper.xml | 3 ++- 6 files changed, 24 insertions(+), 3 deletions(-) diff --git a/mallinkAdmin/src/main/resources/db/migration/V20230200001__car.sql b/mallinkAdmin/src/main/resources/db/migration/V20230200001__car.sql index 6a15b75e2..f1636743c 100644 --- a/mallinkAdmin/src/main/resources/db/migration/V20230200001__car.sql +++ b/mallinkAdmin/src/main/resources/db/migration/V20230200001__car.sql @@ -128,3 +128,6 @@ ADD COLUMN `support_pay` int(1) COMMENT '会员小程序是否支持支付enumY ALTER TABLE `mallink`.`wx_park` ADD COLUMN `paid_call_back` varchar(100) COMMENT '支付完成回调地址'; + +alter table wx_profit_payment_receiver +add column `receiver_params` json COMMENT '其他配置参数'; diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxCarController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxCarController.java index 312e9da60..23c94c7db 100644 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxCarController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxCarController.java @@ -19,6 +19,7 @@ import com.iformall.service.park.impl.util.ParkHelper; import com.iformall.service.park.pay.WxParkPayService; import com.iformall.service.park.utils.ParkCacheUtils; import com.iformall.service.pay.service.pay.entity.PayAdapterResult; +import com.iformall.utils.Constant; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; @@ -501,7 +502,7 @@ public class WxCarController extends BaseController { } //创建微信支付订单 PayAdapterResult wxResult = wxParkPayService.createWxPayOrder(user.getOpenId(), user.getAppId(), receiver.getReceiverAccount(), "停车费支付", attachSb.toString(), uniquePayOrderNo, payOrder.getFee(), - "127.0.0.1", park.getPaidCallBack(), payAccount.getApiKey(), new Date()); + "127.0.0.1", park.getPaidCallBack(), (String)receiver.getReceiverParamValue(Constant.paymentReceicerParamApiKey), new Date()); return new ResultData(wxResult); } catch (Exception e) { logger.error("park createPayOrder error",e); diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxProfitPaymentReceiver.java b/mallinkService/src/main/java/com/iformall/domain/po/WxProfitPaymentReceiver.java index d274ec12b..b8559e6cf 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxProfitPaymentReceiver.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxProfitPaymentReceiver.java @@ -1,6 +1,7 @@ package com.iformall.domain.po; import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.iformall.domain.po.base.TenantEntity; @@ -30,6 +31,8 @@ public class WxProfitPaymentReceiver extends TenantEntity { private Date createTime; @io.swagger.annotations.ApiModelProperty(value="",name="updateTime") private Date updateTime; + @io.swagger.annotations.ApiModelProperty(value="其他配置参数",name="receiverParams") + private String receiverParams; @io.swagger.annotations.ApiModelProperty(value="分账接收方状态 0,正常 1,停用",name="status") private Integer status; @@ -46,6 +49,17 @@ public class WxProfitPaymentReceiver extends TenantEntity { @TableField(exist = false) private Integer hzImportStatus; + public Object getReceiverParamValue(String key) { + if (StringUtils.isBlank(receiverParams)) { + return null; + } + JSONObject o = JSON.parseObject(receiverParams); + if (null == o ) { + return null; + } + return o.get(key); + } + private QueryMerchantResult getMerchantResult(){ QueryMerchantResult queryMerchantResult = null; try{ diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java index 3c86b663d..753174f95 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java @@ -946,7 +946,7 @@ public class WxMerchantServiceImpl implements WxMerchantService { receiver.setPlat(EnumAppPlat.WX.getCode()); } receiver.setReceiverAccount(wxMerchant.getAccount()); - receiver.setApiKey(wxMerchant.getApiKey()); + receiver.setReceiverParams(new StringBuffer("{").append(Constant.paymentReceicerParamApiKey).append(":").append(wxMerchant.getApiKey()).append("}").toString()); wxProfitPaymentReceiverService.saveOrUpdate(receiver); } catch (Exception e) { logger.error("db failed: 账号操作失败, e:" + e.getMessage()); diff --git a/mallinkService/src/main/java/com/iformall/utils/Constant.java b/mallinkService/src/main/java/com/iformall/utils/Constant.java index 17bb72bd4..0d24ee98b 100644 --- a/mallinkService/src/main/java/com/iformall/utils/Constant.java +++ b/mallinkService/src/main/java/com/iformall/utils/Constant.java @@ -115,5 +115,7 @@ public class Constant { //wiwide系统常量 public static final Integer wiwideOldPlat = 0;//老平台 public static final Integer wiwideNewPlat = 1;//新平台 + + public static final String paymentReceicerParamApiKey = "apiKey"; } diff --git a/mallinkService/src/main/resources/mapper/WxProfitPaymentReceiverMapper.xml b/mallinkService/src/main/resources/mapper/WxProfitPaymentReceiverMapper.xml index c9dd5fc3f..23c9df3a9 100644 --- a/mallinkService/src/main/resources/mapper/WxProfitPaymentReceiverMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxProfitPaymentReceiverMapper.xml @@ -9,6 +9,7 @@ + @@ -21,7 +22,7 @@ `id`,`tenant_id`,`parent_tenant_id`,`merchant_id`, - `receiver_type`,`receiver_account`,`receiver_comments`, + `receiver_type`,`receiver_account`,`receiver_comments`,`receiver_params`, `create_time`,`update_time`,`status`,`plat`, `tt_import_status`,`tt_import_url`,`tt_balance_url`