package com.ruoyi.dashboard.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonView;
import com.ruoyi.common.core.domain.JsonViewProfile;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 分时账单统计
 * @author 辉
 * 2024/3/7
 */
@Data
public class BillCountVo {

    @JsonInclude(JsonInclude.Include.NON_NULL)
    @JsonView(JsonViewProfile.AppMch.class)
    @ApiModelProperty("年")
    private Integer createYear;  // 年

    @JsonInclude(JsonInclude.Include.NON_NULL)
    @JsonView(JsonViewProfile.AppMch.class)
    @ApiModelProperty("月")
    private Integer createMonth;  // 月

    @JsonInclude(JsonInclude.Include.NON_NULL)
    @JsonView(JsonViewProfile.AppMch.class)
    @ApiModelProperty("日")
    private Integer createDay;  // 日

    @JsonInclude(JsonInclude.Include.NON_NULL)
    @JsonView(JsonViewProfile.AppMch.class)
    @ApiModelProperty("日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date createDate;      // 日期

    @JsonInclude(JsonInclude.Include.NON_NULL)
    @JsonView(JsonViewProfile.AppMch.class)
    @ApiModelProperty("年月")
    private String createYearMonth; // 年月

    @JsonInclude(JsonInclude.Include.NON_NULL)
    @JsonView(JsonViewProfile.AppMch.class)
    @ApiModelProperty("时间（小时）")
    private Integer createHour;   // 时间（小时）

    @JsonInclude(JsonInclude.Include.NON_NULL)
    @ApiModelProperty("店铺id")
    private Long storeId;

    @JsonInclude(JsonInclude.Include.NON_NULL)
    @ApiModelProperty("设备id")
    private Long deviceId;

    @JsonInclude(JsonInclude.Include.NON_NULL)
    @JsonView(JsonViewProfile.AppMch.class)
    @ApiModelProperty("充值金额(收入)")
    private BigDecimal recharge;    // 充值金额

    @JsonInclude(JsonInclude.Include.NON_NULL)
    @ApiModelProperty("提现金额")
    private BigDecimal withdraw;    // 提现金额

    @JsonInclude(JsonInclude.Include.NON_NULL)
    @ApiModelProperty("服务费")
    private BigDecimal serviceCharge;

    @JsonInclude(JsonInclude.Include.NON_NULL)
    @ApiModelProperty("渠道成本")
    private BigDecimal channelCost;

    @JsonInclude(JsonInclude.Include.NON_NULL)
    @ApiModelProperty("利润")
    private BigDecimal profit;

    @JsonInclude(JsonInclude.Include.NON_NULL)
    @ApiModelProperty("数量")
    private Integer count;

    @JsonInclude(JsonInclude.Include.NON_NULL)
    @ApiModelProperty("订单金额")
    private BigDecimal rechargeAmount;
}
