From d3b5580aa4e34a2e55bc108a345c74cfb45878a3 Mon Sep 17 00:00:00 2001 From: jianjun Date: Tue, 27 Apr 2021 10:45:38 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E8=BD=AC=E8=AE=AE=E9=A2=98?= =?UTF-8?q?=E7=9A=84=E6=97=B6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/feign/GovIssueOpenFeignClient.java | 8 +++++++ .../GovIssueOpenFeignClientFallBack.java | 5 +++++ .../com/epmet/controller/IssueController.java | 18 +++++++++++---- .../java/com/epmet/service/IssueService.java | 10 +++++++++ .../epmet/service/impl/IssueServiceImpl.java | 13 +++++++++++ .../impl/StatsAchievementServiceImpl.java | 22 +++++++++++++++---- 6 files changed, 68 insertions(+), 8 deletions(-) diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/GovIssueOpenFeignClient.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/GovIssueOpenFeignClient.java index eeccc8d836..318872e37a 100644 --- a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/GovIssueOpenFeignClient.java +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/GovIssueOpenFeignClient.java @@ -293,4 +293,12 @@ public interface GovIssueOpenFeignClient { @PostMapping(value = "/gov/issue/manage/votingissuedetail") Result votingissuedetail(@RequestBody IssueDetailFormDTO issueDetail); + + /** + * @param customerId + * @Description 根据客户Id获取 议题列表 + * @Author sun + **/ + @PostMapping(value = "/gov/issue/getissuelist") + Result> getIssueList(@RequestParam String customerId); } diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/fallback/GovIssueOpenFeignClientFallBack.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/fallback/GovIssueOpenFeignClientFallBack.java index 9ce37add49..20b1432daa 100644 --- a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/fallback/GovIssueOpenFeignClientFallBack.java +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/fallback/GovIssueOpenFeignClientFallBack.java @@ -251,4 +251,9 @@ public class GovIssueOpenFeignClientFallBack implements GovIssueOpenFeignClient public Result votingissuedetail(IssueDetailFormDTO issueDetail) { return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER, "votingissuedetail", issueDetail); } + + @Override + public Result> getIssueList(String customerId) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER, "getIssueList", customerId); + } } diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueController.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueController.java index c64573730a..a539727606 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueController.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueController.java @@ -12,10 +12,7 @@ import com.epmet.resi.group.dto.group.result.GroupVotingListResultDTO; import com.epmet.resi.group.dto.topic.form.TopicInfoFormDTO; import com.epmet.service.IssueService; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import java.util.List; @@ -246,5 +243,18 @@ public class IssueController { return new Result>().ok(issueService.getClosedListByGroup(formDTO)); } + /** + * desc: 获取议题列表 + * + * @param customerId + * @return com.epmet.commons.tools.utils.Result> + * @author LiuJanJun + * @date 2021/4/27 10:19 上午 + */ + @PostMapping("getissuelist") + public Result> getIssueList(@RequestParam String customerId) { + return new Result>().ok(issueService.getIssueList(customerId)); + } + } diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueService.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueService.java index e22236e324..90e06f1185 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueService.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueService.java @@ -315,4 +315,14 @@ public interface IssueService extends BaseService { * @return java.util.List */ List getClosedListByGroup(AllIssueFormDTO formDTO); + + /** + * desc: 根据客户Id获取议题列表 + * + * @param customerId + * @return java.util.List + * @author LiuJanJun + * @date 2021/4/27 10:23 上午 + */ + List getIssueList(String customerId); } diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java index bd70d1a7cb..1d8d1085dc 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java @@ -1395,4 +1395,17 @@ public class IssueServiceImpl extends BaseServiceImpl imp return baseDao.selectClosedListByTopic(formDTO); } + @Override + public List getIssueList(String customerId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.lambda() + .eq(IssueEntity::getCustomerId,customerId) + .eq(IssueEntity::getDelFlag,NumConstant.ZERO_STR); + List issueEntities = baseDao.selectList(queryWrapper); + if (CollectionUtils.isEmpty(issueEntities)){ + return null; + } + return ConvertUtils.sourceToTarget(issueEntities,IssueDTO.class); + } + } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/StatsAchievementServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/StatsAchievementServiceImpl.java index b826e9c071..7958d9ca4f 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/StatsAchievementServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/StatsAchievementServiceImpl.java @@ -6,6 +6,8 @@ import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.utils.Result; import com.epmet.dto.CustomerDTO; +import com.epmet.dto.IssueDTO; +import com.epmet.feign.GovIssueOpenFeignClient; import com.epmet.feign.OperCrmOpenFeignClient; import com.epmet.modules.enums.AchievementTypeEnum; import com.epmet.modules.group.dao.ResiGroupDao; @@ -29,6 +31,7 @@ import org.springframework.util.CollectionUtils; import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.Map; import java.util.stream.Collectors; /** @@ -49,6 +52,8 @@ public class StatsAchievementServiceImpl extends AbstractStatsAchievementService private ResiGroupDao resiGroupDao; @Autowired private OperCrmOpenFeignClient operCrmOpenFeignClient; + @Autowired + private GovIssueOpenFeignClient govIssueOpenFeignClient; /** @@ -73,6 +78,13 @@ public class StatsAchievementServiceImpl extends AbstractStatsAchievementService log.warn("没有需要初始化的小组数据,customerId:{}", customerId); continue; } + //3 获取客户下议题数据 + Result> issueListResult = govIssueOpenFeignClient.getIssueList(customerId); + if (issueListResult == null || CollectionUtils.isEmpty(issueListResult.getData())) { + log.warn("没有需要初始化的小组转为议题的数据,customerId:{}", customerId); + continue; + } + Map issueCreateTimeMap = issueListResult.getData().stream().collect(Collectors.toMap(IssueDTO::getId, IssueDTO::getCreatedTime)); for (ResiGroupEntity groupEntity : groupEntities) { //2.1 获取小组成员数据 String groupId = groupEntity.getId(); @@ -114,7 +126,7 @@ public class StatsAchievementServiceImpl extends AbstractStatsAchievementService //设置实际达到成就时间 最后一条为未实现 所以-1 for (int j = 0; j < toIssueArriveList.size() - 1; j++) { - toIssueArriveList.get(j).setArriveTime(toIssueTopicList.get(j).getCreatedTime()); + toIssueArriveList.get(j).setArriveTime(issueCreateTimeMap.getOrDefault(toIssueTopicList.get(j).getIssueId(),new Date())); } //2.6 计算出 话题被解决 达到的成就 @@ -127,9 +139,11 @@ public class StatsAchievementServiceImpl extends AbstractStatsAchievementService for (int j = 0; j < resolveTopicArriveList.size() - 1; j++) { resolveTopicArriveList.get(j).setArriveTime(resolveTopicList.get(j).getCreatedTime()); } - saveOrUpdate(topicArriveList, true); - saveOrUpdate(toIssueArriveList, true); - saveOrUpdate(resolveTopicArriveList, true); + List list = new ArrayList<>(); + list.addAll(topicArriveList); + list.addAll(toIssueArriveList); + list.addAll(resolveTopicArriveList); + saveOrUpdate(list, true); } }