package com.ruoyi.ss.bonus.domain;

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

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 分成明细对象 ss_bonus
 *
 * @author ruoyi
 * @date 2024-08-20
 */
@Data
public class Bonus extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    private Long id;

    @Excel(name = "订单ID")
    @ApiModelProperty("订单ID")
    @JsonView(JsonViewProfile.AppMch.class)
    private Long billId;

    @Excel(name = "订单编号")
    @ApiModelProperty("订单编号")
    @JsonView(JsonViewProfile.AppMch.class)
    private String billNo;

    @Excel(name = "状态")
    @ApiModelProperty("状态")
    @JsonView(JsonViewProfile.AppMch.class)
    private String status;

    @Excel(name = "收款方ID")
    @ApiModelProperty("收款方ID")
    @JsonView(JsonViewProfile.AppMch.class)
    private Long arrivalId;

    @Excel(name = "收款方名称")
    @ApiModelProperty("收款方名称")
    @JsonView(JsonViewProfile.AppMch.class)
    private String arrivalName;

    @Excel(name = "收款方类型")
    @ApiModelProperty("收款方类型")
    @JsonView(JsonViewProfile.AppMch.class)
    private String arrivalType;

    @Excel(name = "收款比例")
    @ApiModelProperty("收款比例")
    @JsonView(JsonViewProfile.AppMch.class)
    private BigDecimal point;

    @Excel(name = "收款金额")
    @ApiModelProperty("收款金额")
    @JsonView(JsonViewProfile.AppMch.class)
    private BigDecimal amount;

    @Excel(name = "退款金额")
    @ApiModelProperty("退款金额")
    @JsonView(JsonViewProfile.AppMch.class)
    private BigDecimal refundAmount;

    @Excel(name = "收款方祖级列表")
    @ApiModelProperty("收款方祖级列表")
    private String ancestors;

    @Excel(name = "收款方部门")
    @ApiModelProperty("收款方部门")
    private Long deptId;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "实际分成时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("实际分成时间")
    @JsonView(JsonViewProfile.AppMch.class)
    private LocalDateTime payTime;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "预计分成时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("预计分成时间")
    @JsonView(JsonViewProfile.AppMch.class)
    private LocalDateTime prePayTime;

    @Excel(name = "已分成金额")
    @ApiModelProperty("已分成金额")
    private BigDecimal payedAmount;

    @Excel(name = "待分成金额")
    @ApiModelProperty("待分成金额")
    private BigDecimal waitAmount;

}
