|
@ -6,6 +6,8 @@ import com.epmet.commons.tools.exception.EpmetErrorCode; |
|
|
import com.epmet.commons.tools.exception.RenException; |
|
|
import com.epmet.commons.tools.exception.RenException; |
|
|
import com.epmet.commons.tools.utils.Result; |
|
|
import com.epmet.commons.tools.utils.Result; |
|
|
import com.epmet.dto.CustomerDTO; |
|
|
import com.epmet.dto.CustomerDTO; |
|
|
|
|
|
import com.epmet.dto.IssueDTO; |
|
|
|
|
|
import com.epmet.feign.GovIssueOpenFeignClient; |
|
|
import com.epmet.feign.OperCrmOpenFeignClient; |
|
|
import com.epmet.feign.OperCrmOpenFeignClient; |
|
|
import com.epmet.modules.enums.AchievementTypeEnum; |
|
|
import com.epmet.modules.enums.AchievementTypeEnum; |
|
|
import com.epmet.modules.group.dao.ResiGroupDao; |
|
|
import com.epmet.modules.group.dao.ResiGroupDao; |
|
@ -29,6 +31,7 @@ import org.springframework.util.CollectionUtils; |
|
|
import java.util.ArrayList; |
|
|
import java.util.ArrayList; |
|
|
import java.util.Date; |
|
|
import java.util.Date; |
|
|
import java.util.List; |
|
|
import java.util.List; |
|
|
|
|
|
import java.util.Map; |
|
|
import java.util.stream.Collectors; |
|
|
import java.util.stream.Collectors; |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
@ -49,6 +52,8 @@ public class StatsAchievementServiceImpl extends AbstractStatsAchievementService |
|
|
private ResiGroupDao resiGroupDao; |
|
|
private ResiGroupDao resiGroupDao; |
|
|
@Autowired |
|
|
@Autowired |
|
|
private OperCrmOpenFeignClient operCrmOpenFeignClient; |
|
|
private OperCrmOpenFeignClient operCrmOpenFeignClient; |
|
|
|
|
|
@Autowired |
|
|
|
|
|
private GovIssueOpenFeignClient govIssueOpenFeignClient; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
@ -73,6 +78,13 @@ public class StatsAchievementServiceImpl extends AbstractStatsAchievementService |
|
|
log.warn("没有需要初始化的小组数据,customerId:{}", customerId); |
|
|
log.warn("没有需要初始化的小组数据,customerId:{}", customerId); |
|
|
continue; |
|
|
continue; |
|
|
} |
|
|
} |
|
|
|
|
|
//3 获取客户下议题数据
|
|
|
|
|
|
Result<List<IssueDTO>> issueListResult = govIssueOpenFeignClient.getIssueList(customerId); |
|
|
|
|
|
if (issueListResult == null || CollectionUtils.isEmpty(issueListResult.getData())) { |
|
|
|
|
|
log.warn("没有需要初始化的小组转为议题的数据,customerId:{}", customerId); |
|
|
|
|
|
continue; |
|
|
|
|
|
} |
|
|
|
|
|
Map<String, Date> issueCreateTimeMap = issueListResult.getData().stream().collect(Collectors.toMap(IssueDTO::getId, IssueDTO::getCreatedTime)); |
|
|
for (ResiGroupEntity groupEntity : groupEntities) { |
|
|
for (ResiGroupEntity groupEntity : groupEntities) { |
|
|
//2.1 获取小组成员数据
|
|
|
//2.1 获取小组成员数据
|
|
|
String groupId = groupEntity.getId(); |
|
|
String groupId = groupEntity.getId(); |
|
@ -114,7 +126,7 @@ public class StatsAchievementServiceImpl extends AbstractStatsAchievementService |
|
|
|
|
|
|
|
|
//设置实际达到成就时间 最后一条为未实现 所以-1
|
|
|
//设置实际达到成就时间 最后一条为未实现 所以-1
|
|
|
for (int j = 0; j < toIssueArriveList.size() - 1; j++) { |
|
|
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 计算出 话题被解决 达到的成就
|
|
|
//2.6 计算出 话题被解决 达到的成就
|
|
@ -127,9 +139,11 @@ public class StatsAchievementServiceImpl extends AbstractStatsAchievementService |
|
|
for (int j = 0; j < resolveTopicArriveList.size() - 1; j++) { |
|
|
for (int j = 0; j < resolveTopicArriveList.size() - 1; j++) { |
|
|
resolveTopicArriveList.get(j).setArriveTime(resolveTopicList.get(j).getCreatedTime()); |
|
|
resolveTopicArriveList.get(j).setArriveTime(resolveTopicList.get(j).getCreatedTime()); |
|
|
} |
|
|
} |
|
|
saveOrUpdate(topicArriveList, true); |
|
|
List<ResiGroupAchievementStatsEntity> list = new ArrayList<>(); |
|
|
saveOrUpdate(toIssueArriveList, true); |
|
|
list.addAll(topicArriveList); |
|
|
saveOrUpdate(resolveTopicArriveList, true); |
|
|
list.addAll(toIssueArriveList); |
|
|
|
|
|
list.addAll(resolveTopicArriveList); |
|
|
|
|
|
saveOrUpdate(list, true); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|