提交 a7157ff7 作者: 925993793@qq.com

自定义专题

上级 b713ff87
......@@ -119,6 +119,12 @@
<groupId>org.apache.commons</groupId>
<artifactId>commons-pool2</artifactId>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.16.1</version>
</dependency>
<!-- 华为obs-->
<!-- https://mvnrepository.com/artifact/com.huaweicloud/esdk-obs-java-bundle -->
......
package com.zzsn.event.config;
import com.zzsn.event.util.user.AuthUtil;
import com.zzsn.event.util.user.UserVo;
import lombok.extern.slf4j.Slf4j;
import org.apache.ibatis.binding.MapperMethod.ParamMap;
import org.apache.ibatis.executor.Executor;
import org.apache.ibatis.mapping.MappedStatement;
import org.apache.ibatis.mapping.SqlCommandType;
import org.apache.ibatis.plugin.*;
import org.springframework.stereotype.Component;
import java.lang.reflect.Field;
import java.util.*;
/**
* mybatis拦截器,自动注入创建人、创建时间、修改人、修改时间
*
* @Author scott
* @Date 2019-01-19
*/
@Slf4j
@Component
@Intercepts({@Signature(type = Executor.class, method = "update", args = {MappedStatement.class, Object.class})})
public class MybatisInterceptor implements Interceptor {
@Override
public Object intercept(Invocation invocation) throws Throwable {
MappedStatement mappedStatement = (MappedStatement) invocation.getArgs()[0];
String sqlId = mappedStatement.getId();
log.debug("------sqlId------" + sqlId);
SqlCommandType sqlCommandType = mappedStatement.getSqlCommandType();
Object parameter = invocation.getArgs()[1];
log.debug("------sqlCommandType------" + sqlCommandType);
if (parameter == null) {
return invocation.proceed();
}
if (SqlCommandType.INSERT == sqlCommandType) {
UserVo sysUser = this.getLoginUser();
Field[] fields = getAllFields(parameter);
for (Field field : fields) {
log.debug("------field.name------" + field.getName());
try {
if ("createBy".equals(field.getName())) {
field.setAccessible(true);
Object localCreateBy = field.get(parameter);
field.setAccessible(false);
if (localCreateBy == null || localCreateBy.equals("") && (sysUser != null)) {
// 登录人账号
field.setAccessible(true);
field.set(parameter, sysUser.getUsername());
field.setAccessible(false);
}
}
// 注入创建时间
if ("createTime".equals(field.getName())) {
field.setAccessible(true);
Object localCreateDate = field.get(parameter);
field.setAccessible(false);
if (localCreateDate == null || localCreateDate.equals("")) {
field.setAccessible(true);
field.set(parameter, new Date());
field.setAccessible(false);
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
if (SqlCommandType.UPDATE == sqlCommandType) {
UserVo sysUser = this.getLoginUser();
Field[] fields;
if (parameter instanceof ParamMap) {
ParamMap<?> p = (ParamMap<?>) parameter;
if (p.containsKey("et")) {
parameter = p.get("et");
} else {
parameter = p.get("param1");
}
if (parameter == null) {
return invocation.proceed();
}
fields = getAllFields(parameter);
} else {
fields = getAllFields(parameter);
}
for (Field field : fields) {
log.debug("------field.name------" + field.getName());
try {
if ("updateBy".equals(field.getName()) && (sysUser != null)) {
field.setAccessible(true);
field.set(parameter, sysUser.getUsername());
field.setAccessible(false);
}
if ("updateTime".equals(field.getName())) {
field.setAccessible(true);
field.set(parameter, new Date());
field.setAccessible(false);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
return invocation.proceed();
}
@Override
public Object plugin(Object target) {
return Plugin.wrap(target, this);
}
@Override
public void setProperties(Properties properties) {
}
private UserVo getLoginUser() {
return AuthUtil.getLoginUser();
}
private Field[] getAllFields(Object object) {
Class<?> clazz = object.getClass();
List<Field> fieldList = new ArrayList<>();
while (clazz != null) {
fieldList.addAll(new ArrayList<>(Arrays.asList(clazz.getDeclaredFields())));
clazz = clazz.getSuperclass();
}
Field[] fields = new Field[fieldList.size()];
fieldList.toArray(fields);
return fields;
}
}
package com.zzsn.event.config.interceptor;
import cn.hutool.http.HttpRequest;
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;
import com.zzsn.event.constant.Constants;
import com.zzsn.event.constant.Result;
import com.zzsn.event.util.user.UserUtil;
import com.zzsn.event.util.user.UserVo;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.PrintWriter;
/**
* 拦截token,获取用户信息
*
* @author lkg
* @date 2024/4/29
*/
public class UserInfoInterceptor implements HandlerInterceptor {
@Value("${checkToken.url:}")
private String checkTokenUrl;
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {
String token = request.getHeader(Constants.HEADER_KEY);
Result<?> result = getUserInfo(token);
Integer code = result.getCode();
if (code == 500) {
returnJson(response, JSON.toJSONString(Result.FAIL(500, "第三方用户验证未通过,请检查令牌是否正确")));
return false;
}
UserVo userVo = JSONObject.parseObject(JSON.toJSONString(result.getResult()), UserVo.class);
UserUtil.setLoginUser(userVo);
return true;
}
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) {
}
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) {
UserUtil.removeUser();
}
private Result<?> getUserInfo(String token){
Result<?> bean;
try {
String body = HttpRequest.post(checkTokenUrl)
.header(Constants.HEADER_KEY,token)
.execute().body();
bean = JSONObject.parseObject(body, Result.class);
} catch (Exception e) {
bean = Result.FAIL();
}
return bean;
}
private void returnJson(HttpServletResponse response, String json) {
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html; charset=utf-8");
try (PrintWriter writer = response.getWriter()) {
writer.println(json);
} catch (Exception ignored) {
}
}
}
package com.zzsn.event.config.interceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
@Bean
public UserInfoInterceptor userInfoInterceptor() {
return new UserInfoInterceptor();
}
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(userInfoInterceptor()).addPathPatterns("/**").excludePathPatterns("/third/api/**");
}
}
package com.zzsn.event.config;
package com.zzsn.event.config.scheduler;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.SchedulingConfigurer;
......
......@@ -7,6 +7,11 @@ public class Constants {
private Constants() { }
public static final String DATA_ADD_ID = "DATA_ADD_ID:";
//信息源网址入缓存前缀
public static final String SITE_NAME_KEY = "SITE_NAME_KEY:";
//事件专题-redis缓存key前缀
public static final String SUBJECT_ANALYSIS_PRE = "SUBJECT_ANALYSIS::";
//传播路径
......
......@@ -60,6 +60,15 @@ public class Result<T> implements Serializable {
return r;
}
public static<T> Result<T> OK(String message,T data) {
Result<T> r = new Result<T>();
r.setSuccess(true);
r.setCode(200);
r.setMessage(message);
r.setResult(data);
return r;
}
public static<T> Result<T> FAIL() {
Result<T> r = new Result<T>();
r.setSuccess(true);
......@@ -68,6 +77,14 @@ public class Result<T> implements Serializable {
return r;
}
public static<T> Result<T> FAIL(String message) {
Result<T> r = new Result<T>();
r.setSuccess(true);
r.setCode(500);
r.setMessage(message);
return r;
}
public static<T> Result<T> FAIL(Integer code,String message) {
Result<T> r = new Result<T>();
r.setSuccess(true);
......
......@@ -13,10 +13,12 @@ import com.zzsn.event.entity.EventAnalysisReport;
import com.zzsn.event.entity.LabelEntity;
import com.zzsn.event.entity.SubjectAnalysis;
import com.zzsn.event.es.EsService;
import com.zzsn.event.service.*;
import com.zzsn.event.service.AnalysisService;
import com.zzsn.event.service.EsStatisticsService;
import com.zzsn.event.service.EventAnalysisReportService;
import com.zzsn.event.service.LabelEntityService;
import com.zzsn.event.util.CalculateUtil;
import com.zzsn.event.util.HttpUtil;
import com.zzsn.event.util.ObsUtil;
import com.zzsn.event.util.RedisUtil;
import com.zzsn.event.vo.CountVO;
import com.zzsn.event.vo.EventViewVO;
......@@ -28,7 +30,6 @@ import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.math.RoundingMode;
import java.util.ArrayList;
......@@ -61,56 +62,12 @@ public class EventAnalysisController {
private EsService esService;
@Autowired
private RedisUtil redisUtil;
@Autowired
private ObsUtil obsUtil;
@Value(("${serviceProject.url:}"))
private String SERVICE_PROJECT_URL;
private static final String prefix = "http://obs.ciglobal.cn/";
/**
* 上传文件(事件报告跳转智能写作是调用)
*
* @param file 文件
* @author lkg
* @date 2024/8/16
*/
@PostMapping("/uploadFile")
public Result<?> uploadFile(MultipartFile file) {
String downloadUrl = null;
try {
if (file != null) {
String filename = file.getOriginalFilename();
if (StringUtils.isNotEmpty(filename)) {
String[] split = filename.split("\\.");
String objectKey = "event/report/" + split[0] + "_" + System.currentTimeMillis() + "." + split[1];
obsUtil.uploadFile(objectKey, file.getInputStream());
downloadUrl = prefix + objectKey;
}
}
} catch (Exception e) {
e.printStackTrace();
}
return Result.OK(downloadUrl);
}
/**
* 删除文件(研究中心智能写作保存文件后,调用接口删除平台的报告文件)
*
* @param param 参数
* @author lkg
* @date 2024/8/16
*/
@PostMapping("/deleteFile")
public Result<?> deleteFile(@RequestBody JSONObject param) {
if (param != null) {
String path = param.get("path").toString();
String objectKey = path.replace(prefix, "");
obsUtil.delFile(objectKey);
}
return Result.OK();
}
/**
* 3.4 总体分析
......
package com.zzsn.event.controller;
import io.swagger.annotations.Api;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* 事件后台管理-事件分类
*
* @author lkg
* @date 2024/4/29
*/
@Slf4j
@Api(tags = "-事件分类")
@RestController
@RequestMapping("/plat/manage/subjectType")
public class EventTypeController {
}
package com.zzsn.event.controller;
import com.alibaba.fastjson2.JSON;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zzsn.clb.common.model.task.dto.titr.KeyWordsDTO;
import com.zzsn.event.constant.Constants;
import com.zzsn.event.constant.Result;
import com.zzsn.event.entity.Event;
import com.zzsn.event.entity.KeyWords;
import com.zzsn.event.service.IEventService;
import com.zzsn.event.service.IKeyWordsService;
import com.zzsn.event.util.RedisUtil;
import com.zzsn.event.util.user.UserUtil;
import com.zzsn.event.util.user.UserVo;
import com.zzsn.event.vo.*;
import com.zzsn.event.xxljob.entity.XxlJobInfo;
import com.zzsn.event.xxljob.service.IXxlJobInfoService;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.kafka.core.KafkaTemplate;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Date;
import java.util.concurrent.CompletableFuture;
/**
* 平台事件管理页
*
* @author lkg
* @date 2024/5/7
*/
@RestController
@RequestMapping("/manage")
public class PlatEventManageController {
@Autowired
private IEventService eventService;
@Autowired
private IXxlJobInfoService iXxlJobInfoService;
@Autowired
private IKeyWordsService keyWordsService;
@Autowired
private RedisUtil redisUtil;
@Resource
private KafkaTemplate<String, String> kafkaTemplate;
/**
* 分页列表-新平台管理
*
* @param subjectCondition 筛选条件
* @param pageNo 当前页
* @param pageSize 返回条数
* @author lkg
* @date 2024/4/28
*/
@GetMapping("/pageList")
public Result<?> newPlatPageList(SubjectCondition subjectCondition,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) {
Page<EventNewPlatVO> pageList = eventService.newPlatPageList(subjectCondition, pageNo, pageSize);
return Result.OK(pageList);
}
/**
* 1.2 添加
*
* @param eventParam
* @return
*/
@PostMapping(value = "/add")
public Result<?> add(@RequestBody AddEventParam eventParam) {
KeywordsVO keywordsVO = eventParam.getKeywordsVO();
if (keywordsVO != null) {
UserVo currentUser = UserUtil.getLoginUser();
eventParam.setCreateTime(new Date());
eventParam.setCreateBy(currentUser.getUsername());
Event event = eventService.saveMain(eventParam);
//新增关键词
KeyWords keyWords = keyWordsService.saveKeyword(event, keywordsVO.getKeyword(), keywordsVO.getExclusionWord());
CompletableFuture.runAsync(() -> {
//插入xxlJob
iXxlJobInfoService.eventInsert(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, "关键词不能为空");
}
}
/**
* 1.3 编辑
*
* @param addEventParam
* @return
*/
@PostMapping(value = "/edit")
public Result<?> edit(@RequestBody AddEventParam addEventParam) {
//关键词
KeywordsVO keywordsVO = addEventParam.getKeywordsVO();
if (keywordsVO != null) {
UserVo currentUser = UserUtil.getLoginUser();
addEventParam.setUpdateTime(new Date());
addEventParam.setUpdateBy(currentUser.getUsername());
eventService.updateMain(addEventParam);
keyWordsService.update(Wrappers.<KeyWords>lambdaUpdate().eq(KeyWords::getId, keywordsVO.getId())
.set(KeyWords::getKeyWord, keywordsVO.getKeyword())
.set(KeyWords::getExclusionWord, keywordsVO.getExclusionWord()));
CompletableFuture.runAsync(() -> {
KeyWordsDTO redisKeywordDTO = new KeyWordsDTO();
BeanUtils.copyProperties(keywordsVO, redisKeywordDTO);
redisKeywordDTO.setKeyWord(keywordsVO.getKeyword());
redisKeywordDTO.setStartTime(addEventParam.getStartTime());
redisKeywordDTO.setEndTime(addEventParam.getEndTime());
redisKeywordDTO.setSearchEngines(new ArrayList<>(Constants.DEFAULT_SEARCH_ENGINE.values()));
redisUtil.set(Constants.KEY_WORDS_TO_REDIS_PREFIX + keywordsVO.getWordsCode(), redisKeywordDTO);
//为了立即响应,关键词编辑时放入消息队列
kafkaTemplate.send(Constants.KEY_WORDS_COLLECT_TOPIC, JSON.toJSONString(redisKeywordDTO));
});
return Result.OK();
} else {
return Result.FAIL(500, "关键词不能为空");
}
}
/**
* 启用
*
* @param eventId 事件id
* @author lkg
* @date 2024/9/12
*/
@GetMapping("/enable")
public Result<?> enable(@RequestParam String eventId) {
updateStatus(eventId, 1);
return Result.OK();
}
/**
* 启用
*
* @param eventId 事件id
* @author lkg
* @date 2024/9/12
*/
@GetMapping("/disable")
public Result<?> disable(@RequestParam String eventId) {
updateStatus(eventId, 0);
return Result.OK();
}
/**
* 通过id删除
*
* @param id 事件id
* @return
*/
@GetMapping(value = "/delete")
public Result<?> delete(@RequestParam(name = "id") String id) {
eventService.deleteMain(id);
CompletableFuture.runAsync(() -> {
EventVO eventVO = eventService.queryInfo(id);
iXxlJobInfoService.deleteByInfosourceCode(eventVO.getEventCode());
//删除关键词
KeywordsVO keywordsVO = eventVO.getKeywordsVO();
if (keywordsVO != null) {
String wordsCode = keywordsVO.getWordsCode();
keyWordsService.remove(Wrappers.<KeyWords>lambdaQuery().eq(KeyWords::getWordsCode, wordsCode));
redisUtil.del(Constants.KEY_WORDS_TO_REDIS_PREFIX + wordsCode);
iXxlJobInfoService.deleteByInfosourceCode(wordsCode);
//todo 是否删除对应的资讯数据
}
});
return Result.OK();
}
/**
* 批量删除
*
* @param ids 事件id,多个用逗号隔开
* @author lkg
* @date 2024/12/17
*/
@GetMapping(value = "/deleteBatch")
public Result<?> deleteBatch(@RequestParam(name = "ids") String ids) {
String[] idArr = ids.split(",");
//删除
for (String id : idArr) {
eventService.deleteMain(id);
}
//异步删除关联关系
CompletableFuture.runAsync(() -> {
for (String id : idArr) {
EventVO eventVO = eventService.queryInfo(id);
iXxlJobInfoService.deleteByInfosourceCode(eventVO.getEventCode());
//删除关键词
KeywordsVO keywordsVO = eventVO.getKeywordsVO();
if (keywordsVO != null) {
String wordsCode = keywordsVO.getWordsCode();
keyWordsService.remove(Wrappers.<KeyWords>lambdaQuery().eq(KeyWords::getWordsCode, wordsCode));
redisUtil.del(Constants.KEY_WORDS_TO_REDIS_PREFIX + wordsCode);
iXxlJobInfoService.deleteByInfosourceCode(wordsCode);
}
}
});
//todo 是否删除对应的资讯数据
return Result.OK();
}
private void updateStatus(String eventId, Integer status) {
eventService.update(Wrappers.<Event>lambdaUpdate().eq(Event::getId, eventId).set(Event::getStatus, status));
CompletableFuture.runAsync(() -> {
Event event = eventService.getById(eventId);
iXxlJobInfoService.update(Wrappers.<XxlJobInfo>lambdaUpdate().eq(XxlJobInfo::getInfoSourceCode, event.getEventCode())
.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) {
kafkaTemplate.send(Constants.EVENT_SUBJECT_MODEL, event.getEventCode());
}
});
}
}
package com.zzsn.event.controller.common;
import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.zzsn.event.constant.Result;
import com.zzsn.event.entity.KeyWords;
import com.zzsn.event.entity.KeywordsType;
import com.zzsn.event.service.IKeyWordsService;
import com.zzsn.event.service.IKeywordsTypeService;
import com.zzsn.event.vo.KeyWordsPage;
import com.zzsn.event.vo.KeywordsTypeVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 关键词
*
* @author lkg
* @date 2024/12/24
*/
@RestController
@RequestMapping("/keyword")
public class KeywordController {
@Autowired
private IKeywordsTypeService keywordsTypeService;
@Autowired
private IKeyWordsService keyWordsService;
/**
* 通过父级id列表查询
*
* @param subjectId 专题id
* @param parentId 上级id
* @author lkg
* @date 2024/12/24
*/
@GetMapping(value = "/type/listByParentId")
public Result<?> listByParentId(@RequestParam(name = "subjectId", defaultValue = "0") String subjectId,
@RequestParam(name = "parentId", defaultValue = "0") String parentId) {
List<KeywordsTypeVo> allList = keywordsTypeService.listByParentIdAndSubjectId(subjectId, parentId);
return Result.OK(allList);
}
/**
* 词组分类列表
*
* @param contain
* @param subjectId
* @param bindingType
* @author lkg
* @date 2024/12/24
*/
@GetMapping(value = "/type/rootListNoPage")
public Result<?> queryPageListNoPage(@RequestParam(name = "contain", defaultValue = "false") Boolean contain,
@RequestParam(name = "subjectId", defaultValue = "0") String subjectId,
@RequestParam(name = "bindingType", required = false) String bindingType) {
List<KeywordsTypeVo> allList = keywordsTypeService.allList(contain, subjectId, bindingType);
return Result.OK(allList);
}
/**
* 新增分类
*
* @param keywordsType 分类信息
* @author lkg
* @date 2024/12/24
*/
@PostMapping(value = "/type/add")
public Result<?> add(@RequestBody KeywordsType keywordsType) {
keywordsTypeService.addKeywordsType(keywordsType);
return Result.OK();
}
/*
* 编辑
*
* @param keywordsType 分类信息
* @author lkg
* @date 2024/12/24
*/
@PostMapping(value = "/type/edit")
public Result<?> edit(@RequestBody KeywordsType keywordsType) {
keywordsTypeService.updateKeywordsType(keywordsType);
return Result.OK();
}
/**
* 通过id删除
*
* @param id 分类id
* @return
*/
@GetMapping(value = "/type/delete")
public Result<?> typeDelete(@RequestParam(name = "id") String id) {
keywordsTypeService.deleteKeywordsType(id);
return Result.OK();
}
/**
* 关键词组分页列表查询
*
* @param keyWords
* @param pageNo
* @param pageSize
* @param keyWordsTypeId
* @param bindingType
* @param search
* @param subjectId
* @author lkg
* @date 2024/12/24
*/
@GetMapping(value = "/listByTypeId")
public Result<?> queryPageListByTypeId(KeyWords keyWords,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
@RequestParam(name = "keyWordsTypeId", defaultValue = "0") String keyWordsTypeId,
@RequestParam(name = "bindingType", required = false) String bindingType,
@RequestParam(name = "search", defaultValue = "false") Boolean search,
@RequestParam(name = "subjectId", defaultValue = "0") String subjectId) {
IPage<KeyWordsPage> pageList = keyWordsService.pageByTypeId(keyWords, pageNo, pageSize, keyWordsTypeId, search, subjectId, bindingType);
return Result.OK(pageList);
}
/**
* 新增关键词
*
* @param keyWordsPage
* @author lkg
* @date 2024/12/24
*/
@PostMapping(value = "/add")
public Result<?> add(@RequestBody KeyWordsPage keyWordsPage) {
JSONObject jsonObject = keyWordsService.saveMain(keyWordsPage);
if (Boolean.FALSE.equals(jsonObject.getBoolean("result"))) {
return Result.FAIL(500, jsonObject.getString("message"));
} else {
return Result.OK(jsonObject.get("keyWord"));
}
}
/**
* 编辑
*
* @param keyWordsPage
* @return
*/
@PostMapping(value = "/edit")
public Result<?> edit(@RequestBody KeyWordsPage keyWordsPage) {
keyWordsService.updateMain(keyWordsPage);
return Result.OK();
}
/**
* 通过id删除
*
* @param id 词组id
* @return
*/
@GetMapping(value = "/delete")
public Result<?> delete(@RequestParam(name = "id") String id) {
keyWordsService.deleteMain(id);
return Result.OK();
}
/**
* 批量删除
*
* @param ids 词组id,多个逗号拼接
* @return
*/
@GetMapping(value = "/deleteBatch")
public Result<?> deleteBatch(@RequestParam(name = "ids") String ids) {
keyWordsService.deleteMain(ids);
return Result.OK();
}
/**
* 通过id查询
*
* @param id 词组id
* @return
*/
@GetMapping(value = "/queryById")
public Result<?> queryById(@RequestParam(name = "id") String id) {
KeyWordsPage keyWords = keyWordsService.getKeyWordsById(id);
return Result.OK(keyWords);
}
}
package com.zzsn.event.controller.common;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.zzsn.event.constant.Result;
import com.zzsn.event.entity.InfoSourceGroup;
import com.zzsn.event.service.*;
import com.zzsn.event.util.tree.Node;
import com.zzsn.event.vo.*;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.List;
/**
* 专题/事件关系绑定
*
* @author lkg
* @date 2024/12/17
*/
@RestController
@RequestMapping("/common/relation")
public class RelationBindController {
@Autowired
private IKeyWordsService keyWordsService;
@Autowired
private ISubjectTypeService subjectTypeService;
@Autowired
private ISubjectTypeMapService subjectTypeMapService;
@Autowired
private IInfoSourceService infoSourceService;
@Autowired
private ISubjectInfoSourceMapService subjectInfoSourceMapService;
@Autowired
private CommonService commonService;
@Autowired
private InfoSourceGroupService infoSourceGroupService;
/**
* 项目列表
*
* @author lkg
* @date 2024/4/29
*/
@GetMapping("/projectList")
public Result<?> projectList() {
List<Node> projectList = commonService.projectList();
return Result.OK(projectList);
}
/**
* 专题/事件绑定的信息源-列表页
*
* @param infoSourceCondition 筛选条件
* @param subjectId id/分类id
* @param category 类别(1-专题;2-事件)
* @param pageNo 当前页
* @param pageSize 返回条数
* @author lkg
* @date 2024/5/7
*/
@GetMapping(value = "/bindInfoSourceList")
public Result<?> bindInfoSourceList(InfoSourceCondition infoSourceCondition,
@RequestParam(name = "subjectId", defaultValue = "0") String subjectId,
@RequestParam(name = "category") Integer category,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) {
List<String> subjectIdList = new ArrayList<>();
if (!"0".equals(subjectId)) {
//查询类别id的所有明细id
if (StringUtils.isNotEmpty(subjectId)) {
List<String> typeIds = subjectTypeService.belowIdList(subjectId, category);
if (category == 1) {
subjectIdList = subjectTypeMapService.selectSubjectByTypeIds(typeIds);
} else if (category == 2) {
subjectIdList = subjectTypeMapService.selectEventByTypeIds(typeIds);
}
}
subjectIdList.add(subjectId);
}
IPage<InfoSourceVo> pageList = infoSourceService.bindInfoSourceList(infoSourceCondition, subjectIdList, pageNo, pageSize);
return Result.OK(pageList);
}
/**
* 信息源组搜索列表(专题/事件配置页)
*
* @param searchWord 搜索词
* @author lkg
* @date 2024/12/23
*/
@GetMapping("/group/searchList")
public Result<?> searchList(@RequestParam String searchWord){
LambdaQueryWrapper<InfoSourceGroup> queryWrapper = Wrappers.lambdaQuery();
queryWrapper.like(InfoSourceGroup::getGroupName,searchWord);
List<InfoSourceGroup> list = infoSourceGroupService.list(queryWrapper);
return Result.OK(list);
}
/**
* 信息源组和分类组成的树型结构(专题/事件配置页)
*
* @author lkg
* @date 2024/12/23
*/
@GetMapping("/groupAndTypeTree")
public Result<?> groupAndTypeTree(){
List<GroupTreeVO> tree = infoSourceGroupService.GroupAndTypeTree();
return Result.OK(tree);
}
/**
* 专题/事件信息源绑定(专题/事件配置页)
*
* @param subjectPage 参数
* @author lkg
* @date 2024/12/18
*/
@PostMapping("/infoSourceBind")
public Result<?> infoSourceBind(@RequestBody SubjectPage subjectPage) {
subjectInfoSourceMapService.infoSourceBind(subjectPage);
return Result.OK();
}
/**
* 专题/事件信息源绑定删除(专题/事件配置页)
*
* @param subjectPage 参数
* @return
*/
@PostMapping(value = "/deleteBindInfoSource")
public Result<?> deleteBindInfoSource(@RequestBody SubjectPage subjectPage) {
subjectInfoSourceMapService.deleteBind(subjectPage);
return Result.OK("删除成功!");
}
/**
* 专题/事件绑定的信息源组列表(专题/事件配置页)
*
* @param subjectId 专题/事件id
* @author lkg
* @date 2024/12/18
*/
@GetMapping(value = "/bindInfoSourceGroup")
public Result<?> bindInfoSource(@RequestParam(name = "subjectId") String subjectId) {
JSONObject infoSourceGroupPages = subjectInfoSourceMapService.bindInfoSource(subjectId);
return Result.OK(infoSourceGroupPages);
}
/**
* 编辑专题/事件和信息源组的绑定关系
*
* @param infoSourceGroupPage 参数
* @return
*/
@PostMapping(value = "/modifyInfoSourceInfo")
public Result<?> modifyInfoSourceInfo(@RequestBody InfoSourceGroupPage infoSourceGroupPage) {
if (StrUtil.isBlank(infoSourceGroupPage.getSubjectId()) || StrUtil.isBlank(infoSourceGroupPage.getId())
|| ObjectUtil.isEmpty(infoSourceGroupPage.getSourceType())){
return Result.OK("请检查参数");
}
subjectInfoSourceMapService.modifyInfoSourceInfo(infoSourceGroupPage);
return Result.OK();
}
/**
* 专题/事件绑定的关键词组分页列表-列表页
*
* @param id 专题/事件id/分类id
* @param category 类别(1-专题;2-事件)
* @param groupName 词组名称
* @param wordName 关键词
* @param pageNo 当前页
* @param pageSize 每页返回条数
* @author lkg
* @date 2024/12/17
*/
@GetMapping(value = "/bindKeyWordsList")
public Result<?> bindKeyWordsList(@RequestParam String id,
@RequestParam Integer category,
@RequestParam(required = false) String groupName,
@RequestParam(required = false) String wordName,
@RequestParam(defaultValue = "1") Integer pageNo,
@RequestParam(defaultValue = "10") Integer pageSize) {
List<String> subjectIdList = new ArrayList<>();
if (!"0".equals(id)) {
List<String> typeIds = subjectTypeService.belowIdList(id, category);
if (category == 1) {
subjectIdList = subjectTypeMapService.selectSubjectByTypeIds(typeIds);
} else if (category == 2) {
subjectIdList = subjectTypeMapService.selectEventByTypeIds(typeIds);
}
}
subjectIdList.add(id);
IPage<KeyWordsPage> page = keyWordsService.bindKeyWordsList(subjectIdList, groupName, wordName, pageNo, pageSize);
return Result.OK(page);
}
}
package com.zzsn.event.controller.common;
import com.zzsn.event.constant.Result;
import com.zzsn.event.es.EsService;
import com.zzsn.event.vo.CountVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* 统计分析
*
* @author lkg
* @date 2024/12/25
*/
@RestController
@RequestMapping("/statistical/analysis")
public class StatisticalAnalysisController {
@Autowired
private EsService esService;
@GetMapping("/dataTrend")
public Result<?> dataTrend(@RequestParam String subjectId,
@RequestParam(required = false) String startDate,
@RequestParam(required = false) String endDate){
List<CountVO> subjectDatabaseByTime = esService.getSubjectDatabaseByTime(startDate, endDate, "month", subjectId, null, null);
return Result.OK(subjectDatabaseByTime);
}
}
package com.zzsn.event.controller.plat;
package com.zzsn.event.controller.common;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.zzsn.event.constant.Constants;
import com.zzsn.event.constant.Result;
import com.zzsn.event.entity.CustomerDataPermissionMap;
import com.zzsn.event.entity.SubjectType;
import com.zzsn.event.entity.SubjectTypeMap;
import com.zzsn.event.entity.SysUserDataPermission;
import com.zzsn.event.service.ICustomerDataPermissionMapService;
import com.zzsn.event.service.ISubjectTypeMapService;
import com.zzsn.event.service.ISubjectTypeService;
import com.zzsn.event.service.ISysUserDataPermissionService;
import com.zzsn.event.util.tree.Node;
import com.zzsn.event.util.tree.TreeUtil;
import com.zzsn.event.util.user.UserUtil;
import com.zzsn.event.util.user.UserVo;
import io.swagger.annotations.Api;
import lombok.extern.slf4j.Slf4j;
import com.zzsn.event.vo.SubjectTreeVO;
import com.zzsn.event.vo.SubjectTypeVo;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 事件后台管理-事件分类
* 公共接口
*
* @author lkg
* @date 2024/4/29
* @date 2024/12/17
*/
@Slf4j
@Api(tags = "-事件分类")
@RestController
@RequestMapping("/plat/manage/subjectType")
public class EventTypeController {
@RequestMapping("/type")
public class SubjectTypeController {
@Autowired
private ISubjectTypeService subjectTypeService;
@Autowired
private ISubjectTypeMapService subjectTypeMapService;
@Autowired
private ICustomerDataPermissionMapService customerDataPermissionMapService;
@Autowired
private ISysUserDataPermissionService sysUserDataPermissionService;
/**
* 事件分类列表-树型结构
* 分类列表-树型结构
*
* @param category 类别(1-专题;2-事件)
* @author lkg
* @date 2024/4/28
* @date 2024/12/17
*/
@GetMapping("/list")
public Result<?> typeList() {
@GetMapping("/treeList")
public Result<?> typeList(@RequestParam Integer category) {
//获取当前登录用户
UserVo currentUser = UserUtil.getLoginUser();
Integer category = currentUser.getCategory();
String userId = null;
String customerId = null;
if (category.equals(Constants.COMMON_USER)) {
userId = currentUser.getUserId();
} else if (category.equals(Constants.ADMIN_USER)) {
customerId = currentUser.getCustomerId();
}
List<Node> nodes = subjectTypeService.enableList(userId,customerId);
List<Node> nodes = subjectTypeService.enableList(category);
List<Node> tree = TreeUtil.tree(nodes, "0");
return Result.OK(tree);
}
/**
* 新增专题分类
*
......@@ -79,7 +56,6 @@ public class EventTypeController {
*/
@PostMapping("/add")
public Result<?> addSubjectType(@RequestBody SubjectType subjectType) {
UserVo currentUser = UserUtil.getLoginUser();
String pid = subjectType.getPid();
if (!"0".equals(pid)) {
int count = subjectTypeMapService.count(new LambdaQueryWrapper<SubjectTypeMap>().eq(SubjectTypeMap::getTypeId, pid));
......@@ -87,16 +63,7 @@ public class EventTypeController {
return Result.FAIL(501, "当前分类下存在专题");
}
}
subjectType.setCustomerId(currentUser.getCustomerId());
subjectTypeService.add(subjectType);
//权限
if (currentUser.getCategory().equals(Constants.ADMIN_USER)) {
customerDataPermissionMapService.save(new CustomerDataPermissionMap().setCustomerId(currentUser.getCustomerId()).setPermissionId(subjectType.getId()).setCategory(Constants.PERMISSION_SUBJECT));
}
if (currentUser.getCategory().equals(Constants.COMMON_USER)) {
sysUserDataPermissionService.save(new SysUserDataPermission().setUserId(currentUser.getUserId()).setPermissionId(subjectType.getId()).setCategory(Constants.PERMISSION_SUBJECT));
customerDataPermissionMapService.save(new CustomerDataPermissionMap().setCustomerId(currentUser.getCustomerId()).setPermissionId(subjectType.getId()).setCategory(Constants.PERMISSION_SUBJECT));
}
return Result.OK();
}
......@@ -126,10 +93,55 @@ public class EventTypeController {
if (count > 0) {
return Result.FAIL(501, "当前分类下存在专题");
}
//删除数据权限关系
customerDataPermissionMapService.remove(Wrappers.<CustomerDataPermissionMap>lambdaQuery().eq(CustomerDataPermissionMap::getPermissionId, id));
sysUserDataPermissionService.remove(Wrappers.<SysUserDataPermission>lambdaQuery().eq(SysUserDataPermission::getPermissionId, id));
subjectTypeService.delete(id);
return Result.OK();
}
/**
* 专题页左侧树
*
* @author lkg
* @date 2024/4/29
*/
@GetMapping("/subjectAndTypeTree")
public Result<?> subjectAndTypeTree() {
List<SubjectTreeVO> tree = subjectTypeService.subjectAndTypeTree();
return Result.OK(tree);
}
/**
* 专题类别-通过父级id列表查询
*
* @return
*/
@GetMapping(value = "/subjectAndTypeByParentId")
public Result<?> subjectAndTypeByParentId(@RequestParam(name = "subjectType", defaultValue = "0") String subjectType,
@RequestParam(name = "parentId", defaultValue = "0") String parentId) {
List<SubjectTypeVo> allList = subjectTypeService.subjectListByType(subjectType, parentId);
return Result.OK(allList);
}
/**
* 事件页左侧树
*
* @author lkg
* @date 2024/4/29
*/
@GetMapping("/eventAndTypeTree")
public Result<?> eventAndTypeTree() {
List<SubjectTreeVO> tree = subjectTypeService.eventAndTypeTree();
return Result.OK(tree);
}
/**
* 专题类别-通过父级id列表查询
*
* @return
*/
@GetMapping(value = "/eventAndTypeByParentId")
public Result<?> eventAndTypeByParentId(@RequestParam(name = "subjectType", defaultValue = "0") String subjectType,
@RequestParam(name = "parentId", defaultValue = "0") String parentId) {
List<SubjectTypeVo> allList = subjectTypeService.eventListByType(subjectType, parentId);
return Result.OK(allList);
}
}
package com.zzsn.event.controller.eventExtract;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.zzsn.event.constant.Result;
import com.zzsn.event.entity.EventExtract;
import com.zzsn.event.es.EsService;
import com.zzsn.event.service.EventExtractService;
import com.zzsn.event.vo.EventExtractVO;
import com.zzsn.event.vo.SubjectDataVo;
import io.swagger.annotations.Api;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.Arrays;
import java.util.List;
/**
* @author lkg
* @date 2024/9/7
*/
@Api(tags = "挖掘的事件管理")
@RestController
@RequestMapping("/extract")
public class EventExtractController {
@Autowired
private EventExtractService eventExtractService;
@Autowired
private EsService esService;
/**
* 伪事件信息分页列表
*
* @param taskId 任务id
* @param searchWord 搜索词
* @param eventName 事件名称
* @param eventType 事件分类
* @param startTime 开始时间
* @param endTime 结束时间
* @param checkStatus 审核状态(2-不通过;1-通过;0-待审核)
* @param column 排序字段
* @param sortType 排序方式
* @param pageNo 偏移量
* @param pageSize 返回条数
* @author lkg
* @date 2024/9/9
*/
@GetMapping("/pageList")
public Result<?> pageList(@RequestParam(name = "taskId") String taskId,
@RequestParam(name = "searchWord", required = false) String searchWord,
@RequestParam(name = "eventName", required = false) String eventName,
@RequestParam(name = "startTime", required = false) String startTime,
@RequestParam(name = "endTime", required = false) String endTime,
@RequestParam(name = "eventType", required = false) String eventType,
@RequestParam(name = "checkStatus", required = false) Integer checkStatus,
@RequestParam(name = "column", required = false) String column,
@RequestParam(name = "sortType", required = false) String sortType,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) {
IPage<EventExtractVO> page = eventExtractService.pageList(taskId, searchWord, eventName, startTime, endTime,
eventType, checkStatus, column, sortType, pageNo, pageSize);
return Result.OK(page);
}
/**
* 伪事件来源资讯详情
*
* @param relatedIds 来源资讯id,多个逗号隔开
* @author lkg
* @date 2024/9/13
*/
@GetMapping("/dataInfoList")
public Result<?> dataInfoList(@RequestParam List<String> relatedIds) {
List<SubjectDataVo> subjectDataVos = esService.listByIds(relatedIds);
return Result.OK(subjectDataVos);
}
/**
* 审核
*
* @param eventExtract 伪事件信息
* @author lkg
* @date 2024/9/13
*/
@PostMapping("/modify")
public Result<?> modify(@RequestBody EventExtract eventExtract) {
eventExtractService.updateById(eventExtract);
return Result.OK();
}
/**
* 删除
*
* @param id 主键id
* @author lkg
* @date 2024/9/9
*/
@GetMapping("/delete")
public Result<?> delete(@RequestParam String id) {
eventExtractService.update(Wrappers.<EventExtract>lambdaUpdate().set(EventExtract::getDeleteStatus, 1)
.eq(EventExtract::getId, id));
return Result.OK();
}
}
package com.zzsn.event.controller.eventExtract;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.zzsn.event.constant.Result;
import com.zzsn.event.entity.EventExtractTask;
import com.zzsn.event.service.EventExtractTaskService;
import com.zzsn.event.service.OtherDataService;
import com.zzsn.event.util.tree.Node;
import com.zzsn.event.util.user.UserUtil;
import com.zzsn.event.util.user.UserVo;
import com.zzsn.event.vo.EventExtractTaskVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.Date;
import java.util.List;
/**
* 事件抽取任务
*
* @author lkg
* @date 2024/9/13
*/
@RestController
@RequestMapping("/extract/task")
public class EventExtractTaskController {
@Autowired
private EventExtractTaskService eventExtractTaskService;
@Autowired
private OtherDataService otherDataService;
/**
* 事件抽取任务信息分页列表
*
* @param projectId 项目id
* @param searchWord 搜索词
* @param taskName 任务名称
* @param startTime 开始时间
* @param endTime 结束时间
* @param pageNo 当前页
* @param pageSize 返回条数
* @author lkg
* @date 2024/9/13
*/
@GetMapping("/pageList")
public Result<?> pageList(@RequestParam(required = false) String projectId,
@RequestParam(required = false) String searchWord,
@RequestParam(required = false) String taskName,
@RequestParam(required = false) String startTime,
@RequestParam(required = false) String endTime,
@RequestParam(defaultValue = "1") Integer pageNo,
@RequestParam(defaultValue = "10") Integer pageSize) {
IPage<EventExtractTaskVO> page = eventExtractTaskService.pageList(projectId, searchWord, taskName, startTime, endTime, pageNo, pageSize);
return Result.OK(page);
}
/**
* 查看详情
*
* @param id 任务id
* @author lkg
* @date 2024/9/14
*/
@GetMapping("/queryInfo")
public Result<?> queryInfo(@RequestParam String id){
EventExtractTask eventExtractTask = eventExtractTaskService.getById(id);
return Result.OK(eventExtractTask);
}
/**
* 新增/编辑
*
* @param eventExtractTask 事件抽取任务信息
* @author lkg
* @date 2024/9/13
*/
@PostMapping("/modify")
public Result<?> modify(@RequestBody EventExtractTask eventExtractTask) {
UserVo currentUser = UserUtil.getLoginUser();
eventExtractTask.setCreateBy(currentUser.getUsername());
eventExtractTask.setCreateTime(new Date());
eventExtractTaskService.saveOrUpdate(eventExtractTask);
return Result.OK();
}
/**
* 开启
*
* @param id 任务id
* @author lkg
* @date 2024/9/14
*/
@GetMapping("/open")
public Result<?> open(@RequestParam String id) {
eventExtractTaskService.update(Wrappers.<EventExtractTask>lambdaUpdate().set(EventExtractTask::getTaskStatus, 1)
.eq(EventExtractTask::getId, id));
return Result.OK();
}
/**
* 关闭
*
* @param id 任务id
* @author lkg
* @date 2024/9/14
*/
@GetMapping("/close")
public Result<?> close(@RequestParam String id) {
eventExtractTaskService.update(Wrappers.<EventExtractTask>lambdaUpdate().set(EventExtractTask::getTaskStatus, 0)
.eq(EventExtractTask::getId, id));
return Result.OK();
}
/**
* 删除
*
* @param id 任务id
* @author lkg
* @date 2024/9/13
*/
@GetMapping("/delete")
public Result<?> delete(@RequestParam String id) {
eventExtractTaskService.update(Wrappers.<EventExtractTask>lambdaUpdate().eq(EventExtractTask::getId, id)
.set(EventExtractTask::getDeleteStatus, 1));
return Result.OK();
}
/**
* 项目信息列表
*
* @author lkg
* @date 2024/9/14
*/
@GetMapping("/projectList")
public Result<?> projectList() {
List<Node> nodes = otherDataService.projectList();
return Result.OK(nodes);
}
/**
* 栏目信息列表
*
* @author lkg
* @date 2024/9/14
*/
@GetMapping("/columnList")
public Result<?> columnList() {
List<Node> nodes = otherDataService.columnList(null);
return Result.OK(nodes);
}
}
......@@ -62,8 +62,6 @@ public class EventApi {
private IEventTagService eventTagService;
@Autowired
private EventRegionMapService eventRegionMapService;
@Autowired
private EventExtractService eventExtractService;
/**
* 新增事件(页面简化版)
......@@ -80,7 +78,7 @@ public class EventApi {
KeyWords keyWords = keyWordsService.saveKeyword(event, keywordsVO.getKeyword(), keywordsVO.getExclusionWord());
event.setKeyWords(keyWords);
CompletableFuture.runAsync(()->{
iXxlJobInfoService.subjectInsert(event);
iXxlJobInfoService.eventInsert(event);
//关键词
KeyWordsDTO redisKeywordDTO = new KeyWordsDTO();
BeanUtils.copyProperties(keyWords, redisKeywordDTO);
......@@ -198,12 +196,6 @@ public class EventApi {
eventService.save(event);
String eventId = event.getId();
CompletableFuture.runAsync(()->{
//删除伪事件
Integer category = addEventVO.getCategory();
if (category != null && category == 2) {
eventExtractService.update(Wrappers.<EventExtract>lambdaUpdate().set(EventExtract::getDeleteStatus, 1)
.eq(EventExtract::getId, addEventVO.getFakeEventId()));
}
saveMapMain(eventId);
//事件标签
eventTagService.save(EventTag.builder().eventId(eventId).build());
......
package com.zzsn.event.controller;
package com.zzsn.event.controller.yjzx;
import com.zzsn.event.constant.Result;
import com.zzsn.event.service.IEventCategoryService;
......
package com.zzsn.event.controller;
package com.zzsn.event.controller.yjzx;
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONArray;
......@@ -9,19 +9,14 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zzsn.clb.common.model.task.dto.titr.KeyWordsDTO;
import com.zzsn.event.constant.Constants;
import com.zzsn.event.constant.Result;
import com.zzsn.event.entity.CustomerDataPermissionMap;
import com.zzsn.event.entity.Event;
import com.zzsn.event.entity.KeyWords;
import com.zzsn.event.entity.SysUserDataPermission;
import com.zzsn.event.es.EsService;
import com.zzsn.event.service.EventExtractService;
import com.zzsn.event.service.EventSimpleService;
import com.zzsn.event.service.IEventService;
import com.zzsn.event.service.IKeyWordsService;
import com.zzsn.event.util.EsOpUtil;
import com.zzsn.event.util.HttpUtil;
import com.zzsn.event.util.ObjectUtil;
import com.zzsn.event.util.RedisUtil;
import com.zzsn.event.service.InformationService;
import com.zzsn.event.util.*;
import com.zzsn.event.util.user.UserUtil;
import com.zzsn.event.util.user.UserVo;
import com.zzsn.event.vo.*;
......@@ -35,6 +30,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.kafka.core.KafkaTemplate;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import java.io.IOException;
......@@ -59,8 +55,6 @@ public class EventDataController {
@Autowired
private IEventService eventService;
@Autowired
private EventExtractService eventExtractService;
@Autowired
private EsService esService;
@Autowired
private EventSimpleService eventSimpleService;
......@@ -69,15 +63,65 @@ public class EventDataController {
@Autowired
private IKeyWordsService keyWordsService;
@Autowired
private InformationService informationService;
@Autowired
private RedisUtil redisUtil;
@Resource
private KafkaTemplate<String, String> kafkaTemplate;
@Autowired
private EsOpUtil esOpUtil;
@Autowired
private ObsUtil obsUtil;
@Value("${translate.url:}")
private String TRANSLATE_URL;
private static final String prefix = "http://obs.ciglobal.cn/";
/**
* 上传文件(事件报告跳转智能写作是调用)
*
* @param file 文件
* @author lkg
* @date 2024/8/16
*/
@PostMapping("/uploadFile")
public Result<?> uploadFile(MultipartFile file) {
String downloadUrl = null;
try {
if (file != null) {
String filename = file.getOriginalFilename();
if (StringUtils.isNotEmpty(filename)) {
String[] split = filename.split("\\.");
String objectKey = "event/report/" + split[0] + "_" + System.currentTimeMillis() + "." + split[1];
obsUtil.uploadFile(objectKey, file.getInputStream());
downloadUrl = prefix + objectKey;
}
}
} catch (Exception e) {
e.printStackTrace();
}
return Result.OK(downloadUrl);
}
/**
* 删除文件(研究中心智能写作保存文件后,调用接口删除平台的报告文件)
*
* @param param 参数
* @author lkg
* @date 2024/8/16
*/
@PostMapping("/deleteFile")
public Result<?> deleteFile(@RequestBody JSONObject param) {
if (param != null) {
String path = param.get("path").toString();
String objectKey = path.replace(prefix, "");
obsUtil.delFile(objectKey);
}
return Result.OK();
}
/**
* 事件分页列表-门户
*
......@@ -109,8 +153,6 @@ public class EventDataController {
IPage<EventFrontVO> pageList = new Page<>();
if (category == 1){
pageList = eventService.frontAllPageList(projectId, eventId,eventName, eventType, labelField, labelName, order, orderType, pageNo, pageSize);
} else if (category == 2) {
pageList = eventExtractService.frontDigPageList(projectId,eventName,eventType,pageNo,pageSize);
} else if (category == 3) {
pageList = eventService.frontOwnerPageList(projectId, eventName, eventType, labelField, labelName, order, orderType, pageNo, pageSize);
}
......@@ -131,7 +173,7 @@ public class EventDataController {
Event event = eventSimpleService.simpleSave(addEventVO);
KeyWords keyWords = keyWordsService.saveKeyword(event, keywordsVO.getKeyword(), keywordsVO.getExclusionWord());
CompletableFuture.runAsync(()->{
iXxlJobInfoService.subjectInsert(event);
iXxlJobInfoService.eventInsert(event);
//关键词
KeyWordsDTO redisKeywordDTO = new KeyWordsDTO();
BeanUtils.copyProperties(keyWords, redisKeywordDTO);
......@@ -281,11 +323,7 @@ public class EventDataController {
asyncList.add(CompletableFuture.runAsync(()->{
String id = jsonObject.getString("id");
String index = jsonObject.getString("index");
try {
esOpUtil.updateByid(index,id,updateFieldMap);
} catch (IOException e) {
e.printStackTrace();
}
esOpUtil.updateById(index,id,updateFieldMap);
}));
}
//等待全部执行完
......@@ -330,14 +368,14 @@ public class EventDataController {
* @author lkg
* @date 2024/4/10
*/
@ApiOperation(value = "单篇文章热词", notes = "单篇文章热词")
@GetMapping(value = "/hotWords")
public Result<?> articleList(@RequestParam(value = "index", required = false) String index, @RequestParam("id") String id,
public Result<?> articleList(@RequestParam(value = "index", required = false) String index,
@RequestParam("id") String id,
@RequestParam(name = "number", defaultValue = "200") Integer number) {
if (StringUtils.isEmpty(index)) {
index = Constants.SUBJECT_INDEX;
}
List<StatisticsKeyWordVo> words = eventService.hotWords(index, id, number);
List<StatisticsKeyWordVo> words = informationService.hotWords(index, id, number);
return Result.OK(words);
}
......@@ -357,7 +395,7 @@ public class EventDataController {
@RequestParam(name = "title") String title,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) {
List<SubjectDataVo> recommendList = esService.queryRecommendList(subjectId, id, title, pageNo, pageSize);
List<SubjectDataVo> recommendList = informationService.recommendList(subjectId, id, title, pageNo, pageSize);
return Result.OK(recommendList);
}
}
package com.zzsn.event.controller;
package com.zzsn.event.controller.yjzx;
import com.aspose.words.Document;
import com.aspose.words.SaveFormat;
......
package com.zzsn.event.controller;
package com.zzsn.event.controller.yjzx;
import com.zzsn.event.constant.Result;
import com.zzsn.event.service.EsStatisticsService;
......
package com.zzsn.event.controller;
package com.zzsn.event.controller.yjzx;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
......
package com.zzsn.event.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;
/**
* @Description: 算法模型表
* @Author: jeecg-boot
* @Date: 2023-02-14
* @Version: V1.0
*/
@Data
@TableName("clb_algorithm_model")
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="clb_algorithm_model对象", description="算法模型表")
public class AlgorithmModel {
/**主键id*/
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "主键id")
private String id;
/**模型名称*/
@Excel(name = "模型名称", width = 15)
@ApiModelProperty(value = "模型名称")
private String name;
/**唯一标识*/
@Excel(name = "唯一标识", width = 15)
@ApiModelProperty(value = "唯一标识")
private String uuid;
@Excel(name = "功能类型", width = 15)
@ApiModelProperty(value = "功能类型")
private String functionType;
@Excel(name = "功能文件类型,0文本,1图片,2视频,3音频", width = 15)
@ApiModelProperty(value = "功能文件类型,0文本,1图片,2视频,3音频")
private String functionFileType;
/**模型分类*/
@Excel(name = "模型分类", width = 15)
@ApiModelProperty(value = "模型分类")
private String type;
/**模型结构*/
@Excel(name = "模型结构", width = 15)
@ApiModelProperty(value = "模型结构")
private String structure;
/**描述*/
@Excel(name = "描述", width = 15)
@ApiModelProperty(value = "描述")
private String remark;
/**是否可显示,默认0,可现实,1不可显示*/
@Excel(name = "是否可显示,默认0,可现实,1不可显示", width = 15)
@ApiModelProperty(value = "是否可显示,默认0,可现实,1不可显示")
private Integer canShow;
/**创建人*/
@Excel(name = "创建人", width = 15)
@ApiModelProperty(value = "创建人")
private String createBy;
/**创建时间*/
@Excel(name = "创建时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "创建时间")
private java.util.Date createTime;
/**更新人*/
@Excel(name = "更新人", width = 15)
@ApiModelProperty(value = "更新人")
private String updateBy;
/**更新时间*/
@Excel(name = "更新时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "更新时间")
private java.util.Date updateTime;
/**版本号*/
@Excel(name = "版本号", width = 15)
@ApiModelProperty(value = "版本号")
private Integer versionCode;
/**版本描述*/
@Excel(name = "版本描述", width = 15)
@ApiModelProperty(value = "版本描述")
private String versionRemark;
/**0:保留,1:删除*/
@Excel(name = "0:保留,1:删除", width = 15)
@ApiModelProperty(value = "0:保留,1:删除")
private Integer status;
private String labelId;
private String serviceName;
private String url;
@TableField(exist = false)
private String projectIds;
/*
* 模型所在服务器的id
*/
private String serverId;
/*
* 模型所在服务器的名字
*/
@TableField(exist = false)
private String serverName;
private String modelConf;
private String taskName;
/*
* 关联模型的id
*/
private String modelId;
/*
* 训练版本号
*/
private String trainVersion;
private String publishVersion;
/*
* 任务所处的阶段
*/
private Integer modelStatus;
/*
* 常见任务的时候,参数配置。
*/
private String paramterData;
@TableField(exist=false)
private String yuliaoId;
@TableField(exist=false)
private String version;
/*
* 算法描述
*/
private String functionDesc;
/*
* 算法模型服务器ip
*/
private String serviceIp;
/*
* 算法模型服务器端口
*/
private Integer servicePort;
/*
* 模型来源,0训练,1挂载
*/
private Integer modelSource;
/*
* 是否是大模型1是,0否
*/
private Integer isLargeModel;
}
package com.zzsn.event.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
* Description: 文件操作日志
* Author: EDY
* Date: 2023/7/26
*/
@Data
@Accessors(chain = true)
@TableName("clb_file_operation_log")
@ApiModel(value="clb_file_operation_log对象", description="文件操作日志")
public class ClbFileOperationLog {
/** 唯一标识 */
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value ="唯一标识")
private String id ;
/** 用户id */
@ApiModelProperty(value ="用户id")
private String operationUserId ;
/** 用户名称 */
@ApiModelProperty(value ="用户名称")
private String userName ;
/** 用户名称 */
@ApiModelProperty(value ="用户中文名称")
private String userCnName ;
/** 专题id */
@ApiModelProperty(value ="专题id")
private String subjectId;
/** 文件名 */
@ApiModelProperty(value ="文件名")
private String fileName ;
/** 文件url */
@ApiModelProperty(value ="文件url")
private String fileUrl ;
/** 操作状态,0处理中,1处理完成 */
@ApiModelProperty(value ="操作状态,0处理中,1处理完成")
private Integer operationStatus = 0;
/** 处理进度 */
@ApiModelProperty(value ="处理进度")
private String processing;
/** 处理成功条数 */
@ApiModelProperty(value ="处理成功条数")
private Integer successCount ;
/** 处理失败条数 */
@ApiModelProperty(value ="处理失败条数")
private Integer failCount ;
/** 整个文件处理失败标识0成功,1异常 */
@ApiModelProperty(value ="整个文件处理失败标识0成功,1异常")
private Integer globalFailure = 0;
/** 整个文件处理失败描述 */
@ApiModelProperty(value ="整个文件处理失败描述")
private String globalFailureDesc ;
/** 操作类型,0导入,1导出 */
@ApiModelProperty(value ="操作类型,0导入,1导出")
private Integer operationType = 0;
/** 创建时间 */
@ApiModelProperty(value ="创建时间")
private Date createTime ;
/** 修改时间 */
@ApiModelProperty(value ="创建时间")
private Date updateTime ;
/** 备注 */
@ApiModelProperty(value ="备注")
private String remark ;
@TableField(exist = false)
private List<ClbFileOperationLogDetails> clbFileOperationLogDetails = new ArrayList<>();
}
package com.zzsn.event.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import java.util.Date;
/**
* Description: 文件操作详情表
* Author: EDY
* Date: 2023/7/26
*/
@Data
@Accessors(chain = true)
@TableName("clb_file_operation_log_details")
@ApiModel(value="clb_file_operation_log_details对象", description="文件操作详情表")
public class ClbFileOperationLogDetails {
/** 唯一标识 */
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "唯一标识")
private String id ;
/** 主表id */
@ApiModelProperty(value = "主表id")
private String fileOperationId ;
/** 处理结果,0成功1失败 */
@ApiModelProperty(value = "处理结果,0成功1失败")
private Integer operationStatus = 0;
/** 资讯来源 */
@ApiModelProperty(value = "资讯来源")
private String origin ;
/** 资讯标题 */
@ApiModelProperty(value = "资讯标题")
private String title ;
/** 资讯地址 */
@ApiModelProperty(value = "资讯地址")
private String sourceAddress ;
/** 失败原因 */
@ApiModelProperty(value = "失败原因")
private String causeBy ;
/** 创建时间 */
@ApiModelProperty(value = "创建时间")
private Date createTime ;
/** 备注 */
@ApiModelProperty(value = "备注")
private String remark ;
}
......@@ -4,93 +4,111 @@ import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
/**
* 事件抽取任务表
* @TableName event_extract_task
*/
* <p>
*
* </p>
*
* @author obcy
* @since 2024-04-25
*/
@Data
@TableName("event_extract_task")
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="event_extract_task对象", description="挖掘事件任务")
public class EventExtractTask implements Serializable {
@TableName("clb_subject_model_detail_task")
public class ClbSubjectModelDetailTask extends Model<ClbSubjectModelDetailTask> {
private static final long serialVersionUID = 1L;
/**
* 任务id
*/
@TableId(value = "id",type = IdType.ASSIGN_ID)
* id
*/
@TableId(value = "id", type = IdType.ASSIGN_ID)
private String id;
/**
* 任务名称
*/
@TableField("task_name")
private String taskName;
/**
* 项目id
*/
@TableField("project_id")
private String projectId;
/**
* 栏目id,多个用逗号隔开
*/
@TableField("column_id")
private String columnId;
* 专题id
*/
@TableField("subject_id")
private String subjectId;
/**
* 数据状态(0:未审核 1:审核通过 3:暂定 4:删除)
*/
@TableField("data_status")
private Integer dataStatus;
* 本次任务使用的模型ids
*/
@TableField("model_ids")
private String modelIds;
/**
* 数据开始时间
*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@TableField("start_time")
private Date startTime;
* 处理到的时间节点
*/
@TableField("detail_to_time")
private Date detailToTime;
/**
* 数据结束时间
*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@TableField("end_time")
private Date endTime;
* 处理到的时间节点
*/
@TableField("detail_from_time")
private Date detailFromTime;
/**
* 任务状态(1-开启;0-关闭)
*/
* 任务状态:0创建,1正在处理,2处理完毕,3被中断
*/
@TableField("task_status")
private Integer taskStatus;
/**
* 最近一次执行时间
*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@TableField("last_update_time")
private Date lastUpdateTime;
* 开始处理时间
*/
@TableField("start_time")
private Date startTime;
/**
* 删除状态(1-删除;0-未删除)
* 中断时间
*/
@TableField("delete_status")
private Integer deleteStatus;
@TableField("break_time")
private Date breakTime;
/**
* 完成时间
*/
@TableField("finish_time")
private Date finishTime;
/**
* 创建时间
*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
* 创建时间
*/
@TableField("create_time")
private Date createTime;
/**
* 创建人
*/
* 创建人
*/
@TableField("create_by")
private String createBy;
/**
* 任务模型参数
*/
@TableField("task_param")
private String taskParam;
/**
* 任务配置参数
*/
@TableField("all_param")
private String allParam;
/**
* 任务参数
*/
@TableField("task_code")
private String taskCode;
@Override
protected Serializable pkVal() {
return this.id;
}
}
package com.zzsn.event.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
/**
* @Description: 附件表
* @Author: jeecg-boot
* @Date: 2022-11-22
* @Version: V1.0
*/
@Data
@TableName("clb_sys_attachment")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
public class ClbSysAttachment implements Serializable {
private static final long serialVersionUID = 1L;
/**主键*/
@TableId(type = IdType.AUTO)
private Long id;
/**文件名称*/
private String name;
/**和字典表关联,不通类型记录的附件,用来关联不通的表*/
private String typeId;
/**关联记录的id*/
private String itemId;
/**fastDFS文件服务器上的分组*/
private String groupName;
/**fastDFS服务器上文件的路径*/
private String path;
/**文件全路径: group字段和path字段组成*/
private String fullPath;
/**文件扩展名*/
private String category;
/**文件大小*/
private String fileSize;
/**排序编号*/
private Integer orderBy;
/**是否生效, 1: 有效, 0 : 已经删除*/
private Integer status;
/**创建人*/
private String createBy;
/**创建日期*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private java.util.Date createTime;
/**更新人*/
private String updateBy;
/**更新日期*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private java.util.Date updateTime;
/**所属部门*/
private String sysOrgCode;
/**年份(主要用于企业报告)*/
private Integer year;
/**PDF文件总页数*/
private Integer pageSize;
/**来源*/
private String source;
/**桶名称*/
private String bucketName;
/**obs路径*/
private String objectKey;
}
......@@ -3,14 +3,17 @@ package com.zzsn.event.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
/**
* @Description: 文章收藏映射表
......@@ -26,16 +29,25 @@ import java.io.Serializable;
public class CollectionMap implements Serializable {
private static final long serialVersionUID = 1L;
/**主键*/
@TableId(type = IdType.ASSIGN_ID)
/**主键*/
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "主键")
private String id;
/**用户id*/
@Excel(name = "用户id", width = 15)
private java.lang.String id;
/**用户id*/
@Excel(name = "用户id", width = 15)
@ApiModelProperty(value = "用户id")
private String userId;
/**资讯id*/
@Excel(name = "资讯id", width = 15)
private java.lang.String userId;
/**索引名称*/
@Excel(name = "索引名称", width = 15)
@ApiModelProperty(value = "索引名称")
private java.lang.String esIndex;
/**资讯id*/
@Excel(name = "资讯id", width = 15)
@ApiModelProperty(value = "资讯id")
private String articleId;
private java.lang.String articleId;
/**入库时间*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "入库时间")
private Date createTime;
}
package com.zzsn.event.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.util.Date;
/**
* Description: 客户-数据权限关系表
* Author: EDY
* Date: 2023/8/1
*/
@Data
@TableName("customer_data_permission_map")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="customer_data_permission_map-客户-数据权限关系表", description="客户-数据权限关系表")
public class CustomerDataPermissionMap {
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "主键id")
private String id;
@ApiModelProperty(value = "客户id")
private String customerId;
@ApiModelProperty(value = "数据权限id")
private String permissionId;
@ApiModelProperty(value = "数据权限类型(project-项目;subject-专题;group-信息源组;keyword-关键词组;channel-栏目)")
private String category;
@ApiModelProperty(value = "创建人")
private String createBy;
@ApiModelProperty(value = "创建时间")
private Date createTime;
}
package com.zzsn.event.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
/**
* 挖掘到的事件
* @TableName event_extract
*/
@Data
@TableName("event_extract")
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="event_extract对象", description="挖掘事件")
public class EventExtract implements Serializable {
/**ID*/
@TableId(value = "id",type = IdType.ASSIGN_ID)
private String id;
/**
* 唯一id
*/
@TableField("unique_id")
private String uniqueId;
/**
* 名称
*/
@TableField("event_name")
private String eventName;
/**
* 事件类型
*/
@TableField("event_type")
private String eventType;
/**
* 开始时间
*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@TableField("start_time")
private Date startTime;
/**
* 结束时间
*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@TableField("end_time")
private Date endTime;
/**
* 自定义事件标签
*/
@TableField("event_label")
private String eventLabel;
/**
* 事件描述
*/
@TableField("event_describe")
private String eventDescribe;
/**
* 事件来源资讯id,多个逗号隔开
*/
@TableField("related_id")
private String relatedId;
/**
* 项目id
*/
@TableField("project_id")
private String projectId;
/**
* 任务id
*/
@TableField("task_id")
private String taskId;
/**
* 审核状态(2-不通过;1-通过;0-待审核)
*/
@TableField("check_status")
private Integer checkStatus;
/**
* 删除状态(1-删除;0-未删除)
*/
@TableField("delete_status")
private Integer deleteStatus;
/**
* 抽取时间
*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@TableField("extract_time")
private Date extractTime;
/**
* 创建人id
*/
@TableField("create_by")
private String createBy;
/**
* 创建时间
*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@TableField("create_time")
private Date createTime;
}
package com.zzsn.event.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
/**
* @Description: 下载中心
* @Author: lkg
* @Date: 2024-07-08
*/
@Data
@TableName("clb_file_download_center")
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class FileDownloadCenter implements Serializable {
private static final long serialVersionUID = 1L;
/**主键*/
@TableId(type = IdType.ASSIGN_ID)
private String id;
/**关联id*/
private String relationId;
/**下载内容(名称)*/
private String name;
/**文件路径*/
private String filePath;
/**文件大小*/
private String fileSize;
/**文件生成状态(0-生成中;1-已完成;2-异常)*/
private Integer buildStatus;
/**提交时间*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date commitTime;
/**提交人*/
private String commitBy;
/**是否已读(0-否;1-是)*/
private Integer readStatus;
/**数据类别(1-采集库;2-专题库)*/
private Integer category;
/**关联id类别(1-专题;2-采集器;3-来源媒体)*/
private Integer type;
/**创建日期*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date createTime;
}
package com.zzsn.event.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
/**
* @Description: 信息源组表
* @Author: jeecg-boot
* @Date: 2021-11-25
* @Version: V1.0
*/
@Data
@TableName("info_source_group")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
public class InfoSourceGroup implements Serializable {
private static final long serialVersionUID = 1L;
/**主键*/
@TableId(type = IdType.ASSIGN_ID)
private String id;
/**组编码*/
private String groupCode;
/**信息源组名称*/
private String groupName;
/**分组说明*/
private String groupRemark;
/**状态*/
private Integer status;
/**分类id,逗号拼接*/
@TableField(exist = false)
private String groupTypeIds;
}
package com.zzsn.event.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
/**
* @Description: 关键词类别
* @Author: jeecg-boot
* @Date: 2021-12-01
* @Version: V1.0
*/
@Data
@TableName("keywords_type")
@ApiModel(value="keywords_type对象", description="关键词类别")
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class KeywordsType implements Serializable {
private static final long serialVersionUID = 1L;
/**主键*/
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "主键")
private String id;
/**类别名称*/
@Excel(name = "类别名称", width = 15)
@ApiModelProperty(value = "类别名称")
private String typeName;
/**创建人*/
@ApiModelProperty(value = "创建人")
private String createBy;
/**创建日期*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "创建日期")
private Date createTime;
/**更新人*/
@ApiModelProperty(value = "更新人")
private String updateBy;
/**更新日期*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "更新日期")
private Date updateTime;
/**所属部门*/
@ApiModelProperty(value = "所属部门")
private String sysOrgCode;
/**父级节点*/
@Excel(name = "父级节点", width = 15)
@ApiModelProperty(value = "父级节点")
private String pid;
/**是否有子节点*/
@Excel(name = "是否有子节点", width = 15, dicCode = "yn")
@ApiModelProperty(value = "是否有子节点")
private String hasChild;
/**
* 状态(1启用 0不启用)
*/
private Integer status;
/**所属客户*/
@ApiModelProperty(value = "所属客户")
private String customerId;
}
package com.zzsn.event.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
/**
* @Description: 打分模型
* @Author: jeecg-boot
* @Date: 2021-12-17
* @Version: V1.0
*/
@Data
@TableName("score_model")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
public class ScoreModel implements Serializable {
/**主键*/
@TableId(type = IdType.ASSIGN_ID)
private String id;
/**专题id*/
private String subjectId;
/**打分模型种类(1:通用 2:专家观点 3:案例)*/
private String type;
/**json存储*/
private Object data;
/**创建人*/
private String createBy;
/**创建日期*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date createTime;
/**更新人*/
private String updateBy;
/**更新日期*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date updateTime;
/**所属部门*/
private String sysOrgCode;
}
package com.zzsn.event.entity;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.*;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
/**
* @Description: 专题表
* @Author: jeecg-boot
* @Date: 2021-12-15
* @Version: V1.0
*/
@Data
@TableName("subject")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class Subject implements Serializable {
private static final long serialVersionUID = 1L;
/**主键*/
@TableId(type = IdType.ASSIGN_ID)
private String id;
/**专题编码*/
private String subjectCode;
/**专题名称*/
private String subjectName;
/**图片策略*/
private String picturePolicy;
/**网页策略*/
private String pagePolicy;
/**状态*/
private Integer status;
/**启用时间*/
@TableField(updateStrategy = FieldStrategy.IGNORED)
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
private Date timeEnable;
/**停用时间*/
@TableField(updateStrategy = FieldStrategy.IGNORED)
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
private Date timeDisable;
/**划分专题库*/
private String library;
/**定时单位(1分;2小时;3日;4月)*/
private String unit;
/**定时数值*/
private Integer space;
/**cron表达式*/
private String cron;
/**是否提取热词*/
private String ynExtractHotWords;
/**事件专题增量分析规则*/
private Integer increAnaRule;
/**事件专题总量分析规则*/
private Integer totalAnaRule;
/**事件专题时间间隔分析规则(天)*/
private Integer timeAnaRule;
/**专题最近一次分析时间*/
private Date analysisTime;
/**外事办映射id*/
private Integer wsbMapId;
/**创建人*/
private String createBy;
/**创建日期*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date createTime;
/**更新人*/
private String updateBy;
/**更新日期*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date updateTime;
/**所属部门*/
private String sysOrgCode;
/**所属客户*/
private String customerId;
/**项目id*/
private String projectId;
/**专题类别(1:通用专题 2:事件专题)*/
private Integer subjectType;
/**专题信息所在es库名称*/
private String esIndex;
/**排序号*/
private Integer sortOrder;
/**企业数据类型[0-研报;1-年报;2-动态;3-公告]*/
private String additionDataType;
private Integer enterpriseCheck;
/**备注*/
private String remark;
/**是否是平台创建的专题(0否--外部创建 1是--平台创建 )*/
private String isPlatform;
/**专题分类id*/
@TableField(exist = false)
private String typeId;
}
......@@ -22,26 +22,21 @@ import java.io.Serializable;
@TableName("subject_info_source_map")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="subject_info_source_map对象", description="专题与信息源关联表")
public class SubjectInfoSourceMap implements Serializable {
private static final long serialVersionUID = 1L;
/**主键*/
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "主键")
private String id;
/**专题id*/
@Excel(name = "专题id", width = 15)
@ApiModelProperty(value = "专题id")
private String subjectId;
/**信息源id或信息源组id*/
@Excel(name = "信息源id或信息源组id", width = 15)
@ApiModelProperty(value = "信息源id或信息源组id")
private String sourceId;
/**种类(1:信息源id 2:信息源组id)*/
@Excel(name = "种类(1:信息源id 2:信息源组id)", width = 15)
@ApiModelProperty(value = "种类(1:信息源id 2:信息源组id)")
private Integer type;
@ApiModelProperty(value = "信息源组权重")
/**信息源组权重*/
private String weight;
/**是否免过关键词 0否 1是*/
private Integer isExemptKeyword;
/**是否免审核 0否 1是*/
private Integer isFreeCheck;
}
package com.zzsn.event.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
/**
* @Description: 专题关键词模型设置
* @Author: jeecg-boot
* @Date: 2021-12-17
* @Version: V1.0
*/
@Data
@TableName("subject_keywords")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
public class SubjectKeywords implements Serializable {
/**主键*/
@TableId(type = IdType.ASSIGN_ID)
private String id;
/**专题id*/
private String subjectId;
/**关键词*/
private String keyWord;
/**排除词*/
private String exclusionWord;
/**关键词模型种类(1:专题观点关键词模型 2:案例关键词模型 3:领导讲话关键词 4:政策关键词)*/
private String type;
/**创建人*/
private String createBy;
/**创建日期*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date createTime;
/**更新人*/
private String updateBy;
/**更新日期*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date updateTime;
/**所属部门*/
private String sysOrgCode;
}
package com.zzsn.event.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
/**
* @Description: 数据库关键词过滤配置
* @Author: jeecg-boot
* @Date: 2023-08-12
* @Version: V1.0
*/
@Data
@TableName("subject_keywords_group_relation")
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class SubjectKeywordsGroupRelation {
/**
* id
*/
@TableId(type = IdType.ASSIGN_ID)
private String id;
private String subjectId;
/**
* 关键词组ids
*/
private String keywordsGroupIds;
/**
* 绑定类型1:采集词词组关系,2:过滤词词组关系,3排除词组词组关系
*/
private String relationType;
/**
* 表达式
*/
private String expressionStr;
private String paramsStr;
/**
* 创建人
*/
private String createBy;
/**
* 创建日期
*/
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
/**
* 更新人
*/
private String updateBy;
/**
* 更新日期
*/
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date updateTime;
}
package com.zzsn.event.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
......
package com.zzsn.event.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
/**
* 专题资讯用户筛选条件记录表
* @TableName subject_user_condition
*/
@Data
@TableName("subject_user_condition")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="SubjectUserCondition对象", description="专题资讯用户筛选条件记录表")
public class SubjectUserCondition implements Serializable {
/**
* 主键id
*/
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "主键")
private String id;
/**
* 用户ID
*/
@ApiModelProperty(value = "用户ID")
private String userId;
/**
* 关联id
*/
@ApiModelProperty(value = "关联ID")
private String relationId;
/**
* 条件字符串
*/
@ApiModelProperty(value = "条件字符串")
private String jsonStr;
/**
* 创建时间
*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "创建时间")
private Date createTime;
}
package com.zzsn.event.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecgframework.poi.excel.annotation.Excel;
import java.io.Serializable;
/**
* @author lkg
* @description: 用户数据权限
* @date 2022/6/20 11:59
*/
@Data
@TableName("sys_user_data_permission")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="sys_user_data_permission对象", description="用户数据权限表")
public class SysUserDataPermission implements Serializable {
private static final long serialVersionUID = 1L;
/**主键*/
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "主键")
private String id;
/**用户id*/
@Excel(name = "用户id", width = 15)
@ApiModelProperty(value = "用户id")
private String userId;
/**权限id*/
@Excel(name = "权限id", width = 15)
@ApiModelProperty(value = "权限id")
private String permissionId;
/**权限类别*/
@Excel(name = "权限类别", width = 15)
@ApiModelProperty(value = "权限类别")
private String category;
}
package com.zzsn.event.enums;
import com.fasterxml.jackson.annotation.JsonValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 数据生命周期 数据处理异常类型枚举
* @author 张宗涵
* @date 2024/4/26
*/
@Getter
@AllArgsConstructor
public enum EnumExceptionType {
UNKNOWN("未知"),
PROGRAM("程序异常"),
DATA("数据异常");
private final String value;
@JsonValue
@Override
public String toString() {
return ordinal() + ":" + value;
}
}
package com.zzsn.event.enums;
import com.fasterxml.jackson.annotation.JsonValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 数据生命周期 数据处理状态枚举<br>
* 数据经过本阶段处理之后的状态
*
* @author 张宗涵
* @date 2024/4/28
*/
@Getter
@AllArgsConstructor
public enum EnumHandlerStatus {
UNKNOWN("未知"),
CRAWLED("已采集"),
PREPARE_HANDLED("已预处理"),
TO_BASEDATA_FAILED("入采集库失败"),
BASEDATA_INCLUDED("已入采集库"),
SAVED("已保留"),
FILTERED("已滤除"),
TO_SUBJECT_MODEL_DISCARDED("入库模型已丢弃"),
TO_SUBJECT_MQED("入库模型已发送"),
TO_SUBJECT_MODEL_FAILED("入库模型处理失败"),
TO_SUBJECT_MODELED("入库模型已处理"),
TO_SUBJECT_FAILED("入专题库失败"),
SUBJECT_INCLUDED("已入专题库"),
ADD("新增"),
DEEP_HANDLER_DISCARDED("深度处理已丢弃"),
DEEP_HANDLER_MQED("深度处理已发送"),
DEEP_HANDLER_FAILED("深度处理模型失败"),
DEEP_HANDLER_MODIFIED("深度处理已处理"),
DEEP_SUBJECT_MODIFIED("深度处理结果已入库"),
DEEP_SUBJECT_FAILED("深度处理结果入库失败"),
RETAINED("通过"),
RETAIN_CANCELED("取消通过"),
TEMPORARY("暂定"),
DELETED("删除");
private final String value;
@JsonValue
@Override
public String toString() {
return ordinal() + ":" + value;
}
}
package com.zzsn.event.enums;
import com.fasterxml.jackson.annotation.JsonValue;
import com.zzsn.event.vo.log.DataLifecycleLog;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;
/**
* 操作类型枚举
* 在数据生命周期日志{@link DataLifecycleLog}中记录
*
* @author 张宗涵
* @date 2024/4/25
*/
@AllArgsConstructor
@Getter
public enum EnumOperateType {
UNKNOWN("未知"),
DATA_CRAWLER("数据采集"),
PREPARE_HANDLER("数据预处理"),
TO_SUBJECT("入专题库"),
DEEP_HANDLER("数据深度处理"),
DATA_CHECK("数据审核");
private final String value;
@JsonValue
@Override
public String toString() {
return ordinal() + ":" + value;
}
/**
* 获取操作类型对应的操作方式
*
* @param type
* @return
*/
public static List<EnumOperateWay> getOperateWays(EnumOperateType type) {
switch (type) {
case DATA_CRAWLER:
return Arrays.stream(EnumOperateWay.values()).filter(way -> way.getParent() == EnumOperateType.DATA_CRAWLER).collect(Collectors.toList());
case PREPARE_HANDLER:
return Arrays.stream(EnumOperateWay.values()).filter(way -> way.getParent() == EnumOperateType.PREPARE_HANDLER).collect(Collectors.toList());
case TO_SUBJECT:
return Arrays.stream(EnumOperateWay.values()).filter(way -> way.getParent() == EnumOperateType.TO_SUBJECT).collect(Collectors.toList());
case DEEP_HANDLER:
return Arrays.stream(EnumOperateWay.values()).filter(way -> way.getParent() == EnumOperateType.DEEP_HANDLER).collect(Collectors.toList());
case DATA_CHECK:
return Arrays.stream(EnumOperateWay.values()).filter(way -> way.getParent() == EnumOperateType.DATA_CHECK).collect(Collectors.toList());
default:
return Collections.emptyList();
}
}
/**
* 获取操作类型
*
* @author lkg
* @date 2024/5/22
*/
public static List<EnumOperateType> getOperateTypes() {
return Arrays.stream(EnumOperateType.values()).filter(type -> !type.value.equals(EnumOperateType.UNKNOWN.value)).collect(Collectors.toList());
}
}
package com.zzsn.event.enums;
import com.zzsn.event.vo.log.DataLifecycleLog;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 操作方式枚举,每个操作类型{@link EnumOperateType}对应一组操作方式,每个操作方式属于固定的某个操作类型
* 所有的操作方式又是同级别的,在{@link DataLifecycleLog}中的operateWay字段中使用
*
* @author 张宗涵
* @date 2024/4/25
*/
@Getter
@AllArgsConstructor
public enum EnumOperateWay {
UNKNOWN("未知", null),
WORD_PRE("关键词", EnumOperateType.PREPARE_HANDLER),
LANGUAGE_PRE("语种", EnumOperateType.PREPARE_HANDLER),
SUMMARY_PRE("摘要", EnumOperateType.PREPARE_HANDLER),
SOURCE_TYPE_PRE("信息源分类", EnumOperateType.PREPARE_HANDLER),
TO_BASEDATA("入采集库", EnumOperateType.PREPARE_HANDLER),
KEYWORD("关键词过滤", EnumOperateType.TO_SUBJECT),
TO_SUBJECT_MODELED("入库模型处理", EnumOperateType.TO_SUBJECT),
TO_SUBJECT_MODIFIED("入库修改", EnumOperateType.TO_SUBJECT),
TO_SUBJECT_MANUAL_ADD("人工添加", EnumOperateType.TO_SUBJECT),
DEEP_HANDLER_MODELED("深度模型处理", EnumOperateType.DEEP_HANDLER),
DEEP_SUBJECT_MODIFIED("深度处理入库修改", EnumOperateType.DEEP_HANDLER),
MANUAL_CHECK("人工审核", EnumOperateType.DATA_CHECK),
DEFAULT_PASS("免审核", EnumOperateType.DATA_CHECK),
EDITED("编辑",null),
EDIT_LABEL("修改标签",null),
COLLECTED("收藏",null),
COLLECT_CANCELED("取消收藏",null),
TOP("置顶",null),
TOP_CANCELED("取消置顶",null)
;
private final String value;
private final EnumOperateType parent;
}
package com.zzsn.event.enums;
import cn.hutool.core.util.NumberUtil;
import com.alibaba.fastjson2.annotation.JSONCreator;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 采集器类型
*
* @author 张宗涵
* @date 2024/4/29
*/
@Getter
@AllArgsConstructor
public enum EnumSourceType {
UNKNOWN("0", "未知"),
STATIC("1", "静态爬虫"),
DYNAMIC("2", "动态爬虫"),
BAIDU_METASEARCH("3", "百度元搜索"),
GOOGLE_METASEARCH("4", "谷歌元搜索"),
SOGOU_SEARCH("5", "搜狗搜索"),
QIHOO_SEARCH("6", "360搜索"),
SOGOU_WEIXIN_SEARCH("7", "搜狗微信搜索"),
YAHOO_COLLECTION("8", "雅虎搜索采集"),
TWITTER_COLLECTION("9", "推特搜素采集"),
SINA_COLLECTION("10", "新浪接口采集"),
WEIXIN_COLLECTION("11", "微信采集"),
LATVIA_COLLECTION("12", "拉脱维亚接口采集"),
OLD_COLLECTION("13", "旧采集库"),
DIVINE("14", "神采"),
WEIBO_COLLECTION("15", "微博采集"),
CUSTOMIZED_COLLECTION("16", "定制采集"),
CREDIT_CHINA("17", "信用中国"),
GOVERNMENT_PURCHASE("18", "政府采购网"),
CHINA_JUDGMENT_DOCUMENT("19", "中国裁判文书网"),
TAX_PENALTY("20", "税务处罚网"),
TODAY_HEADLINES("21", "今日头条"),
TENCENT_NEWS("22", "腾讯新闻"),
SOHU_NEWS("23", "搜狐新闻"),
DOUYIN("24", "抖音"),
TIEBA("25", "贴吧"),
KUAISHOU("26", "快手"),
BILIBILI("31", "哔哩哔哩"),
GDELT("32", "GDELT数据采集"),
TENDER_BID("33", "招投标"),
;
private final String code;
private final String description;
// fastjson反序列化配置
// 消费日志时反序列化用code,查es时反序列化用name
@JSONCreator
public static EnumSourceType getByCode(String value) {
// 约定生产者发送日志时传code,字符串形式的数字
if (NumberUtil.isNumber(value)) {
for (EnumSourceType type : EnumSourceType.values()) {
if (type.code.equals(value)) {
return type;
}
}
// 存es时默认按照name存,所以查es时尝试使用name反序列化
} else {
for (EnumSourceType type : EnumSourceType.values()) {
if (type.name().equals(value)) {
return type;
}
}
}
return EnumSourceType.UNKNOWN;
}
}
package com.zzsn.event.enums;
public enum KeyWordsTypeEnum {
VIEWPOINT_MODEL("1","专家观点关键词模型"),
CASE_KEYWORDS_MODEL("2","政策关键词模型"),
LEADER_SPEECH_MODEL("3","案例关键词模型"),
POLICY_KEYWORDS_MODEL("4","领导讲话关键词模型"),
ENTERPRISE_DATA_KEYWORDS_MODEL("5","企业数据关键词模型"),
RESEARCH_REPORT_KEYWORDS_MODEL("6","研究报告关键词模型"),
HOWNET_PAPERS_KEYWORDS_MODEL("7","知网论文关键词模型");
private String value;
private String des;
KeyWordsTypeEnum(String value, String des) {
this.value = value;
this.des = des;
}
public String getvalue() {
return value;
}
public String getDes() {
return des;
}
}
package com.zzsn.event.enums;
public enum ModelTypeEnum {
REMOVE_MODEL("1", "去重模型"),
CHOSE_MODEL("2", "筛选模型"),
LABEL_MODEL("3", "标签模型"),
MARK_MODEL("4", "打分模型"),
CLASSIFY_MODEL("5", "分类模型"),
EXTRACT_MODEL("6", "抽取模型"),
OTHER_MODEL("31", "其他模型"),
KEYWORDS_FILTER("keywords","关键词过滤-非模型"),
UNKNOWN("999", "未知模型");
private final String value;
private final String des;
ModelTypeEnum(String value, String des) {
this.value = value;
this.des = des;
}
public static ModelTypeEnum getByValue(String value){
for (ModelTypeEnum type : ModelTypeEnum.values()) {
if (type.value.equals(value)) {
return type;
}
}
return ModelTypeEnum.UNKNOWN;
}
public String getValue() {
return value;
}
public String getDes() {
return des;
}
}
package com.zzsn.event.enums;
public enum ScoreTypeEnum {
COMMON_SCORE_MODEL("1","通用打分模型"),
VIEWPOINT_SCORE_MODEL("2","专家观点打分模型"),
CASE_SCORE_MODEL("3","案例打分模型"),
POLICY_SCORE_MODEL("4","政策打分模型"),
LEADER_SCORE_MODEL("5","领导讲话打分模型"),
ENTERPRISE_DATA_SCORE_MODEL("6","企业数据打分模型"),
RESEARCH_REPORT_SCORE_MODEL("7","研究报告打分模型"),
HOWNET_PAPERS_SCORE_MODEL("8","知网论文打分模型");
private final String value;
private final String des;
ScoreTypeEnum(String value, String des) {
this.value = value;
this.des = des;
}
public String getvalue() {
return value;
}
public String getDes() {
return des;
}
}
package com.zzsn.event.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zzsn.event.entity.AlgorithmModel;
import org.apache.ibatis.annotations.Mapper;
/**
* @Description: 算法模型表
* @Author: jeecg-boot
* @Date: 2023-02-14
* @Version: V1.0
*/
@Mapper
public interface AlgorithmModelMapper extends BaseMapper<AlgorithmModel> {
}
package com.zzsn.event.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zzsn.event.entity.ClbFileOperationLogDetails;
import org.apache.ibatis.annotations.Mapper;
/**
* @Description: 文章收藏映射表
* @Author: jeecg-boot
* @Date: 2022-05-17
* @Version: V1.0
*/
@Mapper
public interface ClbFileOperationLogDetailsMapper extends BaseMapper<ClbFileOperationLogDetails> {
}
package com.zzsn.event.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zzsn.event.entity.ClbFileOperationLog;
import org.apache.ibatis.annotations.Mapper;
/**
* @Description: 文章收藏映射表
* @Author: jeecg-boot
* @Date: 2022-05-17
* @Version: V1.0
*/
@Mapper
public interface ClbFileOperationLogMapper extends BaseMapper<ClbFileOperationLog> {
}
package com.zzsn.event.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zzsn.event.entity.ClbSubjectModelDetailTask;
import org.apache.ibatis.annotations.Mapper;
/**
* <p>
* Mapper 接口
* </p>
*
* @author obcy
* @since 2024-04-25
*/
@Mapper
public interface ClbSubjectModelDetailTaskMapper extends BaseMapper<ClbSubjectModelDetailTask> {
}
package com.zzsn.event.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zzsn.event.entity.ClbSysAttachment;
import org.apache.ibatis.annotations.Mapper;
/**
* @Description: 附件表
* @Author: jeecg-boot
* @Date: 2022-11-22
* @Version: V1.0
*/
@Mapper
public interface ClbSysAttachmentMapper extends BaseMapper<ClbSysAttachment> {
}
package com.zzsn.event.mapper;
import com.zzsn.event.util.tree.Node;
import com.zzsn.event.vo.*;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 公用mapper
*
* @author lkg
* @date 2024/12/17
*/
@Mapper
public interface CommonMapper {
/**
* 栏目集合
*
* @param columnIds 栏目id集合
* @author lkg
* @date 2024/9/13
*/
List<Node> columnList(@Param("columnIds") List<String> columnIds);
/**
* 项目集合
*
* @author lkg
* @date 2024/9/13
*/
List<Node> projectList();
/**
* 企业标签下的企业信用代码集合
*
* @param labelIds 企业标签id集合
* @author lkg
* @date 2024/5/6
*/
List<String> codesByLabels(@Param("labelIds") List<String> labelIds);
List<KeyWordsPage> selectKeyWordsListById(@Param("subjectId") String subjectId);
List<InfoSourceGroupPage> selectInfoSourceListById(@Param("subjectId") String subjectId);
/**
* 专题/事件绑定 关键词组数量
*
* @param idList 专题/事件id集合
* @author lkg
* @date 2024/12/18
*/
List<SubjectPage> bindKeyWordsCountList(@Param("idList") List<String> idList);
/**
* 专题/事件绑定的信息源集合
*
* @param subjectId 专题id
* @author lkg
* @date 2024/4/24
*/
List<SubjectInfoSourceLabelTypeVo> bindSourceList(@Param("subjectIds") List<String> subjectId);
/**
* 专题/事件绑定的信息源集合
*
* @param subjectId 专题id
* @author lkg
* @date 2024/4/24
*/
List<SubjectInfoSourceLabelTypeVo> excludeSourceList(@Param("subjectIds") List<String> subjectId);
/**
* 模型列表
*
* @author lkg
* @date 2024/12/18
*/
List<ModelVO> modelList();
/**
* 专题下模型绑定的标签信息
*
* @param subjectIds 专题id集合
* @author lkg
* @date 2024/12/20
*/
List<LabelModelVo> subjectModelBindLabels(@Param("subjectIds") List<String> subjectIds);
}
package com.zzsn.event.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zzsn.event.entity.CustomerDataPermissionMap;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface CustomerDataPermissionMapMapper extends BaseMapper<CustomerDataPermissionMap> {
}
package com.zzsn.event.mapper;
import com.zzsn.event.entity.EventExtract;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zzsn.event.vo.EventExtractVO;
import com.zzsn.event.vo.EventFrontVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @author lenovo
* @description 针对表【event_extract(事件)】的数据库操作Mapper
* @createDate 2024-09-07 18:00:28
* @Entity com.zzsn.event.entity.EventExtract
*/
@Mapper
public interface EventExtractMapper extends BaseMapper<EventExtract> {
/**
* 伪事件信息列表
*
* @param searchWord 搜索词
* @param eventName 事件名称
* @param eventType 时间分类
* @param startTime 开始时间
* @param endTime 结束时间
* @param checkStatus 审核状态(2-不通过;1-通过;0-待审核)
* @param offset 偏移量
* @param pageSize 返回条数
* @author lkg
* @date 2024/9/9
*/
List<EventExtractVO> pageList(@Param("taskId") String taskId, @Param("searchWord") String searchWord,
@Param("eventName") String eventName,
@Param("startTime") String startTime, @Param("endTime") String endTime,
@Param("eventType") String eventType, @Param("checkStatus") Integer checkStatus,
@Param("column") String column, @Param("sortType") String sortType,
@Param("offset") Integer offset, @Param("pageSize") Integer pageSize);
/**
* 伪事件信息总数量
*
* @param searchWord 搜索词
* @param eventName 事件名称
* @param eventType 时间分类
* @param startTime 开始时间
* @param endTime 结束时间
* @param checkStatus 审核状态(2-不通过;1-通过;0-待审核)
* @author lkg
* @date 2024/9/9
*/
Long totalCount(@Param("taskId") String taskId, @Param("searchWord") String searchWord,
@Param("eventName") String eventName,
@Param("startTime") String startTime, @Param("endTime") String endTime,
@Param("eventType") String eventType, @Param("checkStatus") Integer checkStatus);
/**
* 自动追踪事件列表-门户
*
* @param projectId 项目id
* @param eventName 事件名称
* @param eventTypes 事件分类id集合
* @param offset 偏移量
* @param pageSize 返回条数
* @author lkg
* @date 2024/9/9
*/
List<EventFrontVO> frontDigPageList(@Param("projectId") String projectId, @Param("eventName") String eventName,
@Param("eventTypes") List<String> eventTypes,
@Param("offset") Integer offset, @Param("pageSize") Integer pageSize);
/**
* 自动追踪事件总数量-门户
*
* @param projectId 项目id
* @param eventName 事件名称
* @param eventTypes 事件分类id集合
* @author lkg
* @date 2024/9/9
*/
Long frontDigTotalCount(@Param("projectId") String projectId, @Param("eventName") String eventName,
@Param("eventTypes") List<String> eventTypes);
}
package com.zzsn.event.mapper;
import com.zzsn.event.entity.EventExtractTask;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zzsn.event.vo.EventExtractTaskVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @author lenovo
* @description 针对表【event_extract_task(事件抽取任务表)】的数据库操作Mapper
* @createDate 2024-09-13 11:31:47
* @Entity com.zzsn.event.entity.EventExtractTask
*/
@Mapper
public interface EventExtractTaskMapper extends BaseMapper<EventExtractTask> {
/**
* 事件抽取任务信息列表
*
* @param projectId 项目id
* @param searchWord 搜索词
* @param taskName 任务名称
* @param startTime 开始时间
* @param endTime 结束时间
* @param offset 偏移量
* @param pageSize 返回条数
* @author lkg
* @date 2024/9/13
*/
List<EventExtractTaskVO> pageList(@Param("projectId") String projectId, @Param("searchWord") String searchWord,
@Param("taskName") String taskName, @Param("startTime") String startTime, @Param("endTime") String endTime,
@Param("offset") Integer offset, @Param("pageSize") Integer pageSize);
/**
* 事件抽取任务信息总数量
*
* @param projectId 项目id
* @param searchWord 搜索词
* @param taskName 任务名称
* @param startTime 开始时间
* @param endTime 结束时间
* @author lkg
* @date 2024/9/13
*/
Long totalCount(@Param("projectId") String projectId, @Param("searchWord") String searchWord,
@Param("taskName") String taskName, @Param("startTime") String startTime, @Param("endTime") String endTime);
}
......@@ -2,7 +2,6 @@ package com.zzsn.event.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zzsn.event.entity.Event;
import com.zzsn.event.util.tree.Node;
import com.zzsn.event.vo.*;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
......@@ -170,25 +169,6 @@ public interface EventMapper extends BaseMapper<Event> {
*/
Integer newPlatCount(@Param("subjectCondition") SubjectCondition subjectCondition);
/**
* 分页列表(客户)-新平台管理
*
* @param subjectCondition 筛选条件
* @param offset 偏移量
* @param pageSize 返回条数
* @author lkg
* @date 2024/4/30
*/
List<EventNewPlatVO> newPlatCustomerPageList(@Param("subjectCondition") SubjectCondition subjectCondition, @Param("offset") Integer offset, @Param("pageSize") Integer pageSize);
/**
* 总数量(客户)-新平台管理
*
* @param subjectCondition 筛选条件
* @author lkg
* @date 2024/4/28
*/
Integer newPlatCustomerCount(@Param("subjectCondition") SubjectCondition subjectCondition);
/**
* 热点事件列表-前10
......@@ -291,35 +271,6 @@ public interface EventMapper extends BaseMapper<Event> {
*/
List<SubjectSourceVO> excludeSourceList(@Param("subjectIds") List<String> subjectIds);
/**
* 项目列表
*
* @param userId 用户id
* @param customerId 客户id
* @author lkg
* @date 2024/4/29
*/
List<Node> projectList(@Param("userId") String userId, @Param("customerId") String customerId);
/**
* 分类下的事件id集合
*
* @param userId 用户id
* @param typeIds 分类id集合
* @author lkg
* @date 2024/5/6
*/
List<String> selectSubjectByTypeIds(@Param("userId") String userId, @Param("typeIds") List<String> typeIds);
/**
* 用户下的事件id集合
*
* @param userId 用户id
* @param customerId 客户id
* @author lkg
* @date 2024/5/6
*/
List<String> selectSubjectWithCustomer(@Param("userId") String userId, @Param("customerId") String customerId);
/**
* 专题绑定关键词的id集合
......@@ -329,69 +280,4 @@ public interface EventMapper extends BaseMapper<Event> {
* @date 2024/5/6
*/
List<String> bindKeyWordsIdList(@Param("subjectIds") List<String> subjectIds);
/**
* 专题绑定模型信息列表
*
* @param subjectIds 专题id集合
* @author lkg
* @date 2024/5/6
*/
List<LabelModelVo> selectLabelModelBySubjectId(@Param("subjectIds") List<String> subjectIds);
/**
* 企业标签下的企业信用代码集合
*
* @param labelIds 企业标签id集合
* @author lkg
* @date 2024/5/6
*/
List<String> codesByLabels(@Param("labelIds") List<String> labelIds);
/**
* 判断信息源是否在专题绑定的信息源组下
*
* @param subjectId 专题id
* @param sourceId 信息源id
* @author lkg
* @date 2024/4/24
*/
int ynBelowBindGroup(@Param("subjectId") String subjectId, @Param("sourceId") String sourceId);
/**
* 判断信息源是否在专题排除的信息源组下
*
* @param subjectId 专题id
* @param sourceId 信息源id
* @author lkg
* @date 2024/4/24
*/
int ynBelowExcludeGroup(@Param("subjectId") String subjectId, @Param("sourceId") String sourceId);
/**
* 专题绑定关键词信息-分页列表
*
* @param subjectIds 专题id集合
* @param groupName 词组名称
* @param wordName 关键词名称
* @param offset 偏移量
* @param pageSize 返回条数
* @author lkg
* @date 2024/5/7
*/
List<KeyWordsPage> bindKeyWordsList(@Param("subjectIds") List<String> subjectIds,
@Param("groupName") String groupName, @Param("wordName") String wordName,
@Param("offset") Integer offset, @Param("pageSize") Integer pageSize);
/**
* 专题绑定关键词信息-总数量
*
* @param subjectIds 专题id集合
* @param groupName 词组名称
* @param wordName 关键词名称
* @author lkg
* @date 2024/5/7
*/
Long bindKeyWordsCount(@Param("subjectIds") List<String> subjectIds, @Param("groupName") String groupName, @Param("wordName") String wordName);
}
package com.zzsn.event.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zzsn.event.entity.FileDownloadCenter;
import org.apache.ibatis.annotations.Mapper;
/**
* @Description: 专题类别
* @Author: jeecg-boot
* @Date: 2021-12-01
* @Version: V1.0
*/
@Mapper
public interface FileDownloadCenterMapper extends BaseMapper<FileDownloadCenter> {
}
package com.zzsn.event.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zzsn.event.entity.InfoSourceGroup;
import com.zzsn.event.vo.GroupTreeVO;
import com.zzsn.event.vo.InfoSourceGroupPage;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @Description: 信息源组表
* @Author: jeecg-boot
* @Date: 2021-11-25
* @Version: V1.0
*/
@Mapper
public interface InfoSourceGroupMapper extends BaseMapper<InfoSourceGroup> {
InfoSourceGroup selectGroupById(@Param("groupId") String groupId);
/**
* 获取信息源组下绑定的信息源id集合
*
* @param groupIds 信息源组id集合
* @author lkg
* @date 2024/12/18
*/
List<String> selectInfoSourceByGroupIds(@Param("groupIds") List<String> groupIds);
/**
* 获取专题/事件下绑定的信息源组列表
*
* @param subjectId 专题/事件id
* @param type 绑定类型
* @author lkg
* @date 2024/12/18
*/
List<InfoSourceGroupPage> selectInfoSourceListById(@Param("subjectId") String subjectId, @Param("type") Integer type);
/**
* 信息源组和分类组成的树型结构
*
* @author lkg
* @date 2024/12/23
*/
List<GroupTreeVO> groupAndTypeTree();
}
......@@ -72,4 +72,12 @@ public interface InfoSourceMapper extends BaseMapper<InfoSource> {
*/
Long unBindSourceCount(@Param("infoSourceVo") InfoSourceCondition infoSourceCondition, @Param("subjectId") String subjectId);
/**
* 专题绑定的信息源总数量
*
* @param subjectIds 专题id
* @author lkg
* @date 2024/4/24
*/
Integer bindSourceCount(@Param("subjectIds") List<String> subjectIds);
}
......@@ -18,6 +18,13 @@ import java.util.List;
@Mapper
public interface KeyWordsMapper extends BaseMapper<KeyWords> {
List<KeyWordsPage> pageList(@Param("keyWords") KeyWords keyWords, @Param("typeIds") List<String> typeIds, @Param("offset") Integer offset,
@Param("pageSize") Integer pageSize, @Param("subjectId") String subjectId, @Param("search") int search, @Param("bindingType") String bindingType);
Integer totalCount(@Param("keyWords") KeyWords keyWords, @Param("typeIds") List<String> typeIds, @Param("subjectId") String subjectId, @Param("search") int search, @Param("bindingType") String bindingType);
KeyWordsPage selectKeyWordsById(@Param("keyWordsId") String keyWordsId);
List<KeyWordsPage> selectKeyWordsListById(@Param("subjectId") String subjectId);
/**
......@@ -28,4 +35,45 @@ public interface KeyWordsMapper extends BaseMapper<KeyWords> {
* @date 2024/9/12
*/
KeywordsVO keywordInfoByEventId(@Param("eventId") String eventId);
/**
* 专题绑定关键词信息-分页列表
*
* @param subjectIds 专题id集合
* @param groupName 词组名称
* @param wordName 关键词名称
* @param offset 偏移量
* @param pageSize 返回条数
* @author lkg
* @date 2024/5/7
*/
List<KeyWordsPage> bindKeyWordsList(@Param("subjectIds") List<String> subjectIds,
@Param("groupName") String groupName, @Param("wordName") String wordName,
@Param("offset") Integer offset, @Param("pageSize") Integer pageSize);
/**
* 专题绑定关键词信息-总数量
*
* @param subjectIds 专题id集合
* @param groupName 词组名称
* @param wordName 关键词名称
* @author lkg
* @date 2024/5/7
*/
Long bindKeyWordsCount(@Param("subjectIds") List<String> subjectIds, @Param("groupName") String groupName, @Param("wordName") String wordName);
/**
* 专题/事件绑定关键词组的数量
*
* @param subjectId 专题/事件id
* @author lkg
* @date 2024/12/19
*/
Integer bindCount(@Param("subjectId") String subjectId);
List<KeyWordsPage> pageListByTypeIdList(@Param("ids") List<String> ids, @Param("subjectId") String subjectId, @Param("status") int status, @Param("bindingType") String bindingType);
Integer countByTypeAndIdList(@Param("finalIdList") List<String> finalIdList, @Param("subjectId") String subjectId);
}
package com.zzsn.event.mapper;
import com.zzsn.event.util.tree.Node;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zzsn.event.entity.KeywordsType;
import com.zzsn.event.vo.KeywordsTypeVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 其他数据
*
* @author lkg
* @date 2024/9/13
* @Description: 关键词类别
* @Author: jeecg-boot
* @Date: 2021-12-01
* @Version: V1.0
*/
@Mapper
public interface OtherDataMapper {
public interface KeywordsTypeMapper extends BaseMapper<KeywordsType> {
/**
* 栏目集合
* 编辑节点状态
*
* @param columnIds 栏目id集合
* @author lkg
* @date 2024/9/13
* @param id
* @param status
*/
List<Node> columnList(@Param("columnIds") List<String> columnIds);
void updateTreeNodeStatus(@Param("id") String id, @Param("status") String status);
/**
* 项目集合
* 获取关键词类别列表
*
* @author lkg
* @date 2024/9/13
*/
List<Node> projectList();
List<KeywordsTypeVo> listAll();
}
......@@ -30,12 +30,13 @@ public interface LabelEntityMapper extends BaseMapper<LabelEntity> {
List<LabelEntity> listByType(@Param("labelTypeId") String labelTypeId);
/**
* 国地域信息列表
* 国地域信息列表
*
* @param level 级别
* @author lkg
* @date 2024/4/9
* @date 2024/12/23
*/
List<Node> regionInList();
List<Node> regionInList(@Param("level") Integer level);
/**
* 国际地域信息列表
*
......
package com.zzsn.event.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zzsn.event.entity.ScoreModel;
import com.zzsn.event.vo.ScoreModelVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @Description: 打分模型
* @Author: jeecg-boot
* @Date: 2021-12-17
* @Version: V1.0
*/
@Mapper
public interface ScoreModelMapper extends BaseMapper<ScoreModel> {
List<ScoreModelVo> selectByInfo(@Param("subjectId") String subjectId, @Param("type") String type);
}
......@@ -12,23 +12,15 @@ import java.util.List;
/**
* @Description: 专题与信息源关联表
* @Author: jeecg-boot
* @Date: 2021-12-09
* @Date: 2021-12-09
* @Version: V1.0
*/
@Mapper
public interface SubjectInfoSourceMapMapper extends BaseMapper<SubjectInfoSourceMap> {
void deleteBySubjectId (@Param("subjectId") String subjectId);
void deleteBySubjectId(@Param("subjectId") String subjectId);
void deleteBySubjectIds (@Param("subjectIds") List<String> subjectIds);
void deleteInfoSourceIds(@Param("subjectId") String subjectId, @Param("infoSourceIds") List<String> infoSourceIds, @Param("type")Integer type);
List<String> selectInfoSourceBySubject(@Param("subjectIds") List<String> subjectIds, @Param("type")Integer type);
List<String> selectInfoSourceBySubjectAndTypes(@Param("subjectIds") List<String> subjectIds, @Param("types") List<Integer> types);
void deleteInfoSourceMapByInfoSourceIds(@Param("infoSourceIds") List<String> infoSourceIds);
void deleteBySubjectIds(@Param("subjectIds") List<String> subjectIds);
void infoSourceWeight(String subjectId, String infoSourceGroupId, String weight);
......@@ -53,4 +45,15 @@ public interface SubjectInfoSourceMapMapper extends BaseMapper<SubjectInfoSource
*/
List<SubjectStatisticsVo> subjectRealBindInfoSources(@Param("subjectIds") List<String> subjectIds);
/**
* 删除专题/事件和特定信息源的绑定关系
*
* @param subjectId 专题/事件id
* @param infoSourceIds 信息源id
* @param type 绑定类型
* @author lkg
* @date 2024/12/18
*/
void deleteInfoSourceIds(@Param("subjectId") String subjectId, @Param("infoSourceIds") List<String> infoSourceIds, @Param("type") Integer type);
}
package com.zzsn.event.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zzsn.event.entity.SubjectKeywordsGroupRelation;
import org.apache.ibatis.annotations.Mapper;
/**
* @Description: 数据库关键词过滤配置
* @Author: jeecg-boot
* @Date: 2023-08-12
* @Version: V1.0
*/
@Mapper
public interface SubjectKeywordsGroupRelationMapper extends BaseMapper<SubjectKeywordsGroupRelation> {
}
......@@ -2,10 +2,13 @@ package com.zzsn.event.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zzsn.clb.common.model.task.dto.titr.KeyWordsDTO;
import com.zzsn.event.vo.KeyWordsPage;
import com.zzsn.event.vo.SubjectKeywordsMap;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @Description: 专题关键词关联表
* @Author: jeecg-boot
......@@ -22,4 +25,7 @@ public interface SubjectKeywordsMapMapper extends BaseMapper<SubjectKeywordsMap>
KeyWordsDTO selectMaxByKeyWordsId(@Param("keyWordsId") String keyWordsId);
void deleteBySubjectId (@Param("subjectId") String subjectId);
List<KeyWordsPage> bindKeyWordsList(@Param("subjectId") String subjectId);
}
package com.zzsn.event.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zzsn.event.entity.SubjectKeywords;
import org.apache.ibatis.annotations.Mapper;
/**
* @Description: 专题关键词模型设置
* @Author: jeecg-boot
* @Date: 2021-12-17
* @Version: V1.0
*/
@Mapper
public interface SubjectKeywordsMapper extends BaseMapper<SubjectKeywords> {
}
package com.zzsn.event.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zzsn.event.entity.Subject;
import com.zzsn.event.vo.SubjectCondition;
import com.zzsn.event.vo.SubjectPage;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @Description: 专题表
* @Author: jeecg-boot
* @Date: 2021-12-01
* @Version: V1.0
*/
@Mapper
public interface SubjectMapper extends BaseMapper<Subject> {
/**
* 专题分页列表
*
* @param subjectCondition 查询条件
* @param offset 偏移量
* @param pageSize 返回条数
* @author lkg
* @date 2024/12/18
*/
List<SubjectPage> pageList(@Param("subjectCondition") SubjectCondition subjectCondition, @Param("offset") Integer offset, @Param("pageSize") Integer pageSize);
/**
* 专题详情
*
* @param subjectId 专题id
* @author lkg
* @date 2024/12/18
*/
SubjectPage selectSubjectById(@Param("subjectId") String subjectId);
/**
* 判断信息源是否在专题绑定的信息源组下
*
* @param subjectId 专题id
* @param sourceId 信息源id
* @author lkg
* @date 2024/4/24
*/
int ynBelowBindGroup(@Param("subjectId") String subjectId, @Param("sourceId") String sourceId);
/**
* 判断信息源是否在专题排除的信息源组下
*
* @param subjectId 专题id
* @param sourceId 信息源id
* @author lkg
* @date 2024/4/24
*/
int ynBelowExcludeGroup(@Param("subjectId") String subjectId, @Param("sourceId") String sourceId);
}
......@@ -2,14 +2,30 @@ package com.zzsn.event.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zzsn.event.entity.SubjectModelMap;
import com.zzsn.event.vo.PythonModelVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @Description: 专题与模型关联表
* @Author: jeecg-boot
* @Date: 2021-12-16
* @Date: 2021-12-16
* @Version: V1.0
*/
@Mapper
public interface SubjectModelMapMapper extends BaseMapper<SubjectModelMap> {
List<SubjectModelMap> selectModelBySubjectId(@Param("subjectId") String subjectId);
/**
* 专题绑定的模型信息列表
*
* @param subjectId 专题id
* @param type 模型分类
* @author lkg
* @date 2024/12/23
*/
List<PythonModelVo> bindModelByType(@Param("subjectId") String subjectId, @Param("type") String type);
}
......@@ -2,7 +2,11 @@ package com.zzsn.event.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zzsn.event.entity.SubjectSearchEnginesMap;
import com.zzsn.event.vo.SearchEnginesVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @Description: 专题与搜索引擎关联表
......@@ -12,4 +16,15 @@ import org.apache.ibatis.annotations.Mapper;
*/
@Mapper
public interface SubjectSearchEnginesMapMapper extends BaseMapper<SubjectSearchEnginesMap> {
/**
* 专题/事件绑定搜索引擎码集合
*
* @param subjectId 专题/事件id
* @author lkg
* @date 2024/12/18
*/
List<String> querySearchList(@Param("subjectId") String subjectId);
List<SearchEnginesVo> bindSearchEngineList(@Param("searchEnginesVo") SearchEnginesVo searchEnginesVo);
}
......@@ -5,6 +5,8 @@ import com.zzsn.event.entity.SubjectTypeMap;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @Description: 专题与类别关联表
* @Author: jeecg-boot
......@@ -15,4 +17,22 @@ import org.apache.ibatis.annotations.Param;
public interface SubjectTypeMapMapper extends BaseMapper<SubjectTypeMap> {
void deleteBySubjectId (@Param("subjectId") String subjectId);
/**
* 分类下的专题id集合
*
* @param typeIds 分类id集合
* @author lkg
* @date 2024/5/6
*/
List<String> selectSubjectByTypeIds(@Param("typeIds") List<String> typeIds);
/**
* 分类下的事件id集合
*
* @param typeIds 分类id集合
* @author lkg
* @date 2024/5/6
*/
List<String> selectEventByTypeIds(@Param("typeIds") List<String> typeIds);
}
......@@ -3,6 +3,7 @@ package com.zzsn.event.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zzsn.event.entity.SubjectType;
import com.zzsn.event.util.tree.Node;
import com.zzsn.event.vo.SubjectPage;
import com.zzsn.event.vo.SubjectTreeVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
......@@ -21,49 +22,70 @@ public interface SubjectTypeMapper extends BaseMapper<SubjectType> {
/**
* 可用的专题分类列表
*
* @param userId 用户id
* @param customerId 客户id
* @param category 类别(1-专题;2-事件)
* @author lkg
* @date 2024/4/29
*/
List<Node> enableList(@Param("userId") String userId, @Param("customerId") String customerId);
List<Node> enableList(@Param("category") Integer category);
/**
* 可用的专题和专题分类列表
* 更新分类是否有子节点状态
*
* @param userId 用户id
* @param customerId 客户id
* @param id 分类id
* @param hasChild 是否有子节点
* @author lkg
* @date 2024/4/29
*/
List<SubjectTreeVO> subjectAndTypeTree(@Param("userId") String userId, @Param("customerId") String customerId);
void updateTreeNodeStatus(@Param("id") String id, @Param("hasChild") String hasChild);
/**
* 可用的专题和客户列表
* 可用的事件和分类列表
*
* @param userId 用户id
* @param customerId 客户id
* @author lkg
* @date 2024/4/30
* @date 2024/4/29
*/
List<SubjectTreeVO> subjectAndCustomerTree(@Param("userId") String userId, @Param("customerId") String customerId);
List<SubjectTreeVO> subjectAndTypeTree();
/**
* 可用的事件和分类列表
*
* @author lkg
* @date 2024/4/29
*/
List<SubjectTreeVO> eventAndTypeTree();
/**
* 可用客户信息列表
* 获取分类下的专题列表
*
* @param customerId 客户id
* @param subjectTypeId 专题/事件分类id
* @author lkg
* @date 2024/4/30
* @date 2024/12/20
*/
List<SubjectTreeVO> enableCustomerList(@Param("customerId") String customerId);
List<SubjectPage> subjectListByType(@Param("subjectTypeId") String subjectTypeId);
/**
* 更新分类是否有子节点状态
* 获取分类下的事件数量
*
* @param id 分类id
* @param hasChild 是否有子节点
* @param typeIds
* @author lkg
* @date 2024/4/29
* @date 2024/12/20
*/
void updateTreeNodeStatus(@Param("id") String id, @Param("hasChild") String hasChild);
Integer typeBindSubjectCount(@Param("typeIds") List<String> typeIds);
/**
* 获取分类下的专题列表
*
* @param subjectTypeId 专题/事件分类id
* @author lkg
* @date 2024/12/20
*/
List<SubjectPage> eventListByType(@Param("subjectTypeId") String subjectTypeId);
/**
* 获取分类下的事件数量
*
* @param typeIds
* @author lkg
* @date 2024/12/20
*/
Integer typeBindEventCount(@Param("typeIds") List<String> typeIds);
}
package com.zzsn.event.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zzsn.event.entity.SysUserDataPermission;
import com.zzsn.event.entity.SubjectUserCondition;
import org.apache.ibatis.annotations.Mapper;
/**
*
*
* @author lkg
* @description:
* @date 2022/6/20 14:10
* @date 2024/2/28
*/
@Mapper
public interface SysUserDataPermissionMapper extends BaseMapper<SysUserDataPermission> {
public interface SubjectUserConditionMapper extends BaseMapper<SubjectUserCondition> {
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.zzsn.event.mapper.CommonMapper">
<select id="columnList" resultType="com.zzsn.event.util.tree.Node">
select id,channel_name as name from sys_base_channel where id not in(0,1)
<if test="columnIds != null and columnIds.size() > 0">
and id in
<foreach collection="columnIds" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
order by create_time
</select>
<select id="codesByLabels" resultType="String">
select e.social_credit_code from sys_base_enterprise e
inner join sys_base_label_type_map m on e.social_credit_code = m.relation_id
where 1=1
<if test="labelIds!=null and labelIds.size()>0">
and m.label_id in
<foreach collection="labelIds" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
group by e.social_credit_code
</select>
<select id="selectKeyWordsListById" resultType="com.zzsn.event.vo.KeyWordsPage">
SELECT b.*, d.type_name as keyWordTypeNames, a.type as type, a.id as subjectKeyWordId
FROM subject_keywords_map a
INNER JOIN key_words b ON a.keywords_id = b.id
LEFT JOIN keywords_type_map c ON b.id = c.keywords_id
LEFT JOIN keywords_type d ON d.id = c.type_id
where a.subject_id = #{subjectId}
</select>
<select id="selectInfoSourceListById" resultType="com.zzsn.event.vo.InfoSourceGroupPage">
SELECT b.*,
a.type as sourceType,
d.type_name as groupTypeNames,
a.weight as weight,
a.id as subjectInfoSourceId,
a.is_exempt_keyword,
a.is_free_check
FROM subject_info_source_map a
LEFT JOIN info_source_group b on a.source_id = b.id
LEFT JOIN group_type_map c on b.id = c.group_id
LEFT JOIN group_type d on d.id = c.type_id
where a.subject_id = #{subjectId}
and type = 2
</select>
<select id="bindKeyWordsCountList" resultType="com.zzsn.event.vo.SubjectPage">
select subject_id id , count(1) keyWordsNum from subject_keywords_map where subject_id in
<foreach collection="idList" index="index" item="id" open="(" separator="," close=")">
#{id}
</foreach>
group By subject_id
</select>
<select id="bindSourceList" resultType="com.zzsn.event.vo.SubjectInfoSourceLabelTypeVo">
select distinct x.source_id,x.subject_id from (
select m.source_id,n.subject_id from subject_info_source_map n
inner join info_source_group_map m on n.source_id = m.group_id
where n.type in(2,5)
<if test="subjectIds != null and subjectIds.size() > 0">
and n.subject_id in
<foreach collection="subjectIds" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
union
select sm.source_id,sm.subject_id from subject_info_source_map sm where type = 1
<if test="subjectIds != null and subjectIds.size() > 0">
and sm.subject_id in
<foreach collection="subjectIds" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
) x
</select>
<select id="excludeSourceList" resultType="com.zzsn.event.vo.SubjectInfoSourceLabelTypeVo">
select distinct x.source_id,x.subject_id from (
select m.source_id,n.subject_id from subject_info_source_map n
inner join info_source_group_map m on n.source_id = m.group_id
where n.type = 4
<if test="subjectIds != null and subjectIds.size() > 0">
and n.subject_id in
<foreach collection="subjectIds" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
union
select sm.source_id,sm.subject_id from subject_info_source_map sm where type = 3
<if test="subjectIds != null and subjectIds.size() > 0">
and sm.subject_id in
<foreach collection="subjectIds" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
) x
</select>
<select id="modelList" resultType="com.zzsn.event.vo.ModelVO">
select *
from model
</select>
<select id="subjectModelBindLabels" resultType="com.zzsn.event.vo.LabelModelVo">
SELECT distinct a.subject_id,b.id as modelId,b.service_name as modelServiceName,b.label_id as
labelId,c.label_mark,c.label_name,c.label_type
FROM subject_model_map a
inner JOIN clb_algorithm_model b ON a.model_id = b.id and a.sign = 1
LEFT JOIN sys_base_label_type c on c.id = b.label_id
WHERE b.service_name is not null and a.type = 3
<if test="subjectIds != null and subjectIds.size() > 0">
and a.subject_id in
<foreach collection="subjectIds" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
ORDER BY lb.order_no ASC
</select>
<select id="projectList" resultType="com.zzsn.event.util.tree.Node">
select s.id, s.project_name as name
from project s
where s.is_delete = 0
and s.status = 1
</select>
</mapper>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.zzsn.event.mapper.EventExtractMapper">
<resultMap id="BaseResultMap" type="com.zzsn.event.entity.EventExtract">
<id property="id" column="id" jdbcType="VARCHAR"/>
<result property="eventName" column="event_name" jdbcType="VARCHAR"/>
<result property="eventType" column="event_type" jdbcType="INTEGER"/>
<result property="startTime" column="start_time" jdbcType="TIMESTAMP"/>
<result property="endTime" column="end_time" jdbcType="TIMESTAMP"/>
<result property="eventLabel" column="event_label" jdbcType="VARCHAR"/>
<result property="eventDescribe" column="event_describe" jdbcType="VARCHAR"/>
<result property="createBy" column="create_by" jdbcType="VARCHAR"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
</resultMap>
<select id="pageList" resultType="com.zzsn.event.vo.EventExtractVO">
select t2.type_name,t1.id,t1.event_name,t1.event_type,t1.event_label,t1.extract_time,t1.check_status,t1.related_id
from event_extract t1
inner join event_category t2 on t1.event_type =t2.id
where t1.task_id = #{taskId} and t1.delete_status = 0
<if test="eventName!=null and eventName != ''">
and t1.event_name like CONCAT('%',#{eventName},'%')
</if>
<if test="eventType!=null and eventType != ''">
and t1.event_type = #{eventType}
</if>
<if test="startTime!=null and startTime != ''">
and t1.extract_time >= #{startTime}
</if>
<if test="endTime!=null and endTime != ''">
and t1.extract_time <![CDATA[ <= ]]> #{endTime}
</if>
<if test="searchWord != null and searchWord != ''">
and CONCAT_WS(',',t1.event_name,t1.event_label,t2.type_name) like concat('%',concat(#{searchWord},'%'))
</if>
<if test="checkStatus != null">
and t1.check_status = #{checkStatus}
</if>
<choose>
<when test="column != null and column != ''">
order by ${column}
<if test="sortType != null and sortType != ''">
${sortType}
</if>
</when>
<otherwise>
order by t1.extract_time desc
</otherwise>
</choose>
limit #{offset}, #{pageSize}
</select>
<select id="totalCount" resultType="Long">
select count(1) from event_extract t1
inner join event_category t2 on t1.event_type =t2.id
where t1.task_id = #{taskId} and t1.delete_status = 0
<if test="eventName!=null and eventName != ''">
and t1.event_name like CONCAT('%',#{eventName},'%')
</if>
<if test="eventType!=null and eventType != ''">
and t1.event_type = #{eventType}
</if>
<if test="startTime!=null and startTime != ''">
and t1.extract_time >= #{startTime}
</if>
<if test="endTime!=null and endTime != ''">
and t1.extract_time <![CDATA[ <= ]]> #{endTime}
</if>
<if test="searchWord != null and searchWord != ''">
and CONCAT_WS(',',t1.event_name,t1.event_label,t2.type_name) like concat('%',concat(#{searchWord},'%'))
</if>
<if test="checkStatus != null">
and t1.check_status = #{checkStatus}
</if>
</select>
<select id="frontDigPageList" resultType="com.zzsn.event.vo.EventFrontVO">
select t2.type_name,t1.id,t1.event_name,t1.extract_time as publishDate
from event_extract t1
inner join event_category t2 on t1.event_type =t2.id
where t1.check_status = 1 and t1.delete_status = 0
<if test="projectId!=null and projectId != ''">
and t1.project_id = #{projectId}
</if>
<if test="eventName!=null and eventName != ''">
and t1.event_name like CONCAT('%',#{eventName},'%')
</if>
<if test="eventTypes != null and eventTypes.size() > 0">
and t1.event_type in
<foreach collection="eventTypes" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
order by t1.extract_time desc
limit #{offset}, #{pageSize}
</select>
<select id="frontDigTotalCount" resultType="Long">
select count(1) from event_extract t1
where t1.check_status = 1 and t1.delete_status = 0
<if test="projectId!=null and projectId != ''">
and t1.project_id = #{projectId}
</if>
<if test="eventName!=null and eventName != ''">
and t1.event_name like CONCAT('%',#{eventName},'%')
</if>
<if test="eventTypes != null and eventTypes.size() > 0">
and t1.event_type in
<foreach collection="eventTypes" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
</select>
</mapper>
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论