From cbad97fdf8ec5607ca0c2ae898cd4e0657e056a1 Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Fri, 18 Dec 2020 16:28:10 +0800 Subject: [PATCH] finish vip.html --- zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysProjUseServiceImpl.java | 35 ++++++++++++++++++++++++++++------- 1 files changed, 28 insertions(+), 7 deletions(-) diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysProjUseServiceImpl.java b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysProjUseServiceImpl.java index 4365d9f..45f9083 100644 --- a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysProjUseServiceImpl.java +++ b/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; @@ -198,24 +199,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,8 +604,8 @@ public AjaxResult activeProj(SysProjUse proj) { Date today = new Date(); Date newDate = proj.getFailTime(); + proj = sysProjUseDao.selectById(proj.getId()); - // TODO 设置项目有效时,需完善该逻辑 switch (proj.getStatus()) { case Dictionary.TAOCAN_STATUS_WX: // 如果到期,需要重新设置有效期 @@ -601,12 +615,19 @@ return new AjaxResult(AjaxResult.STATUS_FAIL, "有效期要大于当前日期"); } } - if (newDate == null || newDate.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, "请选择无效或者冻结的套餐"); -- Gitblit v1.9.1