From f19071bd5e0007fc823f99cdfa0196391827da1e Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期三, 11 五月 2022 18:46:35 +0800
Subject: [PATCH] 'android项目完善'

---
 src/main/resources/code/service/app/src/main/java/com/ks/app/service/impl/vip/VIPServiceImpl.java |   40 ++++++++++++++++++++++++++++++++++++----
 1 files changed, 36 insertions(+), 4 deletions(-)

diff --git a/src/main/resources/code/service/app/src/main/java/com/ks/app/service/impl/vip/VIPServiceImpl.java b/src/main/resources/code/service/app/src/main/java/com/ks/app/service/impl/vip/VIPServiceImpl.java
index 9004d65..f5665fe 100644
--- a/src/main/resources/code/service/app/src/main/java/com/ks/app/service/impl/vip/VIPServiceImpl.java
+++ b/src/main/resources/code/service/app/src/main/java/com/ks/app/service/impl/vip/VIPServiceImpl.java
@@ -1,11 +1,12 @@
 package com.ks.app.service.impl.vip;
 
-import com.ks.app.dao.vip.UserVIPInfoDao;
+import com.ks.app.dao.vip.UserVIPInfoMapper;
 import com.ks.app.entity.vip.UserVIPInfo;
 import com.ks.app.service.inter.vip.VIPService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
 import java.util.Arrays;
@@ -24,7 +25,7 @@
     Logger logger = LoggerFactory.getLogger(VIPServiceImpl.class);
 
     @Resource
-    private UserVIPInfoDao userVIPInfoDao;
+    private UserVIPInfoMapper userVIPInfoDao;
 
     @Override
     public UserVIPInfo getVIPInfo(Long uid) {
@@ -42,9 +43,40 @@
         }
     }
 
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public void addExpireTime(Long uid, long time) {
+        UserVIPInfo userVIPInfo = userVIPInfoDao.selectByPrimaryKeyForUpdate(uid);
+        if (userVIPInfo == null) {
+            //鏂板
+            UserVIPInfo vip = new UserVIPInfo();
+            vip.setUid(uid);
+            vip.setCreateTime(new Date());
+            vip.setExpireDate(new Date(System.currentTimeMillis() + time));
+            userVIPInfoDao.insertSelective(vip);
+        } else {
+            //淇敼
+            UserVIPInfo update = new UserVIPInfo();
+            update.setUid(uid);
+            if (userVIPInfo.getExpireDate() != null) {
+
+                //棰勮鍒版湡鏃堕棿姣旂幇鍦ㄧ殑鏃堕棿澶�
+                if (userVIPInfo.getExpireDate().getTime() > System.currentTimeMillis()) {
+                    update.setExpireDate(new Date(userVIPInfo.getExpireDate().getTime() + time));
+                } else {
+                    update.setExpireDate(new Date(System.currentTimeMillis() + time));
+                }
+            } else {
+                update.setExpireDate(new Date(System.currentTimeMillis() + time));
+            }
+            update.setUpdateTime(new Date());
+            userVIPInfoDao.updateByPrimaryKeySelective(update);
+        }
+    }
+
     @Override
     public List<UserVIPInfo> listVIPUser(Date minVIPExpireDate, Date maxVIPExpireDate, int page, int pageSize) {
-        UserVIPInfoDao.DaoQuery daoQuery = new UserVIPInfoDao.DaoQuery();
+        UserVIPInfoMapper.DaoQuery daoQuery = new UserVIPInfoMapper.DaoQuery();
         daoQuery.maxExpireDate = maxVIPExpireDate;
         daoQuery.minExpireDate = minVIPExpireDate;
         daoQuery.start = (page - 1) * pageSize;
@@ -55,7 +87,7 @@
 
     @Override
     public long countVIPUser(Date minVIPExpireDate, Date maxVIPExpireDate) {
-        UserVIPInfoDao.DaoQuery daoQuery = new UserVIPInfoDao.DaoQuery();
+        UserVIPInfoMapper.DaoQuery daoQuery = new UserVIPInfoMapper.DaoQuery();
         daoQuery.maxExpireDate = maxVIPExpireDate;
         daoQuery.minExpireDate = minVIPExpireDate;
         return userVIPInfoDao.count(daoQuery);

--
Gitblit v1.8.0