package com.yc.ship.module.trade.controller.admin.contract.vo;

import com.yc.ship.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDateTime;

import static com.yc.ship.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;


@Schema(description = "管理后台 - 合同分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class ContractPageReqVO extends PageParam {

    @Schema(description = "明细ID", example = "27824")
    private Long orderId;

    @Schema(description = "明细ID", example = "27824")
    private String orderNo;

    @Schema(description = "合同编号")
    private String contractNo;

    @Schema(description = "自定义合同编号", example = "19023")
    private String erpContractId;

    @Schema(description = "合同文件地址", example = "https://www.iocoder.cn")
    private String contractUrl;

    @Schema(description = "状态 0:签订中 1:已签订 2:作废中 3:已作废", example = "1")
    private Integer status;

    @Schema(description = "游客数量", example = "3382")
    private Integer touristsCount;

    @Schema(description = "签订人姓名", example = "芋艿")
    private String signerName;

    @Schema(description = "签订人手机号")
    private String signerMobile;

    @Schema(description = "签订时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] signingTime;

    @Schema(description = "经办人姓名", example = "张三")
    private String operateName;

    @Schema(description = "经办人手机号")
    private String operateMobile;

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

}