package com.smppw.modaq.domain.dto.report;

import com.smppw.modaq.domain.entity.report.ReportInvestorInfoDO;
import lombok.Getter;
import lombok.Setter;

@Setter
@Getter
public class ReportInvestorInfoDTO extends BaseReportDTO<ReportInvestorInfoDO> {
    /**
     * 投资人的姓名
     */
    private String investorName;

    /**
     * 投资人的类别（例如：个人、机构）
     */
    private String investorType;

    /**
     * 证件类型（例如：身份证、护照）
     */
    private String certificateType;

    /**
     * 投资人证件号码
     */
    private String certificateNumber;

    /**
     * 基金账户编号
     */
    private String fundAccount;

    /**
     * 投资者交易账号
     */
    private String tradingAccount;

    @Override
    public ReportInvestorInfoDO toEntity() {
        ReportInvestorInfoDO entity = new ReportInvestorInfoDO();
        entity.setFileId(this.getFileId());
        entity.setInvestorName(this.investorName);
        entity.setInvestorType(this.investorType);
        entity.setCertificateType(this.certificateType);
        entity.setCertificateNumber(this.certificateNumber);
        entity.setFundAccount(this.fundAccount);
        entity.setTradingAccount(this.tradingAccount);
        this.initEntity(entity);
        return entity;
    }

    @Override
    public String toString() {
        return "{" +
                super.toString() +
                ", investorName='" + investorName + '\'' +
                ", certificateNumber='" + certificateNumber + '\'' +
                ", tradingAccount='" + tradingAccount + '\'' +
                '}';
    }
}
