From 47a58d6b06b53e01321d2398cbc5a35c9923f705 Mon Sep 17 00:00:00 2001
From: fengjin <1435304038@qq.com>
Date: 星期五, 21 十月 2022 10:08:55 +0800
Subject: [PATCH] Merge branch 'zigonggao_dev' into huacheng_test

---
 flower_city/src/main/java/com/dg/core/service/impl/TransactionEventImpl.java |   83 +++++++++++++++++++++++++++++------------
 1 files changed, 58 insertions(+), 25 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 a92723e..df57089 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
@@ -21,7 +21,9 @@
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.List;
+import java.util.stream.Collectors;
 
 @Service
 public class TransactionEventImpl extends ServiceImpl<TransactionEventMapper, TransactionEvent> implements ITransactionEventService {
@@ -38,32 +40,40 @@
     @Override
     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>()
+        //如果当前没有登录用户则不增加浏览次数
+        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 =
+            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);
+               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 keyword, String classifyGrade,List<String> ids) {
+        return baseMapper.selectConfigList(page,  state, keyword, classifyGrade,ids);
+    }
+
+    @Override
+    public List<TransactionEvent> selectConfigList(String keyword, String classifyGrade, List<String> ids) {
+        return baseMapper.selectConfigList(keyword,classifyGrade,ids);
     }
 
     @Override
@@ -82,8 +92,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
@@ -102,8 +112,14 @@
     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.selectSearchAssociate(keyWord);
+        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;
@@ -114,16 +130,22 @@
     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);
+        List<String> list = new ArrayList<>();
         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) {
+                    list.add(associateName);
+                }
             }
-
+        }
+        String[]  keywords = list.stream().distinct().collect(Collectors.joining(",")).split(",");//去重
+        for (String keyword:keywords) {
+            KeywordEntity keywordEntity=new KeywordEntity();
+            keywordEntity.setName(keyword);
+            keywordEntityList.add(keywordEntity);
         }
         recommendResult.setKeywordEntityList(keywordEntityList);
         List<OrganizationChartEntity> organizationChartEntities = organizationChartMapper.selectByKeyWord(keyWord);
@@ -132,6 +154,17 @@
     }
 
     @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) {
         return baseMapper.countNumByMatterName(matterName);
     }

--
Gitblit v1.7.1