添加是否vip接口、扣除次数接口

This commit is contained in:
wuchunlei
2025-05-28 16:50:35 +08:00
parent f192faac8c
commit 9c4e126685
2 changed files with 41 additions and 0 deletions

View File

@@ -7,4 +7,8 @@ public interface AiVipLogService extends IService<AiVipLog> {
void openAiVip(int aiBuyConfigId); void openAiVip(int aiBuyConfigId);
boolean isAiVip();
void userCount();
} }

View File

@@ -1,6 +1,8 @@
package com.peanut.modules.common.service.impl; package com.peanut.modules.common.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.peanut.common.utils.DateUtil;
import com.peanut.common.utils.DateUtils; import com.peanut.common.utils.DateUtils;
import com.peanut.common.utils.ShiroUtils; import com.peanut.common.utils.ShiroUtils;
import com.peanut.modules.common.dao.AiBuyConfigDao; import com.peanut.modules.common.dao.AiBuyConfigDao;
@@ -13,6 +15,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.Date; import java.util.Date;
import java.util.List;
@Slf4j @Slf4j
@Service("commonAiVipLogService") @Service("commonAiVipLogService")
@@ -42,4 +45,38 @@ public class AiVipLogServiceImpl extends ServiceImpl<AiVipLogDao, AiVipLog> impl
} }
} }
@Override
public boolean isAiVip() {
List<AiVipLog> aiVipLogs = this.list(new LambdaQueryWrapper<AiVipLog>()
.eq(AiVipLog::getUserId,ShiroUtils.getUId())
.orderByAsc(AiVipLog::getStartTime));
for (AiVipLog aiVipLog:aiVipLogs){
if (aiVipLog.getSurplusCount()>0&&new Date().getTime()<aiVipLog.getEndTime().getTime()){
return true;
}
}
return false;
}
@Override
public void userCount() {
List<AiVipLog> aiVipLogs = this.list(new LambdaQueryWrapper<AiVipLog>()
.eq(AiVipLog::getUserId,ShiroUtils.getUId())
.orderByAsc(AiVipLog::getStartTime));
boolean flag = false;
for (AiVipLog aiVipLog:aiVipLogs){
if (aiVipLog.getSurplusCount()>0&&new Date().getTime()<aiVipLog.getEndTime().getTime()){
aiVipLog.setSurplusCount(aiVipLog.getSurplusCount()-1);
this.updateById(aiVipLog);
flag = true;
}
if (aiVipLog.getSurplusCount()==0||aiVipLog.getEndTime().getTime()<new Date().getTime()){
this.removeById(aiVipLog);
}
if (flag){
break;
}
}
}
} }