fengjin
2022-09-27 f0cbcb0bced4b126d27d209a3d1aa3d5ea7d9e6d
flower_city/src/main/java/com/dg/core/service/impl/TransactionEventImpl.java
@@ -4,10 +4,8 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.dg.core.db.gen.entity.KeywordEntity;
import com.dg.core.db.gen.entity.OrganizationChartEntity;
import com.dg.core.db.gen.entity.SysUser;
import com.dg.core.db.gen.entity.TransactionEvent;
import com.dg.core.db.gen.entity.*;
import com.dg.core.db.gen.mapper.AutomessageTransactionEventInterviewMapper;
import com.dg.core.db.gen.mapper.KeywordMapper;
import com.dg.core.db.gen.mapper.OrganizationChartMapper;
import com.dg.core.db.gen.mapper.TransactionEventMapper;
@@ -19,6 +17,9 @@
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.List;
@@ -31,9 +32,32 @@
    @Resource
    private KeywordMapper keywordMapper;
    @Resource
    private AutomessageTransactionEventInterviewMapper automessageTransactionEventInterviewMapper;
    @Override
    public TransactionEvent selectConfigData(String Id) {
        return baseMapper.selectConfigData(Id);
    public TransactionEvent selectConfigData(String Id,SysUser sysUser) {
        TransactionEvent transactionEvent = baseMapper.selectConfigData(Id);
        LocalDateTime startTime = LocalDate.now().atTime(0, 0, 0);
        LocalDateTime endTime = LocalDate.now().atTime(23, 59, 59);
        AutomessageTransactionEventInterview automessageTransactionEventInterview = automessageTransactionEventInterviewMapper.selectOne(new QueryWrapper<AutomessageTransactionEventInterview>()
                .lambda().eq(AutomessageTransactionEventInterview::getTransactionEventId, Id)
                .eq(AutomessageTransactionEventInterview::getUserId, sysUser.getUserId())
                .orderByDesc(AutomessageTransactionEventInterview::getInterviewTime)
                .last("limit 1"));
        transactionEvent.setQueryTime(LocalDateTime.now());
        //判断上次访问时间是不是今天 如果
        if (automessageTransactionEventInterview==null||(!(transactionEvent.getQueryTime().isAfter(startTime)&&transactionEvent.getQueryTime().isBefore(endTime)))) {
            transactionEvent.setBrowseNum(transactionEvent.getBrowseNum()+1);
            baseMapper.updateById(transactionEvent);
            AutomessageTransactionEventInterview automessageTransactionEventInterviewNew =
                    new AutomessageTransactionEventInterview();
            automessageTransactionEventInterviewNew.setTransactionEventId(Integer.valueOf(Id));
            automessageTransactionEventInterviewNew.setUserId(new Long(sysUser.getUserId()));
            automessageTransactionEventInterviewNew.setInterviewTime(LocalDateTime.now());
            automessageTransactionEventInterviewMapper.insert(automessageTransactionEventInterviewNew);
        }
        return transactionEvent;
    }
    @Override
@@ -74,6 +98,17 @@
        return queryResults;
    }
    @Override
    public QueryResults queryMatterNameList(String keyWord) {
        QueryResults queryResults = new QueryResults();
        List<Search> searches = baseMapper.selectSearchList(keyWord);
        queryResults.setSearchList(searches);
        List<Search> searchesAssociate = baseMapper.selectSearchAssociate(keyWord);
        queryResults.setTransactionEventList(searchesAssociate);
        queryResults.setKeywordEntityList( keywordMapper.selectByName(keyWord));
        return queryResults;
    }
    @Override
    public RecommendResult smartConsulting(String keyWord){
@@ -107,6 +142,11 @@
    }
    @Override
    public List<TransactionEvent> queryByClassifyIdList(IPage<TransactionEvent> page, Integer state,String classifyId,Integer departmentId) {
        return baseMapper.queryByClassifyIdList(page,state,classifyId,departmentId);
    }
    @Override
    public List<TransactionEvent> queryByQueryTime() {
        List<TransactionEvent> transactionEvents = baseMapper.selectList(new QueryWrapper<TransactionEvent>().lambda().orderByDesc(TransactionEvent::getQueryTime));
        return transactionEvents;