提交 20b0c8d1 作者: 王峰

研究中心新增事件调用克虏宝新增接口,Kafka消费组变更

上级 10c1e055
...@@ -78,6 +78,9 @@ public class EventDataController { ...@@ -78,6 +78,9 @@ public class EventDataController {
@Value("${translate.url:}") @Value("${translate.url:}")
private String TRANSLATE_URL; private String TRANSLATE_URL;
@Value("${clb.eventAdd}")
private String CLB_EVENT_ADD;
/** /**
* 事件分页列表-门户 * 事件分页列表-门户
* *
...@@ -128,24 +131,46 @@ public class EventDataController { ...@@ -128,24 +131,46 @@ public class EventDataController {
public Result<?> addEvent(@RequestBody AddEventVO addEventVO) { public Result<?> addEvent(@RequestBody AddEventVO addEventVO) {
KeywordsVO keywordsVO = addEventVO.getKeywordsVO(); KeywordsVO keywordsVO = addEventVO.getKeywordsVO();
if (keywordsVO != null) { if (keywordsVO != null) {
Event event = eventSimpleService.simpleSave(addEventVO); // 调用克虏宝事件新增接口
KeyWords keyWords = keyWordsService.saveKeyword(event, keywordsVO.getKeyword(), keywordsVO.getExclusionWord()); UserVo currentUser = UserUtil.getLoginUser();
CompletableFuture.runAsync(()->{ JSONObject params = JSONObject.from(addEventVO);
iXxlJobInfoService.subjectInsert(event); params.put("username", currentUser.getUsername());
//关键词 try {
KeyWordsDTO redisKeywordDTO = new KeyWordsDTO(); String resultStr = HttpUtil.doPost(CLB_EVENT_ADD, params, 1000 * 30);
BeanUtils.copyProperties(keyWords, redisKeywordDTO); JSONObject jsonObject = JSONObject.parseObject(resultStr);
redisKeywordDTO.setStartTime(event.getStartTime()); Integer code = jsonObject.getInteger("code");
redisKeywordDTO.setEndTime(event.getEndTime()); if (code != null && code.equals(200)) {
redisKeywordDTO.setSearchEngines(new ArrayList<>(Constants.DEFAULT_SEARCH_ENGINE.values())); JSONObject resultMap = jsonObject.getJSONObject("result");
redisUtil.set(Constants.KEY_WORDS_TO_REDIS_PREFIX + keyWords.getWordsCode(), redisKeywordDTO); String id = resultMap.getString("id");
//插入xxljob String eventCode = resultMap.getString("eventCode");
iXxlJobInfoService.keyWordsInsert(redisKeywordDTO); // 事件id和code使用clb中生成的
//为了立即响应,关键词新增时放入一个首次录入消息队列 addEventVO.setId(id);
kafkaTemplate.send(Constants.KEY_WORDS_COLLECT_TOPIC, JSON.toJSONString(redisKeywordDTO)); addEventVO.setEventCode(eventCode);
kafkaTemplate.send(Constants.EVENT_SUBJECT_MODEL, event.getEventCode()); Event event = eventSimpleService.simpleSave(addEventVO);
}); KeyWords keyWords = keyWordsService.saveKeyword(event, keywordsVO.getKeyword(), keywordsVO.getExclusionWord());
return Result.OK(); // CompletableFuture.runAsync(()->{
// iXxlJobInfoService.subjectInsert(event);
// //关键词
// KeyWordsDTO redisKeywordDTO = new KeyWordsDTO();
// BeanUtils.copyProperties(keyWords, redisKeywordDTO);
// redisKeywordDTO.setStartTime(event.getStartTime());
// redisKeywordDTO.setEndTime(event.getEndTime());
// redisKeywordDTO.setSearchEngines(new ArrayList<>(Constants.DEFAULT_SEARCH_ENGINE.values()));
// redisUtil.set(Constants.KEY_WORDS_TO_REDIS_PREFIX + keyWords.getWordsCode(), redisKeywordDTO);
// //插入xxljob
// iXxlJobInfoService.keyWordsInsert(redisKeywordDTO);
// //为了立即响应,关键词新增时放入一个首次录入消息队列
// kafkaTemplate.send(Constants.KEY_WORDS_COLLECT_TOPIC, JSON.toJSONString(redisKeywordDTO));
// kafkaTemplate.send(Constants.EVENT_SUBJECT_MODEL, event.getEventCode());
// });
return Result.OK();
} else {
return Result.FAIL(500, "保存事件信息失败!");
}
} catch (Exception e) {
log.error("调用克虏宝事件异常:{}", e);
return Result.FAIL(500, "保存事件信息失败!");
}
} else { } else {
return Result.FAIL(500, "关键词不能为空"); return Result.FAIL(500, "关键词不能为空");
} }
......
...@@ -30,7 +30,8 @@ import java.util.List; ...@@ -30,7 +30,8 @@ import java.util.List;
public class Event { public class Event {
/**ID*/ /**ID*/
@TableId(type = IdType.ASSIGN_ID) //@TableId(type = IdType.ASSIGN_ID)
@TableId(type = IdType.INPUT)
@ApiModelProperty(value = "ID") @ApiModelProperty(value = "ID")
private String id; private String id;
/**编码*/ /**编码*/
......
...@@ -67,8 +67,12 @@ public class EventSimpleService { ...@@ -67,8 +67,12 @@ public class EventSimpleService {
event.setIncreAnaRule(20); event.setIncreAnaRule(20);
event.setTotalAnaRule(50); event.setTotalAnaRule(50);
event.setTimeAnaRule(5); event.setTimeAnaRule(5);
String subjectCode = codeGenerateUtil.geneCodeNo(CodePrefixEnum.SUBJECT_DEFAULT.getValue()); //String subjectCode = codeGenerateUtil.geneCodeNo(CodePrefixEnum.SUBJECT_DEFAULT.getValue());
event.setEventCode(subjectCode); //event.setEventCode(subjectCode);
// 研究中心单独部署的id、eventCode取调用clb中返回的
event.setId(addEventVO.getId());
event.setEventCode(addEventVO.getEventCode());
//默认发布 //默认发布
event.setPublishStatus(1); event.setPublishStatus(1);
event.setPublishDate(DateUtil.dateToString(new Date())); event.setPublishDate(DateUtil.dateToString(new Date()));
......
...@@ -49,4 +49,7 @@ public class AddEventVO { ...@@ -49,4 +49,7 @@ public class AddEventVO {
/**伪事件id*/ /**伪事件id*/
private String fakeEventId; private String fakeEventId;
/**事件编码,这里研究中心部署调用克虏宝,直接使用clb中的事件编码*/
private String eventCode;
} }
...@@ -124,6 +124,8 @@ serviceProject: ...@@ -124,6 +124,8 @@ serviceProject:
url: https://clb.ciglobal.cn/clb-api/datapull/ url: https://clb.ciglobal.cn/clb-api/datapull/
checkToken: checkToken:
url: http://114.116.39.74:9988/sys/checkToken url: http://114.116.39.74:9988/sys/checkToken
clb:
eventAdd: http://1.95.72.34:1688/event/third/api/saveEvent
scoreRule: scoreRule:
weekScore: 10 weekScore: 10
monthScore: 5 monthScore: 5
......
...@@ -95,7 +95,7 @@ spring: ...@@ -95,7 +95,7 @@ spring:
max.request.size: 10485760 #10M max.request.size: 10485760 #10M
consumer: consumer:
#用于标识此使用者所属的使用者组的唯一字符串 #用于标识此使用者所属的使用者组的唯一字符串
group-id: event-analysis-group group-id: event-analysis-group-yjzx
#当Kafka中没有初始偏移量或者服务器上不再存在当前偏移量时该怎么办,默认值为latest,表示自动将偏移重置为最新的偏移量 #当Kafka中没有初始偏移量或者服务器上不再存在当前偏移量时该怎么办,默认值为latest,表示自动将偏移重置为最新的偏移量
#可选的值为latest, earliest, none #可选的值为latest, earliest, none
auto-offset-reset: latest auto-offset-reset: latest
...@@ -123,6 +123,8 @@ serviceProject: ...@@ -123,6 +123,8 @@ serviceProject:
url: https://clb.ciglobal.cn/clb-api/datapull/ url: https://clb.ciglobal.cn/clb-api/datapull/
checkToken: checkToken:
url: http://114.116.39.74:9988/sys/checkToken url: http://114.116.39.74:9988/sys/checkToken
clb:
eventAdd: http://1.95.72.34:1688/event/third/api/saveEvent
scoreRule: scoreRule:
weekScore: 10 weekScore: 10
monthScore: 5 monthScore: 5
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论