提交 a4016ea5 作者: 925993793@qq.com

研究中心补充接口以及对接bug处理;平台接口逻辑调整

上级 56d167d5
......@@ -142,7 +142,7 @@ public class SubjectManageController {
* @return
*/
@GetMapping(value = "/listByTypeId")
public Result<?> queryPageListByTypeId(SubjectCondition subjectCondition,
public Result<?> pageList(SubjectCondition subjectCondition,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) {
IPage<SubjectPage> pageList = subjectService.pageList(subjectCondition, pageNo, pageSize);
......@@ -251,7 +251,7 @@ public class SubjectManageController {
Subject subject = subjectService.saveMain(subjectPage);
//插入xxlJob
xxlJobInfoService.subjectInsert(subject);
return Result.OK();
return Result.OK(subject.getId());
}
/**
......@@ -326,22 +326,6 @@ public class SubjectManageController {
return Result.OK();
}
/**
* 通过id查询
*
* @param id
* @return
*/
@GetMapping(value = "/queryById")
public Result<?> queryById(@RequestParam(name = "id") String id) {
SubjectPage subject = subjectService.getSubjectById(id);
List<SubjectPage> pageList = new ArrayList<>();
pageList.add(subject);
IPage<SubjectPage> pageData = new Page<>(1, 10, 1);
pageData.setRecords(pageList);
return Result.OK(pageData);
}
/**
* 专题直接绑定信息源-批量(专题列表页)
......
......@@ -11,6 +11,7 @@ import com.zzsn.event.util.tree.TreeUtil;
import com.zzsn.event.util.user.AuthUtil;
import com.zzsn.event.util.user.UserVo;
import com.zzsn.event.vo.SubjectTreeVO;
import com.zzsn.event.vo.SubjectTypeTreeVO;
import com.zzsn.event.vo.SubjectTypeVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
......@@ -98,7 +99,7 @@ public class SubjectTypeController {
}
/**
* 通过父级id列表查询-专题页左侧异步树
* 通过父级id列表查询-专题页左侧异步树-----旧
*
* @return
*/
......@@ -109,19 +110,7 @@ public class SubjectTypeController {
}
/**
* 事件和分类树型结构
*
* @author lkg
* @date 2024/4/29
*/
@GetMapping("/eventAndTypeTree")
public Result<?> eventAndTypeTree() {
List<SubjectTreeVO> tree = subjectTypeService.eventAndTypeTree();
return Result.OK(tree);
}
/**
* 通过父级id列表查询-事件页左侧异步树
* 通过父级id列表查询-事件页左侧异步树---旧
*
* @return
*/
......@@ -131,6 +120,21 @@ public class SubjectTypeController {
return Result.OK(allList);
}
/**
* 专题/事件管理-左侧树----新
*
* @param category 类别(1-专题;2-事件)
* @author lkg
* @date 2025/1/8
*/
@GetMapping("/typeAndBindCountTreeList")
public Result<?> typeAndBindCountTreeList(Integer category){
List<SubjectTypeTreeVO> treeList = subjectTypeService.typeAndBindCountTreeList(category);
return Result.OK(treeList);
}
/**
* 专题和分类树型结构-研究中心专题页左侧树
*
......
......@@ -5,10 +5,12 @@ 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 com.zzsn.event.vo.SubjectTypeTreeVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
/**
* @Description: 专题类别
......@@ -40,6 +42,15 @@ public interface SubjectTypeMapper extends BaseMapper<SubjectType> {
void updateTreeNodeStatus(@Param("id") String id, @Param("hasChild") String hasChild);
/**
* 按分类分组,获取绑定专题/事件数量
*
* @param category 类别(1-专题;2-事件)
* @author lkg
* @date 2025/1/8
*/
List<SubjectTypeTreeVO> typeBindCountTreeList(@Param("category") Integer category);
/**
* 根据是否公开获取专题列表
*
* @param facePublic 是否公开(1-是;0-否)
......@@ -55,13 +66,6 @@ public interface SubjectTypeMapper extends BaseMapper<SubjectType> {
* @date 2024/4/29
*/
List<SubjectTreeVO> subjectAndTypeTree(@Param("username") String createBy);
/**
* 可用的事件和分类列表
*
* @author lkg
* @date 2024/4/29
*/
List<SubjectTreeVO> eventAndTypeTree();
/**
* 获取分类下的专题列表
......
......@@ -6,7 +6,7 @@
select s.id, s.type_name as name, s.pid
from subject_type s
where s.category = #{category}
and s.status = 1
and s.status = 1
<if test="username!=null and username != ''">
and s.create_by = #{username}
</if>
......@@ -18,9 +18,24 @@
where id = #{id}
</update>
<select id="typeBindCountTreeList" resultType="com.zzsn.event.vo.SubjectTypeTreeVO">
SELECT t.id,t.type_name as name,t.pid,count(m.type_id) as subjectCount,t.create_time
FROM subject_type t
inner join `subject_type_map` m on t.id = m.type_id
<if test="category != null and category == 1">
left join subject s on m.subject_id = s.id
</if>
<if test="category != null and category == 2">
left join event s on m.subject_id = s.id
</if>
where t.category = #{category}
group by m.type_id
order by t.create_time
</select>
<select id="subjectsByFacePublic" resultType="com.zzsn.event.vo.SubjectTreeVO">
select s.id,
s.subject_name as name,
s.subject_name as name,
'true' as ynSubject,
s.time_enable as start_time,
s.time_disable as end_time
......@@ -75,37 +90,6 @@
order by x.create_time desc
</select>
<select id="eventAndTypeTree" resultType="com.zzsn.event.vo.SubjectTreeVO">
select x.*
from (
select s.id,
s.type_name as name,
s.pid,
'false' as ynSubject,
null as startTime,
null as endTime,
s.create_time
from subject_type s
where s.category = 2
and s.status = 1
union
select n.id, n.name, m.id as pid, 'true' as ynSubject, n.start_time, n.end_time, n.create_time
from (
select s.id, s.type_name as name, s.pid
from subject_type s
where s.category = 2
and s.status = 1
) m
inner join subject_type_map stm on m.id = stm.type_id
inner join
(
select s.id, s.event_name as name, s.start_time, s.end_time, s.create_time
from event s
where s.status = 1
) n on stm.subject_id = n.id
) x
order by x.create_time desc
</select>
<select id="subjectListByType" resultType="com.zzsn.event.vo.SubjectPage">
SELECT a.*
......@@ -124,7 +108,7 @@
</select>
<select id="eventListByType" resultType="com.zzsn.event.vo.SubjectPage">
SELECT a.*
SELECT a.id, a.event_name as subject_name,
FROM event a
INNER JOIN subject_type_map b ON a.id = b.subject_id
WHERE b.type_id = #{subjectTypeId}
......
......@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
import com.zzsn.event.entity.SubjectType;
import com.zzsn.event.util.tree.Node;
import com.zzsn.event.vo.SubjectTreeVO;
import com.zzsn.event.vo.SubjectTypeTreeVO;
import com.zzsn.event.vo.SubjectTypeVo;
import java.util.List;
......@@ -103,10 +104,11 @@ public interface ISubjectTypeService extends IService<SubjectType> {
List<SubjectTypeVo> eventListByType(String parentId);
/**
* 可用的事件和分类列表
* 专题/事件 分类信息树型结构,包含绑定的专题/事件数量
*
* @param category 类别(1-专题;2-事件)
* @author lkg
* @date 2024/4/29
* @date 2025/1/8
*/
List<SubjectTreeVO> eventAndTypeTree();
List<SubjectTypeTreeVO> typeAndBindCountTreeList(Integer category);
}
......@@ -77,7 +77,7 @@ public class SubjectInfoSourceMapServiceImpl extends ServiceImpl<SubjectInfoSour
List<String> excludeIdList = subjectPage.getExcludeInfoSourceIds();
List<SubjectInfoSourceMap> mapList = new ArrayList<>();
/*定向组list*/
List<String> directionaIds = subjectPage.getDirectionaIds();
List<String> directionaIds = subjectPage.getDirectionIds();
//判断是否全部绑定
if (subjectPage.getYnAll()) {
//获取所有的信息源组
......@@ -206,7 +206,7 @@ public class SubjectInfoSourceMapServiceImpl extends ServiceImpl<SubjectInfoSour
List<String> deleteInfoSourceIds = subjectPage.getInfoSourceIds();
List<String> deleteExcludeInfoSourceIds = subjectPage.getExcludeInfoSourceIds();
//定向信息源组
List<String> directionaIds = subjectPage.getDirectionaIds();
List<String> directionIds = subjectPage.getDirectionIds();
if (deleteInfoSourceIds != null && !deleteInfoSourceIds.isEmpty()) {
baseMapper.deleteInfoSourceIds(subjectPage.getId(), deleteInfoSourceIds, BindTypeEnum.INFO_SOURCE_GROUP.getvalue());
//获取该信息源组绑定的id
......@@ -242,8 +242,8 @@ public class SubjectInfoSourceMapServiceImpl extends ServiceImpl<SubjectInfoSour
if (deleteExcludeInfoSourceIds != null && deleteExcludeInfoSourceIds.size() > 0) {
baseMapper.deleteInfoSourceIds(subjectPage.getId(), deleteExcludeInfoSourceIds, BindTypeEnum.EXCLUDE_INFO_SOURCE_GROUP.getvalue());
}
if (directionaIds != null && directionaIds.size() > 0) {
baseMapper.deleteInfoSourceIds(subjectPage.getId(), directionaIds, BindTypeEnum.DIRECTIONA_INFO_SOURCE_GROUP.getvalue());
if (directionIds != null && directionIds.size() > 0) {
baseMapper.deleteInfoSourceIds(subjectPage.getId(), directionIds, BindTypeEnum.DIRECTIONA_INFO_SOURCE_GROUP.getvalue());
}
}
......
......@@ -111,27 +111,21 @@ public class SubjectServiceImpl extends ServiceImpl<SubjectMapper, Subject> impl
List<SubjectPage> records = pageList.getRecords();
if (CollUtil.isNotEmpty(records)) {
List<String> idList = records.stream().map(SubjectPage::getId).collect(Collectors.toList());
Map<String, Integer> infoSourceNumMap = new HashMap<>();
//按专题分组,统计绑定关键词组的数量
Map<String, Integer> keyWordsNumMap = commonService.bindKeyWordsCountList(idList).stream().collect(Collectors.toMap(SubjectPage::getId, SubjectPage::getKeyWordsNum));
//按专题分组,统计绑定信息源的数量
Map<String, List<SubjectSourceVO>> collect = commonService.bindSourceList(idList).stream().collect(Collectors.groupingBy(SubjectSourceVO::getSubjectId));
Map<String, Integer> infoSourceNumMap = new HashMap<>();
for (Map.Entry<String, List<SubjectSourceVO>> entry : collect.entrySet()) {
String subjectId = entry.getKey();
List<SubjectSourceVO> value = entry.getValue();
infoSourceNumMap.put(subjectId, value.size());
}
List<Integer> checkStatus = new ArrayList<>();
checkStatus.add(0);
Map<String, Integer> unCheckCountMap = subjectInfoCountMap(idList, checkStatus);
Map<String, Integer> subjectInfoCountMap = subjectInfoCountMap(idList, null);
//查询每个专题绑定的信息源数量及关键词数量
for (SubjectPage subjectPage1 : records) {
int keyWordsNum = null == keyWordsNumMap.get(subjectPage1.getId()) ? 0 : keyWordsNumMap.get(subjectPage1.getId());
int infoSourceNum = null == infoSourceNumMap.get(subjectPage1.getId()) ? 0 : infoSourceNumMap.get(subjectPage1.getId());
//查询每个专题现有的信息数量
int subjectInfoCount = null == subjectInfoCountMap.get(subjectPage1.getId()) ? 0 : subjectInfoCountMap.get(subjectPage1.getId());
int unCheckCount = null == unCheckCountMap.get(subjectPage1.getId()) ? 0 : unCheckCountMap.get(subjectPage1.getId());
subjectPage1.setUnCheckNum(unCheckCount);
subjectPage1.setSubjectInfoNum(subjectInfoCount);
subjectPage1.setInfoSourceNum(infoSourceNum);
subjectPage1.setKeyWordsNum(keyWordsNum);
}
......@@ -195,7 +189,7 @@ public class SubjectServiceImpl extends ServiceImpl<SubjectMapper, Subject> impl
saveMapMain(subject, subjectPage);
//判断专题状态是否启用(启用时控制xxljob调度启动,关闭时控制xxljob关闭),随着状态的改变发消息给python
if (!subject.getStatus().equals(oldSubject.getStatus()) && 1 == subjectPage.getSubjectType()) {
if (!subject.getStatus().equals(oldSubject.getStatus())) {
if (subject.getStatus() == 1) {
send(subject.getId(), "1");
} else if (subject.getStatus() == 0) {
......@@ -248,16 +242,8 @@ public class SubjectServiceImpl extends ServiceImpl<SubjectMapper, Subject> impl
List<String> subjectIds = new ArrayList<>();
subjectIds.add(subjectPage.getId());
int infoSourceNum = infoSourceService.bindSourceCount(subjectIds);
//查询每个专题现有的信息数量
int subjectInfoCount = subjectInfoCount(subjectPage.getId(), null);
//未审核资讯
List<Integer> checkStatus = new ArrayList<>();
checkStatus.add(0);
int unCheckCount = subjectInfoCount(subjectId, checkStatus);
subjectPage.setSubjectInfoNum(subjectInfoCount);
subjectPage.setInfoSourceNum(infoSourceNum);
subjectPage.setKeyWordsNum(keyWordsNum);
subjectPage.setUnCheckNum(unCheckCount);
return subjectPage;
}
......@@ -634,75 +620,5 @@ public class SubjectServiceImpl extends ServiceImpl<SubjectMapper, Subject> impl
}
}
//查询每个专题的数量
private Map<String, Integer> subjectInfoCountMap(List<String> subjectIdList, List<Integer> checkStatusList) {
String[] indexs = EsIndexUtil.getIndexLatelyTwoYear(Constants.SUBJECT_INDEX);
SearchRequest searchRequest = new SearchRequest(indexs);
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
//默认最大数量是10000,设置为true后,显示准确数量
searchSourceBuilder.trackTotalHits(true);
//创建查询对象
BoolQueryBuilder boolQuery = QueryBuilders.boolQuery();
boolQuery.must(QueryBuilders.termsQuery("subjectId.keyword", subjectIdList));
//默认查询没删除的
boolQuery.must(QueryBuilders.matchQuery("deleteFlag", 0));
if (checkStatusList != null && !checkStatusList.isEmpty()) {
boolQuery.must(QueryBuilders.termsQuery("checkStatus", checkStatusList));
}
searchSourceBuilder.query(boolQuery);
//分组
TermsAggregationBuilder aggregationBuilder = AggregationBuilders.terms("group_subjectId").field("subjectId.keyword");
searchSourceBuilder.aggregation(aggregationBuilder);
//不返回文本内容
searchSourceBuilder.fetchSource(false);
searchRequest.source(searchSourceBuilder);
Map<String, Integer> map = new HashMap<>(subjectIdList.size());
try {
SearchResponse searchResponse = client.search(searchRequest, RequestOptions.DEFAULT);
//获取分组桶
Aggregations aggregations = searchResponse.getAggregations();
//获取id分组集合
Terms parsedStringTerms = aggregations.get("group_subjectId");
List<? extends Terms.Bucket> buckets = parsedStringTerms.getBuckets();
for (Terms.Bucket bucket : buckets) {
String subjectId = bucket.getKeyAsString();
long collectCount = bucket.getDocCount();
map.put(subjectId, (int) collectCount);
}
} catch (IOException e) {
e.printStackTrace();
}
return map;
}
//查询每个专题的数量
private Integer subjectInfoCount(String subjectId, List<Integer> checkStatusList) {
int count = 0;
String[] indexs = EsIndexUtil.getIndexLatelyTwoYear(Constants.SUBJECT_INDEX);
SearchRequest searchRequest = new SearchRequest(indexs);
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
//默认最大数量是10000,设置为true后,显示准确数量
searchSourceBuilder.trackTotalHits(true);
searchSourceBuilder.size(0);
//创建查询对象
BoolQueryBuilder boolQuery = QueryBuilders.boolQuery();
boolQuery.must(QueryBuilders.termQuery("subjectId.keyword", subjectId));
//默认查询没删除的
boolQuery.must(QueryBuilders.matchQuery("deleteFlag", 0));
if (checkStatusList != null && !checkStatusList.isEmpty()) {
boolQuery.must(QueryBuilders.termsQuery("checkStatus", checkStatusList));
}
searchSourceBuilder.query(boolQuery);
searchRequest.source(searchSourceBuilder);
try {
SearchResponse searchResponse = client.search(searchRequest, RequestOptions.DEFAULT);
TotalHits totalHits = searchResponse.getHits().getTotalHits();
count = (int) totalHits.value;
} catch (IOException e) {
e.printStackTrace();
}
return count;
}
}
......@@ -13,6 +13,7 @@ import com.zzsn.event.util.tree.TreeUtil;
import com.zzsn.event.util.user.AuthUtil;
import com.zzsn.event.vo.SubjectPage;
import com.zzsn.event.vo.SubjectTreeVO;
import com.zzsn.event.vo.SubjectTypeTreeVO;
import com.zzsn.event.vo.SubjectTypeVo;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
......@@ -118,13 +119,86 @@ public class SubjectTypeServiceImpl extends ServiceImpl<SubjectTypeMapper, Subje
}
@Override
public List<SubjectTreeVO> eventAndTypeTree() {
List<SubjectTreeVO> tree = new ArrayList<>();
List<SubjectTreeVO> subjectTreeVOS = baseMapper.eventAndTypeTree();
if (CollectionUtils.isNotEmpty(subjectTreeVOS)) {
tree = TreeUtil.tree(subjectTreeVOS, "0");
public List<SubjectTypeTreeVO> typeAndBindCountTreeList(Integer category) {
List<SubjectTypeTreeVO> resultList = new ArrayList<>();
LambdaQueryWrapper<SubjectType> queryWrapper = Wrappers.lambdaQuery();
queryWrapper.eq(SubjectType::getCategory, category).orderByAsc(SubjectType::getCreateTime);
List<SubjectType> allList = list(queryWrapper);
if (CollectionUtils.isNotEmpty(allList)) {
//绑定专题/事件的分类
List<SubjectTypeTreeVO> subjectTypeTreeVOS = baseMapper.typeBindCountTreeList(category);
if (CollectionUtils.isNotEmpty(subjectTypeTreeVOS)) {
List<String> collect = subjectTypeTreeVOS.stream().map(SubjectTypeTreeVO::getId).collect(Collectors.toList());
//补充未绑定专题的分类
for (SubjectType subjectType : allList) {
if (!collect.contains(subjectType.getId())) {
SubjectTypeTreeVO subjectTypeTreeVO = new SubjectTypeTreeVO();
subjectTypeTreeVO.setId(subjectType.getId());
subjectTypeTreeVO.setName(subjectType.getTypeName());
subjectTypeTreeVO.setPid(subjectType.getPid());
subjectTypeTreeVO.setSubjectCount(0);
subjectTypeTreeVO.setCreateTime(subjectType.getCreateTime());
subjectTypeTreeVOS.add(subjectTypeTreeVO);
}
}
//构造树型结构
resultList = TreeUtil.tree(subjectTypeTreeVOS, "0");
//递归统计绑定专题的数量
for (SubjectTypeTreeVO treeVO : resultList) {
recursionSum(treeVO);
}
} else {
List<SubjectTypeTreeVO> list = new ArrayList<>();
allList.forEach(e->{
SubjectTypeTreeVO subjectTypeTreeVO = new SubjectTypeTreeVO();
subjectTypeTreeVO.setId(e.getId());
subjectTypeTreeVO.setName(e.getTypeName());
subjectTypeTreeVO.setPid(e.getPid());
subjectTypeTreeVO.setSubjectCount(0);
subjectTypeTreeVO.setCreateTime(e.getCreateTime());
list.add(subjectTypeTreeVO);
});
resultList = TreeUtil.tree(list, "0");
}
resultList.sort(Comparator.comparing(SubjectTypeTreeVO::getCreateTime));
}
return tree;
return resultList;
}
/**
* 递归获取所有子节点绑定专题数量总和,并赋值给当前节点
*
* @param treeVO 当前节点
* @author lkg
* @date 2025/1/8
*/
void recursionSum(SubjectTypeTreeVO treeVO) {
Integer subjectCount = treeVO.getSubjectCount();
int sum = getBelowSubjectCount(treeVO);
treeVO.setSubjectCount(subjectCount + sum);
if (treeVO.getChildren() != null && !treeVO.getChildren().isEmpty()) {
for (SubjectTypeTreeVO child : (List<SubjectTypeTreeVO>)treeVO.getChildren()) {
recursionSum(child);
}
}
}
/**
* 递归获取所有子节点绑定专题数量总和
*
* @param treeVO 当前节点
* @author lkg
* @date 2025/1/8
*/
private int getBelowSubjectCount(SubjectTypeTreeVO treeVO){
int sum = 0;
if (treeVO.getChildren() != null && !treeVO.getChildren().isEmpty()) {
for (SubjectTypeTreeVO child : (List<SubjectTypeTreeVO>)treeVO.getChildren()) {
sum += child.getSubjectCount();
sum += getBelowSubjectCount(child);
}
}
return sum;
}
@Override
......@@ -142,7 +216,6 @@ public class SubjectTypeServiceImpl extends ServiceImpl<SubjectTypeMapper, Subje
subjectTypeVo2.setTypeName(subjectPage.getSubjectName());
subjectTypeVo2.setPid(subjectTypeVo1.getId());
subjectTypeVo2.setIsSubject(true);
subjectTypeVo2.setSubjectType(subjectPage.getSubjectType());
list.add(subjectTypeVo2);
}
}
......@@ -206,7 +279,6 @@ public class SubjectTypeServiceImpl extends ServiceImpl<SubjectTypeMapper, Subje
subjectTypeVo2.setTypeName(subjectPage.getSubjectName());
subjectTypeVo2.setPid(subjectTypeVo1.getId());
subjectTypeVo2.setIsSubject(true);
subjectTypeVo2.setSubjectType(subjectPage.getSubjectType());
list.add(subjectTypeVo2);
}
}
......
......@@ -7,6 +7,7 @@ import lombok.Data;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
import java.util.List;
import java.util.Map;
......@@ -42,14 +43,6 @@ public class SubjectPage {
@Excel(name = "父级节点", width = 15)
@ApiModelProperty(value = "父级节点")
private String pid;
/**图片策略*/
@Excel(name = "图片策略", width = 15, dicCode = "clb_save_policy")
@ApiModelProperty(value = "图片策略")
private String picturePolicy;
/**网页策略*/
@Excel(name = "网页策略", width = 15, dicCode = "clb_save_policy")
@ApiModelProperty(value = "网页策略")
private String pagePolicy;
/**状态*/
@Excel(name = "状态", width = 15, dicCode = "clb_subject_status")
@ApiModelProperty(value = "状态")
......@@ -63,13 +56,13 @@ public class SubjectPage {
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@ApiModelProperty(value = "启用时间")
private java.util.Date timeEnable;
private Date timeEnable;
/**停用时间*/
@Excel(name = "停用时间", width = 15, format = "yyyy-MM-dd")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@ApiModelProperty(value = "停用时间")
private java.util.Date timeDisable;
private Date timeDisable;
/**划分专题库*/
@Excel(name = "划分专题库", width = 15, dicCode = "Thematic_Library")
@ApiModelProperty(value = "划分专题库")
......@@ -94,6 +87,15 @@ public class SubjectPage {
@Excel(name = "是否有子节点", width = 15, dicCode = "yn")
@ApiModelProperty(value = "是否有子节点")
private String hasChild;
/**所属客户*/
private String customerId;
/**专题信息所在es库名称*/
private String esIndex;
/**排序号*/
private Integer sortOrder;
/**备注
*/
private String remark;
/**创建人*/
@ApiModelProperty(value = "创建人")
private String createBy;
......@@ -118,16 +120,16 @@ public class SubjectPage {
private Integer infoSourceNum;
/**关键词数量*/
private Integer keyWordsNum;
/**专题信息数量*/
private Integer subjectInfoNum;
/**未审核专题信息数量*/
private Integer unCheckNum;
/**绑定的信息源组list*/
@ApiModelProperty(value = "信息源组list")
private List<String> infoSourceIds;
/**排除的信息源组list*/
@ApiModelProperty(value = "信息源组list")
private List<String> excludeInfoSourceIds;
/**定向组list*/
private List<String> directionIds;
/**关键词组list*/
@ApiModelProperty(value = "关键词组id list")
private List<String> keyWordsIds;
......@@ -149,34 +151,9 @@ public class SubjectPage {
@ApiModelProperty(value = "绑定的模型种类(1:去重模型 2:筛选模型 3:标签模型)")
private String type;
private String address;
/**所属客户*/
private String customerId;
private List<Map<String,Object>> warningTag;
/**专题类别(1:通用专题 2:事件专题)*/
private Integer subjectType;
/**专题信息所在es库名称*/
private String esIndex;
/**定向组list*/
private List<String> directionaIds;
/**排序号*/
private Integer sortOrder;
/**企业数据类型[0-研报;1-年报;2-动态;3-公告]*/
private String additionDataType;
private String enterpriseCheck;
/**备注
*/
private String remark;
/**任务id
*/
private String taskId;
/**任务code
*/
/**任务code*/
private String taskCode;
/**类型(1:专题 2:事件)*/
/**分类(1-专题;2-事件)*/
private Integer category;
}
package com.zzsn.event.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.zzsn.event.util.tree.Node;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
/**
* 专题/事件分类树对象
*
* @author lkg
* @date 2025/1/8
*/
@Data
public class SubjectTypeTreeVO extends Node {
/**绑定专题/事件数量*/
private Integer subjectCount;
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date createTime;
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论