Commit d5e10710 by shenjunjie

Merge branch 'release' into 'master'

Release

See merge request !583
parents 06ebd048 12e3bbf8
......@@ -4,4 +4,6 @@ package com.zhiwei.brandkbs2.dao;
import com.zhiwei.brandkbs2.pojo.MarkSearchAnalyzeTask;
public interface MarkSearchAnalyzeTaskDao extends BaseMongoDao<MarkSearchAnalyzeTask>{
long deleteExpire(long expireTime);
}
package com.zhiwei.brandkbs2.dao.impl;
import com.mongodb.client.result.DeleteResult;
import com.zhiwei.brandkbs2.dao.MarkSearchAnalyzeTaskDao;
import com.zhiwei.brandkbs2.pojo.MarkSearchAnalyzeTask;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Component;
@Component("markSearchAnalyzeTaskDao")
......@@ -11,4 +14,11 @@ public class MarkSearchAnalyzeTaskDaoImpl extends BaseMongoDaoImpl<MarkSearchAna
public MarkSearchAnalyzeTaskDaoImpl() {
super(COLLECTION_NAME);
}
@Override
public long deleteExpire(long expireTime) {
Query query = Query.query(Criteria.where("cTime").lt(expireTime));
DeleteResult remove = mongoTemplate.remove(query, COLLECTION_NAME);
return remove.getDeletedCount();
}
}
......@@ -39,4 +39,6 @@ public class MarkSearchAnalyzeTask extends AbstractBaseMongo {
* 创建时间
*/
private Long cTime;
private Long uTime;
}
......@@ -44,6 +44,11 @@ public interface TaskService{
void cleanAggreeTask();
/**
* 清理过期数据分析任务
*/
void cleanSearchAnalyzeTask();
/**
* 事件相关更新
*/
void eventUpdate();
......
......@@ -3114,19 +3114,34 @@ public class MarkDataServiceImpl implements MarkDataService {
@Override
public List<JSONObject> getSearchAnalyzeHighWord(MarkSearchDTO dto) {
try {
dto.setProjectId(UserThreadLocal.getProjectId());
MarkSearchAnalyzeTask existTask = markSearchAnalyzeTaskDao.findOne("markSearchDTO", dto);
if (Objects.nonNull(existTask)){
long sTime = System.currentTimeMillis();
if (Objects.nonNull(existTask)) {
while (!existTask.getFinish()) {
existTask = markSearchAnalyzeTaskDao.findOne("searchFilterDTO", dto);
long eTime = System.currentTimeMillis();
if (existTask.getFinish() || eTime - sTime >= 3 * 60 * 1000) {
break;
}
Thread.sleep(10000L);
}
return existTask.getHighWord();
}
MarkSearchAnalyzeTask task = new MarkSearchAnalyzeTask(dto, null,null, false, System.currentTimeMillis());
MarkSearchAnalyzeTask task = new MarkSearchAnalyzeTask(dto, null, null, false, System.currentTimeMillis(), System.currentTimeMillis());
markSearchAnalyzeTaskDao.insertOne(task);
List<JSONObject> highWord = generateHighWord(dto);
Update update = new Update();
update.set("finish", true);
update.set("highWord", highWord);
update.set("uTime", System.currentTimeMillis());
markSearchAnalyzeTaskDao.updateOneByIdWithField(task.getId(), update);
return highWord;
}catch (Exception e){
ExceptionCast.cast(CommonCodeEnum.FAIL, "查舆情-数据分析-生成词云getSearchAnalyzeHighWord异常-", e);
}
return Collections.emptyList();
}
@Override
......@@ -3427,7 +3442,7 @@ public class MarkDataServiceImpl implements MarkDataService {
searchHelper.setPostFilter(postFilter);
searchHelper.setSize(1000);
List<String> textList = new ArrayList<>();
for (int i = 1; i <= 10; i++) {
for (int i = 1; i <= 5; i++) {
searchHelper.setFrom((i - 1) * 1000);
SearchResponse searchResponse = esClientDao.searchResponse(searchHelper);
for (SearchHit searchHit : searchResponse.getHits().getHits()) {
......
......@@ -692,18 +692,33 @@ public class SearchWholeServiceImpl implements SearchWholeService {
@Override
public List<JSONObject> getSearchWholeAnalyzeHighWord(SearchFilterDTO dto) {
try {
MarkSearchAnalyzeTask existTask = markSearchAnalyzeTaskDao.findOne("searchFilterDTO", dto);
if (Objects.nonNull(existTask)){
long sTime = System.currentTimeMillis();
if (Objects.nonNull(existTask)) {
while (!existTask.getFinish()) {
existTask = markSearchAnalyzeTaskDao.findOne("searchFilterDTO", dto);
long eTime = System.currentTimeMillis();
if (existTask.getFinish() || eTime - sTime >= 3 * 60 * 1000) {
break;
}
Thread.sleep(10000L);
}
return existTask.getHighWord();
}
MarkSearchAnalyzeTask task = new MarkSearchAnalyzeTask(null, dto,null, false, System.currentTimeMillis());
MarkSearchAnalyzeTask task = new MarkSearchAnalyzeTask(null, dto, null, false, System.currentTimeMillis(), System.currentTimeMillis());
markSearchAnalyzeTaskDao.insertOne(task);
List<JSONObject> highWord = generateHighWord(dto);
Update update = new Update();
update.set("finish", true);
update.set("highWord", highWord);
update.set("uTime", System.currentTimeMillis());
markSearchAnalyzeTaskDao.updateOneByIdWithField(task.getId(), update);
return highWord;
}catch (Exception e){
ExceptionCast.cast(CommonCodeEnum.FAIL, "全网搜舆情分析getSearchWholeAnalyzeHighWord异常-", e);
}
return Collections.emptyList();
}
@Override
......@@ -785,7 +800,7 @@ public class SearchWholeServiceImpl implements SearchWholeService {
searchHelper.setSize(1000);
searchHelper.setIndexes(esClientDao.getAllIndexes(dto.getStartTime(), dto.getEndTime()));
List<String> textList = new ArrayList<>();
for (int i = 1; i <= 10; i++) {
for (int i = 1; i <= 5; i++) {
searchHelper.setFrom((i - 1) * 1000);
SearchResponse searchResponse = esClientDao.searchResponse(searchHelper);
for (SearchHit searchHit : searchResponse.getHits().getHits()) {
......
......@@ -92,6 +92,9 @@ public class TaskServiceImpl implements TaskService {
@Resource(name = "aiSearchQuestionRecordDao")
private AISearchQuestionRecordDao aiSearchQuestionRecordDao;
@Resource(name = "markSearchAnalyzeTaskDao")
MarkSearchAnalyzeTaskDao markSearchAnalyzeTaskDao;
@Resource(name = "brandkbsTaskServiceImpl")
BrandkbsTaskService brandkbsTaskService;
......@@ -342,6 +345,12 @@ public class TaskServiceImpl implements TaskService {
}
@Override
public void cleanSearchAnalyzeTask() {
long deleteCount = markSearchAnalyzeTaskDao.deleteExpire(System.currentTimeMillis() - Constant.ONE_WEEK);
log.info("本次清理过期数据分析任务:{}条", deleteCount);
}
@Override
public void eventUpdate() {
for (Project project : projectService.getAllProjectsWithStart()) {
List<Event> events = eventService.findNotEndEventByProjectId(project.getId());
......
......@@ -71,9 +71,10 @@ public class ControlCenter {
@Async("scheduledExecutor")
@Scheduled(cron = "0 0 * * * ? ")
public void cleanAggreeTask(){
log.info("每小时清理过期聚合任务-启动");
log.info("每小时清理过期任务-启动");
try {
taskService.cleanAggreeTask();
taskService.cleanSearchAnalyzeTask();
} catch (Exception e) {
log.info("每小时清理过期聚合任务-出错", e);
} finally {
......
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