| | |
| | | import com.doumee.core.utils.Utils; |
| | | import com.doumee.core.wx.WxMiniConfig; |
| | | import com.doumee.core.wx.WxPayProperties; |
| | | import com.doumee.dao.business.GoodsorderMapper; |
| | | import com.doumee.dao.business.WxBillDetailMapper; |
| | | import com.doumee.dao.business.WxBillMapper; |
| | | import com.doumee.dao.business.model.Goodsorder; |
| | |
| | | |
| | | @Autowired |
| | | private WxBillMapper wxBillMapper; |
| | | @Autowired |
| | | private GoodsorderMapper goodsorderMapper; |
| | | @Autowired |
| | | private WxBillDetailMapper wxBillDetailMapper; |
| | | @Override |
| | |
| | | bill.setSumRefundCmmsAmt(new BigDecimal(0.00)); |
| | | bill.setTotal(new BigDecimal(0.00)); |
| | | bill.setBikeFee(new BigDecimal(0.00)); |
| | | bill.setDiscountFee(new BigDecimal(0.00)); |
| | | bill.setBikeRefundFee(new BigDecimal(0.00)); |
| | | bill.setDiscountRefundFee(new BigDecimal(0.00)); |
| | | bill.setDiscountRefundCmmsAmt(new BigDecimal(0.00)); |
| | | bill.setBikeRefundCmmsAmt(new BigDecimal(0.00)); |
| | | return bill; |
| | | } |
| | | @Override |
| | |
| | | detail.setRefundApplyDate(DateUtil.getDateFromString2(info.getRefundTime())); //申请退款时间 |
| | | //计算自行车收入,匹配来自自行车小程序的所有支付成功和退款成功的金额,作为自行车收入(累计收款金额-累计退款成功金额) |
| | | if(StringUtils.equals(detail.getAppid(), WxMiniConfig.wxPayV2Service.getConfig().getSubAppId())){ |
| | | //自行车收入累计收款金额(支付成功总金额-退款总金额) |
| | | if(StringUtils.equals(info.getTradeState(),"SUCCESS")){ |
| | | //如果是交易(包含手续费) |
| | | bill.setBikeFee(bill.getBikeFee().add(detail.getSettlementTotalFee())); |
| | | Goodsorder order = goodsorderMapper.selectOne(new QueryWrapper<Goodsorder>().lambda() |
| | | .eq(Goodsorder::getId,info.getOutTradeNo())); |
| | | if(Constants.equalsInteger(order.getType(),Constants.ZERO)){ |
| | | //自行车收入累计收款金额(支付成功总金额-退款总金额) |
| | | if(StringUtils.equals(info.getTradeState(),"SUCCESS")){ |
| | | //如果是交易(包含手续费) |
| | | bill.setBikeFee(bill.getBikeFee().add(detail.getSettlementTotalFee())); |
| | | // 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()) ); |
| | | }else if(StringUtils.equals(info.getTradeState(),"REFUND" ) || StringUtils.equals(info.getTradeState(),"REVOKED" )){ |
| | | //如果退款成功,扣除退款金额(包含手续费) |
| | | bill.setBikeFee(bill.getBikeFee().subtract(detail.getRefundFee()) ); |
| | | bill.setBikeRefundFee(bill.getBikeRefundFee().add(detail.getRefundFee()) ); |
| | | bill.setBikeRefundCmmsAmt(bill.getBikeRefundCmmsAmt().add(detail.getCmmsAmt()) ); |
| | | // bill.setBikeFee(bill.getBikeFee().subtract(detail.getCmmsAmt()) ); |
| | | } |
| | | }else{ |
| | | //自行车收入累计收款金额(支付成功总金额-退款总金额) |
| | | if(StringUtils.equals(info.getTradeState(),"SUCCESS")){ |
| | | //如果是交易(包含手续费) |
| | | bill.setDiscountFee(bill.getDiscountFee().add(detail.getSettlementTotalFee())); |
| | | // bill.setBikeFee(bill.getBikeFee().subtract(detail.getCmmsAmt()) ); |
| | | }else if(StringUtils.equals(info.getTradeState(),"REFUND" ) || StringUtils.equals(info.getTradeState(),"REVOKED" )){ |
| | | //如果退款成功,扣除退款金额(包含手续费) |
| | | bill.setDiscountFee(bill.getDiscountFee().subtract(detail.getRefundFee()) ); |
| | | bill.setDiscountRefundFee(bill.getDiscountRefundFee().add(detail.getRefundFee()) ); |
| | | bill.setDiscountRefundCmmsAmt(bill.getDiscountRefundCmmsAmt().add(detail.getCmmsAmt()) ); |
| | | // bill.setBikeFee(bill.getBikeFee().subtract(detail.getCmmsAmt()) ); |
| | | } |
| | | } |
| | | } |
| | | detailList.add(detail); |