Explorar el Código

fix pay v3

release_toaliyun_real
zhengfangyuan hace 3 años
padre
commit
72b06b7aef
Se han modificado 22 ficheros con 149 adiciones y 76 borrados
  1. +0
    -1
      mallinkAdmin/src/main/resources/db/migration/V2022080800001_pay_v3.sql
  2. +0
    -10
      mallinkService/src/main/java/com/iformall/enums/EnumComposeOrder.java
  3. +1
    -1
      mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java
  4. +10
    -9
      mallinkService/src/main/java/com/iformall/service/impl/WxPayOrderServiceImpl.java
  5. +1
    -1
      mallinkService/src/main/java/com/iformall/service/pay/PayServiceFactory.java
  6. +19
    -1
      mallinkService/src/main/java/com/iformall/service/pay/service/cashout/wx/v3/entity/CombineItemOrder.java
  7. +1
    -1
      mallinkService/src/main/java/com/iformall/service/pay/service/pay/PayAdapterService.java
  8. +1
    -1
      mallinkService/src/main/java/com/iformall/service/pay/service/pay/douyin/v1/BaseTtPayAdapterService.java
  9. +1
    -1
      mallinkService/src/main/java/com/iformall/service/pay/service/pay/douyin/v1/miniApp/EnumTtOrderStatus.java
  10. +1
    -1
      mallinkService/src/main/java/com/iformall/service/pay/service/pay/douyin/v1/miniApp/EnumTtPayChannel.java
  11. +1
    -1
      mallinkService/src/main/java/com/iformall/service/pay/service/pay/douyin/v1/miniApp/EnumTtPoiOrderStatus.java
  12. +5
    -3
      mallinkService/src/main/java/com/iformall/service/pay/service/pay/douyin/v1/miniApp/TtMiniAppPayAdapterService.java
  13. +2
    -2
      mallinkService/src/main/java/com/iformall/service/pay/service/pay/wx/v2/h5/WxH5PayService.java
  14. +9
    -1
      mallinkService/src/main/java/com/iformall/service/pay/service/pay/wx/v2/miniApp/appPay/WxMiniAppPayAdapterService.java
  15. +8
    -2
      mallinkService/src/main/java/com/iformall/service/pay/service/pay/wx/v2/miniApp/maPay/WxMiniMaPayAdapterService.java
  16. +2
    -2
      mallinkService/src/main/java/com/iformall/service/pay/service/pay/wx/v3/h5/WxH5PayV3Service.java
  17. +62
    -31
      mallinkService/src/main/java/com/iformall/service/pay/service/pay/wx/v3/miniApp/appPay/WxMiniAppPayV3AdapterService.java
  18. +2
    -2
      mallinkService/src/main/java/com/iformall/service/pay/service/pay/wx/v3/miniApp/maPay/WxMiniMaPayV3AdapterService.java
  19. +1
    -1
      mallinkService/src/main/java/com/iformall/service/pay/service/share/PayShareAdapterService.java
  20. +9
    -2
      mallinkService/src/main/java/com/iformall/service/pay/service/share/douyin/TtPayShareService.java
  21. +3
    -1
      mallinkService/src/main/java/com/iformall/service/pay/service/share/wx/v2/WxPayShareService.java
  22. +10
    -1
      mallinkService/src/main/java/com/iformall/service/pay/service/share/wx/v3/WxPayShareV3Service.java

+ 0
- 1
mallinkAdmin/src/main/resources/db/migration/V2022080800001_pay_v3.sql Ver fichero

@@ -2035,5 +2035,4 @@ alter table wx_pay_account_bill drop column real_rate;


alter table wx_appinfo drop column pay_bill_id; alter table wx_appinfo drop column pay_bill_id;



redis清除token redis清除token

+ 0
- 10
mallinkService/src/main/java/com/iformall/enums/EnumComposeOrder.java Ver fichero

@@ -47,16 +47,6 @@ public enum EnumComposeOrder {
} }
} }
//支付时是否是多个商家的
public static boolean isMulityMerchantPay(Integer type) {
if (type.intValue() == ONE_NUMBER_ORDER_BATCH.getCode().intValue() ||
type.intValue() == MULITY_NUMBER_ORDER_BATCH.getCode().intValue()) {
return true;
}else {
return false;
}
}
//子订单是单个还是一起,购物车的子订单是单个,可以单个支付,券包的子订单不能单个支付 //子订单是单个还是一起,购物车的子订单是单个,可以单个支付,券包的子订单不能单个支付
// public static boolean childOrderIsSingle(Integer type) { // public static boolean childOrderIsSingle(Integer type) {
// if (type.intValue() == SINGLE.getCode().intValue() || type.intValue() == ONE_NUMBER_ORDER_BATCH.getCode().intValue() // if (type.intValue() == SINGLE.getCode().intValue() || type.intValue() == ONE_NUMBER_ORDER_BATCH.getCode().intValue()


+ 1
- 1
mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java Ver fichero

@@ -32,7 +32,7 @@ import com.iformall.service.order.OrderFactory;
import com.iformall.service.order.entity.WxComposeOrder; import com.iformall.service.order.entity.WxComposeOrder;
import com.iformall.service.order.util.OrderHelper; import com.iformall.service.order.util.OrderHelper;
import com.iformall.service.pay.PayServiceFactory; import com.iformall.service.pay.PayServiceFactory;
import com.iformall.service.pay.service.pay.douyin.miniApp.EnumTtPayChannel;
import com.iformall.service.pay.service.pay.douyin.v1.miniApp.EnumTtPayChannel;
import com.iformall.utils.Constant; import com.iformall.utils.Constant;
import com.iformall.utils.DateUtils; import com.iformall.utils.DateUtils;
import com.iformall.utils.PayUtils; import com.iformall.utils.PayUtils;


+ 10
- 9
mallinkService/src/main/java/com/iformall/service/impl/WxPayOrderServiceImpl.java Ver fichero

