Commit f653820b by shenjunjie

Merge branch 'release' into 'master'

Release

See merge request !504
parents fdfe5f59 beda575b
......@@ -1884,27 +1884,38 @@ public class MarkDataServiceImpl implements MarkDataService {
@Override
public ResponseResult addNonManualProjectPlan(NonManualProjectPlanDTO dto) {
if (nonManualProjectPlanDao.count(new Query(Criteria.where("projectId").is(UserThreadLocal.getProjectId()))) >= 5) {
String projectId = UserThreadLocal.getProjectId();
if (nonManualProjectPlanDao.count(new Query(Criteria.where("projectId").is(projectId))) >= 5) {
return ResponseResult.failure("超过方案数量上限5");
}
NonManualProjectPlan plan = new NonManualProjectPlan(dto);
Project project = projectService.getProjectById(projectId);
if (project.getExternalDataSource()) {
// 同时添加快搜订阅任务
String iStarShineSubjectTaskId = addIStarShineSubjectTask(dto);
if (Objects.isNull(iStarShineSubjectTaskId)){
if (Objects.isNull(iStarShineSubjectTaskId)) {
return ResponseResult.failure("添加方案失败");
}
NonManualProjectPlan plan = new NonManualProjectPlan(dto);
plan.setIStarShineSubjectTaskId(iStarShineSubjectTaskId);
}
nonManualProjectPlanDao.insertOne(plan);
return ResponseResult.success();
}
@Override
public ResponseResult deleteNonManualProjectPlan(String id) {
Project project = projectService.getProjectById(UserThreadLocal.getProjectId());
// 商业数据源同时删除快搜订阅任务
if (project.getExternalDataSource()){
ResponseResult responseResult = deleteIStarShineSubjectTask(id);
if (responseResult.isStatus()){
nonManualProjectPlanDao.deleteOneById(id);
}
return responseResult;
}else {
nonManualProjectPlanDao.deleteOneById(id);
return ResponseResult.success();
}
}
@Override
......@@ -1929,12 +1940,16 @@ public class MarkDataServiceImpl implements MarkDataService {
NonManualProjectPlan plan = new NonManualProjectPlan(dto);
plan.setCTime(existPlan.getCTime());
plan.setIStarShineSubjectTaskId(existPlan.getIStarShineSubjectTaskId());
Project project = projectService.getProjectById(UserThreadLocal.getProjectId());
// 商业数据源同时修改快搜订阅任务
if (project.getExternalDataSource()){
ResponseResult responseResult = updateIStarShineSubjectTask(dto);
if (!responseResult.isStatus()){
return responseResult;
}
}
nonManualProjectPlanDao.updateOne(plan);
return responseResult;
return ResponseResult.success();
}
/**
......@@ -2001,7 +2016,7 @@ public class MarkDataServiceImpl implements MarkDataService {
HttpEntity<String> request = new HttpEntity<>(param.toJSONString(), httpHeaders);
JSONObject body = restTemplate.postForEntity(updateIStarShineSubjectTaskUrl, request, JSONObject.class).getBody();
if (Objects.isNull(body) || body.isEmpty() || Boolean.FALSE.equals(body.getBooleanValue("status"))){
log.info(JSONObject.toJSONString(plan) + "-修改快搜订阅任务失败-" + body);
log.error(JSONObject.toJSONString(plan) + "-修改快搜订阅任务失败-" + body);
return ResponseResult.failure("修改失败");
}
return ResponseResult.success();
......@@ -2009,9 +2024,30 @@ public class MarkDataServiceImpl implements MarkDataService {
@Override
public Integer getPlanDataPrediction(String keyword, String filterWord) {
try {
Project project = projectService.getProjectById(UserThreadLocal.getProjectId());
if (project.getExternalDataSource()) {
JSONObject data = getSearchWholeOpinionJson(createSearchFilterDTO(keyword, filterWord));
JSONObject task = data.getJSONObject("task");
return task.getInteger("searchCount");
} else {
long endTime = System.currentTimeMillis();
long startTime = endTime - Constant.ONE_DAY;
BoolQueryBuilder postFilter = QueryBuilders.boolQuery();
// time
postFilter.must(QueryBuilders.rangeQuery("time").gte(startTime).lt(endTime));
// keyword
postFilter.must(EsQueryTools.assembleNormalKeywordQuery(keyword, new String[]{GenericAttribute.ES_IND_FULL_TEXT}));
// filterWord
if (StringUtils.isNotBlank(filterWord)) {
postFilter.mustNot(EsQueryTools.assembleNormalKeywordQuery(filterWord, new String[]{GenericAttribute.ES_IND_FULL_TEXT}));
}
return hotEsDao.count(postFilter).intValue();
}
}catch (Exception e){
ExceptionCast.cast(CommonCodeEnum.FAIL, "方案预估失败", e);
}
return null;
}
private SearchFilterDTO createSearchFilterDTO(String keyword, String filterWord){
......
......@@ -252,6 +252,13 @@ public class ProjectServiceImpl implements ProjectService {
// 删除非人工项目维护记录和方案
if (!project.isManual()){
Query query = new Query(Criteria.where("projectId").is(pid));
List<NonManualProjectPlan> planList = nonManualProjectPlanDao.findList(query);
// 删除非人工项目数据订阅任务
if (project.getExternalDataSource()){
for (NonManualProjectPlan plan : planList) {
markDataService.deleteIStarShineSubjectTask(plan.getId());
}
}
nonManualProjectPlanDao.deleteOneByQuery(query);
nonManualProjectDataUpdateRecordDao.deleteOneByQuery(query);
}
......@@ -531,6 +538,7 @@ public class ProjectServiceImpl implements ProjectService {
project.setShow(existsProject.isShow());
project.setDataBalance(existsProject.getDataBalance());
project.setStart(existsProject.isStart());
project.setExternalDataSource(existsProject.getExternalDataSource());
projectDao.updateOne(project);
return ResponseResult.success();
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment