package cn.newfeifan.mall.module.trade.controller.app.ptsettlement.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import javax.validation.constraints.*;
import java.math.BigDecimal;

@Schema(description = "用户 APP - 平台每日结算信息表，记录店铺的结算信息新增/修改 Request VO")
@Data
public class AppPtSettlementSaveReqVO {

    @Schema(description = "结算id", requiredMode = Schema.RequiredMode.REQUIRED, example = "2104")
    private Long id;

    @Schema(description = "销售额（积分 + 支付金额）", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "销售额（积分 + 支付金额）不能为空")
    private Integer platformCollectionAmount;

    @Schema(description = "共计成本价格(高精度 + 成本)")
    private BigDecimal shopTotalHighAmount;

    @Schema(description = "是否结账")
    private Boolean platformTransferConfirm;

    @Schema(description = "抵扣积分", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "抵扣积分不能为空")
    private Long shopAmount;

    @Schema(description = "结算单状态 0:未完成 , 1:已完成 , 2:部分完成 , 3:全部失败", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
    @NotNull(message = "结算单状态 0:未完成 , 1:已完成 , 2:部分完成 , 3:全部失败不能为空")
    private Integer status;

    @Schema(description = "导出状态,已导出是1，未导出为0", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @NotNull(message = "导出状态,已导出是1，未导出为0不能为空")
    private Boolean exportStatus;

    @Schema(description = "抵扣消费分", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "抵扣消费分不能为空")
    private Long consumptionPoints;

}