package com.jeesharp.business.modules.mall.dto;

import com.jeesharp.framework.pojo.dto.BaseSaveDTO;
import lombok.Data;
import lombok.EqualsAndHashCode;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import java.math.BigDecimal;

/**
 * 消费赠送配置保存DTO
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class MallRewardLevelConfigSaveDTO extends BaseSaveDTO {

    /**
     * 会员等级编码（'DEFAULT'表示默认配置）
     */
    @NotBlank(message = "会员等级编码不能为空")
    private String memberLevelCode;

    /**
     * 是否启用积分赠送：0-不发放 1-启用
     */
    @NotNull(message = "积分赠送开关不能为空")
    private Integer pointsEnabled;

    /**
     * 是否启用金币赠送：0-不发放 1-启用
     */
    @NotNull(message = "金币赠送开关不能为空")
    private Integer coinsEnabled;

    /**
     * 每消费1元赠送积分数
     */
    private BigDecimal pointsPerYuan;

    /**
     * 每消费1元赠送金币数
     */
    private BigDecimal coinsPerYuan;

    /**
     * 排序号
     */
    private Integer sortOrder;

    /**
     * 状态：0-禁用 1-启用
     */
    @NotNull(message = "状态不能为空")
    private Integer status;
}
