From 996f08cf58d2c3fc71ef4710947cbb0b5a5c046f Mon Sep 17 00:00:00 2001
From: yj <Administrator@192>
Date: 星期一, 24 五月 2021 22:12:21 +0800
Subject: [PATCH] 会员等级维护

---
 service-vip/src/main/java/com/ks/vip/service/remote/VipCenterServiceImpl.java |   78 +++++++++++++++++++++++++--------------
 1 files changed, 50 insertions(+), 28 deletions(-)

diff --git a/service-vip/src/main/java/com/ks/vip/service/remote/VipCenterServiceImpl.java b/service-vip/src/main/java/com/ks/vip/service/remote/VipCenterServiceImpl.java
index e88f5c1..0194efd 100644
--- a/service-vip/src/main/java/com/ks/vip/service/remote/VipCenterServiceImpl.java
+++ b/service-vip/src/main/java/com/ks/vip/service/remote/VipCenterServiceImpl.java
@@ -2,8 +2,10 @@
 
 
 import com.ks.vip.mapper.VipCenterMapper;
+import com.ks.vip.mapper.VipCenterRecordMapper;
 import com.ks.vip.mapper.VipComboMapper;
 import com.ks.vip.pojo.DO.*;
+import com.ks.vip.pojo.Enums.VIPEnum;
 import com.ks.vip.query.VipCenterQuery;
 import com.ks.vip.query.VipComboQuery;
 import com.ks.vip.service.*;
@@ -30,15 +32,17 @@
     @Resource
     private VipGradePotenceService vipGradePotenceService;
 
+    @Resource
+    private VipCenterRecordMapper vipCenterRecordMapper;
 
 
     @Override
-    public void insertSelective(VipCenter t){
+    public void insertSelective(VipCenter t) {
         vipCenterMapper.insertSelective(t);
     }
 
     @Override
-    public void updateByPrimaryKeySelective(VipCenter t){
+    public void updateByPrimaryKeySelective(VipCenter t) {
         vipCenterMapper.updateByPrimaryKeySelective(t);
     }
 
@@ -79,7 +83,7 @@
         VipCenterRecord record = new VipCenterRecord();
 
         VipCenter vipCenter = vipCenterMapper.selectForUpdate(uid);
-        if (vipCenter == null)  {
+        if (vipCenter == null) {
             Date startTime = new Date();
             Date endTime = DateUtil.plusDayDate(validDays, startTime);
 
@@ -124,41 +128,59 @@
 
 
     @Override
-    public boolean verifyVIP(String uid) {
-        VipCenter vipCenter = vipCenterMapper.getByUid(uid);
-        if (vipCenter == null) {
-            return false;
-        }
-        // 楠岃瘉浼氬憳鏄惁鏈夋晥
-        long nowTime = java.lang.System.currentTimeMillis();
-        if (vipCenter.getStartTime().getTime() <= nowTime && vipCenter.getEndTime().getTime() >= nowTime) {
-            return true;
-        }
-        return false;
-    }
-
-    @Override
     public VipGradePotence getVipPotence(String uid) {
+        VipGradePotence potence = null;
         VipCenter vipCenter = vipCenterMapper.getByUid(uid);
-        if (vipCenter == null || vipCenter.getGradeId() == null) {
-            return null;
+        if (vipCenter != null || vipCenter.getGradeId() != null) {
+            long nowTime = java.lang.System.currentTimeMillis();
+            if (vipCenter.getStartTime().getTime() <= nowTime && vipCenter.getEndTime().getTime() >= nowTime) {
+                potence = vipGradePotenceService.getPotenceByGradeId(vipCenter.getGradeId());
+            }
         }
-
-        long nowTime = java.lang.System.currentTimeMillis();
-        if (vipCenter.getStartTime().getTime() <= nowTime && vipCenter.getEndTime().getTime() >= nowTime) {
-            return vipGradePotenceService.selectByPrimaryKey(vipCenter.getGradeId());
+        if (potence == null) {
+            potence = vipGradePotenceService.getDefaultGradePotence();
         }
-        return null;
+        return potence;
     }
 
 
     @Override
     public VipGrade getVipGrade(String uid) {
+        VipGrade vipGrade = null;
         VipCenter vipCenter = vipCenterMapper.getByUid(uid);
-        if (vipCenter == null || vipCenter.getGradeId() == null) {
-            return null;
+        if (vipCenter != null && vipCenter.getGradeId() != null) {
+            long nowTime = java.lang.System.currentTimeMillis();
+            if (vipCenter.getStartTime().getTime() <= nowTime && vipCenter.getEndTime().getTime() >= nowTime) {
+                vipGrade = vipGradeService.selectByPrimaryKey(vipCenter.getGradeId());
+            }
         }
-        return vipGradeService.selectByPrimaryKey(vipCenter.getGradeId());
+        if (vipGrade == null) {
+            vipGradeService.getDefaultGrade();
+        }
+        return vipGrade;
     }
 
-}
+    @Override
+    public VIPEnum getVIPEnumByUid(String uid) {
+        VipGrade vipGrade = getVipGrade(uid);
+        if (vipGrade != null) {
+            return vipGrade.getIdentity();
+        } else {
+            return null;
+        }
+    }
+
+    @Override
+    public VIPEnum getVIPEnumByUid(String uid, Date date) {
+        VipCenterRecordMapper.DaoQuery daoQuery = new VipCenterRecordMapper.DaoQuery();
+        daoQuery.uid = uid;
+        daoQuery.date = date;
+        daoQuery.start = 0;
+        daoQuery.count = 1;
+        List<VipCenterRecord> list = vipCenterRecordMapper.list(daoQuery);
+        if (list == null || list.size() == 0) {
+            return vipGradeService.getDefaultGrade().getIdentity();
+        }
+        return vipGradeService.selectByPrimaryKey(list.get(0).getGradeId()).getIdentity();
+    }
+}
\ No newline at end of file

--
Gitblit v1.8.0