package com.ks.app.service.impl.vip;
|
|
import com.ks.app.dao.vip.UserVIPInfoDao;
|
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 javax.annotation.Resource;
|
import java.util.Arrays;
|
import java.util.Date;
|
import java.util.List;
|
|
/**
|
* @author hxh
|
* @title: VIPServiceImpl
|
* @description: TODO
|
* @date 2021/11/17 17:13
|
*/
|
@Service
|
public class VIPServiceImpl implements VIPService {
|
|
Logger logger = LoggerFactory.getLogger(VIPServiceImpl.class);
|
|
@Resource
|
private UserVIPInfoDao userVIPInfoDao;
|
|
@Override
|
public UserVIPInfo getVIPInfo(Long uid) {
|
return userVIPInfoDao.selectByPrimaryKey(uid);
|
}
|
|
@Override
|
public void initUserVipInfo(Long uid) {
|
UserVIPInfo userVIPInfo = userVIPInfoDao.selectByPrimaryKey(uid);
|
if (userVIPInfo == null) {
|
userVIPInfo = new UserVIPInfo();
|
userVIPInfo.setUid(uid);
|
userVIPInfo.setCreateTime(new Date());
|
userVIPInfoDao.insertSelective(userVIPInfo);
|
}
|
}
|
|
@Override
|
public List<UserVIPInfo> listVIPUser(Date minVIPExpireDate, Date maxVIPExpireDate, int page, int pageSize) {
|
UserVIPInfoDao.DaoQuery daoQuery = new UserVIPInfoDao.DaoQuery();
|
daoQuery.maxExpireDate = maxVIPExpireDate;
|
daoQuery.minExpireDate = minVIPExpireDate;
|
daoQuery.start = (page - 1) * pageSize;
|
daoQuery.count = pageSize;
|
daoQuery.sortList = Arrays.asList(new String[]{"create_time desc"});
|
return userVIPInfoDao.list(daoQuery);
|
}
|
|
@Override
|
public long countVIPUser(Date minVIPExpireDate, Date maxVIPExpireDate) {
|
UserVIPInfoDao.DaoQuery daoQuery = new UserVIPInfoDao.DaoQuery();
|
daoQuery.maxExpireDate = maxVIPExpireDate;
|
daoQuery.minExpireDate = minVIPExpireDate;
|
return userVIPInfoDao.count(daoQuery);
|
}
|
|
@Override
|
public boolean isVIP(Long uid) {
|
UserVIPInfo userVIPInfo = userVIPInfoDao.selectByPrimaryKey(uid);
|
if (userVIPInfo == null) {
|
return false;
|
}
|
if (userVIPInfo.getExpireDate() == null) {
|
return false;
|
}
|
if (userVIPInfo.getExpireDate().getTime() < System.currentTimeMillis()) {
|
return false;
|
}
|
return true;
|
}
|
|
|
}
|