@@ -357,6 +357,7 @@ public class WxPayOrderServiceImpl implements WxPayOrderService {


try { try {
WxPayAccount payAccount = wxPayAccountMapper.selectById(appInfo.getPayId()); WxPayAccount payAccount = wxPayAccountMapper.selectById(appInfo.getPayId());
PayShareAdapterService payShareServie = payServiceFactory.getPayShareAdapterService(payWay.getCode(),payAccount.getPayVersion());
EnumPayMchType payMchTypeEnum = EnumPayMchType.getEnum(payAccount.getMchType()); EnumPayMchType payMchTypeEnum = EnumPayMchType.getEnum(payAccount.getMchType());
if(payMchTypeEnum != null){ if(payMchTypeEnum != null){
payMchType = payMchTypeEnum; payMchType = payMchTypeEnum;
@@ -406,8 +407,6 @@ public class WxPayOrderServiceImpl implements WxPayOrderService {
throw new MallinkException(ErrorCode.PAY_ORDER_PAYING.getCode(),"该订单状态不允许支付!"); throw new MallinkException(ErrorCode.PAY_ORDER_PAYING.getCode(),"该订单状态不允许支付!");
} }
}else { }else {
{

// 3.1 创建支付订单 // 3.1 创建支付订单
// Long id = idworker.nextId(); // Long id = idworker.nextId();
// if (null == id || id.longValue() <=0) { // if (null == id || id.longValue() <=0) {
@@ -434,8 +433,6 @@ public class WxPayOrderServiceImpl implements WxPayOrderService {
record.setShare(isShare.getCode()); record.setShare(isShare.getCode());
record.setComposeOrder(composeOrder.getComposeOrderType()); record.setComposeOrder(composeOrder.getComposeOrderType());
// if (isShare == EnumPayShare.YES) { // if (isShare == EnumPayShare.YES) {
PayShareAdapterService payShareServie = payServiceFactory.getPayShareAdapterService(payWay.getCode(),payAccount.getPayVersion());
// PayShareCalculateAmount recordShareAmount = payShareServie.calculateAmount(record.getPayAmount(), payAccount); // PayShareCalculateAmount recordShareAmount = payShareServie.calculateAmount(record.getPayAmount(), payAccount);
// // 分账金额 // // 分账金额
// Integer share_amount = recordShareAmount.getShareAmount(); // Integer share_amount = recordShareAmount.getShareAmount();
@@ -451,6 +448,7 @@ public class WxPayOrderServiceImpl implements WxPayOrderService {
} }
int share_amount = 0; int share_amount = 0;
int rate_amount = 0; int rate_amount = 0;
11111111111111111111
//todo 注意购物车模式(需测试)每笔子订单算法可能与总订单算法有差 //todo 注意购物车模式(需测试)每笔子订单算法可能与总订单算法有差
for (WxOrder o : orderList) { for (WxOrder o : orderList) {
Long merchant_id = null; Long merchant_id = null;
@@ -481,11 +479,9 @@ public class WxPayOrderServiceImpl implements WxPayOrderService {
logger.error("pay order insert error: " + record.toString()); logger.error("pay order insert error: " + record.toString());
throw new MallinkException(ErrorCode.DB_FAIL); throw new MallinkException(ErrorCode.DB_FAIL);
} }
}
} }


PayAdapterService payAdapterService = payServiceFactory.getPayAdapterService(payWay.getCode(),payAccount.getPayVersion()); PayAdapterService payAdapterService = payServiceFactory.getPayAdapterService(payWay.getCode(),payAccount.getPayVersion());

if(!isCreatePay){ if(!isCreatePay){
PayAdapterResult payResult = payAdapterService.noCreatePay(record,composeOrder,childOrders); PayAdapterResult payResult = payAdapterService.noCreatePay(record,composeOrder,childOrders);
return payResult; return payResult;
@@ -493,7 +489,8 @@ public class WxPayOrderServiceImpl implements WxPayOrderService {
logger.debug("wxPayRecord md5 before:"+record.toString()); logger.debug("wxPayRecord md5 before:"+record.toString());
String beforemd5 = HashUtil.md5(record.toString()); String beforemd5 = HashUtil.md5(record.toString());
PayAdapterResult payResult = payAdapterService.pay(payAccount, record,composeOrder,productName,isShare,appInfo, currentDate, params);
WxProfitSharingReceiver receiver = payShareServie.getPayReceiver();
PayAdapterResult payResult = payAdapterService.pay(payAccount, record,composeOrder,childOrders,productName,isShare,appInfo, currentDate, params);
String aftermd5 = HashUtil.md5(record.toString()); String aftermd5 = HashUtil.md5(record.toString());
if (beforemd5.equals(aftermd5)) { if (beforemd5.equals(aftermd5)) {
logger.error("支付方式["+payWay.getCode()+"]支付接口【pay】过程中 WxPayOrder 未做更新.record:"+record.toString()); logger.error("支付方式["+payWay.getCode()+"]支付接口【pay】过程中 WxPayOrder 未做更新.record:"+record.toString());
@@ -529,7 +526,8 @@ public class WxPayOrderServiceImpl implements WxPayOrderService {


try { try {
// 1. check 订单 // 1. check 订单
WxComposeOrder composeOrder = orderFactory.getOrderAdapterService(EnumComposeOrder.SINGLE.getCode()).getComposeOrder(record.getOrderId(), appInfo.getTenantId());
OrderAdapterService orderAdapterService = orderFactory.getOrderAdapterService(EnumComposeOrder.SINGLE.getCode());
WxComposeOrder composeOrder = orderAdapterService.getComposeOrder(record.getOrderId(), appInfo.getTenantId());
if (composeOrder == null) { if (composeOrder == null) {
logger.error("pay order, order not allow, repaymentReq: " + record.toString() + ", payWay: " + payWay.toString()); logger.error("pay order, order not allow, repaymentReq: " + record.toString() + ", payWay: " + payWay.toString());
throw new MallinkException(ErrorCode.ORDER_IS_NOT_FIND); throw new MallinkException(ErrorCode.ORDER_IS_NOT_FIND);
@@ -617,7 +615,10 @@ public class WxPayOrderServiceImpl implements WxPayOrderService {


logger.debug("wxPayRecord md5 before:"+record.toString()); logger.debug("wxPayRecord md5 before:"+record.toString());
String beforemd5 = HashUtil.md5(record.toString()); String beforemd5 = HashUtil.md5(record.toString());
PayAdapterResult payResult = payServiceFactory.getPayAdapterService(payWay.getCode(),payAccount.getPayVersion()).pay(payAccount, record,composeOrder,"付款码支付",isShare,appInfo, currentDate, params);
WxProfitSharingReceiver receiver = payServiceFactory.getPayShareAdapterService(payWay.getCode(),payAccount.getPayVersion()).getPayReceiver();
List<WxOrder> orderList = orderAdapterService.getChildOrders(composeOrder, appInfo.getTenantId());
PayAdapterResult payResult = payServiceFactory.getPayAdapterService(payWay.getCode(),payAccount.getPayVersion()).pay(payAccount,receiver, record,composeOrder,orderList,
"付款码支付",isShare,appInfo, currentDate, params);
String aftermd5 = HashUtil.md5(record.toString()); String aftermd5 = HashUtil.md5(record.toString());
if (beforemd5.equals(aftermd5)) { if (beforemd5.equals(aftermd5)) {
logger.error("支付方式["+payWay.getCode()+"]支付接口【pay】过程中 WxPayOrder 未做更新.record:"+record.toString()); logger.error("支付方式["+payWay.getCode()+"]支付接口【pay】过程中 WxPayOrder 未做更新.record:"+record.toString());


+ 1
- 1
mallinkService/src/main/java/com/iformall/service/pay/PayServiceFactory.java Ver fichero

@@ -4,7 +4,6 @@ import java.util.Map;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
import com.iformall.enums.EnumAppPlat; import com.iformall.enums.EnumAppPlat;
import com.iformall.enums.EnumPayVersion; import com.iformall.enums.EnumPayVersion;
import com.iformall.service.pay.service.pay.douyin.miniApp.TtMiniAppPayAdapterService;
import com.iformall.service.pay.service.refund.douyin.TtRefundAdapterService; import com.iformall.service.pay.service.refund.douyin.TtRefundAdapterService;
import com.iformall.service.pay.service.refund.wx.v2.WxRefundAdapterService; import com.iformall.service.pay.service.refund.wx.v2.WxRefundAdapterService;
import com.iformall.service.pay.service.refund.wx.v3.WxRefundV3AdapterService; import com.iformall.service.pay.service.refund.wx.v3.WxRefundV3AdapterService;
@@ -22,6 +21,7 @@ import com.iformall.service.pay.service.cashout.wx.v3.WxCashOutV3AdapterService;
import com.iformall.service.pay.service.pay.CDrivingPayService; import com.iformall.service.pay.service.pay.CDrivingPayService;
import com.iformall.service.pay.service.pay.CPassivePayService; import com.iformall.service.pay.service.pay.CPassivePayService;
import com.iformall.service.pay.service.pay.PayAdapterService; import com.iformall.service.pay.service.pay.PayAdapterService;
import com.iformall.service.pay.service.pay.douyin.v1.miniApp.TtMiniAppPayAdapterService;
import com.iformall.service.pay.service.pay.wx.v2.h5.WxH5PayService; import com.iformall.service.pay.service.pay.wx.v2.h5.WxH5PayService;
import com.iformall.service.pay.service.pay.wx.v2.miniApp.appPay.WxMiniAppPayAdapterService; import com.iformall.service.pay.service.pay.wx.v2.miniApp.appPay.WxMiniAppPayAdapterService;
import com.iformall.service.pay.service.pay.wx.v2.miniApp.maPay.WxMiniMaPayAdapterService; import com.iformall.service.pay.service.pay.wx.v2.miniApp.maPay.WxMiniMaPayAdapterService;


+ 19
- 1
mallinkService/src/main/java/com/iformall/service/pay/service/cashout/wx/v3/entity/CombineItemOrder.java Ver fichero

@@ -1,15 +1,33 @@
package com.iformall.service.pay.service.cashout.wx.v3.entity; package com.iformall.service.pay.service.cashout.wx.v3.entity;


import com.iformall.domain.po.WxAppinfo;
import com.iformall.domain.po.WxOrder;
import com.iformall.domain.po.WxPayAccount;

import lombok.Data; import lombok.Data;


@Data @Data
public class CombineItemOrder { public class CombineItemOrder {


private String mchid;//子单商户号
private String mchid;//子单发起方商户号,必须与发起方appid有绑定关系
private String attach;//附加数据,在查询API和支付通知中原样返回,可作为自定义参数使用 private String attach;//附加数据,在查询API和支付通知中原样返回,可作为自定义参数使用
private CombinePayAmountReq amount;//订单金额 private CombinePayAmountReq amount;//订单金额
private String out_trade_no;//子单商户订单号 private String out_trade_no;//子单商户订单号
private String sub_mchid;//二级商户号,服务商子商户的商户号,被合单方。直连商户不用传二级商户号 private String sub_mchid;//二级商户号,服务商子商户的商户号,被合单方。直连商户不用传二级商户号
private String description;//商品描述,需传入应用市场上的APP名字-实际商品名称 private String description;//商品描述,需传入应用市场上的APP名字-实际商品名称
private PaySettleReq settle_info;//结算信息 private PaySettleReq settle_info;//结算信息
public void initByWxOrder(WxPayAccount payAccount,WxOrder order,String subMchId,WxAppinfo appInfo,String productName,String extParam) {
this.mchid = payAccount.getMchId();
this.attach = extParam;
CombinePayAmountReq amount = new CombinePayAmountReq();
amount.setTotal_amount(order.getPayment());
this.setAmount(amount);
this.out_trade_no = String.valueOf(order.getId());
this.sub_mchid = subMchId;
this.description = appInfo.getName()+"-"+productName;
PaySettleReq settle = new PaySettleReq();
settle.setProfit_sharing(true);
this.setSettle_info(settle);
}
} }

+ 1
- 1
mallinkService/src/main/java/com/iformall/service/pay/service/pay/PayAdapterService.java Ver fichero

@@ -27,7 +27,7 @@ public interface PayAdapterService {
* @return * @return
* @throws Exception * @throws Exception
*/ */
public PayAdapterResult pay(WxPayAccount payAccount,WxPayOrder record ,WxComposeOrder composeOrder,String productName,EnumPayShare isShare,WxAppinfo appInfo,Date currentDate, PayExtraParam params) throws Exception;
public PayAdapterResult pay(WxPayAccount payAccount,WxPayOrder record ,WxComposeOrder composeOrder,List<WxOrder> childOrders,String productName,EnumPayShare isShare,WxAppinfo appInfo,Date currentDate, PayExtraParam params) throws Exception;


/** /**
* 查询支付结果,调用对应端的API查询支付结果 * 查询支付结果,调用对应端的API查询支付结果


mallinkService/src/main/java/com/iformall/service/pay/service/pay/douyin/BaseTtPayAdapterService.java → mallinkService/src/main/java/com/iformall/service/pay/service/pay/douyin/v1/BaseTtPayAdapterService.java Ver fichero

@@ -1,4 +1,4 @@
package com.iformall.service.pay.service.pay.douyin;
package com.iformall.service.pay.service.pay.douyin.v1;


import com.iformall.common.ErrorCode; import com.iformall.common.ErrorCode;
import com.iformall.domain.po.WxAppinfo; import com.iformall.domain.po.WxAppinfo;

mallinkService/src/main/java/com/iformall/service/pay/service/pay/douyin/miniApp/EnumTtOrderStatus.java → mallinkService/src/main/java/com/iformall/service/pay/service/pay/douyin/v1/miniApp/EnumTtOrderStatus.java Ver fichero

@@ -1,4 +1,4 @@
package com.iformall.service.pay.service.pay.douyin.miniApp;
package com.iformall.service.pay.service.pay.douyin.v1.miniApp;


/** /**
* Created by Stormeye on 2018/08/09. * Created by Stormeye on 2018/08/09.

mallinkService/src/main/java/com/iformall/service/pay/service/pay/douyin/miniApp/EnumTtPayChannel.java → mallinkService/src/main/java/com/iformall/service/pay/service/pay/douyin/v1/miniApp/EnumTtPayChannel.java Ver fichero

@@ -1,4 +1,4 @@
package com.iformall.service.pay.service.pay.douyin.miniApp;
package com.iformall.service.pay.service.pay.douyin.v1.miniApp;


/** /**
* Created by Stormeye on 2018/08/09. * Created by Stormeye on 2018/08/09.

mallinkService/src/main/java/com/iformall/service/pay/service/pay/douyin/miniApp/EnumTtPoiOrderStatus.java → mallinkService/src/main/java/com/iformall/service/pay/service/pay/douyin/v1/miniApp/EnumTtPoiOrderStatus.java Ver fichero

@@ -1,4 +1,4 @@
package com.iformall.service.pay.service.pay.douyin.miniApp;
package com.iformall.service.pay.service.pay.douyin.v1.miniApp;


/** /**
* Created by Stormeye on 2018/08/09. * Created by Stormeye on 2018/08/09.

mallinkService/src/main/java/com/iformall/service/pay/service/pay/douyin/miniApp/TtMiniAppPayAdapterService.java → mallinkService/src/main/java/com/iformall/service/pay/service/pay/douyin/v1/miniApp/TtMiniAppPayAdapterService.java Ver fichero

@@ -1,4 +1,4 @@
package com.iformall.service.pay.service.pay.douyin.miniApp;
package com.iformall.service.pay.service.pay.douyin.v1.miniApp;


import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
@@ -22,7 +22,7 @@ import com.iformall.service.order.OrderFactory;
import com.iformall.service.order.entity.WxComposeOrder; import com.iformall.service.order.entity.WxComposeOrder;
import com.iformall.service.pay.entity.PayExtraParam; import com.iformall.service.pay.entity.PayExtraParam;
import com.iformall.service.pay.service.pay.CDrivingPayService; import com.iformall.service.pay.service.pay.CDrivingPayService;
import com.iformall.service.pay.service.pay.douyin.BaseTtPayAdapterService;
import com.iformall.service.pay.service.pay.douyin.v1.BaseTtPayAdapterService;
import com.iformall.service.pay.service.pay.entity.PayAdapterResult; import com.iformall.service.pay.service.pay.entity.PayAdapterResult;
import com.iformall.service.pay.service.pay.entity.PayQueryAdapterResult; import com.iformall.service.pay.service.pay.entity.PayQueryAdapterResult;
import com.iformall.utils.Constant; import com.iformall.utils.Constant;
@@ -72,7 +72,9 @@ public class TtMiniAppPayAdapterService extends BaseTtPayAdapterService implemen
private MaUtil maUtil; private MaUtil maUtil;


@Override @Override
public PayAdapterResult pay(WxPayAccount payAccount, WxPayOrder record,WxComposeOrder composeOrder,String productName,EnumPayShare isShare,WxAppinfo appInfo,Date currentDate, PayExtraParam params) throws Exception {
public PayAdapterResult pay(WxPayAccount payAccount,WxPayOrder record,WxComposeOrder composeOrder,List<WxOrder> childOrders,
String productName,EnumPayShare isShare,WxAppinfo appInfo,Date currentDate, PayExtraParam params) throws Exception {
//抖音支付1.0,已经不再支持
if(true){ if(true){
throw new MallinkException(ErrorCode.SYS_AUTH_ERROR.getCode(),"请升级抖音版本"); throw new MallinkException(ErrorCode.SYS_AUTH_ERROR.getCode(),"请升级抖音版本");
} }

+ 2
- 2
mallinkService/src/main/java/com/iformall/service/pay/service/pay/wx/v2/h5/WxH5PayService.java Ver fichero

@@ -22,8 +22,8 @@ import com.iformall.service.pay.service.pay.wx.v2.BaseWxPayAdapterService;
public class WxH5PayService extends BaseWxPayAdapterService implements CDrivingPayService{ public class WxH5PayService extends BaseWxPayAdapterService implements CDrivingPayService{


@Override @Override
public PayAdapterResult pay(WxPayAccount payAccount, WxPayOrder record,WxComposeOrder composeOrder,String productName, EnumPayShare isShare,
WxAppinfo appInfo, Date currentDate, PayExtraParam params) throws Exception {
public PayAdapterResult pay(WxPayAccount payAccount,WxPayOrder record,WxComposeOrder composeOrder,List<WxOrder> childOrders,
String productName, EnumPayShare isShare,WxAppinfo appInfo, Date currentDate, PayExtraParam params) throws Exception {
// TODO Auto-generated method stub // TODO Auto-generated method stub
return null; return null;
} }


+ 9
- 1
mallinkService/src/main/java/com/iformall/service/pay/service/pay/wx/v2/miniApp/appPay/WxMiniAppPayAdapterService.java Ver fichero

@@ -15,6 +15,7 @@ import com.iformall.common.ErrorCode;
import com.iformall.common.Result; import com.iformall.common.Result;
import com.iformall.common.ResultData; import com.iformall.common.ResultData;
import com.iformall.enums.EnumOrderStatus; import com.iformall.enums.EnumOrderStatus;
import com.iformall.enums.EnumPayMchType;
import com.iformall.enums.EnumPayMode; import com.iformall.enums.EnumPayMode;
import com.iformall.enums.EnumPayShare; import com.iformall.enums.EnumPayShare;
import com.iformall.enums.EnumPayStatus; import com.iformall.enums.EnumPayStatus;
@@ -211,7 +212,8 @@ public class WxMiniAppPayAdapterService extends BaseWxPayAdapterService implemen
@Override @Override
public PayAdapterResult pay(WxPayAccount payAccount, WxPayOrder record,WxComposeOrder composeOrder,String productName,EnumPayShare isShare,WxAppinfo appInfo,Date currentDate, PayExtraParam params) throws Exception {
public PayAdapterResult pay(WxPayAccount payAccount,WxPayOrder record,WxComposeOrder composeOrder,List<WxOrder> childOrders,
String productName,EnumPayShare isShare,WxAppinfo appInfo,Date currentDate, PayExtraParam params) throws Exception {
if (null == params ) { if (null == params ) {
throw new MallinkException(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"openId为空"); throw new MallinkException(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"openId为空");
} }
@@ -219,6 +221,12 @@ public class WxMiniAppPayAdapterService extends BaseWxPayAdapterService implemen
if (StringUtils.isBlank(openId) ) { if (StringUtils.isBlank(openId) ) {
throw new MallinkException(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"openId为空"); throw new MallinkException(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"openId为空");
} }
//2.0版本未对接直连模式, 小商户进件成为特约商户号
if (payAccount.getMchType() == EnumPayMchType.DIRECT.getCode()) {
throw new MallinkException(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"当前支付版本不支持直连模式");
}
//普通商户模式 //普通商户模式
if (payAccount.getType() == EnumPayMode.MCH.getCode()) { if (payAccount.getType() == EnumPayMode.MCH.getCode()) {
WxPayOrderP wxPayOrderP = generateWxPayOrderP(payAccount,composeOrder,productName,record,openId,appInfo.getAppId(),currentDate); WxPayOrderP wxPayOrderP = generateWxPayOrderP(payAccount,composeOrder,productName,record,openId,appInfo.getAppId(),currentDate);


+ 8
- 2
mallinkService/src/main/java/com/iformall/service/pay/service/pay/wx/v2/miniApp/maPay/WxMiniMaPayAdapterService.java Ver fichero

@@ -13,6 +13,7 @@ import org.springframework.stereotype.Service;
import com.iformall.common.ErrorCode; import com.iformall.common.ErrorCode;
import com.iformall.common.IdWorker; import com.iformall.common.IdWorker;
import com.iformall.domain.po.base.TenantEntity; import com.iformall.domain.po.base.TenantEntity;
import com.iformall.enums.EnumPayMchType;
import com.iformall.enums.EnumPayMode; import com.iformall.enums.EnumPayMode;
import com.iformall.enums.EnumPayShare; import com.iformall.enums.EnumPayShare;
import com.iformall.enums.EnumUserIsSubscribe; import com.iformall.enums.EnumUserIsSubscribe;
@@ -158,8 +159,13 @@ public class WxMiniMaPayAdapterService extends BaseWxPayAdapterService implement
@Override @Override
public PayAdapterResult pay(WxPayAccount payAccount, WxPayOrder record, WxComposeOrder composeOrder,String productName, EnumPayShare isShare,
WxAppinfo appInfo, Date currentDate, PayExtraParam params) throws Exception {
public PayAdapterResult pay(WxPayAccount payAccount,WxPayOrder record, WxComposeOrder composeOrder,List<WxOrder> childOrders,
String productName, EnumPayShare isShare,WxAppinfo appInfo, Date currentDate, PayExtraParam params) throws Exception {
//2.0版本未对接直连模式, 小商户进件成为特约商户号
if (payAccount.getMchType() == EnumPayMchType.DIRECT.getCode()) {
throw new MallinkException(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"当前支付版本不支持直连模式");
}
if (payAccount.getType() == EnumPayMode.MCH.getCode()) { if (payAccount.getType() == EnumPayMode.MCH.getCode()) {
// 扫码支付 普通商户模式 // 扫码支付 普通商户模式
String bAppId = (String) params.getValue("bAppId"); String bAppId = (String) params.getValue("bAppId");


+ 2
- 2
mallinkService/src/main/java/com/iformall/service/pay/service/pay/wx/v3/h5/WxH5PayV3Service.java Ver fichero

@@ -22,8 +22,8 @@ import com.iformall.service.pay.service.pay.wx.v2.BaseWxPayAdapterService;
public class WxH5PayV3Service implements CDrivingPayService{ public class WxH5PayV3Service implements CDrivingPayService{


@Override @Override
public PayAdapterResult pay(WxPayAccount payAccount, WxPayOrder record,WxComposeOrder composeOrder,String productName, EnumPayShare isShare,
WxAppinfo appInfo, Date currentDate, PayExtraParam params) throws Exception {
public PayAdapterResult pay(WxPayAccount payAccount,WxPayOrder record,WxComposeOrder composeOrder,List<WxOrder> childOrders,
String productName, EnumPayShare isShare,WxAppinfo appInfo, Date currentDate, PayExtraParam params) throws Exception {
// TODO Auto-generated method stub // TODO Auto-generated method stub
return null; return null;
} }


+ 62
- 31
mallinkService/src/main/java/com/iformall/service/pay/service/pay/wx/v3/miniApp/appPay/WxMiniAppPayV3AdapterService.java Ver fichero

@@ -1,6 +1,7 @@
package com.iformall.service.pay.service.pay.wx.v3.miniApp.appPay; package com.iformall.service.pay.service.pay.wx.v3.miniApp.appPay;


import java.io.File; import java.io.File;
import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@@ -18,6 +19,7 @@ import com.iformall.common.Result;
import com.iformall.common.ResultData; import com.iformall.common.ResultData;
import com.iformall.enums.EnumComposeOrder; import com.iformall.enums.EnumComposeOrder;
import com.iformall.enums.EnumOrderStatus; import com.iformall.enums.EnumOrderStatus;
import com.iformall.enums.EnumPayMchType;
import com.iformall.enums.EnumPayMode; import com.iformall.enums.EnumPayMode;
import com.iformall.enums.EnumPayShare; import com.iformall.enums.EnumPayShare;
import com.iformall.enums.EnumPayStatus; import com.iformall.enums.EnumPayStatus;
@@ -27,10 +29,15 @@ import com.iformall.pay.WxPayOrderP;
import com.iformall.pay.WxPayOrderSP; import com.iformall.pay.WxPayOrderSP;
import com.iformall.pay.WxPayV3; import com.iformall.pay.WxPayV3;
import com.iformall.pay.WxPayment; import com.iformall.pay.WxPayment;
import com.iformall.service.order.entity.WxComposeChildOrderShare;
import com.iformall.service.order.entity.WxComposeOrder; import com.iformall.service.order.entity.WxComposeOrder;
import com.iformall.service.pay.entity.PayExtraParam; import com.iformall.service.pay.entity.PayExtraParam;
import com.iformall.service.pay.service.cashout.wx.v3.entity.CombineItemOrder;
import com.iformall.service.pay.service.cashout.wx.v3.entity.CombinePayCommonMiniAppReq; import com.iformall.service.pay.service.cashout.wx.v3.entity.CombinePayCommonMiniAppReq;
import com.iformall.service.pay.service.cashout.wx.v3.entity.PayAmountReq;
import com.iformall.service.pay.service.cashout.wx.v3.entity.PayCommonMiniAppReq; import com.iformall.service.pay.service.cashout.wx.v3.entity.PayCommonMiniAppReq;
import com.iformall.service.pay.service.cashout.wx.v3.entity.PaySettleReq;
import com.iformall.service.pay.service.cashout.wx.v3.entity.PayerReq;
import com.iformall.service.pay.service.pay.CDrivingPayService; import com.iformall.service.pay.service.pay.CDrivingPayService;
import com.iformall.service.pay.service.pay.entity.PayAdapterResult; import com.iformall.service.pay.service.pay.entity.PayAdapterResult;
import com.iformall.service.pay.service.pay.entity.PayQueryAdapterResult; import com.iformall.service.pay.service.pay.entity.PayQueryAdapterResult;
@@ -49,34 +56,49 @@ public class WxMiniAppPayV3AdapterService implements CDrivingPayService{
@Autowired @Autowired
MaUtil maUtil; MaUtil maUtil;
private PayCommonMiniAppReq generatePayCommonRequest(WxPayAccount payAccount,WxComposeOrder composeOrder,String productName, WxPayOrder record,String openId,String appId,Date currentDate) throws Exception {
private PayCommonMiniAppReq generatePayCommonRequest(WxPayAccount payAccount,WxComposeOrder composeOrder,String productName, WxPayOrder record,String openId,WxAppinfo appInfo,Date currentDate) throws Exception {
PayCommonMiniAppReq req = new PayCommonMiniAppReq(); PayCommonMiniAppReq req = new PayCommonMiniAppReq();
req.setSp_appid(appId);
req.set
String noncestr = Utility.generate32UUID();
WxPayOrderP wxPayOrderP = new WxPayOrderP();
wxPayOrderP.setOpenid(openId);
wxPayOrderP.setAppid(appId);
wxPayOrderP.setMch_id(payAccount.getMchId());
wxPayOrderP.setNonce_str(noncestr);
wxPayOrderP.setBody(productName);
wxPayOrderP.setOut_trade_no(record.getPayOrderNo());
wxPayOrderP.setTotal_fee(composeOrder.getPayment());
wxPayOrderP.setSpbill_create_ip(record.getIp()); // 终端IP
wxPayOrderP.setGoods_tag(productName);
wxPayOrderP.setNotify_url(payAccount.getPayNotifyUrl());
wxPayOrderP.setTrade_type(WxPay.TradeType.JSAPI.name()); // 终端类型
wxPayOrderP.setProduct_id(String.valueOf(composeOrder.getMainOrderId())); // 订单ID
wxPayOrderP.setTime_start(Utility.getDataFormatStringYYYYMMDDHHmmss(currentDate));
Date futureDate = new Date();
futureDate.setTime(currentDate.getTime() + 15 * 60 * 1000);
wxPayOrderP.setTime_expire(Utility.getDataFormatStringYYYYMMDDHHmmss(futureDate)); // 15分钟后结束
Map<String, String> payOrderMap = BeanUtils.toStringMap(wxPayOrderP);
wxPayOrderP.setSign(WxPayment.createSign(payOrderMap, payAccount.getApiKey()));
return wxPayOrderP;
req.setSp_appid(String.valueOf(appInfo.getId()));
req.setSp_mchid(payAccount.getMchId());
WxComposeChildOrderShare share = record.getChildOrderShare(composeOrder.getSingleOrder().getId());
req.setSub_mchid(share.getMerchantUid());
req.setDescription(appInfo.getName()+"-"+productName);
req.setOut_trade_no(String.valueOf(composeOrder.getMainOrderId()));
req.setNotify_url(payAccount.getPayNotifyUrl());
PaySettleReq settle = new PaySettleReq();
settle.setProfit_sharing(true);
req.setSettle_info(settle);
PayAmountReq amout = new PayAmountReq();
amout.setTotal(record.getPayAmount());
req.setAmount(amout);
PayerReq payer = new PayerReq();
payer.setSp_openid(openId);
req.setPayer(payer);
return req;
} }
private CombinePayCommonMiniAppReq generateCombinePayReqeust(WxPayAccount payAccount, WxComposeOrder composeOrder,String productName,WxPayOrder record,WxAppinfo appInfo,String openId,String appId,Date currentDate,EnumPayShare isShare) throws Exception {
private CombinePayCommonMiniAppReq generateCombinePayReqeust(WxPayAccount payAccount,WxComposeOrder composeOrder,List<WxOrder> childOrders,String productName,
WxPayOrder record,WxAppinfo appInfo,String openId,String appId,Date currentDate,EnumPayShare isShare) throws Exception {
CombinePayCommonMiniAppReq req = new CombinePayCommonMiniAppReq();
req.setCombine_appid(appInfo.getAppId());
req.setCombine_mchid(payAccount.getMchId());
req.setCombine_out_trade_no(String.valueOf(composeOrder.getMainOrderId()));
List<CombineItemOrder> suborders = new ArrayList<CombineItemOrder>();
for (WxOrder order : childOrders) {
CombineItemOrder so = new CombineItemOrder();
so.initByWxOrder(payAccount, order, subMchId, appInfo, productName, String.valueOf(record.getId()));
}
//composeOrder.
String noncestr = Utility.generate32UUID(); String noncestr = Utility.generate32UUID();
WxPayOrderSP wxPayOrderSP = new WxPayOrderSP(); WxPayOrderSP wxPayOrderSP = new WxPayOrderSP();
wxPayOrderSP.setSub_openid(openId); wxPayOrderSP.setSub_openid(openId);
@@ -104,7 +126,7 @@ public class WxMiniAppPayV3AdapterService implements CDrivingPayService{
} }
Map<String, String> payOrderMap = BeanUtils.toStringMap(wxPayOrderSP); Map<String, String> payOrderMap = BeanUtils.toStringMap(wxPayOrderSP);
wxPayOrderSP.setSign(WxPayment.createSignHMAC(payOrderMap, payAccount.getApiKey())); wxPayOrderSP.setSign(WxPayment.createSignHMAC(payOrderMap, payAccount.getApiKey()));
return wxPayOrderSP;
return null;
} }
private PayAdapterResult getOrderPResult(String response) { private PayAdapterResult getOrderPResult(String response) {
@@ -131,7 +153,8 @@ public class WxMiniAppPayV3AdapterService implements CDrivingPayService{
* https://pay.weixin.qq.com/wiki/doc/apiv3_partner/open/pay/chapter3_3_0.shtml * https://pay.weixin.qq.com/wiki/doc/apiv3_partner/open/pay/chapter3_3_0.shtml
*/ */
@Override @Override
public PayAdapterResult pay(WxPayAccount payAccount, WxPayOrder record,WxComposeOrder composeOrder,String productName,EnumPayShare isShare,WxAppinfo appInfo,Date currentDate, PayExtraParam params) throws Exception {
public PayAdapterResult pay(WxPayAccount payAccount,WxPayOrder record,WxComposeOrder composeOrder,List<WxOrder> childOrders,
String productName,EnumPayShare isShare,WxAppinfo appInfo,Date currentDate, PayExtraParam params) throws Exception {
if (null == params ) { if (null == params ) {
throw new MallinkException(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"openId为空"); throw new MallinkException(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"openId为空");
} }
@@ -141,23 +164,31 @@ public class WxMiniAppPayV3AdapterService implements CDrivingPayService{
} }
if (payAccount.getType() == EnumPayMode.MCH.getCode()) { if (payAccount.getType() == EnumPayMode.MCH.getCode()) {
throw new MallinkException(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"当前商户号非服务商模式,不能使用该产品.");
throw new MallinkException(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"当前支付配置非服务商模式,不能使用该产品.");
}
//只能直连模式,
if (payAccount.getMchType() != EnumPayMchType.DIRECT.getCode()) {
throw new MallinkException(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"当前支付版本不支持非直连模式");
} }
WxPayService payService = maUtil.getWxPayService(appInfo, payAccount); WxPayService payService = maUtil.getWxPayService(appInfo, payAccount);
if (null == childOrders || childOrders.size() <= 0 ) {
throw new MallinkException(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"子订单为空");
}
/* /*
* 普通支付/小程序支付 * 普通支付/小程序支付
* https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter7_2_3.shtml * https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter7_2_3.shtml
*/ */
if (!EnumComposeOrder.isMulityMerchantPay(composeOrder.getComposeOrderType())) {
PayCommonMiniAppReq payReq = generatePayCommonRequest(payAccount,composeOrder,productName,record,openId,appInfo.getAppId(),currentDate);
if (childOrders.size() == 1) {
PayCommonMiniAppReq payReq = generatePayCommonRequest(payAccount,composeOrder,productName,record,openId,appInfo,currentDate);
String response = WxPayV3.payCommonWithMiniApp(payService, payReq); String response = WxPayV3.payCommonWithMiniApp(payService, payReq);
log.info("pay order v3, " + payReq.toString() + ", response: " + response.toString()); log.info("pay order v3, " + payReq.toString() + ", response: " + response.toString());
return getOrderPResult(response); return getOrderPResult(response);
} else { } else {
//合单支付/小程序支付 //合单支付/小程序支付
CombinePayCommonMiniAppReq payReq = generateCombinePayReqeust(payAccount,composeOrder,productName,record,appInfo,openId,appInfo.getAppId(),currentDate,isShare);
CombinePayCommonMiniAppReq payReq = generateCombinePayReqeust(payAccount,composeOrder,childOrders,productName,record,appInfo,openId,appInfo.getAppId(),currentDate,isShare);
String response = WxPayV3.payCombineCommonWithMiniApp(payService, payReq); String response = WxPayV3.payCombineCommonWithMiniApp(payService, payReq);
log.info("pay order v3," + payReq.toString() + ", response: " + response.toString()); log.info("pay order v3," + payReq.toString() + ", response: " + response.toString());
return getOrderPResult(response); return getOrderPResult(response);


+ 2
- 2
mallinkService/src/main/java/com/iformall/service/pay/service/pay/wx/v3/miniApp/maPay/WxMiniMaPayV3AdapterService.java Ver fichero

@@ -158,8 +158,8 @@ public class WxMiniMaPayV3AdapterService implements CPassivePayService{
@Override @Override
public PayAdapterResult pay(WxPayAccount payAccount, WxPayOrder record, WxComposeOrder composeOrder,String productName, EnumPayShare isShare,
WxAppinfo appInfo, Date currentDate, PayExtraParam params) throws Exception {
public PayAdapterResult pay(WxPayAccount payAccount,WxPayOrder record, WxComposeOrder composeOrder,List<WxOrder> childOrders,
String productName, EnumPayShare isShare,WxAppinfo appInfo, Date currentDate, PayExtraParam params) throws Exception {
if (payAccount.getType() == EnumPayMode.MCH.getCode()) { if (payAccount.getType() == EnumPayMode.MCH.getCode()) {
// 扫码支付 普通商户模式 // 扫码支付 普通商户模式
String bAppId = (String) params.getValue("bAppId"); String bAppId = (String) params.getValue("bAppId");


+ 1
- 1
mallinkService/src/main/java/com/iformall/service/pay/service/share/PayShareAdapterService.java Ver fichero

@@ -23,7 +23,7 @@ import com.iformall.service.pay.service.share.entity.ShareNotifyAdapterResult;
* @author alascor * @author alascor
*/ */
public interface PayShareAdapterService { public interface PayShareAdapterService {
/** /**
* 账单类型, 对账单类型 * 账单类型, 对账单类型
* @return * @return


+ 9
- 2
mallinkService/src/main/java/com/iformall/service/pay/service/share/douyin/TtPayShareService.java Ver fichero

@@ -22,9 +22,10 @@ import com.iformall.douyin.payv2.result.ProfitSharingResult;
import com.iformall.enums.*; import com.iformall.enums.*;
import com.iformall.exception.MallinkException; import com.iformall.exception.MallinkException;
import com.iformall.mapper.*; import com.iformall.mapper.*;
import com.iformall.service.WxProfitSharingReceiverService;
import com.iformall.service.order.entity.WxComposeChildOrderShare; import com.iformall.service.order.entity.WxComposeChildOrderShare;
import com.iformall.service.order.util.OrderHelper; import com.iformall.service.order.util.OrderHelper;
import com.iformall.service.pay.service.pay.douyin.miniApp.EnumTtPayChannel;
import com.iformall.service.pay.service.pay.douyin.v1.miniApp.EnumTtPayChannel;
import com.iformall.service.pay.service.share.PayShareBaseAdapterService; import com.iformall.service.pay.service.share.PayShareBaseAdapterService;
import com.iformall.service.pay.service.share.entity.PayShareCalculateAmount; import com.iformall.service.pay.service.share.entity.PayShareCalculateAmount;
import com.iformall.service.pay.service.share.entity.PayShareQueryResult; import com.iformall.service.pay.service.share.entity.PayShareQueryResult;
@@ -36,6 +37,7 @@ import com.iformall.utils.MaUtil;
import com.iformall.utils.PayUtils; import com.iformall.utils.PayUtils;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;


import java.util.*; import java.util.*;
@@ -73,7 +75,12 @@ public class TtPayShareService extends PayShareBaseAdapterService{


@Autowired @Autowired
OrderCpsMapper orderCpsMapper; OrderCpsMapper orderCpsMapper;

@Lazy
@Autowired
WxProfitSharingReceiverService wxProfitSharingReceiverService;
@Override @Override
public Integer getSubsidyType() { public Integer getSubsidyType() {
return EnumMerchantSubsidyType.DOUYIN.getCode(); return EnumMerchantSubsidyType.DOUYIN.getCode();


+ 3
- 1
mallinkService/src/main/java/com/iformall/service/pay/service/share/wx/v2/WxPayShareService.java Ver fichero

@@ -11,7 +11,7 @@ import com.iformall.domain.po.base.TenantEntity;
import com.iformall.douyin.pay.enums.MerchantImportStatus; import com.iformall.douyin.pay.enums.MerchantImportStatus;
import com.iformall.enums.*; import com.iformall.enums.*;
import com.iformall.mapper.*; import com.iformall.mapper.*;
import com.iformall.service.pay.service.pay.douyin.miniApp.EnumTtPayChannel;
import net.sf.saxon.trans.Err; import net.sf.saxon.trans.Err;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@@ -30,6 +30,7 @@ import com.iformall.pay.WxProfitSharingP;
import com.iformall.pay.WxProfitSharingQueryP; import com.iformall.pay.WxProfitSharingQueryP;
import com.iformall.pay.WxProfitSharingReceiverP; import com.iformall.pay.WxProfitSharingReceiverP;
import com.iformall.service.order.util.OrderHelper; import com.iformall.service.order.util.OrderHelper;
import com.iformall.service.pay.service.pay.douyin.v1.miniApp.EnumTtPayChannel;
import com.iformall.service.pay.service.share.PayShareAdapterService; import com.iformall.service.pay.service.share.PayShareAdapterService;
import com.iformall.service.pay.service.share.PayShareBaseAdapterService; import com.iformall.service.pay.service.share.PayShareBaseAdapterService;
import com.iformall.service.pay.service.share.entity.ShareAccountResult; import com.iformall.service.pay.service.share.entity.ShareAccountResult;
@@ -57,6 +58,7 @@ public class WxPayShareService extends PayShareBaseAdapterService{
"\"CLOSED\": 6}"); "\"CLOSED\": 6}");
@Override @Override
public Integer getSubsidyType() { public Integer getSubsidyType() {
return EnumMerchantSubsidyType.WECHAT.getCode(); return EnumMerchantSubsidyType.WECHAT.getCode();


+ 10
- 1
mallinkService/src/main/java/com/iformall/service/pay/service/share/wx/v3/WxPayShareV3Service.java Ver fichero

@@ -11,10 +11,11 @@ import com.iformall.domain.po.base.TenantEntity;
import com.iformall.douyin.pay.enums.MerchantImportStatus; import com.iformall.douyin.pay.enums.MerchantImportStatus;
import com.iformall.enums.*; import com.iformall.enums.*;
import com.iformall.mapper.*; import com.iformall.mapper.*;
import com.iformall.service.pay.service.pay.douyin.miniApp.EnumTtPayChannel;
import net.sf.saxon.trans.Err; import net.sf.saxon.trans.Err;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;


import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
@@ -29,7 +30,9 @@ import com.iformall.pay.WxProfitSharingFinishP;
import com.iformall.pay.WxProfitSharingP; import com.iformall.pay.WxProfitSharingP;
import com.iformall.pay.WxProfitSharingQueryP; import com.iformall.pay.WxProfitSharingQueryP;
import com.iformall.pay.WxProfitSharingReceiverP; import com.iformall.pay.WxProfitSharingReceiverP;
import com.iformall.service.WxProfitSharingReceiverService;
import com.iformall.service.order.util.OrderHelper; import com.iformall.service.order.util.OrderHelper;
import com.iformall.service.pay.service.pay.douyin.v1.miniApp.EnumTtPayChannel;
import com.iformall.service.pay.service.share.PayShareAdapterService; import com.iformall.service.pay.service.share.PayShareAdapterService;
import com.iformall.service.pay.service.share.PayShareBaseAdapterService; import com.iformall.service.pay.service.share.PayShareBaseAdapterService;
import com.iformall.service.pay.service.share.entity.ShareAccountResult; import com.iformall.service.pay.service.share.entity.ShareAccountResult;
@@ -49,6 +52,10 @@ public class WxPayShareV3Service extends PayShareBaseAdapterService{


@Autowired @Autowired
WxProfitSharingOrderMapper wxProfitSharingOrderMapper; WxProfitSharingOrderMapper wxProfitSharingOrderMapper;
@Lazy
@Autowired
WxProfitSharingReceiverService wxProfitSharingReceiverService;


final JSONObject statusMap = JSON.parseObject( final JSONObject statusMap = JSON.parseObject(
"{\"ACCEPTED\":3," + "{\"ACCEPTED\":3," +
@@ -57,6 +64,8 @@ public class WxPayShareV3Service extends PayShareBaseAdapterService{
"\"CLOSED\": 6}"); "\"CLOSED\": 6}");
@Override @Override
public Integer getSubsidyType() { public Integer getSubsidyType() {
return EnumMerchantSubsidyType.WECHAT.getCode(); return EnumMerchantSubsidyType.WECHAT.getCode();


Cargando…
Cancelar
Guardar