package com.hai.entity;

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

/**
 * out_recharge_order
 * @author
 */
/**
 *
 * 代码由工具生成
 *
 **/
public class OutRechargeOrder implements Serializable {
    /**
     * 主键
     */
    private Long id;

    /**
     * 类型：1 话费充值
     */
    private Integer type;

    /**
     * 运营商
     */
    private String operatorName;

    /**
     * 1:电信运营商 2：移动运营商 3：联通运营商
     */
    private Integer operatorType;

    /**
     * 充值金额
     */
    private BigDecimal rechargePrice;

    /**
     * 充值订单号
     */
    private String orderNo;

    /**
     * 子订单号 订单号
     */
    private String childOrderNo;

    /**
     * 用户的优惠券high_discount_user_rel表的id
     */
    private Long memDiscountId;

    /**
     * 用户的优惠券名称
     */
    private String memDiscountName;

    /**
     * 用户表ID
     */
    private Long userId;

    /**
     * 用户名称
     */
    private String userName;

    /**
     * 用户电话
     */
    private String userPhone;

    /**
     * 1：支付宝  2：微信  3：汇联通工会卡  4：银联   5：银联分期 6: api商户余额
     */
    private Integer payType;

    /**
     * 工会卡号
     */
    private String laborUnionCard;

    /**
     * 积分数量
     */
    private BigDecimal integralNum;

    /**
     * 优惠券抵扣金额
     */
    private BigDecimal discountDeductionPrice;

    /**
     * 积分抵扣金额
     */
    private BigDecimal integralDeductionPrice;

    /**
     * 应付金额
     */
    private BigDecimal payPrice;

    /**
     * 订单充值金额
     */
    private BigDecimal orderPrice;

    /**
     * 实际金额
     */
    private BigDecimal payRealPrice;

    /**
     * 支付流水号
     */
    private String paySerialNo;

    /**
     * 订单支付状态 ： 101.待支付 102.已支付 100.已完成 104.已取消 105.已退款
     */
    private Integer payStatus;

    /**
     * 充值状态：201:充值中 202：充值成功 203：充值失败 204：未充值 205: 待充值
     */
    private Integer rechargeStatus;

    /**
     * 中石油需要的持卡人姓名
     */
    private String rechargeName;

    /**
     * 生成时间
     */
    private Date createTimed;

    /**
     * 支付时间
     */
    private Date payTime;

    /**
     * 取消时间
     */
    private Date cancelTime;

    /**
     * 完成时间
     */
    private Date finishTime;

    /**
     * 备注
     */
    private String remarks;

    /**
     * 退款订单号
     */
    private String outRefundNo;

    /**
     * 退款时间
     */
    private Date refundTime;

    /**
     * 第三方退款订单号
     */
    private String tpRefundOrderNo;

    /**
     * 第三方退款订单号
     */
    private String refundId;

    /**
     * 退款金额
     */
    private BigDecimal refundFee;

    /**
     * 代理商编号
     */
    private String agentKey;

    private Integer objectId;

    /**
     * 1：快充 2：慢充
     */
    private Integer rechargeType;

    /**
     * 异常信息
     */
    private String abnormalMsg;

    private String ext1;

    private String ext2;

    private String ext3;

    /**
     * 产品id
     */
    private Long goodsId;

    /**
     * 充值内容（电话号码， 卡号）
     */
    private String rechargeContent;

    /**
     * 公司id
     */
    private Long companyId;

    /**
     * 商户号
     */
    private String merchId;

    private Boolean whetherRebate;

    private static final long serialVersionUID = 1L;

    List<OutRechargeChildOrder> outRechargeChildOrders;

    public List<OutRechargeChildOrder> getOutRechargeChildOrders() {
        return outRechargeChildOrders;
    }

