|
@@ -32,6 +32,32 @@ public class QuanNewsServiceImpl extends ServiceImpl<QuanNewsMapper, QuanNews> i
|
|
|
|
|
|
private final RedisTemplate<String, Object> redisTemplate;
|
|
|
|
|
|
+ /**
|
|
|
+ * 查询置顶新闻+普通新闻列表
|
|
|
+ *
|
|
|
+ * @since 2019/12/3 10:30
|
|
|
+ */
|
|
|
+ public RestResponse news(Long pageNum, Long pageSize, Integer haveTops) {
|
|
|
+ Page<QuanNews> page = new Page<>(pageNum, pageSize);
|
|
|
+ IPage<Map<String, Object>> news = this.pageMaps(page, new QueryWrapper<QuanNews>()
|
|
|
+ .select("id","title","content","top_serial topSerial","video_path videoPath","release_id releaseId","release_user releaseUser","release_date releaseDate")
|
|
|
+ .eq("top_serial", "0").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");
|
|
|
+ HashMap<String, Object> result = new HashMap<>();
|
|
|
+ newsAddLookAndLike(news.getRecords(), lookTimes, likeUsers);
|
|
|
+ result.put("news", news);
|
|
|
+ if (haveTops == 1) {
|
|
|
+ List<Map<String, Object>> topNews = this.listMaps(new QueryWrapper<QuanNews>().ne("top_serial", "0").orderByAsc("top_serial"));
|
|
|
+ //把点赞的用户数量和浏览量整入新闻字段中
|
|
|
+ newsAddLookAndLike(topNews, lookTimes, likeUsers);
|
|
|
+ result.put("topNews", topNews);
|
|
|
+ }
|
|
|
+ return RestResponse.success(result);
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 将新闻置顶
|
|
|
*
|
|
@@ -111,30 +137,6 @@ public class QuanNewsServiceImpl extends ServiceImpl<QuanNewsMapper, QuanNews> i
|
|
|
return RestResponse.failParam();
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
- * 查询置顶新闻+普通新闻列表
|
|
|
- *
|
|
|
- * @since 2019/12/3 10:30
|
|
|
- */
|
|
|
- public RestResponse news(Long pageNum, Long pageSize, Integer haveTops) {
|
|
|
- Page<QuanNews> page = new Page<>(pageNum, pageSize);
|
|
|
- IPage<Map<String, Object>> news = this.pageMaps(page, new QueryWrapper<QuanNews>().eq("top_serial", "0").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");
|
|
|
- HashMap<String, Object> result = new HashMap<>();
|
|
|
- newsAddLookAndLike(news.getRecords(), lookTimes, likeUsers);
|
|
|
- result.put("news", news);
|
|
|
- if (haveTops == 1) {
|
|
|
- List<Map<String, Object>> topNews = this.listMaps(new QueryWrapper<QuanNews>().ne("top_serial", "0").orderByAsc("top_serial"));
|
|
|
- //把点赞的用户数量和浏览量整入新闻字段中
|
|
|
- newsAddLookAndLike(topNews, lookTimes, likeUsers);
|
|
|
- result.put("topNews", topNews);
|
|
|
- }
|
|
|
- return RestResponse.success(result);
|
|
|
- }
|
|
|
-
|
|
|
//把点赞的用户数量和浏览量整入新闻字段中
|
|
|
void newsAddLookAndLike(List<Map<String, Object>> records, Map<Object, Object> lookTimes, Map<Object, Object> likeUsers) {
|
|
|
for (Map<String, Object> record : records) {
|