From eb6fc0ebcfe457fc30f65e8dfb15b8b05bebda51 Mon Sep 17 00:00:00 2001
From: 张天森 <1292933220@qq.com>
Date: 星期二, 18 十月 2022 10:17:11 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/huacheng_test' into huacheng_test

---
 flower_city/src/main/java/com/dg/core/service/impl/TransactionEventImpl.java |  100 +++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 83 insertions(+), 17 deletions(-)

diff --git a/flower_city/src/main/java/com/dg/core/service/impl/TransactionEventImpl.java b/flower_city/src/main/java/com/dg/core/service/impl/TransactionEventImpl.java
index 6c991ea..03927e8 100644
--- a/flower_city/src/main/java/com/dg/core/service/impl/TransactionEventImpl.java
+++ b/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,15 +32,46 @@
     @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);
+        //如果当前没有登录用户则不增加浏览次数
+        if (sysUser!=null){
+            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
     public List<TransactionEvent> selectConfigList(IPage<TransactionEvent> page, Integer state,
-                                                   String matterAndUser, String classifyGrade) {
-        return baseMapper.selectConfigList(page,  state, matterAndUser, classifyGrade);
+                                                   String matterAndUser, String classifyGrade,List<String> ids) {
+        return baseMapper.selectConfigList(page,  state, matterAndUser, classifyGrade,ids);
+    }
+
+    @Override
+    public List<TransactionEvent> selectConfigList(String matterAndUser, String classifyGrade, List<String> ids) {
+        return baseMapper.selectConfigList(matterAndUser,classifyGrade,ids);
     }
 
     @Override
@@ -58,8 +90,8 @@
     }
 
     @Override
-    public int countNum(String matterAndUser,String classifyGrade) {
-        return baseMapper.countNum( matterAndUser, classifyGrade);
+    public int countNum(String matterAndUser,String classifyGrade,List<String> ids) {
+        return baseMapper.countNum( matterAndUser, classifyGrade, ids);
     }
 
     @Override
@@ -74,27 +106,56 @@
         return queryResults;
     }
 
+    @Override
+    public QueryResults queryMatterNameList(String keyWord) {
+        QueryResults queryResults = new QueryResults();
+        List<Search> searches = baseMapper.selectSearchList(keyWord);
+        for (Search search:searches) {
+            search.setTransactionEventList(baseMapper.queryMatterNameList(keyWord,search.getClassifyId().toString()));
+        }
+        queryResults.setSearchList(searches);
+        List<Search> searchesAssociate = baseMapper.selectSearchAssociateDistinct(keyWord);
+        for (Search search:searchesAssociate) {
+            search.setTransactionEventList(baseMapper.queryAssociateNamesList(keyWord,search.getClassifyId().toString()));
+        }
+        queryResults.setTransactionEventList(searchesAssociate);
+        queryResults.setKeywordEntityList( keywordMapper.selectByName(keyWord));
+        return queryResults;
+    }
+
 
     @Override
     public RecommendResult smartConsulting(String keyWord){
         RecommendResult recommendResult=new RecommendResult();
         List<KeywordEntity> keywordEntityList=new ArrayList<>();
-        List<TransactionEvent> transactionEventEntities = baseMapper.queryMatterNameList(keyWord);
+        List<TransactionEvent> transactionEventEntities = baseMapper.queryMatterNameList(keyWord,null);
         recommendResult.setTransactionEventList(transactionEventEntities);
         for (TransactionEvent transactionEvent: transactionEventEntities) {
-            String[] associateNames = transactionEvent.getAssociateNames().split(",");
-            for (String  associateName: associateNames) {
-                KeywordEntity keywordEntity = new KeywordEntity();
-                keywordEntity.setName(associateName);
-                keywordEntityList.add(keywordEntity);
+            if (transactionEvent.getAssociateNames()!=null) {
+                String[] associateNames = transactionEvent.getAssociateNames().split(",");
+                for (String associateName : associateNames) {
+                    KeywordEntity keywordEntity = new KeywordEntity();
+                    keywordEntity.setName(associateName);
+                    keywordEntityList.add(keywordEntity);
+                }
             }
-
         }
         recommendResult.setKeywordEntityList(keywordEntityList);
         List<OrganizationChartEntity> organizationChartEntities = organizationChartMapper.selectByKeyWord(keyWord);
         recommendResult.setOrganizationChartEntityList(organizationChartEntities);
         return recommendResult;
     }
+
+    @Override
+    public String selectDataIfExist(String departmentId, String matterName) {
+        return baseMapper.selectDataIfExist(departmentId,matterName);
+    }
+
+    @Override
+    public List<String> selectclassifyId(String classifyId) {
+        return baseMapper.selectclassifyId(classifyId);
+    }
+
 
     @Override
     public int countNumByMatterName(String matterName) {
@@ -107,6 +168,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;

--
Gitblit v1.7.1