    public void setOutRechargeChildOrders(List<OutRechargeChildOrder> outRechargeChildOrders) {
        this.outRechargeChildOrders = outRechargeChildOrders;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public String getOperatorName() {
        return operatorName;
    }

    public void setOperatorName(String operatorName) {
        this.operatorName = operatorName;
    }

    public Integer getOperatorType() {
        return operatorType;
    }

    public void setOperatorType(Integer operatorType) {
        this.operatorType = operatorType;
    }

    public BigDecimal getRechargePrice() {
        return rechargePrice;
    }

    public void setRechargePrice(BigDecimal rechargePrice) {
        this.rechargePrice = rechargePrice;
    }

    public String getOrderNo() {
        return orderNo;
    }

    public void setOrderNo(String orderNo) {
        this.orderNo = orderNo;
    }

    public String getChildOrderNo() {
        return childOrderNo;
    }

    public void setChildOrderNo(String childOrderNo) {
        this.childOrderNo = childOrderNo;
    }

    public Long getMemDiscountId() {
        return memDiscountId;
    }

    public void setMemDiscountId(Long memDiscountId) {
        this.memDiscountId = memDiscountId;
    }

    public String getMemDiscountName() {
        return memDiscountName;
    }

    public void setMemDiscountName(String memDiscountName) {
        this.memDiscountName = memDiscountName;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getUserPhone() {
        return userPhone;
    }

    public void setUserPhone(String userPhone) {
        this.userPhone = userPhone;
    }

    public Integer getPayType() {
        return payType;
    }

    public void setPayType(Integer payType) {
        this.payType = payType;
    }

    public String getLaborUnionCard() {
        return laborUnionCard;
    }

    public void setLaborUnionCard(String laborUnionCard) {
        this.laborUnionCard = laborUnionCard;
    }

    public BigDecimal getIntegralNum() {
        return integralNum;
    }

    public void setIntegralNum(BigDecimal integralNum) {
        this.integralNum = integralNum;
    }

    public BigDecimal getDiscountDeductionPrice() {
        return discountDeductionPrice;
    }

    public void setDiscountDeductionPrice(BigDecimal discountDeductionPrice) {
        this.discountDeductionPrice = discountDeductionPrice;
    }

    public BigDecimal getIntegralDeductionPrice() {
        return integralDeductionPrice;
    }

    public void setIntegralDeductionPrice(BigDecimal integralDeductionPrice) {
        this.integralDeductionPrice = integralDeductionPrice;
    }

    public BigDecimal getPayPrice() {
        return payPrice;
    }

    public void setPayPrice(BigDecimal payPrice) {
        this.payPrice = payPrice;
    }

    public BigDecimal getOrderPrice() {
        return orderPrice;
    }

    public void setOrderPrice(BigDecimal orderPrice) {
        this.orderPrice = orderPrice;
    }

    public BigDecimal getPayRealPrice() {
        return payRealPrice;
    }

    public void setPayRealPrice(BigDecimal payRealPrice) {
        this.payRealPrice = payRealPrice;
    }

    public String getPaySerialNo() {
        return paySerialNo;
    }

    public void setPaySerialNo(String paySerialNo) {
        this.paySerialNo = paySerialNo;
    }

    public Integer getPayStatus() {
        return payStatus;
    }

    public void setPayStatus(Integer payStatus) {
        this.payStatus = payStatus;
    }

    public Integer getRechargeStatus() {
        return rechargeStatus;
    }

    public void setRechargeStatus(Integer rechargeStatus) {
        this.rechargeStatus = rechargeStatus;
    }

    public String getRechargeName() {
        return rechargeName;
    }

    public void setRechargeName(String rechargeName) {
        this.rechargeName = rechargeName;
    }

    public Date getCreateTimed() {
        return createTimed;
    }

    public void setCreateTimed(Date createTimed) {
        this.createTimed = createTimed;
    }

    public Date getPayTime() {
        return payTime;
    }

    public void setPayTime(Date payTime) {
        this.payTime = payTime;
    }

    public Date getCancelTime() {
        return cancelTime;
    }

    public void setCancelTime(Date cancelTime) {
        this.cancelTime = cancelTime;
    }

    public Date getFinishTime() {
        return finishTime;
    }

    public void setFinishTime(Date finishTime) {
        this.finishTime = finishTime;
    }

    public String getRemarks() {
        return remarks;
    }

    public void setRemarks(String remarks) {
        this.remarks = remarks;
    }

    public String getOutRefundNo() {
        return outRefundNo;
    }

    public void setOutRefundNo(String outRefundNo) {
        this.outRefundNo = outRefundNo;
    }

    public Date getRefundTime() {
        return refundTime;
    }

    public void setRefundTime(Date refundTime) {
        this.refundTime = refundTime;
    }

    public String getTpRefundOrderNo() {
        return tpRefundOrderNo;
    }

    public void setTpRefundOrderNo(String tpRefundOrderNo) {
        this.tpRefundOrderNo = tpRefundOrderNo;
    }

    public String getRefundId() {
        return refundId;
    }

    public void setRefundId(String refundId) {
        this.refundId = refundId;
    }

    public BigDecimal getRefundFee() {
        return refundFee;
    }

    public void setRefundFee(BigDecimal refundFee) {
        this.refundFee = refundFee;
    }

    public String getAgentKey() {
        return agentKey;
    }

    public void setAgentKey(String agentKey) {
        this.agentKey = agentKey;
    }

    public Integer getObjectId() {
        return objectId;
    }

    public void setObjectId(Integer objectId) {
        this.objectId = objectId;
    }

    public Integer getRechargeType() {
        return rechargeType;
    }

    public void setRechargeType(Integer rechargeType) {
        this.rechargeType = rechargeType;
    }

    public String getAbnormalMsg() {
        return abnormalMsg;
    }

    public void setAbnormalMsg(String abnormalMsg) {
        this.abnormalMsg = abnormalMsg;
    }

    public String getExt1() {
        return ext1;
    }

    public void setExt1(String ext1) {
        this.ext1 = ext1;
    }

    public String getExt2() {
        return ext2;
    }

    public void setExt2(String ext2) {
        this.ext2 = ext2;
    }

    public String getExt3() {
        return ext3;
    }

    public void setExt3(String ext3) {
        this.ext3 = ext3;
    }

    public Long getGoodsId() {
        return goodsId;
    }

    public void setGoodsId(Long goodsId) {
        this.goodsId = goodsId;
    }

    public String getRechargeContent() {
        return rechargeContent;
    }

    public void setRechargeContent(String rechargeContent) {
        this.rechargeContent = rechargeContent;
    }

    public Long getCompanyId() {
        return companyId;
    }

    public void setCompanyId(Long companyId) {
        this.companyId = companyId;
    }

    public String getMerchId() {
        return merchId;
    }

    public void setMerchId(String merchId) {
        this.merchId = merchId;
    }

    public Boolean getWhetherRebate() {
        return whetherRebate;
    }

    public void setWhetherRebate(Boolean whetherRebate) {
        this.whetherRebate = whetherRebate;
    }

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        OutRechargeOrder other = (OutRechargeOrder) that;
        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
                && (this.getType() == null ? other.getType() == null : this.getType().equals(other.getType()))
                && (this.getOperatorName() == null ? other.getOperatorName() == null : this.getOperatorName().equals(other.getOperatorName()))
                && (this.getOperatorType() == null ? other.getOperatorType() == null : this.getOperatorType().equals(other.getOperatorType()))
                && (this.getRechargePrice() == null ? other.getRechargePrice() == null : this.getRechargePrice().equals(other.getRechargePrice()))
                && (this.getOrderNo() == null ? other.getOrderNo() == null : this.getOrderNo().equals(other.getOrderNo()))
                && (this.getChildOrderNo() == null ? other.getChildOrderNo() == null : this.getChildOrderNo().equals(other.getChildOrderNo()))
                && (this.getMemDiscountId() == null ? other.getMemDiscountId() == null : this.getMemDiscountId().equals(other.getMemDiscountId()))
                && (this.getMemDiscountName() == null ? other.getMemDiscountName() == null : this.getMemDiscountName().equals(other.getMemDiscountName()))
                && (this.getUserId() == null ? other.getUserId() == null : this.getUserId().equals(other.getUserId()))
                && (this.getUserName() == null ? other.getUserName() == null : this.getUserName().equals(other.getUserName()))
                && (this.getUserPhone() == null ? other.getUserPhone() == null : this.getUserPhone().equals(other.getUserPhone()))
                && (this.getPayType() == null ? other.getPayType() == null : this.getPayType().equals(other.getPayType()))
                && (this.getLaborUnionCard() == null ? other.getLaborUnionCard() == null : this.getLaborUnionCard().equals(other.getLaborUnionCard()))
                && (this.getIntegralNum() == null ? other.getIntegralNum() == null : this.getIntegralNum().equals(other.getIntegralNum()))
                && (this.getDiscountDeductionPrice() == null ? other.getDiscountDeductionPrice() == null : this.getDiscountDeductionPrice().equals(other.getDiscountDeductionPrice()))
                && (this.getIntegralDeductionPrice() == null ? other.getIntegralDeductionPrice() == null : this.getIntegralDeductionPrice().equals(other.getIntegralDeductionPrice()))
                && (this.getPayPrice() == null ? other.getPayPrice() == null : this.getPayPrice().equals(other.getPayPrice()))
                && (this.getOrderPrice() == null ? other.getOrderPrice() == null : this.getOrderPrice().equals(other.getOrderPrice()))
                && (this.getPayRealPrice() == null ? other.getPayRealPrice() == null : this.getPayRealPrice().equals(other.getPayRealPrice()))
                && (this.getPaySerialNo() == null ? other.getPaySerialNo() == null : this.getPaySerialNo().equals(other.getPaySerialNo()))
                && (this.getPayStatus() == null ? other.getPayStatus() == null : this.getPayStatus().equals(other.getPayStatus()))
                && (this.getRechargeStatus() == null ? other.getRechargeStatus() == null : this.getRechargeStatus().equals(other.getRechargeStatus()))
                && (this.getRechargeName() == null ? other.getRechargeName() == null : this.getRechargeName().equals(other.getRechargeName()))
                && (this.getCreateTimed() == null ? other.getCreateTimed() == null : this.getCreateTimed().equals(other.getCreateTimed()))
                && (this.getPayTime() == null ? other.getPayTime() == null : this.getPayTime().equals(other.getPayTime()))
                && (this.getCancelTime() == null ? other.getCancelTime() == null : this.getCancelTime().equals(other.getCancelTime()))
                && (this.getFinishTime() == null ? other.getFinishTime() == null : this.getFinishTime().equals(other.getFinishTime()))
                && (this.getRemarks() == null ? other.getRemarks() == null : this.getRemarks().equals(other.getRemarks()))
                && (this.getOutRefundNo() == null ? other.getOutRefundNo() == null : this.getOutRefundNo().equals(other.getOutRefundNo()))
                && (this.getRefundTime() == null ? other.getRefundTime() == null : this.getRefundTime().equals(other.getRefundTime()))
                && (this.getTpRefundOrderNo() == null ? other.getTpRefundOrderNo() == null : this.getTpRefundOrderNo().equals(other.getTpRefundOrderNo()))
                && (this.getRefundId() == null ? other.getRefundId() == null : this.getRefundId().equals(other.getRefundId()))
                && (this.getRefundFee() == null ? other.getRefundFee() == null : this.getRefundFee().equals(other.getRefundFee()))
                && (this.getAgentKey() == null ? other.getAgentKey() == null : this.getAgentKey().equals(other.getAgentKey()))
                && (this.getObjectId() == null ? other.getObjectId() == null : this.getObjectId().equals(other.getObjectId()))
                && (this.getRechargeType() == null ? other.getRechargeType() == null : this.getRechargeType().equals(other.getRechargeType()))
                && (this.getAbnormalMsg() == null ? other.getAbnormalMsg() == null : this.getAbnormalMsg().equals(other.getAbnormalMsg()))
                && (this.getExt1() == null ? other.getExt1() == null : this.getExt1().equals(other.getExt1()))
                && (this.getExt2() == null ? other.getExt2() == null : this.getExt2().equals(other.getExt2()))
                && (this.getExt3() == null ? other.getExt3() == null : this.getExt3().equals(other.getExt3()))
                && (this.getGoodsId() == null ? other.getGoodsId() == null : this.getGoodsId().equals(other.getGoodsId()))
                && (this.getRechargeContent() == null ? other.getRechargeContent() == null : this.getRechargeContent().equals(other.getRechargeContent()))
                && (this.getCompanyId() == null ? other.getCompanyId() == null : this.getCompanyId().equals(other.getCompanyId()))
                && (this.getMerchId() == null ? other.getMerchId() == null : this.getMerchId().equals(other.getMerchId()))
                && (this.getWhetherRebate() == null ? other.getWhetherRebate() == null : this.getWhetherRebate().equals(other.getWhetherRebate()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
        result = prime * result + ((getType() == null) ? 0 : getType().hashCode());
        result = prime * result + ((getOperatorName() == null) ? 0 : getOperatorName().hashCode());
        result = prime * result + ((getOperatorType() == null) ? 0 : getOperatorType().hashCode());
        result = prime * result + ((getRechargePrice() == null) ? 0 : getRechargePrice().hashCode());
        result = prime * result + ((getOrderNo() == null) ? 0 : getOrderNo().hashCode());
        result = prime * result + ((getChildOrderNo() == null) ? 0 : getChildOrderNo().hashCode());
        result = prime * result + ((getMemDiscountId() == null) ? 0 : getMemDiscountId().hashCode());
        result = prime * result + ((getMemDiscountName() == null) ? 0 : getMemDiscountName().hashCode());
        result = prime * result + ((getUserId() == null) ? 0 : getUserId().hashCode());
        result = prime * result + ((getUserName() == null) ? 0 : getUserName().hashCode());
        result = prime * result + ((getUserPhone() == null) ? 0 : getUserPhone().hashCode());
        result = prime * result + ((getPayType() == null) ? 0 : getPayType().hashCode());
        result = prime * result + ((getLaborUnionCard() == null) ? 0 : getLaborUnionCard().hashCode());
        result = prime * result + ((getIntegralNum() == null) ? 0 : getIntegralNum().hashCode());
        result = prime * result + ((getDiscountDeductionPrice() == null) ? 0 : getDiscountDeductionPrice().hashCode());
        result = prime * result + ((getIntegralDeductionPrice() == null) ? 0 : getIntegralDeductionPrice().hashCode());
        result = prime * result + ((getPayPrice() == null) ? 0 : getPayPrice().hashCode());
        result = prime * result + ((getOrderPrice() == null) ? 0 : getOrderPrice().hashCode());
        result = prime * result + ((getPayRealPrice() == null) ? 0 : getPayRealPrice().hashCode());
        result = prime * result + ((getPaySerialNo() == null) ? 0 : getPaySerialNo().hashCode());
        result = prime * result + ((getPayStatus() == null) ? 0 : getPayStatus().hashCode());
        result = prime * result + ((getRechargeStatus() == null) ? 0 : getRechargeStatus().hashCode());
        result = prime * result + ((getRechargeName() == null) ? 0 : getRechargeName().hashCode());
        result = prime * result + ((getCreateTimed() == null) ? 0 : getCreateTimed().hashCode());
        result = prime * result + ((getPayTime() == null) ? 0 : getPayTime().hashCode());
        result = prime * result + ((getCancelTime() == null) ? 0 : getCancelTime().hashCode());
        result = prime * result + ((getFinishTime() == null) ? 0 : getFinishTime().hashCode());
        result = prime * result + ((getRemarks() == null) ? 0 : getRemarks().hashCode());
        result = prime * result + ((getOutRefundNo() == null) ? 0 : getOutRefundNo().hashCode());
        result = prime * result + ((getRefundTime() == null) ? 0 : getRefundTime().hashCode());
        result = prime * result + ((getTpRefundOrderNo() == null) ? 0 : getTpRefundOrderNo().hashCode());
        result = prime * result + ((getRefundId() == null) ? 0 : getRefundId().hashCode());
        result = prime * result + ((getRefundFee() == null) ? 0 : getRefundFee().hashCode());
        result = prime * result + ((getAgentKey() == null) ? 0 : getAgentKey().hashCode());
        result = prime * result + ((getObjectId() == null) ? 0 : getObjectId().hashCode());
        result = prime * result + ((getRechargeType() == null) ? 0 : getRechargeType().hashCode());
        result = prime * result + ((getAbnormalMsg() == null) ? 0 : getAbnormalMsg().hashCode());
        result = prime * result + ((getExt1() == null) ? 0 : getExt1().hashCode());
        result = prime * result + ((getExt2() == null) ? 0 : getExt2().hashCode());
        result = prime * result + ((getExt3() == null) ? 0 : getExt3().hashCode());
        result = prime * result + ((getGoodsId() == null) ? 0 : getGoodsId().hashCode());
        result = prime * result + ((getRechargeContent() == null) ? 0 : getRechargeContent().hashCode());
        result = prime * result + ((getCompanyId() == null) ? 0 : getCompanyId().hashCode());
        result = prime * result + ((getMerchId() == null) ? 0 : getMerchId().hashCode());
        result = prime * result + ((getWhetherRebate() == null) ? 0 : getWhetherRebate().hashCode());
        return result;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", type=").append(type);
        sb.append(", operatorName=").append(operatorName);
        sb.append(", operatorType=").append(operatorType);
        sb.append(", rechargePrice=").append(rechargePrice);
        sb.append(", orderNo=").append(orderNo);
        sb.append(", childOrderNo=").append(childOrderNo);
        sb.append(", memDiscountId=").append(memDiscountId);
        sb.append(", memDiscountName=").append(memDiscountName);
        sb.append(", userId=").append(userId);
        sb.append(", userName=").append(userName);
        sb.append(", userPhone=").append(userPhone);
        sb.append(", payType=").append(payType);
        sb.append(", laborUnionCard=").append(laborUnionCard);
        sb.append(", integralNum=").append(integralNum);
        sb.append(", discountDeductionPrice=").append(discountDeductionPrice);
        sb.append(", integralDeductionPrice=").append(integralDeductionPrice);
        sb.append(", payPrice=").append(payPrice);
        sb.append(", orderPrice=").append(orderPrice);
        sb.append(", payRealPrice=").append(payRealPrice);
        sb.append(", paySerialNo=").append(paySerialNo);
        sb.append(", payStatus=").append(payStatus);
        sb.append(", rechargeStatus=").append(rechargeStatus);
        sb.append(", rechargeName=").append(rechargeName);
        sb.append(", createTimed=").append(createTimed);
        sb.append(", payTime=").append(payTime);
        sb.append(", cancelTime=").append(cancelTime);
        sb.append(", finishTime=").append(finishTime);
        sb.append(", remarks=").append(remarks);
        sb.append(", outRefundNo=").append(outRefundNo);
        sb.append(", refundTime=").append(refundTime);
        sb.append(", tpRefundOrderNo=").append(tpRefundOrderNo);
        sb.append(", refundId=").append(refundId);
        sb.append(", refundFee=").append(refundFee);
        sb.append(", agentKey=").append(agentKey);
        sb.append(", objectId=").append(objectId);
        sb.append(", rechargeType=").append(rechargeType);
        sb.append(", abnormalMsg=").append(abnormalMsg);
        sb.append(", ext1=").append(ext1);
        sb.append(", ext2=").append(ext2);
        sb.append(", ext3=").append(ext3);
        sb.append(", goodsId=").append(goodsId);
        sb.append(", rechargeContent=").append(rechargeContent);
        sb.append(", companyId=").append(companyId);
        sb.append(", merchId=").append(merchId);
        sb.append(", whetherRebate=").append(whetherRebate);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}
