package com.friday.custody.api.dto.gjdf;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

@Getter
@Setter
@ToString
public class HtscProductInfo {
    /**
     * 基金备案代码
     */
    @JsonProperty("fund_record_code")
    private String fundRecordCode;
    /**
     * 基金代码（华泰内部业务代码，与基金备案代码可能不一致）
     */
    @JsonProperty("fundcode")
    private String fundCode;
    /**
     * 基金名称
     */
    @JsonProperty("fundname")
    private String fundName;

    /**
     * 基金组织形式(契约型 、公司型 、合伙型、其他)
     */
    @JsonProperty("org_form")
    private HtscPair orgForm;
    /**
     * 产品类型：证券投资基金；股权投资基金；创业投资基金；其他
     */
    @JsonProperty("fundtype")
    private HtscPair fundtype;
    /**
     * 产品运作方式：开放式；封闭式
     */
    @JsonProperty("operation_method")
    private HtscPair operationMethod;

    /**
     * 存续期类型:非永续；永续存在
     */
    @JsonProperty("duration_type")
    private HtscPair durationType;


    /**
     * 存续期
     */
    @JsonProperty("duration_period")
    private String durationPeriod;

    /**
     * 场内结算模式:托管人结算；券商结算
     */
    @JsonProperty("settlement_type")
    private HtscPair settlementType;


    /**
     * 成立日期，固定格式yyyyMMdd
     */
    @JsonProperty("create_date")
    private String createDate;

    /**
     * 产品分级标识0:不分级；1:分级产品
     */
    @JsonProperty("have_child_flag")
    private int haveChildFlag;
    /**
     * 产品业务类型
     * 1-仅外包
     * 2-仅托管
     * 外包+托管
     */
    @JsonProperty("busType")
    private String busType;

    /**
     * 产品状态		业务状态
     * 15	封闭期	产品状态在[15,35]为产品运作期
     * 20	正常开放
     * 25	暂停赎回
     * 30	暂停申购
     * 35	暂停交易
     * 40	最后交易日	产品状态在[40,41]为产品清盘中
     * 41	清盘中
     * 45	已清盘
     * 50	发行失败
     */
    @JsonProperty("prdtStatus")
    private String prdtStatus;


    /**
     * 外包机构
     */
    @JsonProperty("outSourceOrg")
    private String outSourceOrg;
    /**
     * 托管人名称
     */
    @JsonProperty("trusteeName")
    private String trusteeName;
}

