package com.yiqi.app.domain.vo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.yiqi.common.annotation.Excel;
import com.yiqi.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;

@ApiModel("统计-消费明细对象")
@Data
public class AppUserBillMstrQueryByCountUseVO extends BaseEntity {
    private static final long serialVersionUID = 1L;

    @ApiModelProperty("主键ID")
    @TableId(type = IdType.AUTO)
    private Long id;

    @ApiModelProperty("充值卡ID")
    private Long rechargeCardId;

    /**
     * 账单标题
     */
    @Excel(name = "账单标题")
    @ApiModelProperty("账单标题")
    private String title;

    /**
     * 账单内容
     */
    @Excel(name = "账单内容")
    @ApiModelProperty("账单内容")
    private String content;

    @ApiModelProperty("订单ID")
    private Long orderId;

    /**
     * 订单编号
     */
    @Excel(name = "订单编号")
    @ApiModelProperty("订单编号")
    private String orderNo;

    /**
     * 订单类型（0洗衣订单，1商品订单，2生活服务订单，3汽车美容订单，4充值订单）
     */
    @Excel(name = "订单类型", readConverterExp = "0=洗衣订单，1商品订单，2生活服务订单，3汽车美容订单，4充值订单")
    @ApiModelProperty("订单类型（0洗衣订单，1商品订单，2生活服务订单，3汽车美容订单，4充值订单）")
    private String orderType;

    @ApiModelProperty("支付方式（0微信，1支付宝，2现金，3余额，4分段付）")
    private String payType;

    @ApiModelProperty("客户ID")
    private Long appUserId;

    @ApiModelProperty("组织ID")
    private Long orgId;

    @ApiModelProperty("来源类型")
    private String sourceType;

    @ApiModelProperty("账单类型（0=支出，1=充值）")
    private String billType;

    @ApiModelProperty("支付总金额")
    private BigDecimal payTotalAmount;

    @ApiModelProperty("现金支付金额")
    private BigDecimal cashPayAmount;

    @ApiModelProperty("充值余额支付金额")
    private BigDecimal rechargePayAmount;

    @ApiModelProperty("赠送余额支付金额")
    private BigDecimal givePayAmount;

    @ApiModelProperty("福利金余额支付金额")
    private BigDecimal welfarePayAmount;

    @ApiModelProperty("获取积分")
    private Integer receivePoint;

    @ApiModelProperty("消费积分")
    private Integer usePoint;

    @ApiModelProperty("是否为退款")
    private String isRefund;


}
