Commit 125f68a1 by 段启岩

新增热门标签和热门话题接口

parent 0429bb28
...@@ -44,7 +44,7 @@ public class TagApi { ...@@ -44,7 +44,7 @@ public class TagApi {
} }
try { try {
tagService.createTag(createTagForm.getTagName(),createTagForm.getTagType(), String.valueOf(subject.getId())); tagService.createTag(createTagForm.getTagName(), createTagForm.getTagType(), String.valueOf(subject.getId()));
return Response.success(); return Response.success();
} catch (TagServiceException e) { } catch (TagServiceException e) {
e.printStackTrace(); e.printStackTrace();
...@@ -78,4 +78,15 @@ public class TagApi { ...@@ -78,4 +78,15 @@ public class TagApi {
PageVO<Tag> tagPageVO = new PageVO<>(tag); PageVO<Tag> tagPageVO = new PageVO<>(tag);
return Response.success(tagPageVO); return Response.success(tagPageVO);
} }
@Anonymous
@ApiOperation("热门标签")
@GetMapping("/tag/hots")
public Response<PageVO<Tag>> getHotTags(@Valid PageForm pageForm, @CurrentSubject Subject subject) {
IPage<Tag> tag = tagService.getHotPage(pageForm.getPage(), pageForm.getSize());
PageVO<Tag> tagPageVO = new PageVO<>(tag);
return Response.success(tagPageVO);
}
} }
...@@ -41,4 +41,12 @@ public interface ITagService extends IService<Tag> { ...@@ -41,4 +41,12 @@ public interface ITagService extends IService<Tag> {
* @return * @return
*/ */
IPage<Tag> getTagPage(Integer pageNumber, Integer pageSize, String userId); IPage<Tag> getTagPage(Integer pageNumber, Integer pageSize, String userId);
/**
* 热门标签
* @param pageNumber
* @param pageSize
* @return
*/
IPage<Tag> getHotPage(Integer pageNumber, Integer pageSize);
} }
...@@ -5,6 +5,7 @@ import cn.meteor.beyondclouds.modules.tag.enums.TagErrorCode; ...@@ -5,6 +5,7 @@ import cn.meteor.beyondclouds.modules.tag.enums.TagErrorCode;
import cn.meteor.beyondclouds.modules.tag.exception.TagServiceException; import cn.meteor.beyondclouds.modules.tag.exception.TagServiceException;
import cn.meteor.beyondclouds.modules.tag.mapper.TagMapper; import cn.meteor.beyondclouds.modules.tag.mapper.TagMapper;
import cn.meteor.beyondclouds.modules.tag.service.ITagService; import cn.meteor.beyondclouds.modules.tag.service.ITagService;
import cn.meteor.beyondclouds.modules.topic.entity.Topic;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
...@@ -76,4 +77,14 @@ public class TagServiceImpl extends ServiceImpl<TagMapper, Tag> implements ITagS ...@@ -76,4 +77,14 @@ public class TagServiceImpl extends ServiceImpl<TagMapper, Tag> implements ITagS
tagQueryWrapper.eq("user_id", userId); tagQueryWrapper.eq("user_id", userId);
return page(page, tagQueryWrapper); return page(page, tagQueryWrapper);
} }
@Override
public IPage<Tag> getHotPage(Integer pageNumber, Integer pageSize) {
IPage<Tag> page = new Page<>(pageNumber, pageSize);
QueryWrapper<Tag> tagHotQueryWrapper = new QueryWrapper<>();
tagHotQueryWrapper.orderByDesc("reference_count");
return page(page,tagHotQueryWrapper);
}
} }
...@@ -156,4 +156,14 @@ public class TopicApi { ...@@ -156,4 +156,14 @@ public class TopicApi {
} }
@Anonymous
@ApiOperation("热门话题")
@GetMapping("/topic/hots")
public Response<PageVO<Topic>> getHotTags(@Valid PageForm pageForm) {
IPage<Topic> topic = topicService.getHotPage(pageForm.getPage(), pageForm.getSize());
PageVO<Topic> topicPageVO = new PageVO<>(topic);
return Response.success(topicPageVO);
}
} }
...@@ -96,4 +96,12 @@ public interface ITopicService extends IService<Topic> { ...@@ -96,4 +96,12 @@ public interface ITopicService extends IService<Topic> {
* @throws TopicServiceException * @throws TopicServiceException
*/ */
void delFollowTopic(String userId, String topicId) throws TopicServiceException; void delFollowTopic(String userId, String topicId) throws TopicServiceException;
/**
* 热门话题
* @param pageNumber
* @param pageSize
* @return
*/
IPage<Topic> getHotPage(Integer pageNumber, Integer pageSize);
} }
...@@ -227,4 +227,20 @@ public class TopicServiceImpl extends ServiceImpl<TopicMapper, Topic> implements ...@@ -227,4 +227,20 @@ public class TopicServiceImpl extends ServiceImpl<TopicMapper, Topic> implements
} }
/**
* 热门话题
* @param pageNumber
* @param pageSize
* @return
*/
@Override
public IPage<Topic> getHotPage(Integer pageNumber, Integer pageSize) {
IPage<Topic> page = new Page<>(pageNumber, pageSize);
QueryWrapper<Topic> topicQueryWrapper = new QueryWrapper<>();
topicQueryWrapper.orderByDesc("reference_count");
return page(page, topicQueryWrapper);
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment