935090232@qq.com
2021-07-29 6e670a95d253ffef6d8baf66adb7bc08e6ea14e3
zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java
@@ -484,9 +484,6 @@
        //检查交易限制调整
        checkSealLimit(pageOrder);
        //交易业绩设置是否合理
        checkAchieveIsOk(pageOrder);
        // 更新收款时间
        pageOrder.setPayTime(new Date());
@@ -558,27 +555,7 @@
    }
    /**
     * 交易业绩设置是否合理
     * @param pageOrder
     */
    private void checkAchieveIsOk(SysOrder pageOrder) {
        double huakouSum = pageOrder.getItems().stream()
                .mapToDouble(
                        item ->
                                item.getAchieveList().stream()
                                        .filter(achieveNew -> "划扣".equals(achieveNew.getPayMethod()))
                                        .mapToDouble(achieve -> achieve.getGoodsCash()).sum()
                ).sum();
        double czkPay= pageOrder.getFlows().stream()
                .filter(sysOrderFlow -> "储值卡".equals(sysOrderFlow.getPayMethod()))
                .mapToDouble(sysOrderFlow ->sysOrderFlow.getAmount().doubleValue()).sum();
        if(czkPay!=huakouSum){
            throw new GlobleException("划扣业绩不等于储值卡扣款金额,请修改业绩设置!");
        }
    }
    /**
     * 设置会员消费积分
@@ -1262,11 +1239,20 @@
            //赠送项目是否计算消耗业绩否则 赠送产品按原价计算消耗
            boolean zsConsumeAchieve = projServicesService.skipServiceOrderStep(Dictionary.ZS_CONSUME_ACHIEVE);
            if(zsConsumeAchieve){
                if (taocanId == null) {
                    puse.setPrice(goodsAssemble.getShoppingGoods().getPrice() );
                } else {
                    puse.setPrice(goodsAssemble.getPrice());
                if(sysOrderItem.getPrice()>0){
                }else{
                    //等于0取原价
                    if (taocanId == null) {
                        puse.setPrice(goodsAssemble.getShoppingGoods().getPrice() );
                    } else {
                        puse.setPrice(goodsAssemble.getPrice());
                    }
                }
            }else{
                puse.setPrice(0D);
            }
@@ -1370,7 +1356,11 @@
            //赠送项目是否计算消耗业绩否则 赠送产品按原价计算消耗
            boolean zsConsumeAchieve = projServicesService.skipServiceOrderStep(Dictionary.ZS_CONSUME_ACHIEVE);
            if(zsConsumeAchieve){
                puse.setPrice(sysOrderItem.getShoppingGoods().getSealPice());
                if(sysOrderItem.getPrice()>0){
                    puse.setPrice(sysOrderItem.getZkPrice());
                }else{
                    puse.setPrice(sysOrderItem.getShoppingGoods().getSealPice());
                }
            }else{
                puse.setPrice(0D);
            }
@@ -1550,7 +1540,7 @@
        sourceOrder.setIsHasRefund(SysOrder.IS_HAS_REFUND_Y);
//        sourceOrder.setStatu(Dictionary.ORDER_STATU_TK);
        sysOrderDao.update(sourceOrder);
        SysOrder oldOrder=sysOrderDao.selectById(   sysOrder.getOldOrderId());
        SysOrder oldOrder=sysOrderDao.selectById(sysOrder.getOldOrderId());
        sysOrder.setId(null);
        sysOrder.setStaffId(user.getSuId());
@@ -1723,7 +1713,7 @@
                List<SysProjUse> sysProjUses = sysProjUseDao.selectByModel(queryProjUse);
                for (int i = 0; i < item.getCount(); i++) {
                for (int i = 0; i < sysProjUses.size(); i++) {
                    SysProjUse sysProjUse = sysProjUses.get(i);
                    sysProjUse.setIsOver(Dictionary.FLAG_YES_Y);