TopicService.java 3.86 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.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
刘基明's avatar
刘基明 committed
5
import com.tanpu.common.uuid.UuidGenHelper;
刘基明's avatar
刘基明 committed
6 7
import com.tanpu.community.api.enums.DeleteTagEnum;
import com.tanpu.community.api.enums.TopicStatusEnum;
刘基明's avatar
刘基明 committed
8 9
import com.tanpu.community.dao.entity.community.TopicEntity;
import com.tanpu.community.dao.mapper.community.TopicMapper;
刘基明's avatar
刘基明 committed
10
import org.springframework.beans.factory.annotation.Autowired;
刘基明's avatar
刘基明 committed
11 12 13 14 15 16 17 18 19 20 21 22 23 24
import org.springframework.cache.annotation.EnableCaching;
import org.springframework.stereotype.Service;

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


@Service
@EnableCaching
public class TopicService {

    @Resource
    private TopicMapper topicMapper;

刘基明's avatar
刘基明 committed
25 26
    @Autowired
    private UuidGenHelper uuidGenHelper;
刘基明's avatar
刘基明 committed
27

刘基明's avatar
刘基明 committed
28
    public List<TopicEntity> queryAll() {
刘基明's avatar
刘基明 committed
29
        return topicMapper.selectList(new LambdaQueryWrapper<TopicEntity>()
刘基明's avatar
刘基明 committed
30
                .eq(TopicEntity::getDeleteTag, DeleteTagEnum.NOT_DELETED.getCode()));
刘基明's avatar
刘基明 committed
31 32
    }

刘基明's avatar
刘基明 committed
33 34 35 36 37 38
    public List<TopicEntity> queryByKeyword(String keyword) {
        return topicMapper.selectList(new LambdaQueryWrapper<TopicEntity>()
                .like(TopicEntity::getTopicTitle,keyword)
                .eq(TopicEntity::getDeleteTag, DeleteTagEnum.NOT_DELETED.getCode()));
    }

刘基明's avatar
刘基明 committed
39

刘基明's avatar
刘基明 committed
40
    public void addTopic(String topicTitle, String userId) {
刘基明's avatar
刘基明 committed
41
        TopicEntity entity = TopicEntity.builder()
刘基明's avatar
刘基明 committed
42
                .topicId(uuidGenHelper.getUuidStr())
刘基明's avatar
刘基明 committed
43 44 45 46 47 48
                .topicTitle(topicTitle)
                .isTop(TopicStatusEnum.FALSE.getCode())
                .isConceal(TopicStatusEnum.FALSE.getCode())
                .build();

        topicMapper.insert(entity);
刘基明's avatar
刘基明 committed
49 50 51
    }


刘基明's avatar
刘基明 committed
52
    public void updateTopicToTop(String topicId) {
刘基明's avatar
刘基明 committed
53
        TopicEntity topicEntity = new TopicEntity();
刘基明's avatar
刘基明 committed
54
        topicEntity.setIsTop(TopicStatusEnum.TRUE.getCode());
刘基明's avatar
刘基明 committed
55 56
        topicMapper.update(topicEntity, new LambdaUpdateWrapper<TopicEntity>()
                .eq(TopicEntity::getId, topicId));
刘基明's avatar
刘基明 committed
57 58
    }

刘基明's avatar
刘基明 committed
59
    public void updateTopicNotTop(String topicId) {
刘基明's avatar
刘基明 committed
60
        TopicEntity topicEntity = new TopicEntity();
刘基明's avatar
刘基明 committed
61
        topicEntity.setIsTop(TopicStatusEnum.FALSE.getCode());
刘基明's avatar
刘基明 committed
62 63
        topicMapper.update(topicEntity, new LambdaUpdateWrapper<TopicEntity>()
                .eq(TopicEntity::getId, topicId));
刘基明's avatar
刘基明 committed
64 65
    }

刘基明's avatar
刘基明 committed
66
    public void updateTopicToConceal(String topicId) {
刘基明's avatar
刘基明 committed
67
        TopicEntity topicEntity = new TopicEntity();
刘基明's avatar
刘基明 committed
68
        topicEntity.setIsConceal(TopicStatusEnum.TRUE.getCode());
刘基明's avatar
刘基明 committed
69 70
        topicMapper.update(topicEntity, new LambdaUpdateWrapper<TopicEntity>()
                .eq(TopicEntity::getId, topicId));
刘基明's avatar
刘基明 committed
71 72
    }

刘基明's avatar
刘基明 committed
73
    public void updateTopicNotConceal(String topicId) {
刘基明's avatar
刘基明 committed
74
        TopicEntity topicEntity = new TopicEntity();
刘基明's avatar
刘基明 committed
75
        topicEntity.setIsConceal(TopicStatusEnum.FALSE.getCode());
刘基明's avatar
刘基明 committed
76 77
        topicMapper.update(topicEntity, new LambdaUpdateWrapper<TopicEntity>()
                .eq(TopicEntity::getId, topicId));
刘基明's avatar
刘基明 committed
78 79 80
    }

    public TopicEntity queryById(String topicId) {
刘基明's avatar
刘基明 committed
81
        return topicMapper.selectOne(new LambdaQueryWrapper<TopicEntity>().eq(TopicEntity::getTopicId,topicId));
刘基明's avatar
刘基明 committed
82
    }
刘基明's avatar
刘基明 committed
83

84 85 86 87
    public List<TopicEntity> queryByIds(List<String> topicIds) {
        return topicMapper.selectList(new LambdaQueryWrapper<TopicEntity>().in(TopicEntity::getTopicId,topicIds));
    }

刘基明's avatar
刘基明 committed
88
    public void modifyViewCount(String topicId, long Count) {
刘基明's avatar
刘基明 committed
89
        TopicEntity topicEntity = topicMapper.selectById(topicId);
刘基明's avatar
刘基明 committed
90 91
        Long oldCount = topicEntity.getviewCntAdjust();
        topicEntity.setViewAmountModify(topicEntity.getviewCntAdjust() + Count);
刘基明's avatar
刘基明 committed
92
        topicMapper.update(topicEntity, new LambdaUpdateWrapper<TopicEntity>()
刘基明's avatar
刘基明 committed
93
                .eq(TopicEntity::getviewCntAdjust, oldCount));
刘基明's avatar
刘基明 committed
94 95
        return;
    }
刘基明's avatar
刘基明 committed
96 97 98 99

    public TopicEntity queryByTitile(String topicTitle) {
        return topicMapper.selectOne(new LambdaQueryWrapper<TopicEntity>().eq(TopicEntity::getTopicTitle, topicTitle));
    }
刘基明's avatar
刘基明 committed
100
}