提交 20b0c8d1 作者: 王峰

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

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