|
@@ -15,6 +15,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
|
|
import lombok.AllArgsConstructor;
|
|
import lombok.AllArgsConstructor;
|
|
import org.springframework.data.redis.core.RedisTemplate;
|
|
import org.springframework.data.redis.core.RedisTemplate;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
+import org.springframework.web.bind.annotation.RequestBody;
|
|
import org.springframework.web.client.RestTemplate;
|
|
import org.springframework.web.client.RestTemplate;
|
|
|
|
|
|
import java.io.IOException;
|
|
import java.io.IOException;
|
|
@@ -37,6 +38,45 @@ public class QuanNewsServiceImpl extends ServiceImpl<QuanNewsMapper, QuanNews> i
|
|
|
|
|
|
private final RedisTemplate<String, Object> redisTemplate;
|
|
private final RedisTemplate<String, Object> redisTemplate;
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
+ * 首页置顶新闻
|
|
|
|
+ * @param request
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+ public RestResponse getTopNewsList(QuanNewsReq request) {
|
|
|
|
+ //全部新闻的浏览量列表
|
|
|
|
+ Map<Object, Object> lookTimes = redisTemplate.boundHashOps("system-quanNews-look-time").entries();
|
|
|
|
+ //全部新闻的点赞用户列表
|
|
|
|
+ Map<Object, Object> likeUsers = redisTemplate.opsForHash().entries("system-quanNews-like-users");
|
|
|
|
+ Page<QuanNews> page = new Page<>(request.getPageNum(), request.getPageSize());
|
|
|
|
+ IPage<QuanNews> topNews = this.page(page, Wrappers.<QuanNews>query()
|
|
|
|
+ .eq("is_top", true)
|
|
|
|
+ .orderByAsc("top_serial")
|
|
|
|
+ .orderByDesc("release_date"));
|
|
|
|
+ //把点赞的用户数量和浏览量整入新闻字段中
|
|
|
|
+ newsAddLookAndLike(topNews.getRecords(), lookTimes, likeUsers);
|
|
|
|
+ return RestResponse.success(topNews);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 获取更多新闻
|
|
|
|
+ * @param request
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+ public RestResponse getMoreNewsList(QuanNewsReq quanNews) {
|
|
|
|
+ Page<QuanNews> page = new Page<>(quanNews.getPageNum(), quanNews.getPageSize());
|
|
|
|
+ IPage<QuanNews> news = this.page(page, Wrappers.<QuanNews>query()
|
|
|
|
+ .orderByDesc("is_top")
|
|
|
|
+ .orderByAsc("top_serial")
|
|
|
|
+ .orderByDesc("release_date"));
|
|
|
|
+ //全部新闻的浏览量列表
|
|
|
|
+ Map<Object, Object> lookTimes = redisTemplate.boundHashOps("system-quanNews-look-time").entries();
|
|
|
|
+ //全部新闻的点赞用户列表
|
|
|
|
+ Map<Object, Object> likeUsers = redisTemplate.opsForHash().entries("system-quanNews-like-users");
|
|
|
|
+ newsAddLookAndLike(news.getRecords(), lookTimes, likeUsers);
|
|
|
|
+ return RestResponse.success(news);
|
|
|
|
+ }
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* 查询置顶新闻+普通新闻列表
|
|
* 查询置顶新闻+普通新闻列表
|
|
*
|
|
*
|