搜索关键字爬虫

This commit is contained in:
2025-11-12 16:10:34 +08:00
parent 7be02fe396
commit 675e6da7d7
37 changed files with 3382 additions and 572 deletions

View File

@@ -1,68 +1,427 @@
package org.xyzh.common.vo;
import org.xyzh.common.dto.crontab.TbDataCollectionItem;
import org.xyzh.common.dto.crontab.TbCrontabTask;
import java.io.Serializable;
import java.util.Date;
/**
* @description 数据采集项VO
* @description 数据采集项VO (平铺结构,包含关联的任务和日志信息)
* @filename DataCollectionItemVO.java
* @author yslg
* @copyright xyzh
* @since 2025-11-08
*/
public class DataCollectionItemVO implements Serializable {
private static final long serialVersionUID = 1L;
// ==================== 采集项基本信息 ====================
/**
* @description 采集项数据
* 采集项ID
*/
private TbDataCollectionItem item;
private String id;
/**
* @description 关联的定时任务信息
* 任务ID
*/
private TbCrontabTask task;
private String taskId;
/**
* @description 状态文本(用于前端显示)
* 日志ID
*/
private String statusText;
private String logId;
/**
* @description 是否可以编辑(未处理和已忽略的可以编辑)
* 文章标题
*/
private String title;
/**
* 文章内容(HTML)
*/
private String content;
/**
* 文章摘要
*/
private String summary;
/**
* 来源
*/
private String source;
/**
* 来源URL
*/
private String sourceUrl;
/**
* 分类
*/
private String category;
/**
* 作者
*/
private String author;
/**
* 发布时间
*/
private Date publishTime;
/**
* 封面图片URL
*/
private String coverImage;
/**
* 图片列表(JSON)
*/
private String images;
/**
* 标签
*/
private String tags;
/**
* 状态(0:未处理 1:已转换为资源 2:已忽略)
*/
private Integer status;
/**
* 转换后的资源ID
*/
private String resourceId;
/**
* 爬取时间
*/
private Date crawlTime;
/**
* 处理时间
*/
private Date processTime;
/**
* 处理人
*/
private String processor;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新时间
*/
private Date updateTime;
// ==================== 关联的任务信息 ====================
/**
* 任务名称
*/
private String taskName;
/**
* 任务分组
*/
private String taskGroup;
/**
* Bean名称
*/
private String beanName;
/**
* 方法名称
*/
private String methodName;
/**
* 方法参数
*/
private String methodParams;
// ==================== 关联的日志信息 ====================
/**
* 执行状态(0:失败 1:成功)
*/
private Integer executeStatus;
/**
* 执行时长(ms)
*/
private Long executeDuration;
/**
* 开始时间
*/
private Date startTime;
/**
* 结束时间
*/
private Date endTime;
// ==================== 扩展字段 ====================
/**
* 是否可以编辑(未处理和已忽略的可以编辑)
*/
private Boolean canEdit;
/**
* @description 是否可以转换为资源未处理的可以转换
* 是否可以转换为资源(未处理的可以转换)
*/
private Boolean canConvert;
public TbDataCollectionItem getItem() {
return item;
// ==================== Getter/Setter ====================
public String getId() {
return id;
}
public void setItem(TbDataCollectionItem item) {
this.item = item;
public void setId(String id) {
this.id = id;
}
public TbCrontabTask getTask() {
return task;
public String getTaskId() {
return taskId;
}
public void setTask(TbCrontabTask task) {
this.task = task;
public void setTaskId(String taskId) {
this.taskId = taskId;
}
public String getStatusText() {
return statusText;
public String getLogId() {
return logId;
}
public void setStatusText(String statusText) {
this.statusText = statusText;
public void setLogId(String logId) {
this.logId = logId;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public String getSummary() {
return summary;
}
public void setSummary(String summary) {
this.summary = summary;
}
public String getSource() {
return source;
}
public void setSource(String source) {
this.source = source;
}
public String getSourceUrl() {
return sourceUrl;
}
public void setSourceUrl(String sourceUrl) {
this.sourceUrl = sourceUrl;
}
public String getCategory() {
return category;
}
public void setCategory(String category) {
this.category = category;
}
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
public Date getPublishTime() {
return publishTime;
}
public void setPublishTime(Date publishTime) {
this.publishTime = publishTime;
}
public String getCoverImage() {
return coverImage;
}
public void setCoverImage(String coverImage) {
this.coverImage = coverImage;
}
public String getImages() {
return images;
}
public void setImages(String images) {
this.images = images;
}
public String getTags() {
return tags;
}
public void setTags(String tags) {
this.tags = tags;
}
public Integer getStatus() {
return status;
}
public void setStatus(Integer status) {
this.status = status;
}
public String getResourceId() {
return resourceId;
}
public void setResourceId(String resourceId) {
this.resourceId = resourceId;
}
public Date getCrawlTime() {
return crawlTime;
}
public void setCrawlTime(Date crawlTime) {
this.crawlTime = crawlTime;
}
public Date getProcessTime() {
return processTime;
}
public void setProcessTime(Date processTime) {
this.processTime = processTime;
}
public String getProcessor() {
return processor;
}
public void setProcessor(String processor) {
this.processor = processor;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public Date getUpdateTime() {
return updateTime;
}
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
public String getTaskName() {
return taskName;
}
public void setTaskName(String taskName) {
this.taskName = taskName;
}
public String getTaskGroup() {
return taskGroup;
}
public void setTaskGroup(String taskGroup) {
this.taskGroup = taskGroup;
}
public String getBeanName() {
return beanName;
}
public void setBeanName(String beanName) {
this.beanName = beanName;
}
public String getMethodName() {
return methodName;
}
public void setMethodName(String methodName) {
this.methodName = methodName;
}
public String getMethodParams() {
return methodParams;
}
public void setMethodParams(String methodParams) {
this.methodParams = methodParams;
}
public Integer getExecuteStatus() {
return executeStatus;
}
public void setExecuteStatus(Integer executeStatus) {
this.executeStatus = executeStatus;
}
public Long getExecuteDuration() {
return executeDuration;
}
public void setExecuteDuration(Long executeDuration) {
this.executeDuration = executeDuration;
}
public Date getStartTime() {
return startTime;
}
public void setStartTime(Date startTime) {
this.startTime = startTime;
}
public Date getEndTime() {
return endTime;
}
public void setEndTime(Date endTime) {
this.endTime = endTime;
}
public Boolean getCanEdit() {