wzy
2021-01-13 2ca19d805dcbe5f0796067c1a91fbb890804e1eb
zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java
@@ -167,6 +167,14 @@
        // 页面的pageOrder 参数只包含支付金额信息,不带有购买商品
        for (SysOrderItem item : sysOrder.getItems()) {
            // 若为退款,则先更新原有数量
            if (orderStatus.equals(Dictionary.ORDER_STATU_TK)) {
                SysOrderItem sysOrderItem = new SysOrderItem();
                sysOrderItem.setId(item.getId());
                sysOrderItem.setCount(item.getPreCount() - item.getCount());
                orderItemDao.update(sysOrderItem);
            }
            item.setId(null);
            ShoppingGoods shoppingGoods = shoppingGoodsDao.selectById(item.getGoodsId());
            item.setType(shoppingGoods.getGoodType());
@@ -478,7 +486,12 @@
            ShoppingGoods goods = shoppingGoodsDao.selectById(goodsId);
            flow.setFlowContent(goods.getName() + "等" + sourceOrder.getItems().size() + "件产品");
            flow.setOrderId(sourceOrder.getId());
            if (Dictionary.ORDER_STATU_TK.equals(sourceOrder.getStatu())) {
                flow.setOrderId(sourceOrder.getOldOrderId());
            } else {
                flow.setOrderId(sourceOrder.getId());
            }
            flow.setVipId(sourceOrder.getVipId());
            flow.setFlowType(SysOrderFlow.FLOW_TYPE_BUY);
            // 若使用储值卡付款
@@ -1215,4 +1228,72 @@
    public List<RankingVo> findStaffSaleAchieveRanking(SysOrder sysOrder) {
        return sysOrderDao.selectStaffSaleAchieveRanking(sysOrder);
    }
    @Override
    public void refundOrderMoney(SysOrder pageOrder) {
        // 插入订单流水
        changeOrderStatu(pageOrder);
        for (SysOrderItem item : pageOrder.getItems()) {
            SysProjUse queryProjUse = new SysProjUse();
            queryProjUse.setIsOver(Dictionary.FLAG_NO_N);
            queryProjUse.setStatus(Dictionary.TAOCAN_STATUS_YX);
            queryProjUse.setOrderItemId(item.getId());
            // 修改项目信息
            if (Dictionary.SHOPPING_GOODS_TYPE_XM.equals(item.getType()) && Dictionary.SHOPPING_GOODS_TYPE_JJCP.equals(item.getType())) {
                SysProjUse sysProjUse = sysProjUseDao.selectByModel(queryProjUse).get(0);
                int sub = sysProjUse.getSurplusCount() - item.getCount();
                sysProjUse.setSurplusCount(sub);
                if (sub <= 0) {
                    sysProjUse.setIsOver(Dictionary.FLAG_YES_Y);
                    sysProjUse.setStatus(Dictionary.TAOCAN_STATUS_WX);
                }
                sysProjUseDao.update(sysProjUse);
            }
            if (Dictionary.SHOPPING_GOODS_TYPE_TC.equals(item.getType())) {
                queryProjUse.setTaocanId(-1L);
                SysProjUse sysProjUse = sysProjUseDao.selectByModel(queryProjUse).get(0);
                sysProjUse.setIsOver(Dictionary.FLAG_YES_Y);
                sysProjUse.setStatus(Dictionary.TAOCAN_STATUS_WX);
                sysProjUseDao.update(sysProjUse);
            }
            if (Dictionary.SHOPPING_GOODS_TYPE_CZK.equals(item.getType())) {
                MoneyCardUse queryCardUse = new MoneyCardUse();
                queryCardUse.setIsOver(Dictionary.FLAG_NO_N);
                queryCardUse.setStatus(Dictionary.TAOCAN_STATUS_YX);
                queryCardUse.setOrderItemId(item.getId());
                MoneyCardUse moneyCardUse = moneyCardUseDao.selectByModel(queryCardUse).get(0);
                moneyCardUse.setIsOver(Dictionary.FLAG_YES_Y);
                moneyCardUse.setStatus(Dictionary.MONEYCARD_STATUS_WX);
                moneyCardUseDao.update(moneyCardUse);
            }
            // TODO 综合卡退款
            if (Dictionary.SHOPPING_GOODS_TYPE_ZHK.equals(item.getType())) {
            }
        }
        // 设置会员充值卡使用情况
        addMoneyCardUse(pageOrder);
        // 新增出库单
        addOutStore(pageOrder);
        // 改变客户项目套餐使用情况
        addTaocanProj(pageOrder);
        // 设置业绩
        achieveNewService.addAchaeveByOrder(pageOrder);
        setShopSelCount(pageOrder);
    }
}