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