935090232@qq.com
2021-01-15 e971ea090aa1f320f3c3f78c3a2a8d50f16dd4d0
zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysProjUseServiceImpl.java
@@ -19,6 +19,7 @@
import org.springframework.transaction.annotation.Transactional;
import javax.xml.crypto.Data;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@@ -62,6 +63,9 @@
    @Override
    public int modify(SysProjUse sysProjUse) {
        //插入套餐项目操作记录
        return sysProjUseDao.update(sysProjUse);
@@ -198,24 +202,37 @@
    @Override
    public AjaxResult activeTc(SysProjUse proj) {
        Date newDate = proj.getFailTime();
        Date today = new Date();
        SysProjUse taocan = sysProjUseDao.selectById(proj.getId());
        switch (taocan.getStatus()) {
            case Dictionary.TAOCAN_STATUS_WX:
                // 如果到期,需要重新设置有效期
                if (taocan.getFailTime().before(new Date())) {
                    taocan.setFailTime(DateUtil.getDateAfterMonth(new Date(),12));
                if (newDate != null && !newDate.equals("")) {
                    taocan.setFailTime(newDate);
                    if (newDate.before(today)) {
                        return new AjaxResult(AjaxResult.STATUS_FAIL, "有效期要大于当前日期");
                    }
                }
                if (newDate == null && (taocan.getFailTime() == null || taocan.getFailTime().before(today))) {
                    return new AjaxResult(AjaxResult.STATUS_SUCCESS, "已过期");
                }
                break;
            //TODO 如果是冻结状态则要算出冻结的天数,延长有效期
            case Dictionary.TAOCAN_STATUS_DJ:
                SysProjuseFreeze freeze = new SysProjuseFreeze();
                freeze.setOrderItemId(taocan.getId().toString());
                freeze.setVipId(taocan.getVipId());
                SysProjuseFreeze freezeProj = sysProjuseFreezeDao.selectByOrderItemId(freeze);
                Date dateAfter = DateUtil.nextNDate(taocan.getFailTime(), freezeProj.getGapDays());
                taocan.setFailTime(dateAfter);
                break;
            default:
                return new AjaxResult(AjaxResult.STATUS_FAIL, "请选择无效或者冻结的套餐");
        }
        taocan.setStatus(Dictionary.TAOCAN_STATUS_YX);
        sysProjUseDao.updateTcStatus(taocan.getId(),"有效");
        sysProjUseDao.updateProjStatus(taocan);
        return new AjaxResult(AjaxResult.STATUS_SUCCESS, "操作成功");
    }
@@ -590,6 +607,7 @@
    public AjaxResult activeProj(SysProjUse proj) {
        Date today = new Date();
        Date newDate = proj.getFailTime();
        proj = sysProjUseDao.selectById(proj.getId());
        switch (proj.getStatus()) {
            case Dictionary.TAOCAN_STATUS_WX:
@@ -600,13 +618,19 @@
                        return new AjaxResult(AjaxResult.STATUS_FAIL, "有效期要大于当前日期");
                    }
                }
                if (newDate == null && proj.getFailTime().before(today)) {
                if (newDate == null && (proj.getFailTime() == null || proj.getFailTime().before(today))) {
                    return new AjaxResult(AjaxResult.STATUS_SUCCESS, "已过期");
                }
                break;
            //如果是冻结状态则要算出冻结的天数,延长有效期
            case Dictionary.TAOCAN_STATUS_DJ:
                SysProjuseFreeze freeze = new SysProjuseFreeze();
                freeze.setOrderItemId(proj.getId().toString());
                freeze.setVipId(proj.getVipId());
                SysProjuseFreeze freezeProj = sysProjuseFreezeDao.selectByOrderItemId(freeze);
                Date dateAfter = DateUtil.nextNDate(proj.getFailTime(), freezeProj.getGapDays());
                proj.setFailTime(dateAfter);
                break;
            default:
                return new AjaxResult(AjaxResult.STATUS_FAIL, "请选择无效或者冻结的套餐");