package com.tashow.cloud.trade.controller.admin.aftersale.vo;

// 移除Swagger相关导入

import com.tashow.cloud.common.pojo.PageParam;
import com.tashow.cloud.common.validation.InEnum;
import com.tashow.cloud.tradeapi.enums.aftersale.AfterSaleStatusEnum;
import com.tashow.cloud.tradeapi.enums.aftersale.AfterSaleTypeEnum;
import com.tashow.cloud.tradeapi.enums.aftersale.AfterSaleWayEnum;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDateTime;

import static com.tashow.cloud.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;


// 管理后台 - 交易售后分页 Request VO
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class AfterSalePageReqVO extends PageParam {

    // 用户编号 - 示例: 1024
    private Long userId;

    // 售后流水号 - 示例: 202211190847450020500077
    private String no;

    // 售后状态 - 示例: 10
    @InEnum(value = AfterSaleStatusEnum.class, message = "售后状态必须是 {value}")
    private Integer status;

    // 售后类型 - 示例: 20
    @InEnum(value = AfterSaleTypeEnum.class, message = "售后类型必须是 {value}")
    private Integer type;

    // 售后方式 - 示例: 10
    @InEnum(value = AfterSaleWayEnum.class, message = "售后方式必须是 {value}")
    private Integer way;

    // 订单编号 - 示例: 18078
    private String orderNo;

    // 商品 SPU 名称 - 示例: 李四
    private String spuName;

    // 创建时间
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] createTime;

}
