| | |
| | | private void changeOrderStatu(SysOrder sourceOrder) { |
| | | int i = 1; |
| | | String orderStatus = Dictionary.ORDER_STATU_YFK; |
| | | double cashPayTotal = 0D; |
| | | double cardPayTotal = 0D; |
| | | for (SysOrderFlow flow : sourceOrder.getFlows()) { |
| | | flow.setFlowNo(codeService.getFlowCode() + "-" + i); |
| | | Long goodsId = sourceOrder.getItems().get(0).getGoodsId(); |
| | |
| | | if (flow.getCardId() != null) { |
| | | MoneyCardUse moneyCardUse = moneyCardUseDao.selectById(flow.getCardId()); |
| | | cardPaySk(moneyCardUse, sourceOrder, flow); |
| | | cardPayTotal += flow.getAmount().doubleValue(); |
| | | } |
| | | } |
| | | |
| | |
| | | orderStatus = Dictionary.ORDER_STATU_QK; |
| | | sourceOrder.setArrears(flow.getAmount().doubleValue()); |
| | | } |
| | | |
| | | if (!SysOrderFlow.PAY_METHOD_ARREARS.equals(flow.getPayMethod()) && !SysOrderFlow.PAY_METHOD_CARD.equals(flow.getPayMethod())) { |
| | | cashPayTotal += flow.getAmount().doubleValue(); |
| | | } |
| | | sysOrderFlowDao.insert(flow); |
| | | i++; |
| | | } |
| | | |
| | | // 更新收款状态 |
| | | sourceOrder.setStatu(orderStatus); |
| | | sourceOrder.setCardPay(cardPayTotal); |
| | | sourceOrder.setCashPay(cashPayTotal); |
| | | sysOrderDao.update(sourceOrder); |
| | | |
| | | } |
| | |
| | | @Transactional(rollbackFor = Exception.class) |
| | | @Override |
| | | public void updateAfterMoney(SysOrder pageOrder) { |
| | | |
| | | SysOrder sourceOrder = sysOrderDao.selectById(pageOrder.getId()); |
| | | |
| | | int i = 1; |
| | | double refundTotal = 0D; |
| | | double cardPayTotal = 0D; |
| | | double cashPayTotal = 0D; |
| | | for (SysOrderFlow flow : pageOrder.getFlows()) { |
| | | flow.setFlowNo(codeService.getFlowCode() + "-" + i); |
| | | Long goodsId = pageOrder.getItems().get(0).getGoodsId(); |
| | | ShoppingGoods goods = shoppingGoodsDao.selectById(goodsId); |
| | | flow.setFlowContent(goods.getName() + "等" + pageOrder.getItems().size() + "件产品"); |
| | | |
| | | flow.setOrderId(pageOrder.getId()); |
| | | flow.setVipId(pageOrder.getVipId()); |
| | | flow.setFlowType(SysOrderFlow.FLOW_TYPE_REPAY); |
| | | // 若使用储值卡付款 |
| | | if (SysOrderFlow.PAY_METHOD_CARD.equals(flow.getPayMethod())) { |
| | | if (flow.getCardId() != null) { |
| | | cardPayTotal += flow.getAmount().doubleValue(); |
| | | MoneyCardUse moneyCardUse = moneyCardUseDao.selectById(flow.getCardId()); |
| | | cardPaySk(moneyCardUse, pageOrder, flow); |
| | | } |
| | | } else { |
| | | cashPayTotal += flow.getAmount().doubleValue(); |
| | | } |
| | | |
| | | refundTotal += flow.getAmount().doubleValue(); |
| | | sysOrderFlowDao.insert(flow); |
| | | i++; |
| | | } |
| | | |
| | | boolean haQk=false; |
| | | |
| | | double cardPayTotal=0D; |
| | | double carshPayTotal=0D; |
| | | |
| | | |
| | | for(SysOrderItem pageItem:pageOrder.getItems()){ |
| | | SysOrderItem sourceItem=orderItemDao.selectById(pageItem.getId()); |
| | | |
| | | //结清 |
| | | if(sourceItem.getArrears() == pageItem.getPayMoney()){ |
| | | |
| | | sourceItem.setStatus(Dictionary.ORDER_STATU_YFK); |
| | | }else if(sourceItem.getArrears() > pageItem.getPayMoney()) { |
| | | //未结清 |
| | | sourceItem.setStatus(Dictionary.ORDER_STATU_QK); |
| | | haQk=true; |
| | | }else if(sourceItem.getArrears() < pageItem.getPayMoney()) { |
| | | |
| | | throw new GlobleException("支付金额不能大于欠款金额"); |
| | | |
| | | } |
| | | |
| | | //更新卡支付 |
| | | if (!pageItem.getPayMethod().equals(Dictionary.PAY_TYPE_MOENY)) { |
| | | // 查询要支付的充值卡 |
| | | MoneyCardUse moneyCardUse = moneyCardUseDao.selectById(Long.parseLong(pageItem.getPayMethod())); |
| | | // 扣除付款卡金额并添加流水 TODO 补交卡支付 |
| | | // cardPaySk(moneyCardUse, sourceOrder, pageItem); |
| | | sourceItem.setCardPay((sourceItem.getCardPay()==null?0:sourceItem.getCardPay())+pageItem.getPayMoney()); |
| | | cardPayTotal+=pageItem.getPayMoney(); |
| | | }else{ |
| | | carshPayTotal+=pageItem.getPayMoney(); |
| | | sourceItem.setCashPay((sourceItem.getCashPay()==null?0:sourceItem.getCashPay())+pageItem.getPayMoney()); |
| | | } |
| | | |
| | | //更新订单明细状态 |
| | | sourceItem.setArrears(sourceItem.getArrears()-pageItem.getPayMoney()); |
| | | |
| | | orderItemDao.update(sourceItem); |
| | | |
| | | if (refundTotal == pageOrder.getArrears()) { |
| | | haQk = true; |
| | | } |
| | | |
| | | //更新收款状态 |
| | | if(haQk){ |
| | | sourceOrder.setStatu(Dictionary.ORDER_STATU_QK); |
| | | }else{ |
| | | sourceOrder.setStatu(Dictionary.ORDER_STATU_YFK); |
| | | }else{ |
| | | sourceOrder.setStatu(Dictionary.ORDER_STATU_QK); |
| | | } |
| | | |
| | | sourceOrder.setArrears(sourceOrder.getArrears()-carshPayTotal-cardPayTotal); |
| | | sourceOrder.setCardPay(sourceOrder.getCardPay()+cardPayTotal); |
| | | sourceOrder.setCashPay(sourceOrder.getCashPay()+carshPayTotal); |
| | | sourceOrder.setArrears(sourceOrder.getArrears() - refundTotal); |
| | | sourceOrder.setCardPay(sourceOrder.getCardPay() + cardPayTotal); |
| | | sourceOrder.setCashPay(sourceOrder.getCashPay() + cashPayTotal); |
| | | sysOrderDao.update(sourceOrder); |
| | | |
| | | // 设置业绩 |
| | | achieveNewService.addAchaeveByOrder(pageOrder); |
| | | |
| | | } |
| | | |
| | | |