package com.yc.ship.module.ota.controller.admin.distributor.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

@Schema(description = "管理后台 - 分销商信息新增/修改 Request VO")
@Data
public class DistributorSaveReqVO {

    @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "9072")
    private Long id;

    @Schema(description = "是否启用")
    private Integer isUse;

    @Schema(description = "结算方式")
    private List<String> payType;

    @Schema(description = "经销类型", example = "2")
    private Integer type;

    @Schema(description = "分销商类型", example = "23448")
    private Long otaTypeId;
    @Schema(description = "分销商分组", example = "23448")
    private Long otaCategoryId;
    @Schema(description = "分销商等级", example = "23448")
    private Long otcLevelId;

    @Schema(description = "全称", example = "王五")
    private String name;

    @Schema(description = "简称", example = "张三")
    private String shortName;

    @Schema(description = "编码", example = "CJGL")
    private String code;

    @Schema(description = "登录名", example = "王五")
    private String loginName;

    @Schema(description = "登录密码")
    private String password;

    @Schema(description = "联系人")
    private String contactPerson;

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

    @Schema(description = "开始使用时间")
    private LocalDateTime startTime;

    @Schema(description = "结束使用时间")
    private LocalDateTime stopTime;

    @Schema(description = "分销商IP")
    private String otaIp;

    @Schema(description = "AppId", example = "6830")
    private String appid;

    @Schema(description = "Secret")
    private String secret;

    @Schema(description = "分销商帐号：我方分配给分销商的帐号，区别于appid、appid为分销商分配给我们的帐号")
    private String otaAccount;

    @Schema(description = "服务地址", example = "https://www.iocoder.cn")
    private String serverUrl;

    @Schema(description = "是否自营")
    private Integer selfSupport;

    @Schema(description = "功能")
    private List<String> functions;

    @Schema(description = "团队类型", example = "2")
    private List<String> teamType;

    @Schema(description = "是否为挂靠旅行社")
    private Integer isAttachment;

    @Schema(description = "被挂靠旅行社")
    private String attachmentedAgency;

    @Schema(description = "授信额度")
    private BigDecimal payCredit;
    @Schema(description = "是否开启退票审核")
    private Integer canRefundExamine;
    @Schema(description = "下单支付超时时间")
    private Integer payTimeOut;
    @Schema(description = "单位地址")
    private String unitAddress;
    @Schema(description = "开户银行")
    private String depositBank;
    @Schema(description = "银行账户")
    private String bankAccount;
    @Schema(description = "税号")
    private String accountNumber;
    @Schema(description = "电话")
    private String phone;
    @Schema(description = "邮箱")
    private String email;
    @Schema(description = "招行短号，对公转账使用")
    private String cmbShortNo;

    @Schema(description = "分销商商户id")
    private String externalAccountId;
    @Schema(description = "分销商门店id")
    private String externalPoiIds;
    @Schema(description = "分销商编码-OA")
    private String custCode;

    @Schema(description = "分销商区域")
    private String regionAgency;

}