From 7da8cef3e76de7927454a5669ad32fd5b9390f2c Mon Sep 17 00:00:00 2001 From: xhxu Date: Tue, 6 Sep 2022 16:38:09 +0800 Subject: [PATCH] =?UTF-8?q?//=20=E5=88=86=E8=B4=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../schedule/SharingOrderRedoSchedule.java | 84 +++++++------- .../service/WxProfitSharingOrderService.java | 2 +- .../impl/WxCouponOrderServiceImpl.java | 16 +-- .../service/impl/WxPayOrderServiceImpl.java | 45 ++++---- .../impl/WxProfitSharingOrderServiceImpl.java | 24 ++-- .../appPay/WxMiniAppPayAdapterService.java | 9 +- .../maPay/WxMiniMaPayAdapterService.java | 9 +- .../service/share/PayShareAdapterService.java | 13 --- .../share/douyin/TtPayShareService.java | 109 ------------------ .../share/wx/sft/WxPayShareSFTService.java | 18 --- .../share/wx/v2/WxPayShareService.java | 52 --------- .../share/wx/v3/WxPayShareV3Service.java | 67 +---------- 12 files changed, 91 insertions(+), 357 deletions(-) diff --git a/mallinkSchedule/src/main/java/com/iformall/schedule/SharingOrderRedoSchedule.java b/mallinkSchedule/src/main/java/com/iformall/schedule/SharingOrderRedoSchedule.java index 6340ae985..4be867ee9 100644 --- a/mallinkSchedule/src/main/java/com/iformall/schedule/SharingOrderRedoSchedule.java +++ b/mallinkSchedule/src/main/java/com/iformall/schedule/SharingOrderRedoSchedule.java @@ -62,16 +62,16 @@ public class SharingOrderRedoSchedule { if (null != list) { list.stream().forEach(sharingOrder->{ try { - WxPayOrder wxPayOrder = new WxPayOrder(); - wxPayOrder.updateTenantInfo(sharingOrder); - wxPayOrder.setId(sharingOrder.getOrderId()); - wxPayOrder = wxPayOrderMapper.selectOne(new QueryWrapper(wxPayOrder)); - if (null == wxPayOrder) { - logger.error("分账重试失败:" + EnumProfitSharingOrderType.PROFIT_SHARING_SINGLE.getMessage() - + " ID:" +sharingOrder.getId() - + " RES: wxPayOrder is null." ); - } - ResultData result = wxProfitSharingOrderService.redoSharingOrder(sharingOrder,wxPayOrder); +// WxPayOrder wxPayOrder = new WxPayOrder(); +// wxPayOrder.updateTenantInfo(sharingOrder); +// wxPayOrder.setId(sharingOrder.getOrderId()); +// wxPayOrder = wxPayOrderMapper.selectOne(new QueryWrapper(wxPayOrder)); +// if (null == wxPayOrder) { +// logger.error("分账重试失败:" + EnumProfitSharingOrderType.PROFIT_SHARING_SINGLE.getMessage() +// + " ID:" +sharingOrder.getId() +// + " RES: wxPayOrder is null." ); +// } + ResultData result = wxProfitSharingOrderService.redoSharingOrder(sharingOrder); if (result.code != ResultData.SUCCESS) { logger.error("分账重试失败:" + EnumProfitSharingOrderType.PROFIT_SHARING_SINGLE.getMessage() + " ID:" +sharingOrder.getId() @@ -132,36 +132,36 @@ public class SharingOrderRedoSchedule { } - @Async -// @Scheduled(cron = "0 0 2 * * ?") // 每天凌晨02:00分账重试 - @Scheduled(cron = "0 10 */1 * * ?") // 测试 - public void sharingOrderHanderSchedule() { - List malls = getMalls(); - for (WxMall mall: malls) { - WxProfitSharingOrder wxProfitSharingOrder = new WxProfitSharingOrder(); - wxProfitSharingOrder.setTenantId(mall.getTenantId()); - wxProfitSharingOrder.setSharingStatus(EnumProfitSharingOrderStatus.PROFIT_SHARING_UNKNOWN.getCode()); - List list = wxProfitSharingOrderMapper.findList(wxProfitSharingOrder); - if (null != list) { - list.stream().forEach(sharingOrder->{ - try { - ResultData result = wxProfitSharingOrderService.handerSharingOrder(sharingOrder); - if (result.code != ResultData.SUCCESS) { - logger.error("处理分账数据失败:" + EnumProfitSharingOrderType.PROFIT_SHARING_SINGLE.getMessage() - + " ID:" +sharingOrder.getId() - + " RES:" + result.message); - } - - } catch (Exception e){ - logger.error("处理分账数据失败:" + EnumProfitSharingOrderType.PROFIT_SHARING_SINGLE.getMessage() - + " ID:" +sharingOrder.getId() - + " MSG:" + e.getMessage()); - } - }); - } - - - } - - } +// @Async +//// @Scheduled(cron = "0 0 2 * * ?") // 每天凌晨02:00分账重试 +// @Scheduled(cron = "0 10 */1 * * ?") // 测试 +// public void sharingOrderHanderSchedule() { +// List malls = getMalls(); +// for (WxMall mall: malls) { +// WxProfitSharingOrder wxProfitSharingOrder = new WxProfitSharingOrder(); +// wxProfitSharingOrder.setTenantId(mall.getTenantId()); +// wxProfitSharingOrder.setSharingStatus(EnumProfitSharingOrderStatus.PROFIT_SHARING_UNKNOWN.getCode()); +// List list = wxProfitSharingOrderMapper.findList(wxProfitSharingOrder); +// if (null != list) { +// list.stream().forEach(sharingOrder->{ +// try { +// ResultData result = wxProfitSharingOrderService.handerSharingOrder(sharingOrder); +// if (result.code != ResultData.SUCCESS) { +// logger.error("处理分账数据失败:" + EnumProfitSharingOrderType.PROFIT_SHARING_SINGLE.getMessage() +// + " ID:" +sharingOrder.getId() +// + " RES:" + result.message); +// } +// +// } catch (Exception e){ +// logger.error("处理分账数据失败:" + EnumProfitSharingOrderType.PROFIT_SHARING_SINGLE.getMessage() +// + " ID:" +sharingOrder.getId() +// + " MSG:" + e.getMessage()); +// } +// }); +// } +// +// +// } +// +// } } \ No newline at end of file diff --git a/mallinkService/src/main/java/com/iformall/service/WxProfitSharingOrderService.java b/mallinkService/src/main/java/com/iformall/service/WxProfitSharingOrderService.java index 71332f7cc..74ce3be3e 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxProfitSharingOrderService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxProfitSharingOrderService.java @@ -54,5 +54,5 @@ public interface WxProfitSharingOrderService { // void updatetttttttttttttt(String tenantId); - ResultData handerSharingOrder(WxProfitSharingOrder sharingOrder); +// ResultData handerSharingOrder(WxProfitSharingOrder sharingOrder); } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java index 36bd1a074..d4092c165 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java @@ -1718,21 +1718,7 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { } catch (Exception e) { logger.error("核销记账失败"+e.getMessage(),e); } - }else{ - WxProfitSharingReceiver psReceiver = payServiceFactory.getPayShareAdapterService(wxPayOrder.getPayVendor(),couponOrder.getPayVersion()) - .getReceiver(wxPayOrder,merchantId,wxPayOrder.getTtPayWay(),wxPayOrder.getMchType()); - - if (psReceiver == null) { - try { - // 查询不到分账帐号,往账户里面记帐 - if (couponOrder.getCouponPrice() > 0) { - recordAfterVerified(couponOrder, merchantId); - } - } catch (Exception e) { - logger.error("核销记账失败"+e.getMessage(),e); - } - } - } + } WxOrder order = wxOrderService.getById(couponOrder.getOrderId(), wxPayOrder.getTenantId()); if (null == order) { 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 7b9750d3f..3e49fa62a 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxPayOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxPayOrderServiceImpl.java @@ -1166,30 +1166,29 @@ public class WxPayOrderServiceImpl implements WxPayOrderService { } catch (Exception e) { logger.error("收银台结算记录失败,{}", e.getMessage()); } - } else { - // 延迟10秒后分账 - new Thread(() -> { - TenantEntity tenantEntity = record; - Long orderId = record.getOrderId(); - Long payOrderId = record.getId(); - logger.info("收银台订单分账休眠10s: composeOrderId: {}, payOrderId: {}, {}", orderId, payOrderId, tenantEntity); - try { - Thread.currentThread().sleep(10000); - } catch (Exception e) { - logger.error("sleep error: " + e.getMessage()); - } - - // 支付分账 - logger.info("收银台订单分账开始: composeOrderId: {}, payOrderId: {}", orderId, payOrderId); - try { - wxOrderService.shareForMicroPay(tenantEntity, orderId, payOrderId); - } catch (MallinkException e) { - logger.error("收银台订单分账失败: orderId: {}, payOrderId: {}", orderId, payOrderId); - logger.error("收银台订单分账失败: " + e.getMessage()); - } - logger.info("收银台订单分账结束: orderId: {}, payOrderId: {}", orderId, payOrderId); - }).start(); } + // 延迟10秒后分账 + new Thread(() -> { + TenantEntity tenantEntity = record; + Long orderId = record.getOrderId(); + Long payOrderId = record.getId(); + logger.info("收银台订单分账休眠10s: composeOrderId: {}, payOrderId: {}, {}", orderId, payOrderId, tenantEntity); + try { + Thread.currentThread().sleep(10000); + } catch (Exception e) { + logger.error("sleep error: " + e.getMessage()); + } + + // 支付分账 + logger.info("收银台订单分账开始: composeOrderId: {}, payOrderId: {}", orderId, payOrderId); + try { + wxOrderService.shareForMicroPay(tenantEntity, orderId, payOrderId); + } catch (MallinkException e) { + logger.error("收银台订单分账失败: orderId: {}, payOrderId: {}", orderId, payOrderId); + logger.error("收银台订单分账失败: " + e.getMessage()); + } + logger.info("收银台订单分账结束: orderId: {}, payOrderId: {}", orderId, payOrderId); + }).start(); } @Override 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 c8e198fcc..1bfb9536f 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxProfitSharingOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxProfitSharingOrderServiceImpl.java @@ -169,6 +169,7 @@ public class WxProfitSharingOrderServiceImpl implements WxProfitSharingOrderServ int shareAmount = wxComposeChildOrderShare.getShareAmount() - cpsCommission;//分给商户的钱 JSONArray receivers = new JSONArray();//分账参数json + //todo if(systemAmount > 0){ //todo 查询系统抽点到账帐号 jsonArray.add() } @@ -258,11 +259,12 @@ public class WxProfitSharingOrderServiceImpl implements WxProfitSharingOrderServ return new ResultData(shareResult.getData()); } + @Override // @Transactional(isolation=Isolation.SERIALIZABLE, propagation = Propagation.REQUIRED, rollbackFor = {Exception.class}) public ResultData createSharingOrder(WxSharingOrderDto sharingOrderDto,WxPayOrder payOrder) { - PayShareAdapterService payShareAdapterService = payServiceFactory.getPayShareAdapterService(payOrder.getPayVendor(),payOrder.getPayVersion()); +// PayShareAdapterService payShareAdapterService = payServiceFactory.getPayShareAdapterService(payOrder.getPayVendor(),payOrder.getPayVersion()); //创建分账订单 WxComposeChildOrderShare childOrderShare = null; if(sharingOrderDto.getSingleOrderId() != null){ @@ -615,15 +617,15 @@ public class WxProfitSharingOrderServiceImpl implements WxProfitSharingOrderServ // }); // } - @Override - public ResultData handerSharingOrder(WxProfitSharingOrder sharingOrder) { - WxPayOrder payOrder = wxPayOrderMapper.selectById(sharingOrder.getOrderId(), sharingOrder.getTenantId()); - if(payOrder != null && EnumPayStatus.PAY_STATUS_SUCCESS.getCode().equals(payOrder.getPayOrderStatus())){ - PayShareAdapterService payShareAdapterService = payServiceFactory.getPayShareAdapterService(payOrder.getPayVendor(),payOrder.getPayVersion()); - return payShareAdapterService.handerSharingOrder(payOrder,sharingOrder); - }else{ - return new ResultData(ErrorCode.PAY_ORDER_NOT_FOUND); - } - } +// @Override +// public ResultData handerSharingOrder(WxProfitSharingOrder sharingOrder) { +// WxPayOrder payOrder = wxPayOrderMapper.selectById(sharingOrder.getOrderId(), sharingOrder.getTenantId()); +// if(payOrder != null && EnumPayStatus.PAY_STATUS_SUCCESS.getCode().equals(payOrder.getPayOrderStatus())){ +// PayShareAdapterService payShareAdapterService = payServiceFactory.getPayShareAdapterService(payOrder.getPayVendor(),payOrder.getPayVersion()); +// return payShareAdapterService.handerSharingOrder(payOrder,sharingOrder); +// }else{ +// return new ResultData(ErrorCode.PAY_ORDER_NOT_FOUND); +// } +// } } diff --git a/mallinkService/src/main/java/com/iformall/service/pay/service/pay/wx/v2/miniApp/appPay/WxMiniAppPayAdapterService.java b/mallinkService/src/main/java/com/iformall/service/pay/service/pay/wx/v2/miniApp/appPay/WxMiniAppPayAdapterService.java index bb7578486..6d1a6f101 100644 --- a/mallinkService/src/main/java/com/iformall/service/pay/service/pay/wx/v2/miniApp/appPay/WxMiniAppPayAdapterService.java +++ b/mallinkService/src/main/java/com/iformall/service/pay/service/pay/wx/v2/miniApp/appPay/WxMiniAppPayAdapterService.java @@ -155,10 +155,11 @@ public class WxMiniAppPayAdapterService extends BaseWxPayV2AdapterService implem futureDate.setTime(currentDate.getTime() + 15 * 60 * 1000); wxPayOrderSP.setTime_expire(Utility.getDataFormatStringYYYYMMDDHHmmss(futureDate)); // 15分钟后结束 wxPayOrderSP.setSign_type("HMAC-SHA256"); - wxPayOrderSP.setProfit_sharing(null); - if (isShare == EnumPayShare.YES) { - wxPayOrderSP.setProfit_sharing("Y"); - } + wxPayOrderSP.setProfit_sharing("Y"); +// wxPayOrderSP.setProfit_sharing(null); +// if (isShare == EnumPayShare.YES) { +// wxPayOrderSP.setProfit_sharing("Y"); +// } Map payOrderMap = BeanUtils.toStringMap(wxPayOrderSP); wxPayOrderSP.setSign(WxPayment.createSignHMAC(payOrderMap, payAccount.getApiKey())); return wxPayOrderSP; diff --git a/mallinkService/src/main/java/com/iformall/service/pay/service/pay/wx/v2/miniApp/maPay/WxMiniMaPayAdapterService.java b/mallinkService/src/main/java/com/iformall/service/pay/service/pay/wx/v2/miniApp/maPay/WxMiniMaPayAdapterService.java index f75090c6e..9d7f35ebb 100644 --- a/mallinkService/src/main/java/com/iformall/service/pay/service/pay/wx/v2/miniApp/maPay/WxMiniMaPayAdapterService.java +++ b/mallinkService/src/main/java/com/iformall/service/pay/service/pay/wx/v2/miniApp/maPay/WxMiniMaPayAdapterService.java @@ -130,10 +130,11 @@ public class WxMiniMaPayAdapterService extends BaseWxPayV2AdapterService impleme futureDate.setTime(currentDate.getTime() + 15 * 60 * 1000); wxPayOrderSP.setTime_expire(Utility.getDataFormatStringYYYYMMDDHHmmss(futureDate)); // 15分钟后结束 wxPayOrderSP.setSign_type("HMAC-SHA256"); - wxPayOrderSP.setProfit_sharing(null); - if (isShare == EnumPayShare.YES) { - wxPayOrderSP.setProfit_sharing("Y"); - } + wxPayOrderSP.setProfit_sharing("Y"); +// wxPayOrderSP.setProfit_sharing(null); +// if (isShare == EnumPayShare.YES) { +// wxPayOrderSP.setProfit_sharing("Y"); +// } Map payOrderMap = BeanUtils.toStringMap(wxPayOrderSP); wxPayOrderSP.setSign(WxPayment.createSignHMAC(payOrderMap, payAccount.getApiKey())); return wxPayOrderSP; diff --git a/mallinkService/src/main/java/com/iformall/service/pay/service/share/PayShareAdapterService.java b/mallinkService/src/main/java/com/iformall/service/pay/service/share/PayShareAdapterService.java index 137670625..9390e34a6 100644 --- a/mallinkService/src/main/java/com/iformall/service/pay/service/share/PayShareAdapterService.java +++ b/mallinkService/src/main/java/com/iformall/service/pay/service/share/PayShareAdapterService.java @@ -52,15 +52,6 @@ public interface PayShareAdapterService { */ WxProfitSharingReceiver getReceiver(TenantEntity tenantEntity, Long merchantId, Integer ttPayWay,Integer mchType); - /** - * 创建分账记录 - * @param sharingOrderDto - * @param mchType - * @param share - * @return - */ - WxProfitSharingOrder createSharingOrder(WxSharingOrderDto sharingOrderDto, WxPayOrder payOrder); - /** * 无分账接收方分账 ,钱直接分给小程序方 调用API分账 * @param appInfo @@ -141,8 +132,4 @@ public interface PayShareAdapterService { */ int getOfficialCommission(WxOrder o, WxPayAccount payAccount); - - ResultData handerSharingOrder(WxPayOrder payOrder, WxProfitSharingOrder sharingOrder); - - } diff --git a/mallinkService/src/main/java/com/iformall/service/pay/service/share/douyin/TtPayShareService.java b/mallinkService/src/main/java/com/iformall/service/pay/service/share/douyin/TtPayShareService.java index 86744a5c9..fc75625ed 100644 --- a/mallinkService/src/main/java/com/iformall/service/pay/service/share/douyin/TtPayShareService.java +++ b/mallinkService/src/main/java/com/iformall/service/pay/service/share/douyin/TtPayShareService.java @@ -301,115 +301,6 @@ public class TtPayShareService extends PayShareBaseAdapterService{ return 0; } - @Override - public ResultData handerSharingOrder(WxPayOrder payOrder, WxProfitSharingOrder sharingOrder) { -// if(!EnumProfitSharingOrderType.PROFIT_SHARING_SINGLE.getCode().equals(sharingOrder.getType()) -// && !EnumProfitSharingOrderType.PROFIT_SHARING_SINGLE_FINISH.getCode().equals(sharingOrder.getType())){ -// return new ResultData(ErrorCode.SYS_PARAMETER_TYPE_ERROR.getCode(),"抖音暂不支持多次分账"); -// } - WxCouponOrder couponOrder = new WxCouponOrder(); - couponOrder.updateTenantInfo(payOrder); - couponOrder.setComposeOrderId(payOrder.getId()); - List list = wxCouponOrderMapper.findList(couponOrder); - if(list.stream().filter(co->(EnumCouponOrderStatus.COUPON_ORDER_USE_WAIT.getCode().equals(co.getCouponOrderStatus()))).count() > 0){ - return new ResultData(ErrorCode.SYS_SERVER_ERROR.getCode(),"存在未核销的券"); - } - if(EnumPayMchType.DIRECT.getCode().equals(payOrder.getMchType())){ - WxProfitSharingOrder updSharingOrder = new WxProfitSharingOrder(); - updSharingOrder.setId(sharingOrder.getId()); - updSharingOrder.updateTenantInfo(payOrder); - updSharingOrder.setSharingStatus(EnumProfitSharingOrderStatus.PROFIT_SHARING_APPLY_FAILED.getCode()); - updSharingOrder.setErrorMsg("待分账重试"); - updSharingOrder.setUpdateTime(new Date()); - wxProfitSharingOrderMapper.updateById(updSharingOrder); - return new ResultData(); - } - if(EnumProfitSharingOrderType.PROFIT_SHARING_SINGLE.getCode().equals(sharingOrder.getType())){ - WxOrder order = new WxOrder(); - order.updateTenantInfo(payOrder); - order.setComposeOrderId(payOrder.getId()); - List list1 = wxOrderMapper.findList(order); - if(list1.size() != list.size()){ - return new ResultData(ErrorCode.SYS_SERVER_ERROR.getCode(),"订单与卷码不匹配"); - } - if(list1.stream().filter(o->(EnumOrderCpsStatus.ORDER_DEF_CPS.getCode().equals(o.getCpsStatus()))).count() > 0){ - return new ResultData(ErrorCode.SYS_SERVER_ERROR.getCode(),"存在未同步cps的订单"); - } - JSONArray receivers = new JSONArray(); - Map map = list.stream().collect(Collectors.toMap(WxCouponOrder::getOrderId, co -> co)); - for (WxOrder o:list1) { - WxCouponOrder co = map.get(o.getId()); - WxProfitSharingReceiver receiver = getReceiver(payOrder, co.getBMerchantId(), payOrder.getTtPayWay(),payOrder.getMchType()); - if(receiver != null){ - WxComposeChildOrderShare childOrderShare = payOrder.getChildOrderShare(o.getId()); - int darenTakeAmount = 0; - if(EnumOrderCpsStatus.ORDER_IS_CPS.getCode().equals(o.getCpsStatus())){ - OrderCps orderCps = orderCpsMapper.selectById(o.getId(), payOrder.getTenantId()); - darenTakeAmount = orderCps.getCommissionAmount(); - } - JSONObject jo = new JSONObject(); - jo.put("type",this.getShareAccount(receiver.getReceiverType()).getMessage()); - jo.put("account",receiver.getReceiverAccount()); - jo.put("amount", childOrderShare.getShareAmount() - darenTakeAmount); - jo.put("rateAmount", childOrderShare.getRateAmount()); - jo.put("realRateAmount", childOrderShare.getRealRateAmount()); - jo.put("commissionAmount", childOrderShare.getCommissionAmount()); - jo.put("darenTakeAmount", darenTakeAmount); - //jo.put("description",receiver.getReceiverComments()); //改为存ID, - jo.put("description",receiver.getId().toString()); //为重试做准备 - receivers.add(jo); - } - } - - WxProfitSharingOrder updSharingOrder = new WxProfitSharingOrder(); - updSharingOrder.setId(sharingOrder.getId()); - updSharingOrder.updateTenantInfo(payOrder); - updSharingOrder.setSharingStatus(EnumProfitSharingOrderStatus.PROFIT_SHARING_APPLY_FAILED.getCode()); - updSharingOrder.setErrorMsg("待分账重试"); - if(!receivers.isEmpty()){ - updSharingOrder.setReceivers(receivers.toJSONString()); - } - updSharingOrder.setUpdateTime(new Date()); - wxProfitSharingOrderMapper.updateById(updSharingOrder); - return new ResultData(); - } - return new ResultData(ErrorCode.SYS_SERVER_ERROR.getCode(),"数据异常-----end"); - - } - - @Override - public WxProfitSharingOrder createSharingOrder(WxSharingOrderDto sharingOrderDto, WxPayOrder payOrder) { - WxProfitSharingOrder record = new WxProfitSharingOrder(); - record.updateTenantInfo(sharingOrderDto); - record.setOrderId(sharingOrderDto.getOrderId()); - record.setSingleOrderId(sharingOrderDto.getSingleOrderId()); - record = wxProfitSharingOrderMapper.selectOne(new QueryWrapper(record)); - if (record == null) { - //创建分账订单 - Date currentDate = new Date(); - record = new WxProfitSharingOrder(); - final IdWorker idworker = IdWorker.get(); - record.setId(idworker.nextId()); - record.updateTenantInfo(sharingOrderDto); - record.setTransactionId(sharingOrderDto.getTransactionId()); - record.setOrderId(sharingOrderDto.getOrderId()); - record.setSingleOrderId(sharingOrderDto.getSingleOrderId()); - record.setSingleOrderAmount(sharingOrderDto.getSingleOrderAmount()); - record.setPayAmount(sharingOrderDto.getPayAmount()); - record.setMerchantId(sharingOrderDto.getMerchantId()); - record.setPayMerchantId(sharingOrderDto.getPayMerchantId()); - record.setPayMerchantMchId(sharingOrderDto.getPayMerchantMchId()); - 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); - } - return record; - } - @Override public WxProfitSharingReceiver getReceiver(TenantEntity tenantEntity, Long merchantId, Integer ttPayWay,Integer mchType) { if(merchantId == null || merchantId.equals(0L)){ diff --git a/mallinkService/src/main/java/com/iformall/service/pay/service/share/wx/sft/WxPayShareSFTService.java b/mallinkService/src/main/java/com/iformall/service/pay/service/share/wx/sft/WxPayShareSFTService.java index 3886b07e4..d0c1a675e 100644 --- a/mallinkService/src/main/java/com/iformall/service/pay/service/share/wx/sft/WxPayShareSFTService.java +++ b/mallinkService/src/main/java/com/iformall/service/pay/service/share/wx/sft/WxPayShareSFTService.java @@ -155,24 +155,6 @@ public class WxPayShareSFTService extends PayShareBaseAdapterService{ return 0; } - @Override - public ResultData handerSharingOrder(WxPayOrder payOrder, WxProfitSharingOrder sharingOrder) { - return new ResultData(ErrorCode.SYS_PARAMETER_TYPE_ERROR.getCode(),"微信分账无需处理"); - } - - @Override - public WxProfitSharingOrder createSharingOrder(WxSharingOrderDto sharingOrderDto, WxPayOrder payOrder) { - if(EnumPayMchType.DIRECT.getCode().equals(payOrder.getMchType())){ - throw new MallinkException(ErrorCode.SYS_PARAMETER_TYPE_ERROR.getCode(),"微信直连模式待开发"); - } - if(EnumYesOrNo.NO.getCode().equals(payOrder.getShare())){ - throw new MallinkException(ErrorCode.SYS_PARAMETER_TYPE_ERROR.getCode(),"微信不分账"); - } - - - return null; - } - @Override public WxProfitSharingReceiver getReceiver(TenantEntity tenantEntity, Long merchantId, Integer ttPayWay,Integer mchType) { return null; diff --git a/mallinkService/src/main/java/com/iformall/service/pay/service/share/wx/v2/WxPayShareService.java b/mallinkService/src/main/java/com/iformall/service/pay/service/share/wx/v2/WxPayShareService.java index 532d14dd3..1999488df 100644 --- a/mallinkService/src/main/java/com/iformall/service/pay/service/share/wx/v2/WxPayShareService.java +++ b/mallinkService/src/main/java/com/iformall/service/pay/service/share/wx/v2/WxPayShareService.java @@ -344,58 +344,6 @@ public class WxPayShareService extends PayShareBaseAdapterService{ return 0; } - @Override - public ResultData handerSharingOrder(WxPayOrder payOrder, WxProfitSharingOrder sharingOrder) { - return new ResultData(ErrorCode.SYS_PARAMETER_TYPE_ERROR.getCode(),"微信分账无需处理"); - } - - @Override - public WxProfitSharingOrder createSharingOrder(WxSharingOrderDto sharingOrderDto,WxPayOrder payOrder) { - if(EnumPayMchType.DIRECT.getCode().equals(payOrder.getMchType())){ - throw new MallinkException(ErrorCode.SYS_PARAMETER_TYPE_ERROR.getCode(),"微信支付2.0直连模式待开发"); - } - if(EnumYesOrNo.NO.getCode().equals(payOrder.getShare())){ - throw new MallinkException(ErrorCode.SYS_PARAMETER_TYPE_ERROR.getCode(),"微信未开启分账"); - } - //是否已创建分账订单 - WxProfitSharingOrder record = new WxProfitSharingOrder(); - record.updateTenantInfo(sharingOrderDto); - record.setOrderId(sharingOrderDto.getOrderId()); - record.setSingleOrderId(sharingOrderDto.getSingleOrderId()); - record = wxProfitSharingOrderMapper.selectOne(new QueryWrapper(record)); - if (record == null) { - //创建分账订单 - Date currentDate = new Date(); - record = new WxProfitSharingOrder(); - final IdWorker idworker = IdWorker.get(); - record.setId(idworker.nextId()); - record.updateTenantInfo(sharingOrderDto); - record.setTransactionId(sharingOrderDto.getTransactionId()); - record.setOrderId(sharingOrderDto.getOrderId()); - record.setSingleOrderId(sharingOrderDto.getSingleOrderId()); - record.setSingleOrderAmount(sharingOrderDto.getSingleOrderAmount()); - record.setPayAmount(sharingOrderDto.getPayAmount()); - record.setMerchantId(sharingOrderDto.getMerchantId()); - record.setSharingStatus(this.getSharingOrderInitialStatus()); - record.setCreateTime(currentDate); - record.setUpdateTime(currentDate); - record.setPayTimeStart(sharingOrderDto.getPayTimeStart()); - record.setPayTimeEnd(sharingOrderDto.getPayTimeEnd()); - record.setType(sharingOrderDto.getType()); - record.setPayMerchantId(sharingOrderDto.getPayMerchantId()); - record.setPayMerchantMchId(sharingOrderDto.getPayMerchantMchId()); - wxProfitSharingOrderMapper.insert(record); - } - - WxProfitSharingReceiver psReceiver = getReceiver(sharingOrderDto, sharingOrderDto.getMerchantId(), null,payOrder.getMchType()); - if (null != psReceiver) { - List psReceiverList = new ArrayList(); - psReceiverList.add(psReceiver); - record.setReceivers(calReceiversAmount(sharingOrderDto, psReceiverList)); - wxProfitSharingOrderMapper.updateById(record); - } - return record; - } @Override public WxProfitSharingReceiver getReceiver(TenantEntity tenantEntity, Long merchantId, Integer ttPayWay,Integer mchType) { 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 434a83c90..19a5ffbb5 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 @@ -75,66 +75,7 @@ public class WxPayShareV3Service extends PayShareBaseAdapterService{ Integer realRateAmount = OrderHelper.getRealRateAmount(payAmount, payAccount); return new PayShareCalculateAmount(payAmount,mallCharge,realRateAmount,0,systemAmount); } - - @Override - public WxProfitSharingOrder createSharingOrder(WxSharingOrderDto sharingOrderDto, WxPayOrder payOrder) { - if(EnumYesOrNo.NO.getCode().equals(payOrder.getShare())){ - throw new MallinkException(ErrorCode.SYS_PARAMETER_TYPE_ERROR.getCode(),"微信分账未开启"); - } - //是否已创建分账订单 - WxProfitSharingOrder record = new WxProfitSharingOrder(); - record.updateTenantInfo(sharingOrderDto); - record.setOrderId(sharingOrderDto.getOrderId()); - record.setSingleOrderId(sharingOrderDto.getSingleOrderId()); - record = wxProfitSharingOrderMapper.selectOne(new QueryWrapper(record)); - if (record == null) { - //创建分账订单 - Date currentDate = new Date(); - record = new WxProfitSharingOrder(); - final IdWorker idworker = IdWorker.get(); - record.setId(idworker.nextId()); - record.updateTenantInfo(sharingOrderDto); - record.setTransactionId(sharingOrderDto.getTransactionId()); - record.setOrderId(sharingOrderDto.getOrderId()); - record.setSingleOrderId(sharingOrderDto.getSingleOrderId()); - record.setSingleOrderAmount(sharingOrderDto.getSingleOrderAmount()); - record.setPayAmount(sharingOrderDto.getPayAmount()); - record.setMerchantId(sharingOrderDto.getMerchantId()); - //直连模式, - if (payOrder.getMchType() == EnumPayMchType.DIRECT.getCode()) { - if (null == sharingOrderDto.getPayMerchantId()) { - throw new MallinkException(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"直连模式当前订单的收款商户查询为空"); - } - if (StringUtils.isBlank(sharingOrderDto.getPayMerchantMchId())) { - throw new MallinkException(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"直连模式当前订单的收款商户特约商户号进件信息查询为空"); - } - record.setPayMerchantId(sharingOrderDto.getPayMerchantId()); - record.setPayMerchantMchId(sharingOrderDto.getPayMerchantMchId()); - } - 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); - } - - //总分模式 - if (payOrder.getMchType() == EnumPayMchType.TOTAL.getCode()) { - WxProfitSharingReceiver psReceiver = getReceiver(sharingOrderDto, sharingOrderDto.getMerchantId(), null,payOrder.getMchType()); - if (null != psReceiver) { - List psReceiverList = new ArrayList(); - psReceiverList.add(psReceiver); - record.setReceivers(calV3ReceiversAmount(sharingOrderDto, psReceiverList)); - wxProfitSharingOrderMapper.updateById(record); - } - //直连的方式 - }else if (payOrder.getMchType() == EnumPayMchType.DIRECT.getCode()) { - - } - return record; - } + @Override public WxProfitSharingReceiver getReceiver(TenantEntity tenantEntity, Long merchantId, Integer ttPayWay,Integer mchType) { @@ -370,10 +311,6 @@ public class WxPayShareV3Service extends PayShareBaseAdapterService{ public int getOfficialCommission(WxOrder o, WxPayAccount payAccount) { return 0; } - - @Override - public ResultData handerSharingOrder(WxPayOrder payOrder, WxProfitSharingOrder sharingOrder) { - return new ResultData(ErrorCode.SYS_PARAMETER_TYPE_ERROR.getCode(),"微信分账无需处理"); - } + }