| | |
| | | /** |
| | | * 储值卡退款 |
| | | * @param order |
| | | * @param isWholeOrder 是否整个订单退款 |
| | | */ |
| | | public void returnMoneyCardPay(SysOrder order) { |
| | | public void returnMoneyCardPay(SysOrder order, boolean isWholeOrder) { |
| | | SysUsers user = (SysUsers) WebUtil.getSession().getAttribute(MatrixConstance.LOGIN_KEY); |
| | | List<MoneyCardOperationDto> moneyCardOperationDtos = Lists.newArrayList(); |
| | | |
| | | List<SysOrderFlow> flows = sysOrderFlowDao.selectByOrderId(order.getId()); |
| | | List<SysOrderFlow> flows = null; |
| | | if (isWholeOrder) { |
| | | flows = sysOrderFlowDao.selectByOrderId(order.getId()); |
| | | } else { |
| | | flows = order.getFlows(); |
| | | } |
| | | |
| | | // 非现金收款退回扣卡余额 |
| | | for (SysOrderFlow flow : flows) { |
| | | if (SysOrderFlow.PAY_METHOD_CARD.equals(flow.getPayMethod())) { |
| | |
| | | dto.setCarUseId(flow.getCardId()); |
| | | dto.setType(MoneyCardUseFlow.USE_TYPE_ORDRE_CANCEL); |
| | | if (SysOrderFlow.IS_GIFT_Y.equals(flow.getIsGift())) { |
| | | dto.setGiftMoney(flow.getAmount().doubleValue()); |
| | | dto.setGiftMoney(flow.getAmount().abs().doubleValue()); |
| | | } else { |
| | | dto.setRealMoney(flow.getAmount().doubleValue()); |
| | | dto.setRealMoney(flow.getAmount().abs().doubleValue()); |
| | | } |
| | | dto.setUpdateUser(user.getSuId()); |
| | | |
| | | // 用于通过校验 |
| | | dto.setOrderItemId(-1L); |
| | | moneyCardOperationDtos.add(dto); |
| | | } else { |
| | | throw new GlobleException("无效的储值卡支付方式"); |