提交 0b5d1d04 作者: 925993793@qq.com

事件创建/编辑逻辑调整

上级 92eacf11
package com.zzsn.event.controller; package com.zzsn.event.controller;
import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject; import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
...@@ -16,6 +17,7 @@ import com.zzsn.event.service.IEventService; ...@@ -16,6 +17,7 @@ import com.zzsn.event.service.IEventService;
import com.zzsn.event.service.IKeyWordsService; import com.zzsn.event.service.IKeyWordsService;
import com.zzsn.event.service.ISubjectInfoSourceMapService; import com.zzsn.event.service.ISubjectInfoSourceMapService;
import com.zzsn.event.service.LabelEntityService; import com.zzsn.event.service.LabelEntityService;
import com.zzsn.event.service.impl.CaiJiCenterHttpService;
import com.zzsn.event.service.impl.ConfigurationMessageService; import com.zzsn.event.service.impl.ConfigurationMessageService;
import com.zzsn.event.util.HttpUtil; import com.zzsn.event.util.HttpUtil;
import com.zzsn.event.util.ObjectUtil; import com.zzsn.event.util.ObjectUtil;
...@@ -191,6 +193,9 @@ public class EventManageController { ...@@ -191,6 +193,9 @@ public class EventManageController {
} }
} }
@Autowired
private CaiJiCenterHttpService caiJiCenterHttpService;
/** /**
* 启用 * 启用
* *
...@@ -201,6 +206,25 @@ public class EventManageController { ...@@ -201,6 +206,25 @@ public class EventManageController {
@GetMapping("/enable") @GetMapping("/enable")
public Result<?> enable(@RequestParam String eventId) { public Result<?> enable(@RequestParam String eventId) {
eventService.updateStatus(eventId, 1); eventService.updateStatus(eventId, 1);
CompletableFuture.runAsync(() -> {
Event event = eventService.getById(eventId);
kafkaTemplate.send(EVENT_MODEL_KAFKA_CHANNEL, event.getEventCode());
configurationMessageService.bindInfoSourceSend(event.getId());
configurationMessageService.bindKeyWordsSend(event.getId());
configurationMessageService.subjectEnterpriseSourceSync(event.getId());
configurationMessageService.subjectPolicySourceSync(event.getId());
try {
String res = caiJiCenterHttpService.subjectStatusEdit(event.getStatus(), event.getId());
cn.hutool.json.JSONObject entries = JSONUtil.parseObj(res);
//获取code状态码
Integer code = entries.getInt("code");
if (cn.hutool.core.util.ObjectUtil.isEmpty(code) || code != 200) {
log.error("专题状态同步采集失败{}", res);
}
} catch (Exception e) {
log.error("专题状态同步采集失败{}", e.getMessage(), e);
}
});
return Result.OK(); return Result.OK();
} }
......
...@@ -3,6 +3,7 @@ package com.zzsn.event.service.impl; ...@@ -3,6 +3,7 @@ package com.zzsn.event.service.impl;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.map.MapUtil; import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
...@@ -122,6 +123,9 @@ public class EventServiceImpl extends ServiceImpl<EventMapper, Event> implements ...@@ -122,6 +123,9 @@ public class EventServiceImpl extends ServiceImpl<EventMapper, Event> implements
@Value("${kafka.topic.event.run:}") @Value("${kafka.topic.event.run:}")
private String EVENT_MODEL_KAFKA_CHANNEL; private String EVENT_MODEL_KAFKA_CHANNEL;
@Value("${clb.subject.default.processing.advanceMonth}")
private Integer defaultAdvanceMonth;
@Override @Override
public List<SubjectKafkaVo> progressList(Date disableDate) { public List<SubjectKafkaVo> progressList(Date disableDate) {
return this.baseMapper.processList(disableDate); return this.baseMapper.processList(disableDate);
...@@ -339,6 +343,7 @@ public class EventServiceImpl extends ServiceImpl<EventMapper, Event> implements ...@@ -339,6 +343,7 @@ public class EventServiceImpl extends ServiceImpl<EventMapper, Event> implements
Event event = new Event(); Event event = new Event();
BeanUtils.copyProperties(addEventParam, event); BeanUtils.copyProperties(addEventParam, event);
event.setStatus(1); event.setStatus(1);
event.setFirstOpenTime(new Date());
Date endTime = event.getEndTime(); Date endTime = event.getEndTime();
if (endTime == null) { if (endTime == null) {
endTime = DateUtil.addDate(new Date(), 15); endTime = DateUtil.addDate(new Date(), 15);
...@@ -360,6 +365,7 @@ public class EventServiceImpl extends ServiceImpl<EventMapper, Event> implements ...@@ -360,6 +365,7 @@ public class EventServiceImpl extends ServiceImpl<EventMapper, Event> implements
baseMapper.insert(event); baseMapper.insert(event);
String eventId = event.getId(); String eventId = event.getId();
CompletableFuture.runAsync(() -> { CompletableFuture.runAsync(() -> {
setRedisCache(eventId);
//插入专题-类别、项目的绑定关系 //插入专题-类别、项目的绑定关系
saveMapMain(event, addEventParam); saveMapMain(event, addEventParam);
//事件标签 //事件标签
...@@ -399,6 +405,11 @@ public class EventServiceImpl extends ServiceImpl<EventMapper, Event> implements ...@@ -399,6 +405,11 @@ public class EventServiceImpl extends ServiceImpl<EventMapper, Event> implements
}); });
} }
@Override @Override
@Transactional @Transactional
public void deleteMain(String id) { public void deleteMain(String id) {
...@@ -470,10 +481,6 @@ public class EventServiceImpl extends ServiceImpl<EventMapper, Event> implements ...@@ -470,10 +481,6 @@ public class EventServiceImpl extends ServiceImpl<EventMapper, Event> implements
CompletableFuture.runAsync(() -> { CompletableFuture.runAsync(() -> {
iXxlJobInfoService.update(Wrappers.<XxlJobInfo>lambdaUpdate().eq(XxlJobInfo::getInfoSourceCode, event.getEventCode()) iXxlJobInfoService.update(Wrappers.<XxlJobInfo>lambdaUpdate().eq(XxlJobInfo::getInfoSourceCode, event.getEventCode())
.set(XxlJobInfo::getTriggerStatus, status)); .set(XxlJobInfo::getTriggerStatus, status));
//关键词
// KeywordsVO keywordsVO = keyWordsService.keywordInfoByEventId(eventId);
// iXxlJobInfoService.update(Wrappers.<XxlJobInfo>lambdaUpdate().eq(XxlJobInfo::getInfoSourceCode, keywordsVO.getWordsCode())
// .set(XxlJobInfo::getTriggerStatus, status));
if (1 == status) { if (1 == status) {
kafkaTemplate.send(EVENT_MODEL_KAFKA_CHANNEL, event.getEventCode()); kafkaTemplate.send(EVENT_MODEL_KAFKA_CHANNEL, event.getEventCode());
} }
...@@ -882,6 +889,43 @@ public class EventServiceImpl extends ServiceImpl<EventMapper, Event> implements ...@@ -882,6 +889,43 @@ public class EventServiceImpl extends ServiceImpl<EventMapper, Event> implements
} }
} }
/**
* 将事件的时间范围存入redis缓存(事件第一次启用时生效)
*
* @param eventId 事件id
* @author lkg
* @date 2025/2/7
*/
private void setRedisCache(String eventId) {
Event event = this.getById(eventId);
Date timeEnable = event.getStartTime();
Date timeDisable = event.getEndTime();
//date 转 localdate
LocalDate start;
LocalDate end;
if (cn.hutool.core.util.ObjectUtil.isNull(timeEnable)) {
start = LocalDate.now().minusMonths(defaultAdvanceMonth);
} else {
start = timeEnable.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
}
if (cn.hutool.core.util.ObjectUtil.isNull(timeDisable)) {
end = LocalDate.now();
} else {
end = timeDisable.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
}
//循环 start 到 end 的每一天
List<String> dateList = new ArrayList<>();
for (LocalDate date = end; !date.isBefore(start); date = date.minusDays(1)) {
// 在这里处理每一天的逻辑
//格式化date成字符串
String format = date.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
dateList.add(format);
}
redisUtil.rpushMultipleValues(Constants.HISTORY_SUBJECT_DATE_QUEUE + event.getEventCode(), dateList.toArray(new String[0]));
}
/** /**
* 修改事件时间缓存,用于补充数据(只有启用过的事件才会起作用) * 修改事件时间缓存,用于补充数据(只有启用过的事件才会起作用)
* *
......
...@@ -153,7 +153,7 @@ python: ...@@ -153,7 +153,7 @@ python:
clearDuplicateHistoryUrl: http://1.95.13.40:8080/subject/delete_history_data clearDuplicateHistoryUrl: http://1.95.13.40:8080/subject/delete_history_data
jeecg: jeecg:
shiro: shiro:
excludeUrls: info/subjectPageListGroupByLabel,/subject/simple/queryInfoNoSign,/subject/manage/visiblePageListNoSign excludeUrls: info/subjectPageListGroupByLabel,/subject/simple/**,/subject/manage/visiblePageListNoSign
kafka: kafka:
topic: topic:
subject: subject:
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论