/*
 * Copyright (c) 2018-2999 广州亚米信息科技有限公司 All rights reserved.
 *
 * https://www.gz-yami.com/
 *
 * 未经允许，不可做商业用途！
 *
 * 版权所有，侵权必究！
 */

package com.yami.shop.bean.param;

import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import javax.print.DocFlavor;
import java.util.Date;
import java.util.List;

@Data
public class BackendOrderParam {

    /**
     * 开始时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date startTime;

    /**
     * 结束时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;

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

    /**
     * 父订单编号
     */
    private String parentOrderNumber;

    /**
     * 订购流水号
     */
    private String orderNumber;

    @ApiModelProperty("全部-all " +
            "待支付-paddingPay(0) " +
            "待发货-paddingShipped(1) " +
            "待收货-paddingReceived(20 30 40 70) " +
            "已完成-completed(80) " +
            "已取消-cancel(60)")
    /**
     * 海博订单状态：0-待支付,
     * 1-待发货(快递使用),
     * 20-订单已接单(待拣货),
     * 30-订单待配送（拣货完成/自提类订单为待自提）,
     * 40-订单配送中 ,
     * 50-订单取消待审核,
     * 60-订单已取消,
     * 70-订单已送达,
     * 80-订单已完成
     */
    private String orderStatus;

    /**
     * 收货人姓名
     */
    private String receiver;

    /**
     * 收货人手机号
     */
    private String userMobile;

    /**
     * 订单退款状态参考refundStatus（1:申请退款 2:退款成功 3:部分退款成功 4:退款失败）
     */
    private Integer refundStatus;

    /**
     * 订单退款状态参考refundStatus（配送类型 1:快递 2:自提 3：及时配送）
     */
    private String dvyType;

    /**
     * 企业ID列表
     */
    private List<Long> channelIdList;
    /**
     * 20251203 v1.1.3
     * 人员属性 0-全部 1-正常人员 2-测试人员
     */
    private String userAttrType;



    /**
     * 是否为超重订单（0-未超重，1-超重 ）
     */
    private Integer orderSplitStatus;
    /**
     * 是否自动拆单(0-手动拆单，1-自动拆单)
     */
    private Integer autoSplit;
    /**
     * 是否需要拆单（0-拆单临时保存，1-不拆单，2-待拆单，3-拆单中，4-已拆单）
     */
    private Integer splitStatus;
    /**
     * 订单等级（0-父订单，1-子订单）
     */
    private Integer orderLevel;
}
