package com.crm.rely.backend.core.entity.system.remit;

import com.crm.rely.backend.core.constant.ManagerConstant;
import com.crm.rely.backend.core.entity.base.BaseAddEntity;
import com.crm.rely.backend.core.entity.system.channel.bank.SysChannelBankSaveEntity;
import lombok.Data;
import org.hibernate.validator.constraints.NotBlank;

import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.List;

@Data
public class SysRemitChannelAddEntity extends BaseAddEntity {
//    private String email;
//    @NotNull(message = Constants.EMAIL_CODE_NOT_NULL_ERROR)
//    @NotBlank(message = Constants.EMAIL_CODE_NOT_NULL_ERROR)
//    private String emailCode;
private Integer gaCode;
    @NotBlank(message = ManagerConstant.REMIT_CHANNEL_CODE_NOT_NULL)
    @NotNull(message = ManagerConstant.REMIT_CHANNEL_CODE_NOT_NULL)
    /**
     * 通道位置code
     */
    private String code;

    private String type;
    /**
     * 通道名称
     */
    @NotBlank(message = ManagerConstant.REMIT_CHANNEL_NAME_NOT_NULL)
    @NotNull(message = ManagerConstant.REMIT_CHANNEL_NAME_NOT_NULL)
    private String name;
    /**
     * 通道英文名称
     */
    @NotBlank(message = ManagerConstant.REMIT_CHANNEL_NAME_NOT_NULL)
    @NotNull(message = ManagerConstant.REMIT_CHANNEL_NAME_NOT_NULL)
    private String enName;
    /**
     * 调用通道的路由地址
     */
    @NotBlank(message = ManagerConstant.REMIT_CHANNEL_REQUEST_URL_NOT_NULL)
    @NotNull(message = ManagerConstant.REMIT_CHANNEL_REQUEST_URL_NOT_NULL)
    private String requestUrl;
    /**
     * 通道入金货币
     */
    private String currency;

    private String transformCurrency;

    private BigDecimal minAmount;

    private BigDecimal maxAmount;
    /**
     * 通道图标(icon)
     */
    @NotBlank(message = ManagerConstant.REMIT_CHANNEL_ICON_NOT_NULL)
    @NotNull(message = ManagerConstant.REMIT_CHANNEL_ICON_NOT_NULL)
    private String icon;

    /**
     * 介绍
     */
    @NotBlank(message = ManagerConstant.REMIT_CHANNEL_INTRODUCE_NOT_NULL)
    @NotNull(message = ManagerConstant.REMIT_CHANNEL_INTRODUCE_NOT_NULL)
    private String introduce;
    /**
     * 英文介绍
     */
    @NotBlank(message = ManagerConstant.REMIT_CHANNEL_INTRODUCE_NOT_NULL)
    @NotNull(message = ManagerConstant.REMIT_CHANNEL_INTRODUCE_NOT_NULL)
    private String enIntroduce;

    /**
     * 是否启用 1启用 0不启用
     */
    private Integer valid;

    /**
     * 是否启用银行
     */
    private Integer bankValid;

    private List<SysChannelBankSaveEntity> banks;

    private Integer subIndex;

    private String fundingTime;

    private Integer free;

    private List<String> cIds;

    private List<String> excludeCIds;

    private List<String> countrys;

}
