TopicManager.java 1.54 KB
package com.tanpu.community.manager;

import com.tanpu.common.auth.UserHolder;
import com.tanpu.community.api.beans.qo.TopicRankQo;
import com.tanpu.community.api.beans.req.page.Page;
import com.tanpu.community.api.beans.req.topic.TopicSearchReq;
import com.tanpu.community.service.RankService;
import com.tanpu.community.service.TopicService;
import com.tanpu.community.service.VisitLogService;
import com.tanpu.community.util.PageUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;

import static com.tanpu.biz.common.enums.clue.PageEnum.COMM_VISIT_TOPIC_DETAIL;

@Service
public class TopicManager {


    @Autowired
    private VisitLogService visitLogService;
    @Autowired
    private RankService rankService;

    @Resource
    private UserHolder userHolder;


    // 首页-话题标签
    public List<TopicRankQo> getTop4TopicTitles() {
        return rankService.getRankTopicListTop4();
    }


    // 话题搜索列表
    public Page<TopicRankQo> getAllTopicBriefInfo(TopicSearchReq req) {

        List<TopicRankQo> topicList = rankService.getRankTopicList(req.getSearchKeyword());
        return PageUtils.page(req.getPage(), topicList);
    }

    // 话题详情页

    public TopicRankQo getDetail(String topicId) {
        //TODO 临时埋点,接入新埋点后删除
        visitLogService.addPageView(userHolder.getUserId(), topicId, COMM_VISIT_TOPIC_DETAIL);
        return rankService.getTopicDetail(topicId);
    }


}