Просмотр исходного кода

fix pay v3 share

release_toaliyun_real
zhengfangyuan 3 лет назад
Родитель
Сommit
913fdba570
13 измененных файлов: 124 добавлений и 80 удалений
  1. +1
    -1
      mallinkService/src/main/java/com/iformall/service/WxProfitSharingOrderService.java
  2. +1
    -2
      mallinkService/src/main/java/com/iformall/service/WxProfitSharingReceiverService.java
  3. +4
    -1
      mallinkService/src/main/java/com/iformall/service/helper/WxCUserTagsServiceHelper.java
  4. +15
    -6
      mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java
  5. +1
    -1
      mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java
  6. +1
    -1
      mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java
  7. +63
    -44
      mallinkService/src/main/java/com/iformall/service/impl/WxProfitSharingOrderServiceImpl.java
  8. +2
    -6
      mallinkService/src/main/java/com/iformall/service/impl/WxProfitSharingReceiverServiceImpl.java
  9. +2
    -1
      mallinkService/src/main/java/com/iformall/service/pay/service/share/PayShareAdapterService.java
  10. +3
    -4
      mallinkService/src/main/java/com/iformall/service/pay/service/share/douyin/TtPayShareService.java
  11. +1
    -1
      mallinkService/src/main/java/com/iformall/service/pay/service/share/wx/sft/WxPayShareSFTService.java
  12. +9
    -6
      mallinkService/src/main/java/com/iformall/service/pay/service/share/wx/v2/WxPayShareService.java
  13. +21
    -6
      mallinkService/src/main/java/com/iformall/service/pay/service/share/wx/v3/WxPayShareV3Service.java

+ 1
- 1
mallinkService/src/main/java/com/iformall/service/WxProfitSharingOrderService.java Просмотреть файл

