From 5f3cf501f9f6c216df17ee8af6618b55b537d21a Mon Sep 17 00:00:00 2001 From: yanghui <2536613402@qq.com> Date: 星期五, 21 十月 2022 16:57:54 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/huacheng_test' into local_20221014 --- flower_city/src/main/java/com/dg/core/service/impl/TransactionEventImpl.java | 156 ++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 128 insertions(+), 28 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..ef4f73f 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,27 +17,63 @@ 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.Arrays; import java.util.List; +import java.util.stream.Collectors; @Service public class TransactionEventImpl extends ServiceImpl<TransactionEventMapper, TransactionEvent> implements ITransactionEventService { @Resource - private OrganizationChartMapper organizationChartMapper; + private OrganizationChartMapper organizationChartMapper; @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 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 @@ -58,37 +92,87 @@ } @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 - public QueryResults queryMatterNameList(IPage<Search> page,Integer state, Integer recommendSize,String keyWord) { + public QueryResults queryMatterNameList(IPage<Search> page, Integer state, Integer recommendSize, String keyWord) { QueryResults queryResults = new QueryResults(); List<Search> searches = baseMapper.selectSearch(page, state, keyWord); queryResults.setSearchList(searches); List<Search> searchesAssociate = baseMapper.selectSearchAssociate(page, recommendSize, keyWord); queryResults.setTransactionEventList(searchesAssociate); - queryResults.setKeywordEntityList( keywordMapper.selectByName(keyWord)); - queryResults.setTotal((baseMapper.selectSearch(keyWord).size())+(baseMapper.selectSearchAssociate(keyWord).size())); + queryResults.setKeywordEntityList(keywordMapper.selectByName(keyWord)); + queryResults.setTotal((baseMapper.selectSearch(keyWord).size()) + (baseMapper.selectSearchAssociate(keyWord).size())); + List<TransactionEvent> transactionEventEntities = baseMapper.queryMatterNameList(keyWord, null); + List<String> list = new ArrayList<>(); + for (TransactionEvent transactionEvent : transactionEventEntities) { + if (transactionEvent.getAssociateNames() != null) { + String[] associateNames = transactionEvent.getAssociateNames().split(","); + for (String associateName : associateNames) { + list.add(associateName); + } + } + } + List<KeywordEntity> keywordEntityList = new ArrayList<>(); + + String[] keywords = list.stream().distinct().collect(Collectors.joining(",")).split(",");//去重 + for (String keyword : keywords) { + if (keyword != null && !keyword.equals("")) { + KeywordEntity keywordEntity = new KeywordEntity(); + keywordEntity.setName(keyword); + keywordEntityList.add(keywordEntity); + } + } + queryResults.setKeywordAssociationList(keywordEntityList); + 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); + public RecommendResult smartConsulting(String keyWord) { + RecommendResult recommendResult = new RecommendResult(); + List<KeywordEntity> keywordEntityList = new ArrayList<>(); + List<TransactionEvent> transactionEventEntities = baseMapper.queryMatterNameList(keyWord, null); + List<TransactionEvent> transactionEvents = baseMapper.queryAssociateNamesList(keyWord, null); recommendResult.setTransactionEventList(transactionEventEntities); - for (TransactionEvent transactionEvent: transactionEventEntities) { - String[] associateNames = transactionEvent.getAssociateNames().split(","); - for (String associateName: associateNames) { + List<String> list = new ArrayList<>(); + for (TransactionEvent transactionEvent : transactionEvents) { +// 直接返回办事指南名称 + list.add(transactionEvent.getMatterName()); +// 遍历关键词列表 可能后面流程更改会遇到暂时保存代码; + /* 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) { + if (keyword != null && !keyword.equals("")) { KeywordEntity keywordEntity = new KeywordEntity(); - keywordEntity.setName(associateName); + keywordEntity.setName(keyword); keywordEntityList.add(keywordEntity); } - } recommendResult.setKeywordEntityList(keywordEntityList); List<OrganizationChartEntity> organizationChartEntities = organizationChartMapper.selectByKeyWord(keyWord); @@ -97,13 +181,29 @@ } @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); } @Override - public List<TransactionEvent> queryByClassifyIdList(String classifyId,Integer departmentId) { - return baseMapper.queryByClassifyIdList(classifyId,departmentId); + public List<TransactionEvent> queryByClassifyIdList(String classifyId, Integer departmentId) { + return baseMapper.queryByClassifyIdList(classifyId, departmentId); + } + + @Override + public List<TransactionEvent> queryByClassifyIdList(IPage<TransactionEvent> page, Integer state, String classifyId, Integer departmentId) { + return baseMapper.queryByClassifyIdList(page, state, classifyId, departmentId); } @Override @@ -125,11 +225,11 @@ @Override public int countNumByClassifyIdList(String classifyId, Integer departmentId) { - return baseMapper.countNumByClassifyIdList(classifyId,departmentId); + return baseMapper.countNumByClassifyIdList(classifyId, departmentId); } @Override - public List<TransactionEvent> selectList(){ - return baseMapper.selectList(new QueryWrapper<TransactionEvent>().lambda()); + public List<TransactionEvent> selectList() { + return baseMapper.selectList(new QueryWrapper<TransactionEvent>().lambda()); } } -- Gitblit v1.7.1