package com.jeesharp.business.modules.finance.invoice.dto;

import com.jeesharp.framework.pojo.dto.BaseSaveDTO;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 发票抬头保存 DTO，用于移动端新增与编辑。
 *
 * @author jeesharp
 * @since 2026-06-12
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Schema(description = "发票抬头保存请求")
public class MemberInvoiceTitleSaveDTO extends BaseSaveDTO {

    @Schema(description = "会员ID（移动端由网关注入）")
    private String memberId;

    @NotBlank(message = "抬头类型不能为空")
    @Schema(description = "抬头类型：personal-个人 company-企业", required = true)
    private String titleType;

    @NotBlank(message = "抬头名称不能为空")
    @Schema(description = "抬头名称", required = true)
    private String titleName;

    @Schema(description = "税号")
    private String taxNo;

    @Schema(description = "开户行")
    private String bankName;

    @Schema(description = "银行账号")
    private String bankAccount;

    @Schema(description = "接收邮箱")
    private String email;

    @Schema(description = "联系电话")
    private String phone;

    @Schema(description = "企业地址")
    private String address;

    @Schema(description = "是否默认：0-否 1-是")
    private Integer isDefault;
}
