Commit b4719ae6 by shenjunjie

Merge branch 'feature' into 'dev'

Feature

See merge request !102
parents 1335978e 5801c4ca
......@@ -139,7 +139,7 @@ public class ProjectController extends BaseController {
@ApiImplicitParam(name = "pid", value = "项目ID", required = true, paramType = "path", dataType = "string")
@GetMapping("/get/{pid}")
public ResponseResult getProjectVOById(@PathVariable("pid") String pid) {
return ResponseResult.success(ProjectService.getProjectVOById(pid));
return ResponseResult.success(ProjectService.getProjectVOWithEventTagsById(pid));
}
@ApiOperation("图片上传")
......
......@@ -36,6 +36,7 @@ public class ChannelIndex extends AbstractBaseMongo {
/**
* 关联项目组ID
*/
@Deprecated
private String linkedGroupId;
/**
......
......@@ -92,7 +92,7 @@ public class Project extends AbstractProject {
*
* @return 项目对象
*/
public ProjectVO creatProjectVo(List<EventTagRelatedDTO> eventTagsList) {
public ProjectVO creatProjectVo() {
ProjectVO projectVO = new ProjectVO();
projectVO.setId(this.getId());
// 主品牌
......@@ -117,7 +117,6 @@ public class Project extends AbstractProject {
projectVO.setPositiveChannelParams(this.getPositiveChannelParams());
projectVO.setBlackChannelGroup(this.getBlackChannelGroup());
projectVO.setEventTagsList(eventTagsList);
return projectVO;
}
......
......@@ -41,6 +41,13 @@ public interface ProjectService {
*/
ProjectVO getProjectVOById(String pid);
/**
* 根据项目id获取项目信息,包含事件标签
* @param pid
* @return
*/
ProjectVO getProjectVOWithEventTagsById(String pid);
Project getProjectById(String pid);
/**
......
......@@ -139,20 +139,28 @@ public class ProjectServiceImpl implements ProjectService {
//如果项目不存在,抛出非法参数异常
ExceptionCast.cast(CommonCodeEnum.INVALID_PARAM, "该项目不存在");
}
Map<String, List<EventTagRelatedDTO>> eventTagsMap = (Map<String, List<EventTagRelatedDTO>>) eventTagClient.getBrandkbsBindingEventTags(id).getData();
return project.creatProjectVo();
}
@Override
public ProjectVO getProjectVOWithEventTagsById(String pid) {
ProjectVO projectVO = getProjectVOById(pid);
Map<String, List<EventTagRelatedDTO>> eventTagsMap = (Map<String, List<EventTagRelatedDTO>>) eventTagClient.getBrandkbsBindingEventTags(pid).getData();
List<EventTagRelatedDTO> eventTagsList = new ArrayList<>();
if (!Tools.isEmpty(eventTagsMap)) {
eventTagsList = eventTagsMap.get(project.getId());
List<Contend> contendList = project.getContendList();
eventTagsList = eventTagsMap.get(Constant.PRIMARY_CONTEND_ID);
List<Contend> contendList = projectVO.getContendList();
if (!Tools.isEmpty(contendList)) {
for (Contend contend : contendList) {
contend.setEventTagsList(eventTagsMap.get(contend.getId()));
}
}
}
return project.creatProjectVo(eventTagsList);
projectVO.setEventTagsList(eventTagsList);
return projectVO;
}
@Override
public Project getProjectById(String pid) {
return projectDao.findOneById(pid);
......
......@@ -787,7 +787,14 @@ public class ProjectWarnServiceImpl implements ProjectWarnService {
String cursorKey = RedisUtil.getNewCrisisCaseCursor(projectId);
String cursor = redisUtil.get(cursorKey);
Set<String> keys = redisUtil.keys(RedisUtil.getNewCrisisCaseListAllKey());
int recordCursor = null == cursor ? 0 : Integer.parseInt(cursor);
BrandkbsWarnTemplate brandkbsWarnTemplate = null;
if (CollectionUtils.isNotEmpty(keys)) {
int recordCursor;
// 不存在游标则记录最大值
if (null == cursor) {
recordCursor = keys.stream().mapToInt(Integer::valueOf).max().getAsInt();
} else {
recordCursor = Integer.parseInt(cursor);
List<BrandkbsNewCaseWarn.NewCase> resList = new ArrayList<>();
for (String key : keys) {
CrisisCaseWarnVO crisisCaseWarnVO = JSON.parseObject(redisUtil.get(key), CrisisCaseWarnVO.class);
......@@ -798,8 +805,10 @@ public class ProjectWarnServiceImpl implements ProjectWarnService {
getCrisisEventUrlByCrisisEventId(crisisCaseWarnVO.getId())));
}
}
BrandkbsWarnTemplate brandkbsWarnTemplate = brandkbsWarnTemplate4NewCase(resList, time, project);
brandkbsWarnTemplate = brandkbsWarnTemplate4NewCase(resList, time, project);
}
redisUtil.set(cursorKey, String.valueOf(recordCursor));
}
log.info("获取案例上新预警结束,project:{}", project.getProjectName());
return ResponseResult.success(brandkbsWarnTemplate);
} catch (Exception e) {
......@@ -812,7 +821,7 @@ public class ProjectWarnServiceImpl implements ProjectWarnService {
public void newCrisisCaseWarn(CrisisCaseWarnVO caseWarnVO) {
// 存入redis缓存
String listKey = RedisUtil.getNewCrisisCaseListKey(String.valueOf(caseWarnVO.getId()));
redisUtil.setExpire(listKey, JSON.toJSONString(caseWarnVO), Constant.ONE_DAY * 7, TimeUnit.DAYS);
redisUtil.setExpire(listKey, JSON.toJSONString(caseWarnVO), 7, TimeUnit.DAYS);
}
private String getCrisisEventUrlByCrisisEventId(int id) {
......
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