ArticleGenerationTaskDTO.java 1.6 KB
package com.aigeo.article.dto;

import com.aigeo.article.entity.ArticleGenerationTask;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springframework.beans.BeanUtils;

import java.time.LocalDateTime;

/**
 * 文章生成任务DTO
 */
@Data
@Schema(description = "文章生成任务DTO")
public class ArticleGenerationTaskDTO {

    @Schema(description = "任务ID")
    private Integer id;

    @Schema(description = "公司ID")
    private Integer companyId;

    @Schema(description = "任务名称")
    private String name;

    @Schema(description = "主题")
    private String topic;

    @Schema(description = "关键词")
    private String keywords;

    @Schema(description = "文章数量")
    private Integer articleCount;

    @Schema(description = "平台类型")
    private String platformType;

    @Schema(description = "状态")
    private String status;

    @Schema(description = "创建时间")
    private LocalDateTime createdAt;

    @Schema(description = "更新时间")
    private LocalDateTime updatedAt;

    /**
     * 将DTO转换为实体类
     */
    public ArticleGenerationTask toEntity() {
        ArticleGenerationTask entity = new ArticleGenerationTask();
        BeanUtils.copyProperties(this, entity);
        return entity;
    }

    /**
     * 将实体类转换为DTO
     */
    public static ArticleGenerationTaskDTO fromEntity(ArticleGenerationTask entity) {
        ArticleGenerationTaskDTO dto = new ArticleGenerationTaskDTO();
        BeanUtils.copyProperties(entity, dto);
        return dto;
    }
}