package com.czg.order.param;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.time.LocalDate;

/**
 * 财务报表查询参数
 * @author yjjie
 * @date 2026/2/2 10:23
 */
@Data
public class FinanceStsQueryParam implements Serializable {

    public interface Query {}
    public interface Export {}

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 查询日期 格式：yyyy-MM-dd
     */
    @NotNull(message = "查询日期不能为空", groups = {Export.class, Query.class})
    private LocalDate queryDate;

    /**
     *  平台
     *  czg     自己
     *  MTuan   美团
     *  CMeMe   菜么么
     *  KRuYun  客如云
     */
    @NotBlank(message = "平台不能为空", groups = {Export.class})
    private String platform;

    /**
     * 店铺id
     */
    private Long shopId;
    /**
     * 主店id
     */
    private Long mainShopId;

    public boolean notValidDateRange() {
        if (queryDate == null) {
            return true;
        }

        // 检查开始日期是否晚于结束日期
        return queryDate.isAfter(LocalDate.now());
    }

}