| | |
| | | bill3.setSumRefundCmmsAmt(Constants.formatDecimalNum(bill.getSumRefundCmmsAmt()).add(Constants.formatDecimalNum(bill.getSumCmmsAmt())));//手续费 |
| | | bill3.setSumRefundFee(bill.getSumRefundFee());//退款金额 |
| | | bill3.setTotal(bill.getTotal()); |
| | | bill3.setBikeFee(bill.getBikeFee()); |
| | | |
| | | QueryWrapper<WxBillDetail> queryWrapper = new QueryWrapper<>(); |
| | | queryWrapper.lambda().ge(param.getStartDate() !=null,WxBillDetail::getPid,DateUtil.getShortDateStr(param.getStartDate())); |
| | |
| | | // bill.setBikeFee(bill.getSumSuccessFee().subtract(bill.getSumRefundFee())); |
| | | wxBillMapper.insert(bill); |
| | | if(detailList.size()>0){ |
| | | wxBillDetailMapper.insertBatch(detailList); |
| | | int sublistSize = 500; |
| | | int startIndex = 0; |
| | | int endIndex = sublistSize; |
| | | while (startIndex < detailList.size()) { |
| | | if (endIndex > detailList.size()) { |
| | | endIndex = detailList.size(); |
| | | } |
| | | |
| | | List<WxBillDetail> sublist = detailList.subList(startIndex, endIndex); |
| | | if(sublist.size()>0){ |
| | | // wxBillDetailMapper.insertBatch(sublist); |
| | | wxBillDetailMapper.insert(sublist); |
| | | } |
| | | startIndex = endIndex; |
| | | endIndex += sublistSize; |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | detail.setRefundSuccessDate(DateUtil.getDateFromString2(info.getRefundSuccessTime()));//成功退款时间 |
| | | detail.setRefundApplyDate(DateUtil.getDateFromString2(info.getRefundTime())); //申请退款时间 |
| | | //计算自行车收入,匹配来自自行车小程序的所有支付成功和退款成功的金额,作为自行车收入(累计收款金额-累计退款成功金额) |
| | | if(StringUtils.equals(detail.getAppid(), WxMiniConfig.wxPayV2Service.getConfig().getAppId())){ |
| | | if(StringUtils.equals(detail.getAppid(), WxMiniConfig.wxPayV2Service.getConfig().getSubAppId())){ |
| | | //自行车收入累计收款金额(支付成功总金额-退款总金额) |
| | | if(StringUtils.equals(info.getTradeState(),"SUCCESS")){ |
| | | //如果是交易 |
| | | //如果是交易(包含手续费) |
| | | bill.setBikeFee(bill.getBikeFee().add(detail.getSettlementTotalFee())); |
| | | bill.setBikeFee(bill.getBikeFee().subtract(detail.getCmmsAmt()) ); |
| | | // bill.setBikeFee(bill.getBikeFee().subtract(detail.getCmmsAmt()) ); |
| | | }else if(StringUtils.equals(info.getTradeState(),"REFUND" ) || StringUtils.equals(info.getTradeState(),"REVOKED" )){ |
| | | //如果退款成功,扣除退款金额 |
| | | //如果退款成功,扣除退款金额(包含手续费) |
| | | bill.setBikeFee(bill.getBikeFee().subtract(detail.getRefundFee()) ); |
| | | bill.setBikeFee(bill.getBikeFee().subtract(detail.getCmmsAmt()) ); |
| | | // bill.setBikeFee(bill.getBikeFee().subtract(detail.getCmmsAmt()) ); |
| | | } |
| | | } |
| | | |
| | | detailList.add(detail); |
| | | } |
| | | } |