|
@@ -1,5 +1,6 @@
|
|
package cn.cslg.pas.service.business;
|
|
package cn.cslg.pas.service.business;
|
|
|
|
|
|
|
|
+import cn.cslg.pas.common.core.base.Cycle;
|
|
import cn.cslg.pas.common.dto.ExportTaskDTO;
|
|
import cn.cslg.pas.common.dto.ExportTaskDTO;
|
|
import cn.cslg.pas.common.dto.ImportTaskDTO;
|
|
import cn.cslg.pas.common.dto.ImportTaskDTO;
|
|
import cn.cslg.pas.common.dto.PatentStarListDTO;
|
|
import cn.cslg.pas.common.dto.PatentStarListDTO;
|
|
@@ -42,6 +43,7 @@ import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
|
|
|
|
import java.io.*;
|
|
import java.io.*;
|
|
|
|
+import java.time.LocalDate;
|
|
import java.util.*;
|
|
import java.util.*;
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
@@ -84,7 +86,8 @@ public class ImportTaskService extends ServiceImpl<ImportTaskMapper, ImportTask>
|
|
private ImportTaskConditionService importTaskConditionService;
|
|
private ImportTaskConditionService importTaskConditionService;
|
|
@Autowired
|
|
@Autowired
|
|
private MailSendService mailSendService;
|
|
private MailSendService mailSendService;
|
|
-
|
|
|
|
|
|
+ @Autowired
|
|
|
|
+ private PatentProjectService patentProjectService;
|
|
@Override
|
|
@Override
|
|
public Object queryMessage(QueryRequest queryRequest) throws Exception {
|
|
public Object queryMessage(QueryRequest queryRequest) throws Exception {
|
|
List<String> sqls = formatQueryService.reSqls(queryRequest, "importTask");
|
|
List<String> sqls = formatQueryService.reSqls(queryRequest, "importTask");
|
|
@@ -493,7 +496,7 @@ public class ImportTaskService extends ServiceImpl<ImportTaskMapper, ImportTask>
|
|
if (exportTaskDTO.getDefaultNum() != null) {
|
|
if (exportTaskDTO.getDefaultNum() != null) {
|
|
importTask.setDefaultNum(exportTaskDTO.getDefaultNum());
|
|
importTask.setDefaultNum(exportTaskDTO.getDefaultNum());
|
|
}
|
|
}
|
|
- if(exportTaskDTO.getDoneNum()!=null){
|
|
|
|
|
|
+ if (exportTaskDTO.getDoneNum() != null) {
|
|
importTask.setDoneNum(exportTaskDTO.getDoneNum());
|
|
importTask.setDoneNum(exportTaskDTO.getDoneNum());
|
|
|
|
|
|
}
|
|
}
|
|
@@ -553,36 +556,55 @@ public class ImportTaskService extends ServiceImpl<ImportTaskMapper, ImportTask>
|
|
return importTask.getId();
|
|
return importTask.getId();
|
|
}
|
|
}
|
|
|
|
|
|
- public void addImportTaskByCondition(ImportTaskCondition importTaskCondition) {
|
|
|
|
-
|
|
|
|
- ImportTask importTask = new ImportTask();
|
|
|
|
- //根据id查询最近更新的任务
|
|
|
|
|
|
+ public void addImportTaskByCondition(ImportTaskCondition importTaskCondition,PatentProject project) {
|
|
|
|
+ String condition = importTaskCondition.getSearchCondition();
|
|
|
|
+ String updateCycle = project.getUpdateCycle();
|
|
|
|
+
|
|
|
|
+ if (updateCycle == null) {
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ LocalDate localDate = LocalDate.now();
|
|
|
|
+ List<String> dateRange = new ArrayList<>();
|
|
|
|
+ switch (updateCycle) {
|
|
|
|
+ case Cycle.WEEK:
|
|
|
|
+ LocalDate localDateWeek = localDate.minusWeeks(2);
|
|
|
|
+ dateRange = DateUtils2.getWeekRange(localDateWeek);
|
|
|
|
+ break;
|
|
|
|
+ case Cycle.MONTH:
|
|
|
|
+ LocalDate localDateMonth = localDate.minusMonths(1);
|
|
|
|
+ dateRange = DateUtils2.getMonthRange(localDateMonth);
|
|
|
|
+ break;
|
|
|
|
+ case Cycle.QUARTER:
|
|
|
|
+ LocalDate localDateQuartz = localDate.minusMonths(4);
|
|
|
|
+ dateRange = DateUtils2.getQuartzRange(localDateQuartz);
|
|
|
|
+ break;
|
|
|
|
+ case Cycle.YEAR:
|
|
|
|
+ LocalDate localYear = localDate.minusYears(1);
|
|
|
|
+ dateRange = DateUtils2.getYearRange(localYear);
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ if (dateRange.size() < 2) {
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ Date start = DateUtils.strToDate(dateRange.get(0));
|
|
|
|
+ Date end = DateUtils.strToDate((dateRange.get(1)));
|
|
LambdaQueryWrapper<ImportTask> queryWrapper = new LambdaQueryWrapper<>();
|
|
LambdaQueryWrapper<ImportTask> queryWrapper = new LambdaQueryWrapper<>();
|
|
queryWrapper.eq(ImportTask::getImportTaskConditionId, importTaskCondition.getId())
|
|
queryWrapper.eq(ImportTask::getImportTaskConditionId, importTaskCondition.getId())
|
|
- .orderByDesc(ImportTask::getUpdateToDate);
|
|
|
|
|
|
+ .eq(ImportTask::getUpdateToDate, end)
|
|
|
|
+ .eq(ImportTask::getLastUpdateToDate, start);
|
|
ImportTask lastImportTask = this.getOne(queryWrapper, false);
|
|
ImportTask lastImportTask = this.getOne(queryWrapper, false);
|
|
- String condition = importTaskCondition.getSearchCondition();
|
|
|
|
- Date date = new Date();
|
|
|
|
- Date toDate = DateUtils.getDate(date, -7);
|
|
|
|
- if (lastImportTask == null) {
|
|
|
|
- String toDateStr = DateUtils2.dateTimeToPatentStr(toDate);
|
|
|
|
- condition = condition + " and ( PD<" + toDateStr + " or GD<" + toDateStr+")";
|
|
|
|
- importTask.setUpdateToDate(toDate);
|
|
|
|
- } else if (lastImportTask != null && lastImportTask.getUpdateToDate() != null) {
|
|
|
|
- Date fromDate = DateUtils.getDate(lastImportTask.getUpdateToDate(), 1);
|
|
|
|
- String fromDateStr = DateUtils2.dateTimeToPatentStr(fromDate);
|
|
|
|
- String todateStr = DateUtils2.dateTimeToPatentStr(toDate);
|
|
|
|
- importTask.setLastUpdateToDate(fromDate);
|
|
|
|
- importTask.setUpdateToDate(toDate);
|
|
|
|
- condition = condition + " and (PD=" + fromDateStr + "~" + todateStr + " or GD=" + fromDateStr + "~" + todateStr + ")";
|
|
|
|
- } else if (lastImportTask != null && lastImportTask.getUpdateToDate() == null) {
|
|
|
|
- Date fromDate = DateUtils.getDate(lastImportTask.getCreateTime(), -7);
|
|
|
|
- String fromDateStr = DateUtils2.dateTimeToPatentStr(fromDate);
|
|
|
|
- String todateStr = DateUtils2.dateTimeToPatentStr(toDate);
|
|
|
|
- importTask.setLastUpdateToDate(fromDate);
|
|
|
|
- importTask.setUpdateToDate(toDate);
|
|
|
|
- condition = condition + " and (PD=" + fromDateStr + "~" + todateStr + " or GD=" + fromDateStr + "~" + todateStr + ")";
|
|
|
|
|
|
+ if (lastImportTask != null) {
|
|
|
|
+ return;
|
|
}
|
|
}
|
|
|
|
+ ImportTask importTask = new ImportTask();
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ String fromDateStr = DateUtils2.dateTimeToPatentStr(start);
|
|
|
|
+ String todateStr = DateUtils2.dateTimeToPatentStr(end);
|
|
|
|
+ importTask.setLastUpdateToDate(start);
|
|
|
|
+ importTask.setUpdateToDate(end);
|
|
|
|
+ condition = condition + " and (PD=" + fromDateStr + "~" + todateStr + " or GD=" + fromDateStr + "~" + todateStr + ")";
|
|
|
|
+
|
|
PatentStarListDTO patentStarListDto = new PatentStarListDTO()
|
|
PatentStarListDTO patentStarListDto = new PatentStarListDTO()
|
|
.setCurrentQuery(condition)
|
|
.setCurrentQuery(condition)
|
|
.setPageNum(1)
|
|
.setPageNum(1)
|
|
@@ -593,7 +615,7 @@ public class ImportTaskService extends ServiceImpl<ImportTaskMapper, ImportTask>
|
|
try {
|
|
try {
|
|
Map<String, Object> resultMap = patentStarApiService.patentStarSearchApi(patentStarListDto);
|
|
Map<String, Object> resultMap = patentStarApiService.patentStarSearchApi(patentStarListDto);
|
|
if (resultMap == null) {
|
|
if (resultMap == null) {
|
|
- importTask.setAllNum(-1);
|
|
|
|
|
|
+ importTask.setAllNum(-1);
|
|
} else {
|
|
} else {
|
|
|
|
|
|
importTask.setAllNum((Integer) resultMap.get("total"));
|
|
importTask.setAllNum((Integer) resultMap.get("total"));
|
|
@@ -609,7 +631,7 @@ public class ImportTaskService extends ServiceImpl<ImportTaskMapper, ImportTask>
|
|
importTask.setSearchCondition(condition);
|
|
importTask.setSearchCondition(condition);
|
|
importTask.setCreateId(importTaskCondition.getCreateId());
|
|
importTask.setCreateId(importTaskCondition.getCreateId());
|
|
importTask.setIfCreateBySys(true);
|
|
importTask.setIfCreateBySys(true);
|
|
- if (importTask.getAllNum() !=null&&importTask.getAllNum() <= 0) {
|
|
|
|
|
|
+ if (importTask.getAllNum() != null && importTask.getAllNum() <= 0) {
|
|
importTask.setState(2);
|
|
importTask.setState(2);
|
|
mailSendService.sendCycleImportTaskDoneEmail(importTask);
|
|
mailSendService.sendCycleImportTaskDoneEmail(importTask);
|
|
importTask.insert();
|
|
importTask.insert();
|