首页查询优化

This commit is contained in:
谭凯凯 2024-12-30 16:47:23 +08:00 committed by Tankaikai
parent f8e4fbf057
commit b45006d2f7
2 changed files with 30 additions and 3 deletions

View File

@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.sqx.common.utils.DateUtils;
@ -27,7 +28,6 @@ import com.sqx.modules.course.entity.CourseUser;
import com.sqx.modules.course.service.CourseDetailsService;
import com.sqx.modules.course.vo.CourseDetailsIn;
import com.sqx.modules.orders.dao.OrdersDao;
import com.sqx.modules.orders.entity.Orders;
import com.sqx.modules.orders.service.OrdersService;
import com.sqx.modules.redisService.impl.RedisServiceImpl;
import com.sqx.modules.utils.EasyPoi.ExcelUtils;
@ -68,6 +68,8 @@ public class CourseDetailsServiceImpl extends ServiceImpl<CourseDetailsDao, Cour
private CommonInfoDao commonInfoDao;
@Autowired
private RedisServiceImpl redisServiceImpl;
@Autowired
private CourseDetailsDao courseDetailsDao;
@Override
@ -94,6 +96,7 @@ public class CourseDetailsServiceImpl extends ServiceImpl<CourseDetailsDao, Cour
/**
* 校验用户是否达到免费播放购买次数
*
* @param userId 用户id
* @return true 可观看
*/
@ -117,7 +120,7 @@ public class CourseDetailsServiceImpl extends ServiceImpl<CourseDetailsDao, Cour
// 触发计时
redisServiceImpl.getFreeWatchTimeIsExpire(userId);
isExpire = false;
}else {
} else {
isExpire = true;
}
}
@ -199,6 +202,30 @@ public class CourseDetailsServiceImpl extends ServiceImpl<CourseDetailsDao, Cour
}
}
}
CourseCollect courseCollect = courseCollectDao.selectOne(Wrappers.<CourseCollect>lambdaQuery()
.select(CourseCollect::getCourseDetailsId)
.eq(CourseCollect::getCourseId, id)
.eq(CourseCollect::getClassify, 3)
.eq(CourseCollect::getUserId, userId)
.orderByDesc(CourseCollect::getUpdateTime).last("limit 1")
);
if (courseCollect != null && courseCollect.getCourseDetailsId() != null) {
CourseDetails courseDetails = courseDetailsDao.selectById(courseCollect.getCourseDetailsId());
if (courseDetails != null) {
bean.setCourseDetailsId(courseDetails.getCourseDetailsId());
bean.setCourseDetailsName(courseDetails.getCourseDetailsName());
bean.setCourseDetailsCount(courseDetails.getCourseDetailsCount());
}
}else{
//默认取第一集
CourseDetails courseDetails = courseDetailsDao.selectOne(Wrappers.<CourseDetails>lambdaQuery().eq(CourseDetails::getCourseId, id)
.orderByAsc(CourseDetails::getSort).last(" limit 1"));
if (courseDetails != null) {
bean.setCourseDetailsId(courseDetails.getCourseDetailsId());
bean.setCourseDetailsName(courseDetails.getCourseDetailsName());
bean.setCourseDetailsCount(courseDetails.getCourseDetailsCount());
}
}
return Result.success().put("data", bean);
}

View File

@ -88,7 +88,7 @@ public class CourseServiceImpl extends ServiceImpl<CourseDao, Course> implements
private void setCache(String key, String value) {
key = getIndexKey(key);
redisUtils.set(key, value, 60 * 60 * 3);
redisUtils.set(key, value, 60 * 30);
}
private String getCache(String key) {