|
|
@ -5,18 +5,24 @@ import com.epmet.commons.tools.exception.RenException; |
|
|
|
import com.epmet.commons.tools.security.dto.TokenDto; |
|
|
|
import com.epmet.commons.tools.utils.Result; |
|
|
|
import com.epmet.constant.IssueOpenConstant; |
|
|
|
import com.epmet.constant.OrgInfoConstant; |
|
|
|
import com.epmet.dto.IssueDTO; |
|
|
|
import com.epmet.dto.ProjectDTO; |
|
|
|
import com.epmet.dto.form.MyPartIssuesFormDTO; |
|
|
|
import com.epmet.dto.form.MyPubIssuesAuditingFormDTO; |
|
|
|
import com.epmet.dto.form.OrgInfoFormDTO; |
|
|
|
import com.epmet.dto.result.*; |
|
|
|
import com.epmet.feign.GovIssueOpenFeignClient; |
|
|
|
import com.epmet.feign.GovOrgOpenFeignClient; |
|
|
|
import com.epmet.feign.GovProjectOpenFeignClient; |
|
|
|
import com.epmet.modules.person.service.IssueService; |
|
|
|
import com.epmet.resi.group.dto.group.form.GroupInfoFormDTO; |
|
|
|
import com.epmet.resi.group.dto.group.result.GroupInfoResultDTO; |
|
|
|
import com.epmet.resi.group.dto.topic.result.IssueGridResultDTO; |
|
|
|
import com.epmet.resi.group.feign.ResiGroupOpenFeignClient; |
|
|
|
import com.epmet.resi.mine.dto.from.MyPartProjectsFormDTO; |
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
import org.apache.commons.lang3.StringUtils; |
|
|
|
import org.apache.commons.logging.Log; |
|
|
|
import org.apache.commons.logging.LogFactory; |
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
@ -146,13 +152,56 @@ public class IssueServiceImpl implements IssueService { |
|
|
|
/** |
|
|
|
* @param formDTO |
|
|
|
* @author yinzuomei |
|
|
|
* @description 个人中心-我发起的议题列表-已转项目 |
|
|
|
* @description 个人中心-我发起的议题列表-已转项目 按照转项目时间排序 |
|
|
|
* @Date 2020/11/11 13:35 |
|
|
|
**/ |
|
|
|
@Override |
|
|
|
public List<MyPubIssuesShiftProjectResultDTO> getMyPubIssuesShiftProject(MyPubIssuesAuditingFormDTO formDTO) { |
|
|
|
//todo
|
|
|
|
return null; |
|
|
|
//查询我发起的议题,并且 已转项目
|
|
|
|
formDTO.setIssueStatus(IssueOpenConstant.ISSUE_SHIFT_PROJECT); |
|
|
|
Result<List<IssueDTO>> issueResult=issueOpenFeignClient.getMyPubIssues(formDTO); |
|
|
|
if(null==issueResult||CollectionUtils.isEmpty(issueResult.getData())){ |
|
|
|
return new ArrayList<>(); |
|
|
|
} |
|
|
|
//议题来源话题id集合
|
|
|
|
List<String> topicIds=new ArrayList<>(); |
|
|
|
List<String> projectIds=new ArrayList<>(); |
|
|
|
issueResult.getData().forEach(issueDTO ->{ |
|
|
|
if(IssueOpenConstant.SOURCE_TYPE_RT.equals(issueDTO.getSourceType())&& StringUtils.isNotBlank(issueDTO.getSourceId())){ |
|
|
|
topicIds.add(issueDTO.getSourceId()); |
|
|
|
projectIds.add(issueDTO.getProjectId()); |
|
|
|
} |
|
|
|
} ); |
|
|
|
//查询网格名称
|
|
|
|
Result<List<OrgInfoResultDTO>> gridNameList = govOrgOpenFeignClient.selectOrgInfo(new OrgInfoFormDTO(OrgInfoConstant.GRID, issueResult.getData().stream().map(m -> m.getGridId()).collect(Collectors.toList()))); |
|
|
|
if (!gridNameList.success()){ |
|
|
|
logger.error("查询议题来源网格名称失败......"); |
|
|
|
} |
|
|
|
//查询话题来源小组名称
|
|
|
|
Result<List<GroupInfoResultDTO>> groupNameList = resiGroupOpenFeignClient.selectGroupInfo(new GroupInfoFormDTO(topicIds)); |
|
|
|
if (!groupNameList.success()){ |
|
|
|
logger.error("查询议题来源小组名称失败......"); |
|
|
|
} |
|
|
|
//查询项目基本信息
|
|
|
|
Result<List<ProjectDTO>> projectRes=govProjectOpenFeignClient.queryProjectInfoByIds(projectIds); |
|
|
|
if(!projectRes.success()){ |
|
|
|
logger.error("查询项目信息失败......"); |
|
|
|
} |
|
|
|
List<MyPubIssuesShiftProjectResultDTO> list=new ArrayList<>(); |
|
|
|
for(IssueDTO issueDTO:issueResult.getData()){ |
|
|
|
MyPubIssuesShiftProjectResultDTO resultDTO=new MyPubIssuesShiftProjectResultDTO(); |
|
|
|
resultDTO.setProjectId(issueDTO.getProjectId()); |
|
|
|
gridNameList.getData().stream().filter(o -> issueDTO.getGridId().equals(o.getOrgId())).forEach(o -> resultDTO.setTopicReleaseGridName(o.getOrgName())); |
|
|
|
groupNameList.getData().stream().filter(g -> issueDTO.getSourceId().equals(g.getTopicId())).forEach(g -> resultDTO.setTopicReleaseGroupName(g.getTopicGroupName())); |
|
|
|
resultDTO.setShiftProjectTime(issueDTO.getShiftedTimeStamp()); |
|
|
|
|
|
|
|
|
|
|
|
projectRes.getData().stream().filter(p->issueDTO.getProjectId().equals(p.getId())).forEach(projectDTO -> resultDTO.setProjectTitle(projectDTO.getTitle())); |
|
|
|
//当前处理部门名称列表
|
|
|
|
projectRes.getData().stream().filter(p->issueDTO.getProjectId().equals(p.getId())).forEach(projectDTO -> resultDTO.setDepartmentNameList(projectDTO.getCurrentDepartmentNameList())); |
|
|
|
list.add(resultDTO); |
|
|
|
} |
|
|
|
return list; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
@ -169,7 +218,34 @@ public class IssueServiceImpl implements IssueService { |
|
|
|
if(null==issueResult||CollectionUtils.isEmpty(issueResult.getData())){ |
|
|
|
return new ArrayList<>(); |
|
|
|
} |
|
|
|
//todo
|
|
|
|
return null; |
|
|
|
//议题来源话题id集合
|
|
|
|
List<String> topicIds=new ArrayList<>(); |
|
|
|
issueResult.getData().forEach(issueDTO ->{ |
|
|
|
if(IssueOpenConstant.SOURCE_TYPE_RT.equals(issueDTO.getSourceType())&& StringUtils.isNotBlank(issueDTO.getSourceId())){ |
|
|
|
topicIds.add(issueDTO.getSourceId()); |
|
|
|
} |
|
|
|
} ); |
|
|
|
//查询网格名称
|
|
|
|
Result<List<OrgInfoResultDTO>> gridNameList = govOrgOpenFeignClient.selectOrgInfo(new OrgInfoFormDTO(OrgInfoConstant.GRID, issueResult.getData().stream().map(m -> m.getGridId()).collect(Collectors.toList()))); |
|
|
|
if (!gridNameList.success()){ |
|
|
|
logger.error("查询议题来源网格名称失败......"); |
|
|
|
} |
|
|
|
//查询话题来源小组名称
|
|
|
|
Result<List<GroupInfoResultDTO>> groupNameList = resiGroupOpenFeignClient.selectGroupInfo(new GroupInfoFormDTO(topicIds)); |
|
|
|
if (!groupNameList.success()){ |
|
|
|
logger.error("查询议题来源小组名称失败......"); |
|
|
|
} |
|
|
|
List<MyPubIssuesClosedResultDTO> resultDTOList=new ArrayList<>(); |
|
|
|
for(IssueDTO issueDTO:issueResult.getData()){ |
|
|
|
MyPubIssuesClosedResultDTO resultDTO=new MyPubIssuesClosedResultDTO(); |
|
|
|
resultDTO.setIssueId(issueDTO.getId()); |
|
|
|
resultDTO.setIssueTitle(issueDTO.getIssueTitle()); |
|
|
|
resultDTO.setSuggestion(issueDTO.getSuggestion()); |
|
|
|
resultDTO.setClosedTime(issueDTO.getClosedTimeStamp()); |
|
|
|
gridNameList.getData().stream().filter(o -> issueDTO.getGridId().equals(o.getOrgId())).forEach(o -> resultDTO.setTopicReleaseGridName(o.getOrgName())); |
|
|
|
groupNameList.getData().stream().filter(g -> issueDTO.getSourceId().equals(g.getTopicId())).forEach(g -> resultDTO.setTopicReleaseGroupName(g.getTopicGroupName())); |
|
|
|
resultDTOList.add(resultDTO); |
|
|
|
} |
|
|
|
return resultDTOList; |
|
|
|
} |
|
|
|
} |
|
|
|