package com.propertyManagement.pay.support.pay;

import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.propertyManagement.pay.domain.CmsPayApp;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;
import java.util.List;


/**
 * 支付商户对象 cms_pay_merchant
 *
 * @author siashan
 * @date 2023-06-09
 */
@Data
@ToString
@EqualsAndHashCode
@NoArgsConstructor
@Accessors(chain = true)
public class CmsPayMerchantDto implements Serializable
{
    private static final long serialVersionUID = 1L;

    /** 编号 */
    @JsonSerialize(using = ToStringSerializer.class)
    @TableId(value = "id")
    private Long id;

    /** 商户编码 */
    @ExcelProperty(value = "商户编码")
    private String merchantCode;

    /** 商户名称 */
    @ExcelProperty(value = "商户名称")
    private String merchantName;

    /** 服务商编码 */
    @ExcelProperty(value = "服务商编码")
    private String providerCode;

    /** 商户配置（json） */
    @ExcelProperty(value = "商户配置")
    private String merchantConfig;

    /** 状态  0 禁用  1 启用 */
    @ExcelProperty(value = "状态  0 禁用  1 启用")
    private Integer isEnable;

    /** 是否锁定  0 否 1 是 */
    @ExcelProperty(value = "是否锁定  0 否 1 是")
    private Integer isLock;

    /** 备注 */
    @ExcelProperty(value = "备注")
    private String remark;

    /** 创建时间 */
    private Date createTime;

    /** 更新时间 */
    private Date updateTime;

    /** 创建者 */
    @TableField(fill = FieldFill.INSERT)
    private String createBy;

    /** 更新者 */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private String updateBy;

    List<CmsPayApp> appList;
}
