LandingPageProjectDTO.java 1.3 KB
package com.aigeo.landingpage.dto;

import com.aigeo.landingpage.entity.LandingPageProject;
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 LandingPageProjectDTO {

    @Schema(description = "项目ID")
    private Integer id;

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

    @Schema(description = "项目名称")
    private String name;

    @Schema(description = "域名")
    private String domain;

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

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

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

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

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