package com.zanxiang.game.module.manage.pojo.vo;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @author xufeng
 * @date 2022/6/16 19:14
 */
@Data
@NoArgsConstructor
@ApiModel
public class PayMerchantVO implements Serializable {

    @JsonSerialize(using = ToStringSerializer.class)

    private Long id;
    /**
     * 支付方式id
     */
    @ApiModelProperty(notes = "支付方式id")
    private Integer payWayId;

    /**
     * 商户号
     */
    @ApiModelProperty(notes = "商户号")
    private String merchantNo;

    /**
     * 商户名称
     */
    @ApiModelProperty(notes = "商户名称")
    private String merchantName;

    /**
     * 支持支付方式（pc/h5/app/）
     */
    @ApiModelProperty(notes = "商户名称")
    private String payDevice;

    /**
     * 商户号登录账号
     */
    @ApiModelProperty(notes = "商户名称")
    private String loginName;

    /**
     * 商户号登录密码
     */
    @ApiModelProperty(notes = "商户号登录密码")
    private String loginPassword;

    /**
     * 管理员
     */
    @ApiModelProperty(notes = "管理员")
    private String managePerson;

    /**
     * 绑定手机号
     */
    @ApiModelProperty(notes = "绑定手机号")
    private String mobile;

    /**
     * 绑定邮箱
     */
    @ApiModelProperty(notes = "绑定邮箱")
    private String email;

    @ApiModelProperty(notes = "状态 1 不可用 0 可用")
    private Integer status;

    /**
     * 支付配置json (存储根据payway设置后，配置的具体商户号信息)
     */
    @ApiModelProperty(notes = "支付配置json")
    private String payConfig;

    /**
     * 最大支付额度锁 0 正常 1 锁定
     */
    @ApiModelProperty(notes = "最大支付额度锁 0 正常 1 锁定")
    private Integer maxPayLock;

    /**
     * 最大支付额度
     */
    @ApiModelProperty(notes = "最大支付额度")
    private BigDecimal maxPayAmount;

    /**
     * 月已用支付额度
     */
    @ApiModelProperty(notes = "月已用支付额度")
    private BigDecimal mouthPayAmount;

    /**
     * 月更新日期
     */
    @ApiModelProperty(notes = "月更新日期")
    private Date mouthUpdateDate;

    /**
     * 周已用额度
     */
    @ApiModelProperty(notes = "周已用额度")
    private BigDecimal weakerPayAmount;

    /**
     * 周更新日期
     */
    private Date weakerUpdateDate;

    /**
     * 日已用额度
     */
    private BigDecimal dayPayAmount;

    /**
     * 日更新日期
     */
    private Date dayUpdateDate;

    /**
     * 备注
     */
    @ApiModelProperty(notes = "备注")
    private String remark;

    /**
     * 是否已删除 1 已删除 2 正常
     */
    @ApiModelProperty(notes = "是否已删除 1 已删除 0 正常")
    private Integer isDelete;
    /**
     * 删除时间
     */
    @ApiModelProperty(notes = "删除时间")
    private Date deleteTime;
}
