From bb9d5ee5331934f64dcbe045619d7c9188661ce7 Mon Sep 17 00:00:00 2001 From: xhxu Date: Wed, 31 Aug 2022 16:50:42 +0800 Subject: [PATCH] // test --- .../service/impl/WxPayOrderServiceImpl.java | 10 ++-- .../impl/WxProfitSharingOrderServiceImpl.java | 52 +++++++++---------- .../share/wx/v3/WxPayShareV3Service.java | 8 ++- 3 files changed, 31 insertions(+), 39 deletions(-) diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxPayOrderServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxPayOrderServiceImpl.java index 553e1ee63..bbaad2b72 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxPayOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxPayOrderServiceImpl.java @@ -362,13 +362,9 @@ public class WxPayOrderServiceImpl implements WxPayOrderService { if(payMchTypeEnum != null){ payMchType = payMchTypeEnum; } - if(EnumPayMchType.DIRECT.equals(payMchType)){ - isShare = EnumPayShare.NO; - }else{ - EnumPayShare paySHareEnum = EnumPayShare.getEnum(payAccount.getShare()); - if (paySHareEnum != null) { - isShare = paySHareEnum; - } + EnumPayShare paySHareEnum = EnumPayShare.getEnum(payAccount.getShare()); + if (paySHareEnum != null) { + isShare = paySHareEnum; } Date currentDate = new Date(); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxProfitSharingOrderServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxProfitSharingOrderServiceImpl.java index a196beb1d..c015ffdbe 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxProfitSharingOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxProfitSharingOrderServiceImpl.java @@ -298,12 +298,12 @@ public class WxProfitSharingOrderServiceImpl implements WxProfitSharingOrderServ }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()); + 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(),"当前支付模式调用分账未返回结果"); @@ -325,28 +325,26 @@ public class WxProfitSharingOrderServiceImpl implements WxProfitSharingOrderServ updSharingOrder.setUpdateTime(new Date()); wxProfitSharingOrderMapper.updateById(updSharingOrder); - if(jsonArray != 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",e); + 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",e); // return new ResultData(ErrorCode.PROFIT_SHARING_RECEIVER_INVALID); - } } return new ResultData(shareResult.getData()); diff --git a/mallinkService/src/main/java/com/iformall/service/pay/service/share/wx/v3/WxPayShareV3Service.java b/mallinkService/src/main/java/com/iformall/service/pay/service/share/wx/v3/WxPayShareV3Service.java index cbda37875..01a47a8d2 100644 --- a/mallinkService/src/main/java/com/iformall/service/pay/service/share/wx/v3/WxPayShareV3Service.java +++ b/mallinkService/src/main/java/com/iformall/service/pay/service/share/wx/v3/WxPayShareV3Service.java @@ -78,7 +78,7 @@ public class WxPayShareV3Service extends PayShareBaseAdapterService{ @Override public WxProfitSharingOrder createSharingOrder(WxSharingOrderDto sharingOrderDto, Integer mchType,Integer share) { - if(EnumPayMchType.TOTAL.getCode().equals(mchType) && EnumYesOrNo.NO.getCode().equals(share)){ + if(EnumYesOrNo.NO.getCode().equals(share)){ throw new MallinkException(ErrorCode.SYS_PARAMETER_TYPE_ERROR.getCode(),"微信分账未开启"); } //是否已创建分账订单 @@ -99,7 +99,6 @@ public class WxPayShareV3Service extends PayShareBaseAdapterService{ record.setMerchantId(sharingOrderDto.getMerchantId()); //直连模式, if (mchType == EnumPayMchType.DIRECT.getCode()) { - record.setType(EnumProfitSharingOrderType.PROFIT_SHARING_SINGLE_FINISH.getCode()); if (null == sharingOrderDto.getPayMerchantId()) { throw new MallinkException(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"直连模式当前订单的收款商户查询为空"); } @@ -108,14 +107,13 @@ public class WxPayShareV3Service extends PayShareBaseAdapterService{ } record.setPayMerchantId(sharingOrderDto.getPayMerchantId()); record.setPayMerchantMchId(sharingOrderDto.getPayMerchantMchId()); - }else{ - record.setType(sharingOrderDto.getType()); - } + } record.setSharingStatus(this.getSharingOrderInitialStatus()); record.setCreateTime(currentDate); record.setUpdateTime(currentDate); record.setPayTimeStart(sharingOrderDto.getPayTimeStart()); record.setPayTimeEnd(sharingOrderDto.getPayTimeEnd()); + record.setType(sharingOrderDto.getType()); wxProfitSharingOrderMapper.insert(record); } //如果是总分模式,则需要加上收款账户