package com.tanpu.community.service; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.tanpu.community.api.enums.VisitTypeEnum; import com.tanpu.community.dao.entity.community.VisitSummaryEntity; import com.tanpu.community.dao.mapper.community.VisitSummaryMapper; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.List; @Slf4j @Service public class VisitSummaryService { @Resource private VisitSummaryMapper visitSummaryMapper; @Transactional public void addPageView(String userId, String targetId, VisitTypeEnum type) { visitSummaryMapper.insert(VisitSummaryEntity.builder() .visitorId(userId) .refId(targetId) .refType(type.getCode()) .build()); } // 查询话题 详细页面 浏览量 public Integer queryTopicDetailVisit(String topicId) { return visitSummaryMapper.selectCount(new LambdaQueryWrapper<VisitSummaryEntity>() .eq(VisitSummaryEntity::getRefId, topicId) .eq(VisitSummaryEntity::getRefType,VisitTypeEnum.TOPIC_PAGE_VIEW.getCode())); } // 查询主题 浏览量 public Integer queryThemeVisit(String theme) { return visitSummaryMapper.selectCount(new LambdaQueryWrapper<VisitSummaryEntity>() .eq(VisitSummaryEntity::getRefId, theme) .eq(VisitSummaryEntity::getRefType,VisitTypeEnum.TOPIC_PAGE_VIEW.getCode())); } // 查询主题 浏览量 public Integer queryThemeVisit(List<String> themes) { return visitSummaryMapper.selectCount(new LambdaQueryWrapper<VisitSummaryEntity>() .in(VisitSummaryEntity::getRefId, themes) .eq(VisitSummaryEntity::getRefType,VisitTypeEnum.TOPIC_PAGE_VIEW.getCode())); } // 更新访问时长 public void updateDurByIdent(String ident, Integer dur) { // visitSummaryMapper.updateDurByIdent(ident, dur); } }