Helius
2020-12-20 dac5b45462c51ddc9aaa185bd704c47621091276
zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java
@@ -22,6 +22,7 @@
import com.matrix.system.hive.pojo.ShoppingCarItemsVo;
import com.matrix.system.hive.service.AchieveNewService;
import com.matrix.system.hive.service.CodeService;
import com.matrix.system.hive.service.ShoppingGoodsService;
import com.matrix.system.hive.service.SysOrderService;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -80,6 +81,9 @@
    @Autowired
    private WarehouseDao warehouseDao;
    @Autowired
    private ShoppingGoodsService shoppingGoodsService;
    @Override
    public int add(SysOrder sysOrder) {
@@ -201,6 +205,7 @@
        sysOrder.setCardPay(cardMoney);
        sysOrder.setCashPay(xjMoney);
        sysOrder.setStatu(Dictionary.ORDER_STATU_DFK);
        sysOrder.setStaffId(user.getSuId());
        sysOrder.setCompanyId(user.getCompanyId());
        sysOrder.setPayTime(new Date());
@@ -625,6 +630,10 @@
            moneyCardUse.setIsOver(Dictionary.FLAG_YES_Y);
            moneyCardUse.setStatus(Dictionary.MONEYCARD_STATUS_WX);
        }
        ShoppingGoods shoppingGoods = shoppingGoodsService.findById(moneyCardUse.getGoodsId());
        Date invalidTime = shoppingGoodsService.calInvalidTime(shoppingGoods, 2, moneyCardUse.getFailTime());
        moneyCardUse.setFailTime(invalidTime);
        // 更新充值卡信息
        moneyCardUseDao.update(moneyCardUse);
    }
@@ -732,14 +741,17 @@
                    moneyCardUse.setLastCount(moneyCar.getCarUseCount());
                }
                moneyCardUse.setVipId(sourceOrder.getVipId());
                if (moneyCar.getValidity() == null || moneyCar.getValidity() == 0) {
                    // 设置失效时间
                    Calendar cal = Calendar.getInstance();
                    cal.set(2200, 1, 1);
                    moneyCardUse.setFailTime(cal.getTime());
                } else {
                    moneyCardUse.setFailTime(DateUtil.nextNDate(new Date(), 30 * moneyCar.getValidity()));
                }
//                if (moneyCar.getValidity() == null || moneyCar.getValidity() == 0) {
//                    // 设置失效时间
//                    Calendar cal = Calendar.getInstance();
//                    cal.set(2200, 1, 1);
//                    moneyCardUse.setFailTime(cal.getTime());
//                } else {
//                    moneyCardUse.setFailTime(DateUtil.nextNDate(new Date(), 30 * moneyCar.getValidity()));
//                }
                Date invalidTime = shoppingGoodsService.calInvalidTime(sysOrderItem.getShoppingGoods(), 1, null);
                moneyCardUse.setFailTime(invalidTime);
                moneyCardUseDao.insert(moneyCardUse);
            }
        }
@@ -954,7 +966,6 @@
    }
    public void addZongheCarUse(SysOrder order, SysOrderItem sysOrderItem) {
@@ -1046,16 +1057,16 @@
        taocanProjUse.setStatus(Dictionary.TAOCAN_STATUS_YX);
        taocanProjUse.setType(Dictionary.SHOPPING_GOODS_TYPE_TC);
        taocanProjUse.setIsCourse(taocanShoppingGoods.getIsCourse());
        taocanProjUse.setIsInfinite(taocanShoppingGoods.getIsInfinite());
        // 赠送和打折后金额为0的都视为赠送项目
        if (sysOrderItem.getIsFree().equals(Dictionary.FLAG_NO) && sysOrderItem.getZkPrice() > 0) {
            taocanProjUse.setSource(Dictionary.TAOCAN_SOURCE_GM);
        } else {
            taocanProjUse.setSource(Dictionary.TAOCAN_SOURCE_ZS);
        }
        // TODO 设置失效时间
        Calendar cal = Calendar.getInstance();
        cal.set(2200, 1, 1);
        taocanProjUse.setFailTime(cal.getTime());
        // 失效时间
        Date invalidTime = shoppingGoodsService.calInvalidTime(taocanShoppingGoods, 1, null);
        taocanProjUse.setFailTime(invalidTime);
        sysProjUseDao.insert(taocanProjUse);
        //计划次数
        int surplusCount=0;
@@ -1105,9 +1116,8 @@
            puse.setSource(Dictionary.TAOCAN_SOURCE_ZS);
        }
        // 设置失效时间
        Calendar cal = Calendar.getInstance();
        cal.set(2300, 1, 1);
        puse.setFailTime(cal.getTime());
        Date invalidTime = shoppingGoodsService.calInvalidTime(sysOrderItem.getShoppingGoods(), 1, null);
        puse.setFailTime(invalidTime);
        sysProjUseDao.insert(puse);
    }
@@ -1198,6 +1208,8 @@
    }
    @Override
    public SysOrder findSysOrderTjByVipId(Long vipId) {
        return sysOrderDao.selectVipOrderInfoTotal(vipId);
    }
}