|
@@ -59,6 +59,9 @@ import java.time.chrono.ChronoLocalDate;
|
|
|
import java.time.format.DateTimeFormatter;
|
|
|
import java.time.temporal.TemporalAdjusters;
|
|
|
import java.util.*;
|
|
|
+import java.util.concurrent.CountDownLatch;
|
|
|
+import java.util.concurrent.Executor;
|
|
|
+import java.util.concurrent.Executors;
|
|
|
import java.util.stream.Collectors;
|
|
|
import java.util.stream.Stream;
|
|
|
|
|
@@ -75,6 +78,7 @@ import java.util.stream.Stream;
|
|
|
@Transactional
|
|
|
public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> implements ProjectService {
|
|
|
String pathPrefix = "/upload/";
|
|
|
+ private final static Executor executor = Executors.newFixedThreadPool(3);//启用多线程
|
|
|
@Resource
|
|
|
private HttpServletRequest request;
|
|
|
@Resource
|
|
@@ -212,6 +216,8 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
|
private ProDocumentTemDetailMapper proDocumentTemDetailMapper;
|
|
|
@Resource
|
|
|
private ProjectDocumentTemplateMapper projectDocumentTemplateMapper;
|
|
|
+ @Resource
|
|
|
+ private ThirdPartyInterfaceMapper thirdPartyInterfaceMapper;
|
|
|
|
|
|
@Resource
|
|
|
private HttpServletResponse response;
|
|
@@ -10835,4 +10841,45 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
|
getParentFolders(list,proDocumentTemDetailList,project,user);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public HttpRespMsg getProjectListByToken(String json) {
|
|
|
+ HttpRespMsg msg=new HttpRespMsg();
|
|
|
+ TokenVo tokenVo = JSON.parseObject(json, TokenVo.class);
|
|
|
+ String token = tokenVo.getToken();
|
|
|
+ String startDate =tokenVo.getStartDate();
|
|
|
+ String endDate = tokenVo.getEndDate();
|
|
|
+ DateTimeFormatter df=DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
|
|
+ LocalDate openDate = LocalDate.parse(startDate, df);
|
|
|
+ LocalDate closeDate = LocalDate.parse(endDate, df);
|
|
|
+ if(Duration.between(openDate.atTime(LocalTime.now()),closeDate.atTime(LocalTime.now())).toDays()>31){
|
|
|
+ //msg.setError("获取数据时间段不得超过一个月");
|
|
|
+ msg.setError(MessageUtils.message("data.exceedMonthError"));
|
|
|
+ return msg;
|
|
|
+ }
|
|
|
+ List<ThirdPartyInterface> thirdPartyInterfaceList = thirdPartyInterfaceMapper.selectList(new QueryWrapper<ThirdPartyInterface>().eq("token", token));
|
|
|
+ if(thirdPartyInterfaceList.size()==0){
|
|
|
+ //msg.setError("token错误");
|
|
|
+ msg.setError(MessageUtils.message("other.tokenError"));
|
|
|
+ return msg;
|
|
|
+ }
|
|
|
+ ThirdPartyInterface thirdPartyInterface = thirdPartyInterfaceList.get(0);
|
|
|
+ if(LocalDateTime.now().isAfter(thirdPartyInterface.getExpireTime())){
|
|
|
+ //msg.setError("token过期失效");
|
|
|
+ msg.setError(MessageUtils.message("other.tokenOverdue"));
|
|
|
+ return msg;
|
|
|
+ }
|
|
|
+ if(token.equals(thirdPartyInterface.getToken())){
|
|
|
+ List<Project> projectList=projectMapper.selectList(new QueryWrapper<Project>().eq("company_id",thirdPartyInterface.getCompanyId()).between("create_date",startDate,endDate));
|
|
|
+ List<Integer> projectIds = projectList.stream().map(Project::getId).distinct().collect(Collectors.toList());
|
|
|
+ projectIds.add(-1);
|
|
|
+ List<SubProject> subProjectList = subProjectMapper.selectList(new QueryWrapper<SubProject>().eq("project_id", projectIds));
|
|
|
+ projectList.forEach(pl->{
|
|
|
+ List<SubProject> subProjects = subProjectList.stream().filter(st -> st.getProjectId().equals(pl.getId())).collect(Collectors.toList());
|
|
|
+ pl.setSubProjectList(subProjects);
|
|
|
+ });
|
|
|
+ msg.data=projectList;
|
|
|
+ }
|
|
|
+ return msg;
|
|
|
+ }
|
|
|
}
|