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`