| | |
| | | } |
| | | |
| | | @Override |
| | | public SysOrder findById(Long id) { |
| | | public SysOrder findById(Long id) { |
| | | return sysOrderDao.selectById(id); |
| | | |
| | | } |
| | | |
| | | @Override |
| | | public List<SysOrder> findByIds(List<Long> ids) { |
| | | return sysOrderDao.selectByIds(ids); |
| | | |
| | | } |
| | | |
| | |
| | | moneyCardUseFlow.setTimes(1); |
| | | } |
| | | } |
| | | |
| | | moneyCardUse.setStatus(Dictionary.MONEYCARD_STATUS_YX); |
| | | moneyCardUseDao.update(moneyCardUse); |
| | | //插入充值卡变动流水 |
| | | SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY); |
| | |
| | | |
| | | // 充值卡订单欠款检测 |
| | | if (Dictionary.FLAG_NO_N.equals(moneyCardUse.getIsVipCar())) { |
| | | SysOrder sysOrder = sysOrderDao.selectById(orderItemDao.selectById(moneyCardUse.getOrderItemId()).getOrderId()); |
| | | if (Dictionary.ORDER_STATU_QK.equals(sysOrder.getStatu())) { |
| | | if (SysOrderFlow.IS_GIFT_Y.equals(flow.getIsGift())) { |
| | | throw new GlobleException("充值卡订单存在欠款,无法使用赠送余额支付"); |
| | | } |
| | | SysOrderItem item = orderItemDao.selectById(moneyCardUse.getOrderItemId()); |
| | | if (item != null) { |
| | | SysOrder sysOrder = sysOrderDao.selectById(item.getOrderId()); |
| | | if (sysOrder != null) { |
| | | if (Dictionary.ORDER_STATU_QK.equals(sysOrder.getStatu())) { |
| | | if (SysOrderFlow.IS_GIFT_Y.equals(flow.getIsGift())) { |
| | | throw new GlobleException("充值卡订单存在欠款,无法使用赠送余额支付"); |
| | | } |
| | | |
| | | // 若该笔订单中,有多项明细,则充值卡直接无法支付; 若订单中,仅充值卡一项,则已付款和充值卡使用情况判断是否可使用 |
| | | List<SysOrderItem> items = orderItemDao.selectByOrderId(sysOrder.getId()); |
| | | if (items.size() > 1) { |
| | | throw new GlobleException("充值卡订单存在欠款,无法支付"); |
| | | } else { |
| | | double totalUse = moneyCardUseFlowDao.selectCardUseAmount(moneyCardUse.getId()); |
| | | Double hasPay = sysOrder.getZkTotal() - sysOrder.getArrears(); |
| | | if (hasPay < (totalUse + flow.getAmount().doubleValue())) { |
| | | throw new GlobleException("充值卡订单存在欠款,已支付金额不足"); |
| | | // 若该笔订单中,有多项明细,则充值卡直接无法支付; 若订单中,仅充值卡一项,则已付款和充值卡使用情况判断是否可使用 |
| | | List<SysOrderItem> items = orderItemDao.selectByOrderId(sysOrder.getId()); |
| | | if (items.size() > 1) { |
| | | throw new GlobleException("充值卡订单存在欠款,无法支付"); |
| | | } else { |
| | | double totalUse = moneyCardUseFlowDao.selectCardUseAmount(moneyCardUse.getId()); |
| | | Double hasPay = sysOrder.getZkTotal() - sysOrder.getArrears(); |
| | | if (hasPay < (totalUse + flow.getAmount().doubleValue())) { |
| | | throw new GlobleException("充值卡订单存在欠款,已支付金额不足"); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | //赠送项目是否计算消耗业绩否则 赠送产品按原价计算消耗 |
| | | boolean zsConsumeAchieve = projServicesService.skipServiceOrderStep(Dictionary.ZS_CONSUME_ACHIEVE); |
| | | if (zsConsumeAchieve) { |
| | | if (sysOrderItem.getPrice() <= 0) { |
| | | if (sysOrderItem.getZkPrice() <= 0) { |
| | | //等于0取原价 |
| | | if (taocanId == null) { |
| | | puse.setPrice(goodsAssemble.getShoppingGoods().getPrice()); |