ThemeService.java 1.93 KB
Newer Older
刘基明's avatar
刘基明 committed
1 2
package com.tanpu.community.service;

刘基明's avatar
刘基明 committed
3
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
刘基明's avatar
刘基明 committed
4
import com.tanpu.common.uuid.UuidGenHelper;
刘基明's avatar
刘基明 committed
5
import com.tanpu.community.dao.entity.community.ThemeEntity;
刘基明's avatar
刘基明 committed
6
import com.tanpu.community.dao.mapper.community.ThemeMapper;
刘基明's avatar
刘基明 committed
7
import org.springframework.beans.factory.annotation.Autowired;
刘基明's avatar
刘基明 committed
8 9
import org.springframework.stereotype.Service;

刘基明's avatar
刘基明 committed
10 11
import javax.annotation.Resource;
import java.util.List;
刘基明's avatar
刘基明 committed
12 13
import java.util.Set;
import java.util.stream.Collectors;
刘基明's avatar
刘基明 committed
14

刘基明's avatar
刘基明 committed
15 16 17
@Service
public class ThemeService {

刘基明's avatar
刘基明 committed
18
    @Resource
刘基明's avatar
刘基明 committed
19
    private ThemeMapper themeMapper;
刘基明's avatar
刘基明 committed
20

刘基明's avatar
刘基明 committed
21 22 23
    @Autowired
    private UuidGenHelper uuidGenHelper;

刘基明's avatar
刘基明 committed
24
    public void insertTheme(ThemeEntity themeEntity){
刘基明's avatar
刘基明 committed
25
        themeEntity.setThemeId(uuidGenHelper.getUuidStr());
刘基明's avatar
刘基明 committed
26 27 28 29
        themeMapper.insert(themeEntity);
    }

    //根据id返回主题详情
30
    public ThemeEntity selectById(String themeId){
刘基明's avatar
刘基明 committed
31 32 33 34 35
        return themeMapper.selectById(themeId);
    }

    //根据话题查询主题
    public List<ThemeEntity> selectByTopic(String topidId){
刘基明's avatar
刘基明 committed
36 37
        return themeMapper.selectList(new LambdaQueryWrapper<ThemeEntity>()
                .eq(ThemeEntity::getTopicId,topidId));
刘基明's avatar
刘基明 committed
38 39 40
    }
    //查询列表中用户的主题
    public List<ThemeEntity> selectByFans(List<String> fansList) {
刘基明's avatar
刘基明 committed
41 42 43 44 45 46 47 48 49 50
        return themeMapper.selectList(new LambdaQueryWrapper<ThemeEntity>()
                .in(ThemeEntity::getAuthorId,fansList)
                .orderByDesc(ThemeEntity::getUpdateTime));

    }

    //查询列表中用户的主题
    public List<ThemeEntity> selectAll() {
        return themeMapper.selectList(new LambdaQueryWrapper<ThemeEntity>()
                .orderByDesc(ThemeEntity::getUpdateTime));
刘基明's avatar
刘基明 committed
51
    }
刘基明's avatar
刘基明 committed
52 53 54 55 56 57 58

    //查询对应话题的发表用户集合
    public Set<String> getPostUserAmount(List<String> themeIds) {
        return themeMapper.selectBatchIds(themeIds).stream()
                .map(ThemeEntity::getAuthorId)
                .collect(Collectors.toSet());
    }
刘基明's avatar
刘基明 committed
59
}