/*
 *      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.sing.yeepay.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.mp.base.BaseEntity;
import org.springblade.sing.yeepay.enums.YeepayOrderPayStatus;

import java.math.BigDecimal;

/**
 * 实体类
 *
 * @author BladeX
 * @since 2021-12-16
 */
@Data
@TableName("sing_yeepay_order")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "YeepayOrder对象", description = "YeepayOrder对象")
public class YeepayOrder extends BaseEntity {

	private static final long serialVersionUID = 1L;

	/**
	 * 作品id
	 */
	@ApiModelProperty(value = "作品id")
	private Long productId;
	/**
	 * 助力商品id
	 */
	@ApiModelProperty(value = "助力商品id")
	private Long helpGoodsId;
	/**
	 * 活动id
	 */
	@ApiModelProperty(value = "活动id")
	private Long activeId;
	/**
	 * 用户id
	 */
	@ApiModelProperty(value = "用户id")
	private Long userId;
	/**
	 * 助力商品名
	 */
	@ApiModelProperty(value = "助力商品名")
	private String helpGoodsName;
	/**
	 * 支付金额
	 */
	@ApiModelProperty(value = "支付金额")
	private BigDecimal amount;
	/**
	 * 用户电话
	 */
	@ApiModelProperty(value = "用户电话")
	private String phone;
	/**
	 * 支付状态
	 */
	@ApiModelProperty(value = "支付状态")
	private YeepayOrderPayStatus payStatus;
	/**
	 * 积分商品id
	 */
	@ApiModelProperty(value = "积分商品id")
	private Long pointGoodsId;
	/**
	 * 积分商品名
	 */
	@ApiModelProperty(value = "积分商品名")
	private String pointGoodsName;
	/**
	 * 备注
	 */
	@ApiModelProperty(value = "备注")
	private String note;
	/**
	 * 回调地址
	 */
	@ApiModelProperty(value = "回调地址")
	private String callbackUrl;
	/**
	 * 兑换数量
	 */
	@ApiModelProperty(value = "兑换数量")
	private Integer num;
	/**
	 * 易宝收款订单号
	 */
	@ApiModelProperty(value = "易宝收款订单号")
	private String uniqueOrderNo;
	/**
	 * 订单二维码
	 */
	@ApiModelProperty(value = "订单二维码")
	private String qrCodeUrl;
	/**
	 * 支付机构在微信侧的外部商户订单号，用于服务商用于点金计划商户小票功能
	 */
	@ApiModelProperty(value = "支付机构在微信侧的外部商户订单号，用于服务商用于点金计划商户小票功能")
	private String bankOrderId;
	/**
	 * 预支付标识信息
	 */
	@ApiModelProperty(value = "预支付标识信息")
	private String prePayTn;

	/**
	 * 地址id
	 */
	@ApiModelProperty(value = "地址id")
	private Long addressId;

	/**
	 * 所需积分
	 */
	@ApiModelProperty(value = "地址id")
	private BigDecimal UsePoint;

	/**
	 * 回调密文
	 */
	@ApiModelProperty(value = "回调密文")
	private String cipherText;

	/**
	 * 回调密文
	 */
	@ApiModelProperty(value = "用户IP地址")
	private String ip;

	/**
	 * 用户openId
	 */
	@ApiModelProperty(value = "用户openId")
	private String openId;
}
