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 { ...@@ -1884,27 +1884,38 @@ public class MarkDataServiceImpl implements MarkDataService {
@Override @Override
public ResponseResult addNonManualProjectPlan(NonManualProjectPlanDTO dto) { 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"); return ResponseResult.failure("超过方案数量上限5");
} }
// 同时添加快搜订阅任务
String iStarShineSubjectTaskId = addIStarShineSubjectTask(dto);
if (Objects.isNull(iStarShineSubjectTaskId)){
return ResponseResult.failure("添加方案失败");
}
NonManualProjectPlan plan = new NonManualProjectPlan(dto); NonManualProjectPlan plan = new NonManualProjectPlan(dto);
plan.setIStarShineSubjectTaskId(iStarShineSubjectTaskId); Project project = projectService.getProjectById(projectId);
if (project.getExternalDataSource()) {
// 同时添加快搜订阅任务
String iStarShineSubjectTaskId = addIStarShineSubjectTask(dto);
if (Objects.isNull(iStarShineSubjectTaskId)) {
return ResponseResult.failure("添加方案失败");
}
plan.setIStarShineSubjectTaskId(iStarShineSubjectTaskId);
}
nonManualProjectPlanDao.insertOne(plan); nonManualProjectPlanDao.insertOne(plan);
return ResponseResult.success(); return ResponseResult.success();
} }
@Override @Override
public ResponseResult deleteNonManualProjectPlan(String id) { public ResponseResult deleteNonManualProjectPlan(String id) {
ResponseResult responseResult = deleteIStarShineSubjectTask(id); Project project = projectService.getProjectById(UserThreadLocal.getProjectId());
if (responseResult.isStatus()){ // 商业数据源同时删除快搜订阅任务
if (project.getExternalDataSource()){
ResponseResult responseResult = deleteIStarShineSubjectTask(id);
if (responseResult.isStatus()){
nonManualProjectPlanDao.deleteOneById(id);
}
return responseResult;
}else {
nonManualProjectPlanDao.deleteOneById(id); nonManualProjectPlanDao.deleteOneById(id);
return ResponseResult.success();
} }
return responseResult;
} }
@Override @Override
...@@ -1929,12 +1940,16 @@ public class MarkDataServiceImpl implements MarkDataService { ...@@ -1929,12 +1940,16 @@ public class MarkDataServiceImpl implements MarkDataService {
NonManualProjectPlan plan = new NonManualProjectPlan(dto); NonManualProjectPlan plan = new NonManualProjectPlan(dto);
plan.setCTime(existPlan.getCTime()); plan.setCTime(existPlan.getCTime());
plan.setIStarShineSubjectTaskId(existPlan.getIStarShineSubjectTaskId()); plan.setIStarShineSubjectTaskId(existPlan.getIStarShineSubjectTaskId());
ResponseResult responseResult = updateIStarShineSubjectTask(dto); Project project = projectService.getProjectById(UserThreadLocal.getProjectId());
if (!responseResult.isStatus()){ // 商业数据源同时修改快搜订阅任务
return responseResult; if (project.getExternalDataSource()){
ResponseResult responseResult = updateIStarShineSubjectTask(dto);
if (!responseResult.isStatus()){
return responseResult;
}
} }
nonManualProjectPlanDao.updateOne(plan); nonManualProjectPlanDao.updateOne(plan);
return responseResult; return ResponseResult.success();
} }
/** /**
...@@ -2001,7 +2016,7 @@ public class MarkDataServiceImpl implements MarkDataService { ...@@ -2001,7 +2016,7 @@ public class MarkDataServiceImpl implements MarkDataService {
HttpEntity<String> request = new HttpEntity<>(param.toJSONString(), httpHeaders); HttpEntity<String> request = new HttpEntity<>(param.toJSONString(), httpHeaders);
JSONObject body = restTemplate.postForEntity(updateIStarShineSubjectTaskUrl, request, JSONObject.class).getBody(); JSONObject body = restTemplate.postForEntity(updateIStarShineSubjectTaskUrl, request, JSONObject.class).getBody();
if (Objects.isNull(body) || body.isEmpty() || Boolean.FALSE.equals(body.getBooleanValue("status"))){ 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.failure("修改失败");
} }
return ResponseResult.success(); return ResponseResult.success();
...@@ -2009,9 +2024,30 @@ public class MarkDataServiceImpl implements MarkDataService { ...@@ -2009,9 +2024,30 @@ public class MarkDataServiceImpl implements MarkDataService {
@Override @Override
public Integer getPlanDataPrediction(String keyword, String filterWord) { public Integer getPlanDataPrediction(String keyword, String filterWord) {
JSONObject data = getSearchWholeOpinionJson(createSearchFilterDTO(keyword, filterWord)); try {
JSONObject task = data.getJSONObject("task"); Project project = projectService.getProjectById(UserThreadLocal.getProjectId());
return task.getInteger("searchCount"); 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){ private SearchFilterDTO createSearchFilterDTO(String keyword, String filterWord){
......
...@@ -252,6 +252,13 @@ public class ProjectServiceImpl implements ProjectService { ...@@ -252,6 +252,13 @@ public class ProjectServiceImpl implements ProjectService {
// 删除非人工项目维护记录和方案 // 删除非人工项目维护记录和方案
if (!project.isManual()){ if (!project.isManual()){
Query query = new Query(Criteria.where("projectId").is(pid)); 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); nonManualProjectPlanDao.deleteOneByQuery(query);
nonManualProjectDataUpdateRecordDao.deleteOneByQuery(query); nonManualProjectDataUpdateRecordDao.deleteOneByQuery(query);
} }
...@@ -531,6 +538,7 @@ public class ProjectServiceImpl implements ProjectService { ...@@ -531,6 +538,7 @@ public class ProjectServiceImpl implements ProjectService {
project.setShow(existsProject.isShow()); project.setShow(existsProject.isShow());
project.setDataBalance(existsProject.getDataBalance()); project.setDataBalance(existsProject.getDataBalance());
project.setStart(existsProject.isStart()); project.setStart(existsProject.isStart());
project.setExternalDataSource(existsProject.getExternalDataSource());
projectDao.updateOne(project); projectDao.updateOne(project);
return ResponseResult.success(); 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