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 e4119c8fd..1ed4739cc 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxProfitSharingOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxProfitSharingOrderServiceImpl.java @@ -176,10 +176,34 @@ public class WxProfitSharingOrderServiceImpl implements WxProfitSharingOrderServ StringBuffer sb = new StringBuffer("[{").append("\"description\":").append(receiver.getId()).append(",\"amount\":").append(sharingOrder.getPayAmount()); recordJsonArray = JSONArray.parseArray(sb.toString()); } - + + List resultList = new ArrayList(); if(jsonArray == null || jsonArray.isEmpty()){ shareResult = payShareAdapterService.noReciverShare(cAppInfo, payAccount, sharingOrder); }else{ + if (null != recordJsonArray && recordJsonArray.size() > 0 ) { + final IdWorker idworker = IdWorker.get(); + Date currentDate = new Date(); + try { + recordJsonArray.stream().forEach(obj -> { + JSONObject receiver =(JSONObject) obj; + WxProfitSharingResult result = new WxProfitSharingResult(); + result.setId(idworker.nextId()); + result.updateTenantInfo(sharingOrder); + result.setMerchantId(sharingOrder.getMerchantId()); + result.setSharingOrderId(sharingOrder.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()); + resultList.add(result); + }); + }catch (Exception e) { + logger.error("分账详细信息为null",e); + return new ResultData(ErrorCode.PROFIT_SHARING_RECEIVER_INVALID); + } + } shareResult = payShareAdapterService.haveReciversShare(cAppInfo, payAccount, sharingOrder, jsonArray, wxPayOrder.getMchType()); } @@ -203,34 +227,10 @@ public class WxProfitSharingOrderServiceImpl implements WxProfitSharingOrderServ updSharingOrder.setUpdateTime(new Date()); wxProfitSharingOrderMapper.updateById(updSharingOrder); - if (null == recordJsonArray || recordJsonArray.isEmpty()) { - return new ResultData(shareResult.getData()); - } - List resultList = new ArrayList(); - final IdWorker idworker = IdWorker.get(); - Date currentDate = new Date(); - try { - recordJsonArray.stream().forEach(obj -> { - JSONObject receiver =(JSONObject) obj; - WxProfitSharingResult result = new WxProfitSharingResult(); - result.setId(idworker.nextId()); - result.updateTenantInfo(sharingOrder); - result.setMerchantId(sharingOrder.getMerchantId()); - result.setSharingOrderId(sharingOrder.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()); - resultList.add(result); - }); - }catch (Exception e) { - logger.error("分账详细信息为null",e); - return new ResultData(ErrorCode.PROFIT_SHARING_RECEIVER_INVALID); - } - - for (WxProfitSharingResult result:resultList) { - wxProfitSharingResultMapper.insert(result); + if (resultList.size() > 0 ) { + for (WxProfitSharingResult result:resultList) { + wxProfitSharingResultMapper.insert(result); + } } return new ResultData(shareResult.getData()); } diff --git a/mallinkService/src/main/java/com/iformall/service/order/entity/WxComposeChildOrderShare.java b/mallinkService/src/main/java/com/iformall/service/order/entity/WxComposeChildOrderShare.java index eee36cb6e..40254de6a 100644 --- a/mallinkService/src/main/java/com/iformall/service/order/entity/WxComposeChildOrderShare.java +++ b/mallinkService/src/main/java/com/iformall/service/order/entity/WxComposeChildOrderShare.java @@ -39,7 +39,7 @@ public class WxComposeChildOrderShare { private Integer shareAmount;//分账的钱(分给商户的) - private Integer rateAmount;//通道费(广场收的) +// private Integer rateAmount;//通道费(广场收的) private Integer realRateAmount;//平台手续费 private Integer commissionAmount;//平台佣金