package com.hz.his.dto.user.money;


import lombok.Data;
import lombok.ToString;

/**
 * 用户资金
 *
 * @author fwq
 */
@Data
@ToString
public class UserMoneyDto {

    /**当前页数*/
    private Integer pageNum;
    /**当前页显示条数*/
    private Integer pageSize;
    /**
     * 操作人类型
     */
    private Integer operatorType;
    /**
     * 操作人标识
     */
    private String operatorId;
    /**
     * 操作人名称
     */
    private String operatorName;
    /**
     * 操作备注
     */
    private String remarks;
    /**
     * 类型(查询类型)
     */
    private Integer type;
    /**
     * 记录类型
     */
    private Integer recordType;
    /**
     * 开单类型
     */
    private Integer billingType;
    /**
     * 订单标识
     */
    private String orderId;
    /**
     * 订单编号
     */
    private String orderNo;

    /**
     * phis用户标识
     */
    private String userId;
    /**
     * 变化的储值金(正数加,负数减)
     */
    private String storedValueFund;
    /**
     * 变化的增值金(正数加,负数减)
     */
    private String valueAddedFund;
    /**
     * 变化的积分(正数加,负数减)
     */
    private String integral;
    /**
     * 变化的预定金(正数加,负数减)
     */
    private String deposit;

    /**
     * 数据签名
     */
    private String sign;
    /**
     * 数据签名编码
     */
    private String signCode;


    /**用户资产操作*/
    /**
     * 资金类型 储值金 0 增值金 1  积分 2 预定金 3
     */
    private Integer fundType;
    /**
     * 操作类型  参考文档  recharge
     */
    private String operationReason;
    /**
     * 操作金额
     */
    private String opNumber;
    /**
     * 来源渠道
     */
    private String originChannel;
    /**
     * 来源
     */
    private String originSubject;
    /*待领取列表id*/
    private String id;
    /*状态是否领取 (0 待领取 1 已领取)*/
    private Integer status;
    /*资金操作类型 默认为增加   增加 1  减少 0*/
    private Integer fundOpType;
    /* 操作类型 是否需要领取 默认 只有增值金 添加需要领取系统处理 0 用户领取 1*/
    private Integer opType;

    /*是否需要领取 0 否 1 是  默认需要领取*/
    private Integer isReceiveValueAddedFund;

    /**是否领建资金记录 0 否 1 是*/
    private Integer isHisRecord;

    /*****************类型信息 注:以下常量以phis的UserMoneyLog常量为主*******************************/
    /**
     * 应用类型-第三方平台
     */
    public static final int APP_TYPE_API = 0;
    /**
     * 应用类型-预约后台
     */
    public static final int APP_TYPE_ADMIN = 1;

    /**
     * 操作人类型-用户
     */
    public static final int OPERATOR_TYPE_USER = 0;
    /**
     * 操作人类型-员工
     */
    public static final int OPERATOR_TYPE_EMPLOYEE = 1;
    /**
     * 操作人类型-管理员
     */
    public static final int OPERATOR_TYPE_ADMIN = 2;
    /**
     * 操作人类型-系统
     */
    public static final int OPERATOR_TYPE_SYSTEM = 3;

    /**
     * 记录类型-系统记录
     */
    public static final int RECORD_TYPE_SYSTEM = 0;
    /**
     * 记录类型-充值记录
     */
    public static final int RECORD_TYPE_RECHARGE = 1;
    /**
     * 记录类型-退款记录
     */
    public static final int RECORD_TYPE_REFUND = 2;
    /**
     * 记录类型-抵扣记录
     */
    public static final int RECORD_TYPE_DEDUCTION = 3;
    /**
     * 记录类型-转赠记录
     */
    public static final int RECORD_TYPE_TURN = 4;
    /**
     * 记录类型-购买记录
     */
    public static final int RECORD_TYPE_BUY = 5;
    /**
     * 记录类型-协商记录
     */
    public static final int RECORD_TYPE_NEGOTIATION = 6;
    /**
     * 记录类型-退货记录
     */
    public static final int RECORD_TYPE_RETURN = 7;
    /**
     * 记录类型-换货记录
     */
    public static final int RECORD_TYPE_CHANGE = 8;

    /**
     * 开单类型-手动调整
     */
    public static final int BILLING_TYPE_MANUAL = 0;
    /**
     * 开单类型-订单调整
     */
    public static final int BILLING_TYPE_ORDER = 1;
}