/*
 *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
 *
 *  Redistribution and use in source and binary forms, with or without
 *  modification, are permitted provided that the following conditions are met:
 *
 *  Redistributions of source code must retain the above copyright notice,
 *  this list of conditions and the following disclaimer.
 *  Redistributions in binary form must reproduce the above copyright
 *  notice, this list of conditions and the following disclaimer in the
 *  documentation and/or other materials provided with the distribution.
 *  Neither the name of the dreamlu.net developer nor the names of its
 *  contributors may be used to endorse or promote products derived from
 *  this software without specific prior written permission.
 *  Author: Chill 庄骞 (smallchill@163.com)
 */
package org.springblade.modules.guosen.billRecord.entity;

import java.math.BigDecimal;
import java.util.List;

import com.baomidou.mybatisplus.annotation.TableName;
import org.springblade.core.mp.base.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.springblade.modules.guosen.bussinessGoods.entity.BussinessGoods;

/**
 * 实体类
 *
 * @author BladeX
 * @since 2021-07-06
 */
@Data
@TableName("cyzh_bill_record")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "BillRecord对象", description = "BillRecord对象")
public class BillRecord extends BaseEntity {

	private static final long serialVersionUID = 1L;

	/**
	* 用户id
	*/
		@ApiModelProperty(value = "用户id")
		private Long userId;
	/**
	* openId
	*/
		@ApiModelProperty(value = "openId")
		private String openId;
	/**
	* 活动id
	*/
		@ApiModelProperty(value = "活动id")
		private Long activityId;
	/**
	* 支付页
	*/
		@ApiModelProperty(value = "支付页")
		private String payPath;
	/**
	* 价格
	*/
		@ApiModelProperty(value = "价格")
		private BigDecimal price;
	/**
	* 礼物id
	*/
		@ApiModelProperty(value = "礼物id")
		private Long presentId;
	/**
	* 订单礼物的数量
	*/
		@ApiModelProperty(value = "订单礼物的数量")
		private Integer presentCount;
	/**
	* 1：作品打赏 2：作者打赏 3：积分商品购买 4:代理费 5:采购商
	*/
		@ApiModelProperty(value = "1：作品打赏 2：作者打赏 3：积分商品购买 4:代理费 5:采购商")
		private Integer type;
	/**
	* 支付状态。0：待付款 1：已付款 2：已取消
	*/
		@ApiModelProperty(value = "支付状态。0：待付款 1：已付款 2：已取消 3：失败")
		private Integer payStatus;
	/**
	* type1 productionId ;2 userid 3:userpointsId
	*/
		@ApiModelProperty(value = "type1 productionId ;2 userid 3:userpointsId")
		private Long relationId;

	private BigDecimal pointsValue;

	private BigDecimal hotValue;
	/**
	* 唯一的订单号
	*/
		@ApiModelProperty(value = "唯一的订单号")
		private String uniqueOrderNo;
	/**
	* bank_orderId
	*/
		@ApiModelProperty(value = "bank_orderId")
		private String bankOrderId;
	/**
	* 渠道
	*/
		@ApiModelProperty(value = "渠道")
		private String channel;
	/**
	* 付款方式
	*/
		@ApiModelProperty(value = "付款方式")
		private String payWay;
	/**
	* 订单id
	*/
		@ApiModelProperty(value = "订单id")
		private String orderId;
	/**
	* 渠道订单id
	*/
		@ApiModelProperty(value = "渠道订单id")
		private String channelOrderId;
	/**
	* 付款价格
	*/
		@ApiModelProperty(value = "付款价格")
		private String payAmount;
	/**
	* 易支付返回的支付状态
	*/
		@ApiModelProperty(value = "易支付返回的支付状态")
		private String yeePayStatus;
	/**
	* 实际付款价格
	*/
		@ApiModelProperty(value = "实际付款价格")
		private String realPayAmount;
	/**
	* parent_merchant_no
	*/
		@ApiModelProperty(value = "parent_merchant_no")
		private String parentMerchantNo;
	/**
	* merchant_no
	*/
		@ApiModelProperty(value = "merchant_no")
		private String merchantNo;
	/**
	* 付款成功的时间
	*/
		@ApiModelProperty(value = "付款成功的时间")
		private String paySuccessDate;
	/**
	* 付款人信息
	*/
		@ApiModelProperty(value = "付款人信息")
		private String payerInfo;

	/**
	 * 采购商充值服务费
	 */
	@ApiModelProperty(value = "采购商充值服务费")
	private BigDecimal bussinessFee;

	@ApiModelProperty(value = "支付日志")
	private String thirdPayLog;

	@ApiModelProperty(value = "失败原因")
	private String failReason;

	@ApiModelProperty(value = "汇款备注码")
	private String remitComment;

	/**
	 * 第三方充值单号
	 */
	@ApiModelProperty(value = "")
	private String thirdOrderNo;


}
