
package com.czg.market.dto;

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

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 充值配置表 实体类。
 *
 * @author zs
 * @since 2025-09-16
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class MkShopRechargeDTO implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

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


    /**
     * 可用分店id
     */
    private List<Long> shopIdList;

    /**
     * all 全部可用 part部分门店可用
     */
    @NotEmpty(message = "可用类型不能为空")
    private String useType;

    /**
     * 是否自定义金额
     */
    @NotNull(message = "是否自定义金额不能为空")
    private Integer isCustom;

    /**
     * 充值并下单
     */
    @NotNull(message = "充值并下单不能为空")
    private Integer isOrder;

    /**
     * 充值说明
     */
    @NotBlank(message = "充值说明不能为空")
    @Size(max = 250, message = "最大长度为250")
    private String remark;

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

    /**
     * 充值面额
     */
    private List<MkShopRechargeDetailDTO> rechargeDetailList;

}
