
package com.czg.market.dto;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import com.alibaba.fastjson2.annotation.JSONField;
import java.io.Serial;
import java.util.List;

import com.czg.constant.TableValueConstant;
import com.czg.market.entity.MkConsumeDiscountRandom;
import com.czg.validator.group.UpdateGroup;
import jakarta.validation.constraints.DecimalMin;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 新客立减 实体类。
 *
 * @author zs
 * @since 2025-09-16
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class MkConsumeDiscountDTO implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * ID
     */
    @NotNull(message = "id不为空")
    private Long id;

    /**
     * 是否开启
     */
    @NotNull(message = "是否开启不为空")
    private Integer isEnable;

    /**
     * 固定 FIXED 随机 RANDOM
     */
    @NotEmpty(message = "减免类型不为空")
    private String discountType;

    /**
     * 固定减免金额
     */
    private BigDecimal discountAmount;

    /**
     * 随机减免规则
     */
    private List<MkConsumeDiscountRandom> randomDiscountList;

    /**
     * 用餐模式 堂食 dine-in  外带 take-out 外卖 take-away
     */
    private List<String> useTypeList;


    private LocalDateTime startTime;
    private LocalDateTime endTime;

}