@@ -21,7 +21,7 @@ public interface WxProfitSharingOrderService {
/**
* 创建分账订单
*/
ResultData createSharingOrder(WxSharingOrderDto wxSharingOrderDto,Integer payway,Integer payVersion,Integer mchType,Integer share);
ResultData createSharingOrder(WxSharingOrderDto wxSharingOrderDto,WxPayOrder payOrder,Integer payway,Integer payVersion,Integer mchType,Integer share);

/**
* 分账重试


+ 1
- 2
mallinkService/src/main/java/com/iformall/service/WxProfitSharingReceiverService.java Просмотреть файл

@@ -44,8 +44,7 @@ public interface WxProfitSharingReceiverService {
void deleteById(Long id);

WxProfitSharingReceiver findReceiver(TenantEntity tenantEntity,Long merchantId, EnumAppPlat plat,EnumProfitSharingType sharingType);

List<WxProfitSharingReceiver> findReceivers(TenantEntity tenantEntity,Long merchantId,EnumAppPlat plat);
List<WxProfitSharingReceiver> findReceivers(TenantEntity tenantEntity,Long merchantId);

ResultData addReceiver(WxMerchant merchant, WxProfitSharingReceiver receiver, List<WxProfitSharingReceiver> delList);



+ 4
- 1
mallinkService/src/main/java/com/iformall/service/helper/WxCUserTagsServiceHelper.java Просмотреть файл

@@ -343,7 +343,7 @@ public class WxCUserTagsServiceHelper{

public List<WxTags> assignTypeId14(WxCUserBasicInfo user,TenantEntity tenantEntity, WxCUserTagsService wxCUserTagsService)
{
List<WxTags> resList = null;
List<WxTags> resList = new ArrayList<WxTags>();
Calendar endC = Calendar.getInstance();
Calendar startC = Calendar.getInstance();
endC.setTime(new Date());
@@ -443,6 +443,9 @@ public class WxCUserTagsServiceHelper{
}
});

if (resList.size() == 0) {
return null;
}
return resList;
}



+ 15
- 6
mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java Просмотреть файл

@@ -1298,6 +1298,9 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService {
throw new MallinkException(ErrorCode.VERIFY_COUPON_ORDER_MERCHANT_IS_NULL);
}
merchantId = bUser.getMerchantId();
//TODO 111111111查询核销商户的收款账户有没有配置
//couponOrder.getm
}

if(merchantId != null){
@@ -1308,10 +1311,16 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService {
WxPayOrder wxPayOrder = wxPayOrderMapper.selectOne(new QueryWrapper(wxPayOrderQ));
if(wxPayOrder != null && EnumPayMchType.TOTAL.getCode().equals(wxPayOrder.getMchType())
&& EnumPayShare.YES.getCode().equals(wxPayOrder.getShare())){
payServiceFactory.getPayShareAdapterService(wxPayOrder.getPayVendor(),couponOrder.getPayVersion())
.getReceiverList(couponOrder, merchantId, wxPayOrder.getTtPayWay());
WxProfitSharingReceiver receiver = payServiceFactory.getPayShareAdapterService(wxPayOrder.getPayVendor(),couponOrder.getPayVersion())
.getReceiver(couponOrder, merchantId, wxPayOrder.getTtPayWay(),wxPayOrder.getMchType());
if (null == receiver) {
throw new MallinkException(ErrorCode.VERIFY_COUPON_ORDER_MERCHANT_IS_NULL.getCode(),"当前商户没有配置收款账号。");
}
}else if(wxPayOrder != null && EnumPayMchType.DIRECT.getCode().equals(wxPayOrder.getMchType())){
merchantId = wxPayOrder.getChildOrderShare(couponOrder.getOrderId()).getMerchantId();
if (null == merchantId) {
throw new MallinkException(ErrorCode.VERIFY_COUPON_ORDER_MERCHANT_IS_NULL.getCode(),"订单支付信息未包含商户");
}
}
}

@@ -1705,10 +1714,10 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService {
logger.error("核销记账失败"+e.getMessage(),e);
}
}else if(wxPayOrder != null && EnumPayMchType.TOTAL.getCode().equals(wxPayOrder.getMchType())){
List<WxProfitSharingReceiver> psReceiverList = payServiceFactory.getPayShareAdapterService(payWay,couponOrder.getPayVersion())
.getReceiverList(wxPayOrder,merchantId,wxPayOrder.getTtPayWay());
WxProfitSharingReceiver psReceiver = payServiceFactory.getPayShareAdapterService(payWay,couponOrder.getPayVersion())
.getReceiver(wxPayOrder,merchantId,wxPayOrder.getTtPayWay(),wxPayOrder.getMchType());

if (psReceiverList == null || psReceiverList.size() == 0) {
if (psReceiver == null) {
try {
// 查询不到分账帐号,往账户里面记帐
if (couponOrder.getCouponPrice() > 0) {
@@ -1750,7 +1759,7 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService {
wxSharingOrderDto.setPayTimeEnd(wxPayOrder.getPayTimeEnd());
wxSharingOrderDto.updateTenantInfo(wxPayOrder);
wxSharingOrderDto.setTransactionId(wxPayOrder.getTransactionId());
wxProfitSharingOrderService.createSharingOrder(wxSharingOrderDto,payWay,wxPayOrder.getPayVersion(),wxPayOrder.getMchType(),wxPayOrder.getShare());
wxProfitSharingOrderService.createSharingOrder(wxSharingOrderDto,wxPayOrder,payWay,wxPayOrder.getPayVersion(),wxPayOrder.getMchType(),wxPayOrder.getShare());
}
} catch (Exception e) {
logger.error("微信分账: " + e.getMessage());


+ 1
- 1
mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java Просмотреть файл

@@ -355,7 +355,7 @@ public class WxMerchantServiceImpl implements WxMerchantService {
}

//分账信息
List<WxProfitSharingReceiver> receiver = wxProfitSharingReceiverService.findReceivers(wxMerchant,wxMerchant.getId(),null);
List<WxProfitSharingReceiver> receiver = wxProfitSharingReceiverService.findReceivers(wxMerchant,wxMerchant.getId());
if (receiver != null) {
wxMerchant.setWxProfitSharingReceiver(receiver);
}


+ 1
- 1
mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java Просмотреть файл

@@ -2569,7 +2569,7 @@ public class WxOrderServiceImpl implements WxOrderService {
sharingOrder.setPayTimeEnd(wxPayOrder.getPayTimeEnd());
sharingOrder.updateTenantInfo(wxPayOrder);
sharingOrder.setTransactionId(wxPayOrder.getTransactionId());
wxProfitSharingOrderService.createSharingOrder(sharingOrder,payWay.getCode(),wxPayOrder.getPayVersion(),wxPayOrder.getMchType(),wxPayOrder.getShare());
wxProfitSharingOrderService.createSharingOrder(sharingOrder,wxPayOrder,payWay.getCode(),wxPayOrder.getPayVersion(),wxPayOrder.getMchType(),wxPayOrder.getShare());
} else {


+ 63
- 44
mallinkService/src/main/java/com/iformall/service/impl/WxProfitSharingOrderServiceImpl.java Просмотреть файл

@@ -261,7 +261,7 @@ public class WxProfitSharingOrderServiceImpl implements WxProfitSharingOrderServ

@Override
// @Transactional(isolation=Isolation.SERIALIZABLE, propagation = Propagation.REQUIRED, rollbackFor = {Exception.class})
public ResultData createSharingOrder(WxSharingOrderDto sharingOrderDto,Integer payWay,Integer payVersion,Integer mchType,Integer share) {
public ResultData createSharingOrder(WxSharingOrderDto sharingOrderDto,WxPayOrder payOrder,Integer payWay,Integer payVersion,Integer mchType,Integer share) {

PayShareAdapterService payShareAdapterService = payServiceFactory.getPayShareAdapterService(payWay,payVersion);

@@ -279,54 +279,73 @@ public class WxProfitSharingOrderServiceImpl implements WxProfitSharingOrderServ
if (null == shareType) {
throw new MallinkException(ErrorCode.SYS_PARAMETER_ERROR.getCode(),sharingOrderDto.getType()+"在分账方式中不存在。EnumProfitSharingOrderType");
}
if(StringUtils.isNotBlank(record.getReceivers())){
JSONArray jsonArray = JSONArray.parseArray(record.getReceivers());
WxAppinfo appInfo = getAppinfo(sharingOrderDto.getTenantId(),payWay);
WxPayAccount payAccount = wxPayAccountMapper.selectById(appInfo.getPayId());

PayShareResult shareResult = payShareAdapterService.haveReciversShare(appInfo, payAccount, record,
sharingOrderDto.getTransactionId(), jsonArray, shareType);
WxProfitSharingOrder updSharingOrder = new WxProfitSharingOrder();
updSharingOrder.updateTenantInfo(record);
updSharingOrder.setId(record.getId());
updSharingOrder.setOutSettleNo(record.getOutSettleNo());
if (!shareResult.isSuccess()) {
updSharingOrder.setSharingStatus(shareResult.getCode());
updSharingOrder.setErrorMsg(shareResult.getMsg());
updSharingOrder.setUpdateTime(new Date());
wxProfitSharingOrderMapper.updateById(updSharingOrder);
return new ResultData(ErrorCode.PROFIT_SHARING_REQUEST_FAILED.getCode(),updSharingOrder.getErrorMsg());
}
updSharingOrder.setSharingOrderNo(shareResult.getShareOrderNo());
updSharingOrder.setSharingStatus(EnumProfitSharingOrderStatus.PROFIT_SHARING_ACCEPTED.getCode());
WxAppinfo appInfo = getAppinfo(sharingOrderDto.getTenantId(),payWay);
WxPayAccount payAccount = wxPayAccountMapper.selectById(appInfo.getPayId());
PayShareResult shareResult = null;
JSONArray jsonArray = null;
//总分模式,收款账户分账
if (EnumPayMchType.TOTAL.getCode() == mchType) {
if(StringUtils.isNotBlank(record.getReceivers())){
jsonArray = JSONArray.parseArray(record.getReceivers());
shareResult = payShareAdapterService.haveReciversShare(appInfo, payAccount, record,
sharingOrderDto.getTransactionId(), jsonArray, shareType);
}else {
return new ResultData();
}
//直连模式,不用分账,直接完结分账
}else if (EnumPayMchType.DIRECT.getCode() == mchType) {
shareResult = payShareAdapterService.noReciverShare(appInfo, payAccount, record, sharingOrderDto.getTransactionId(), sharingOrderDto.getShareAmount());
//当前商户的收款账号
WxProfitSharingReceiver receiver = payShareAdapterService.getReceiver(sharingOrderDto, sharingOrderDto.getMerchantId(), payOrder.getTtPayWay(), mchType);
if (null == receiver) {
return new ResultData(ErrorCode.PROFIT_SHARING_REQUEST_FAILED.getCode(),"当前商户未配置收款账号");
}
StringBuffer sb = new StringBuffer("[{").append("\"description\":").append(receiver.getId()).append(",\"amount\":").append(sharingOrderDto.getShareAmount());
jsonArray = JSONArray.parseArray(sb.toString());
}
if (null == shareResult) {
return new ResultData(ErrorCode.PROFIT_SHARING_REQUEST_FAILED.getCode(),"当前支付模式调用分账未返回结果");
}
WxProfitSharingOrder updSharingOrder = new WxProfitSharingOrder();
updSharingOrder.updateTenantInfo(record);
updSharingOrder.setId(record.getId());
updSharingOrder.setOutSettleNo(record.getOutSettleNo());
if (!shareResult.isSuccess()) {
updSharingOrder.setSharingStatus(shareResult.getCode());
updSharingOrder.setErrorMsg(shareResult.getMsg());
updSharingOrder.setUpdateTime(new Date());
wxProfitSharingOrderMapper.updateById(updSharingOrder);
return new ResultData(ErrorCode.PROFIT_SHARING_REQUEST_FAILED.getCode(),updSharingOrder.getErrorMsg());
}
updSharingOrder.setSharingOrderNo(shareResult.getShareOrderNo());
updSharingOrder.setSharingStatus(EnumProfitSharingOrderStatus.PROFIT_SHARING_ACCEPTED.getCode());
updSharingOrder.setUpdateTime(new Date());
wxProfitSharingOrderMapper.updateById(updSharingOrder);

final IdWorker idworker = IdWorker.get();
try {
jsonArray.stream().forEach(obj -> {
JSONObject receiver =(JSONObject) obj;
Date currentDate = new Date();
WxProfitSharingResult result = new WxProfitSharingResult();
result.setId(idworker.nextId());
result.updateTenantInfo(sharingOrderDto);
result.setMerchantId(record.getMerchantId());
result.setSharingOrderId(record.getId());
result.setSharingReceiverId(Long.valueOf(receiver.getString("description")));
result.setPayAmount(receiver.getInteger("amount"));
result.setCreateTime(currentDate);
result.setUpdateTime(currentDate);
result.setSharingStatus(EnumProfitSharingResultStatus.PROFIT_SHARING_RESULT_PENDING.getCode());
wxProfitSharingResultMapper.insert(result);
});
}catch (Exception e) {
logger.error("分账详细信息为null");
final IdWorker idworker = IdWorker.get();
try {
jsonArray.stream().forEach(obj -> {
JSONObject receiver =(JSONObject) obj;
Date currentDate = new Date();
WxProfitSharingResult result = new WxProfitSharingResult();
result.setId(idworker.nextId());
result.updateTenantInfo(sharingOrderDto);
result.setMerchantId(record.getMerchantId());
result.setSharingOrderId(record.getId());
result.setSharingReceiverId(Long.valueOf(receiver.getString("description")));
result.setPayAmount(receiver.getInteger("amount"));
result.setCreateTime(currentDate);
result.setUpdateTime(currentDate);
result.setSharingStatus(EnumProfitSharingResultStatus.PROFIT_SHARING_RESULT_PENDING.getCode());
wxProfitSharingResultMapper.insert(result);
});
}catch (Exception e) {
logger.error("分账详细信息为null");
// return new ResultData(ErrorCode.PROFIT_SHARING_RECEIVER_INVALID);
}

return new ResultData(shareResult.getData());
}
return new ResultData();
return new ResultData(shareResult.getData());

}



+ 2
- 6
mallinkService/src/main/java/com/iformall/service/impl/WxProfitSharingReceiverServiceImpl.java Просмотреть файл

@@ -128,20 +128,16 @@ public class WxProfitSharingReceiverServiceImpl implements WxProfitSharingReceiv
receiver.setStatus(EnumProfitSharingReceiverStatus.PROFIT_SHARING_RECEIVER_STATUS_VALID.getCode());
return wxProfitSharingReceiverMapper.findOne(receiver);
}
@Override
public List<WxProfitSharingReceiver> findReceivers(TenantEntity tenantEntity, Long merchantId,EnumAppPlat plat) {
public List<WxProfitSharingReceiver> findReceivers(TenantEntity tenantEntity,Long merchantId) {
WxProfitSharingReceiver receiver = new WxProfitSharingReceiver();
receiver.updateTenantInfo(tenantEntity);
receiver.setMerchantId(merchantId);
if (null != plat) {
receiver.setPlat(plat.getCode());
}
receiver.setStatus(EnumProfitSharingReceiverStatus.PROFIT_SHARING_RECEIVER_STATUS_VALID.getCode());
return wxProfitSharingReceiverMapper.findList(receiver);
}


@Override
public ResultData addReceiver(WxMerchant merchant, WxProfitSharingReceiver receiver, List<WxProfitSharingReceiver> delList) {



+ 2
- 1
mallinkService/src/main/java/com/iformall/service/pay/service/share/PayShareAdapterService.java Просмотреть файл

@@ -12,6 +12,7 @@ import com.iformall.enums.EnumPayMchType;
import com.iformall.enums.EnumPayWay;
import com.iformall.enums.EnumProfitSharingOrderType;
import com.iformall.enums.EnumProfitSharingReceiverType;
import com.iformall.enums.EnumProfitSharingType;
import com.iformall.exception.MallinkException;
import com.iformall.service.pay.service.share.entity.ShareAccountResult;
import com.iformall.service.pay.service.share.entity.PayShareCalculateAmount;
@@ -49,7 +50,7 @@ public interface PayShareAdapterService {
* @param ttPayWay
* @return
*/
List<WxProfitSharingReceiver> getReceiverList(TenantEntity tenantEntity, Long merchantId, Integer ttPayWay);
WxProfitSharingReceiver getReceiver(TenantEntity tenantEntity, Long merchantId, Integer ttPayWay,Integer mchType);
/**
* 创建分账记录


+ 3
- 4
mallinkService/src/main/java/com/iformall/service/pay/service/share/douyin/TtPayShareService.java Просмотреть файл

@@ -319,8 +319,7 @@ public class TtPayShareService extends PayShareBaseAdapterService{
Map<Long,WxCouponOrder> map = list.stream().collect(Collectors.toMap(WxCouponOrder::getOrderId, co -> co));
for (WxOrder o:list1) {
WxCouponOrder co = map.get(o.getId());
List<WxProfitSharingReceiver> receiverList = getReceiverList(payOrder, co.getBMerchantId(), payOrder.getTtPayWay());
WxProfitSharingReceiver receiver = receiverList.get(0);
WxProfitSharingReceiver receiver = getReceiver(payOrder, co.getBMerchantId(), payOrder.getTtPayWay(),payOrder.getMchType());
WxComposeChildOrderShare childOrderShare = payOrder.getChildOrderShare(o.getId());
int darenTakeAmount = 0;
if(EnumOrderCpsStatus.ORDER_IS_CPS.getCode().equals(o.getCpsStatus())){
@@ -401,7 +400,7 @@ public class TtPayShareService extends PayShareBaseAdapterService{
}

@Override
public List<WxProfitSharingReceiver> getReceiverList(TenantEntity tenantEntity, Long merchantId, Integer ttPayWay) {
public WxProfitSharingReceiver getReceiver(TenantEntity tenantEntity, Long merchantId, Integer ttPayWay,Integer mchType) {
WxProfitSharingReceiver psReceiverQ = new WxProfitSharingReceiver();
psReceiverQ.updateTenantInfo(tenantEntity);
psReceiverQ.setMerchantId(merchantId);
@@ -428,7 +427,7 @@ public class TtPayShareService extends PayShareBaseAdapterService{
if(list.size() > 1){
throw new MallinkException(ErrorCode.PROFIT_SHARING_RECEIVER_UNKNOWN.getCode(),"该商户分账帐号异常.");
}
return list;
return list.get(0);
}

}

+ 1
- 1
mallinkService/src/main/java/com/iformall/service/pay/service/share/wx/sft/WxPayShareSFTService.java Просмотреть файл

@@ -169,7 +169,7 @@ public class WxPayShareSFTService extends PayShareBaseAdapterService{
}

@Override
public List<WxProfitSharingReceiver> getReceiverList(TenantEntity tenantEntity, Long merchantId, Integer ttPayWay) {
public WxProfitSharingReceiver getReceiver(TenantEntity tenantEntity, Long merchantId, Integer ttPayWay,Integer mchType) {
return null;
}



+ 9
- 6
mallinkService/src/main/java/com/iformall/service/pay/service/share/wx/v2/WxPayShareService.java Просмотреть файл

@@ -478,15 +478,18 @@ public class WxPayShareService extends PayShareBaseAdapterService{
wxProfitSharingOrderMapper.insert(record);
}

List<WxProfitSharingReceiver> psReceiverList = getReceiverList(sharingOrderDto, sharingOrderDto.getMerchantId(), null);
record.setReceivers(calReceiversAmount(sharingOrderDto, psReceiverList));
wxProfitSharingOrderMapper.updateById(record);

WxProfitSharingReceiver psReceiver = getReceiver(sharingOrderDto, sharingOrderDto.getMerchantId(), null,mchType);
if (null != psReceiver) {
List<WxProfitSharingReceiver> psReceiverList = new ArrayList<WxProfitSharingReceiver>();
psReceiverList.add(psReceiver);
record.setReceivers(calReceiversAmount(sharingOrderDto, psReceiverList));
wxProfitSharingOrderMapper.updateById(record);
}
return record;
}

@Override
public List<WxProfitSharingReceiver> getReceiverList(TenantEntity tenantEntity, Long merchantId, Integer ttPayWay) {
public WxProfitSharingReceiver getReceiver(TenantEntity tenantEntity, Long merchantId, Integer ttPayWay,Integer mchType) {
WxProfitSharingReceiver psReceiverQ = new WxProfitSharingReceiver();
psReceiverQ.updateTenantInfo(tenantEntity);
psReceiverQ.setMerchantId(merchantId);
@@ -504,7 +507,7 @@ public class WxPayShareService extends PayShareBaseAdapterService{
}
}
}
return psReceiverList;
return psReceiverList.get(0);
}

private static String queryOrderShareAmount(String mchId,String transcationId,String apiKey) {


+ 21
- 6
mallinkService/src/main/java/com/iformall/service/pay/service/share/wx/v3/WxPayShareV3Service.java Просмотреть файл

@@ -117,17 +117,32 @@ public class WxPayShareV3Service extends PayShareBaseAdapterService{
wxProfitSharingOrderMapper.insert(record);
}
//如果是总分模式,则需要加上收款账户
if (mchType != EnumPayMchType.TOTAL.getCode()) {
List<WxProfitSharingReceiver> psReceiverList = getReceiverList(sharingOrderDto, sharingOrderDto.getMerchantId(), null);
record.setReceivers(calV3ReceiversAmount(sharingOrderDto, psReceiverList));
wxProfitSharingOrderMapper.updateById(record);
if (mchType == EnumPayMchType.TOTAL.getCode()) {
WxProfitSharingReceiver psReceiver = getReceiver(sharingOrderDto, sharingOrderDto.getMerchantId(), null,mchType);
if (null != psReceiver) {
List<WxProfitSharingReceiver> psReceiverList = new ArrayList<WxProfitSharingReceiver>();
psReceiverList.add(psReceiver);
record.setReceivers(calV3ReceiversAmount(sharingOrderDto, psReceiverList));
wxProfitSharingOrderMapper.updateById(record);
}
}
return record;
}

@Override
public List<WxProfitSharingReceiver> getReceiverList(TenantEntity tenantEntity, Long merchantId, Integer ttPayWay) {
return wxProfitSharingReceiverService.findReceivers(tenantEntity, merchantId,EnumAppPlat.WX);
public WxProfitSharingReceiver getReceiver(TenantEntity tenantEntity, Long merchantId, Integer ttPayWay,Integer mchType) {
WxProfitSharingReceiver receiver = null;
//直连,必须是特约商户号
if (EnumPayMchType.DIRECT.getCode() == mchType) {
receiver = wxProfitSharingReceiverService.findReceiver(tenantEntity, merchantId,EnumAppPlat.WX,EnumProfitSharingType.PROFIT_SHARING_TYPE_WECHAT_v2);
//总分
}else if (EnumPayMchType.TOTAL.getCode() == mchType) {
receiver = wxProfitSharingReceiverService.findReceiver(tenantEntity, merchantId,EnumAppPlat.WX,EnumProfitSharingType.PROFIT_SHARING_TYPE_WECHAT);
}
if (null == receiver) {
throw new MallinkException(ErrorCode.PROFIT_SHARING_RECEIVER_INVALID.getCode(),"该商户未设置分账账号.");
}
return receiver;
}

//无需分账,直接解冻


Загрузка…
Отмена
Сохранить