From cf955aaa918244fdf1f2fd8367e01d2535f0c108 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Sat, 09 Jan 2021 16:08:07 +0800
Subject: [PATCH] modify

---
 zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysProjUseServiceImpl.java |   45 +++++++++++++++++++++++++++++++++------------
 1 files changed, 33 insertions(+), 12 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 082fb0c..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
@@ -11,7 +11,7 @@
 import com.matrix.system.hive.bean.*;
 import com.matrix.system.hive.dao.*;
 import com.matrix.system.hive.plugin.util.CollectionUtils;
-import com.matrix.system.hive.plugin.util.DateUtils;
+import com.matrix.core.tools.DateUtil;
 import com.matrix.system.hive.plugin.util.MoneyUtil;
 import com.matrix.system.hive.service.SysProjUseService;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -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;
@@ -153,7 +154,7 @@
                 contentZr.append("获取会员" + vipInfo.getVipName() + "的")
                         .append(",余额:" + projuse.getBalance())
                         .append(",余次:")
-                        .append(",有效期:" + DateUtils.dateToString(projuse.getFailTime(), DateUtils.DATE_FORMAT_MM))
+                        .append(",有效期:" + DateUtil.dateToString(projuse.getFailTime(), DateUtil.DATE_FORMAT_MM))
                         .append(",是否赠送:");
 
 
@@ -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, "操作成功");
 
     }
@@ -341,7 +355,7 @@
                         .append(",余次:" + cardUse.getLastCountName())
                         .append(",本金余额:" + MoneyUtil.add(cardUse.getRealMoney(), money))
                         .append(",赠送余额:" + cardUse.getGiftMoney())
-                        .append(",有效期:" + DateUtils.dateToString(cardUse.getFailTime(), DateUtils.DATE_FORMAT_MM))
+                        .append(",有效期:" + DateUtil.dateToString(cardUse.getFailTime(), DateUtil.DATE_FORMAT_MM))
                         .append(",是否赠送:" + cardUse.getSourceName());
                 content += contentBuild.toString();
 
@@ -463,7 +477,7 @@
         contentZr.append("获取会员" + vipInfo.getVipName() + "的" + shoppingGoods.getName())
                 .append(",余额:" + sysProjUse.getBalance())
                 .append(",余次:" + sysProjUse.getSurplusCount())
-                .append(",有效期:" + DateUtils.dateToString(sysProjUse.getFailTime(), DateUtils.DATE_FORMAT_MM))
+                .append(",有效期:" + DateUtil.dateToString(sysProjUse.getFailTime(), DateUtil.DATE_FORMAT_MM))
                 .append(",是否赠送:");
 
 
@@ -570,7 +584,7 @@
             content.append("到会籍卡(" + upCard.getCardName() + ")" + sysProjUse.getBalance() + "元")
                     .append(",余次:" + upCard.getLastCountName())
                     .append(",本金余额:" + upCard.getRealMoney())
-                    .append(",有效期:" + DateUtils.dateToString(upCard.getFailTime(), DateUtils.DATE_FORMAT_MM))
+                    .append(",有效期:" + DateUtil.dateToString(upCard.getFailTime(), DateUtil.DATE_FORMAT_MM))
                     .append(",是否赠送:" + upCard.getSourceName());
         } else {
             content.append("现金" + sysProjUse.getBalance() + "元");
@@ -590,6 +604,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 +615,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, "请选择无效或者冻结的套餐");
@@ -616,7 +637,7 @@
         StringBuilder content = new StringBuilder();
         ShoppingGoods shoppingGoods = shoppingGoodsDao.selectById(proj.getProjId());
         content.append(shoppingGoods.getName() + "设置为有效")
-                .append(",有效期:" + DateUtils.dateToString(proj.getFailTime(), DateUtils.DATE_FORMAT_MM));
+                .append(",有效期:" + DateUtil.dateToString(proj.getFailTime(), DateUtil.DATE_FORMAT_MM));
 
 
         return new AjaxResult(AjaxResult.STATUS_SUCCESS, "操作成功");

--
Gitblit v1.9.1