package cn.superdesk.uniorder.openapicall.thirdpart.szhtxx.electronicInvoice.dto.request;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;

/**
 * @Description: 1.1.6_发票交付接口-
 * @Author: linjinyu
 * @CreateDate: 2021/12/23 下午5:58
 * @UpdateUser: linjinyu
 * @UpdateDate: 2021/12/23 下午5:58
 * @UpdateRemark: 修改内容
 * @Version: 1.0
 */
@Builder(toBuilder = true)
@AllArgsConstructor
@NoArgsConstructor
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class DeliverRequestBodyInvoiceContent implements Serializable {

    /**
     * sjly : 数据来源
     * jflx : 交付类型
     * jfdz : 交付地址
     * fp_dm : 发票代码
     * fp_hm : 发票号码
     * xsf_nsrsbh : 销售方纳税人识别号
     * gmf_nsrsbh : 购货方纳税人识别号
     * gmf_mc : 购货方名称
     * kprq : 开票日期
     * hjje : 合计不含税金额
     * hjse : 合计税额
     * jym : 校验码
     * tsbz : 推送标识
     * tsdz : 推送地址
     */

    @JsonProperty("sjly")
    @ApiModelProperty("sjly 数据来源 VARCHAR 2 是 固定:09")
    private String sjly;
    @JsonProperty("jflx")
    @ApiModelProperty("jflx 交付类型 VARCHAR 1 是 1:邮箱 2:短信")
    private String jflx;
    @JsonProperty("jfdz")
    @ApiModelProperty("jfdz 交付地址 VARCHAR 50 是 邮箱或者手机号")
    private String jfdz;
    @JsonProperty("fp_dm")
    @ApiModelProperty("fp_dm 发票代码 VARCHAR 12 是 发票代码")
    private String fpDm;
    @JsonProperty("fp_hm")
    @ApiModelProperty("fp_hm 发票号码 VARCHAR 8 是 发票号码")
    private String fpHm;
    @JsonProperty("xsf_nsrsbh")
    @ApiModelProperty("xsf_nsrsbh 销售方纳税人 识别号 VARCHAR 30 是 销售方识别号,收购发票填写票面上的购买方识别号")
    private String xsfNsrsbh;
    @JsonProperty("gmf_nsrsbh")
    @ApiModelProperty("gmf_nsrsbh 购买方识别号 VARCHAR 30 是 购买方识别号,收购发票填写票面上的销售方识别号")
    private String gmfNsrsbh;
    @JsonProperty("gmf_mc")
    @ApiModelProperty("gmf_mc 购买方名称 VARCHAR 200 是 购买方名称,收购发票填写票面上的销售方名称")
    private String gmfMc;
    @JsonProperty("kprq")
    @ApiModelProperty("kprq 开票日期 VARCHAR 8 是 开票日期 yMd 格式")
    private String kprq;
    @JsonProperty("hjje")
    @ApiModelProperty("hjje 不含税合计金额 VARCHAR 20 是 不含税合计金额,保留 2 位小数")
    private String hjje;
    @JsonProperty("hjse")
    @ApiModelProperty("hjse 不含税合计税额 VARCHAR 20 是 不含税合计税额,保留 2 位小数")
    private String hjse;
    @JsonProperty("jym")
    @ApiModelProperty("jym 校验码 VARCHAR 50 是 校验码")
    private String jym;
    @JsonProperty("tsbz")
    @ApiModelProperty("tsbz 推送标志 VARCHAR 1 是 0-不需要推送交付结果 1-需要推送交付结果")
    private String tsbz;
    @JsonProperty("tsdz")
    @ApiModelProperty("tsdz 推送地址 VARCHAR 255 否 https 协议 rest 地址 当 tsbz=1 时必填")
    private String tsdz;

}
