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

// 移除Swagger相关导入

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.tashow.cloud.common.enums.TerminalEnum;
import com.tashow.cloud.common.util.json.databind.StringLocalDateTimeSerializer;
import com.tashow.cloud.tradeapi.enums.order.TradeOrderStatusEnum;
import com.tashow.cloud.tradeapi.enums.order.TradeOrderTypeEnum;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * 交易订单 Base VO，提供给添加、修改、详细的子 VO 使用
 */
@Data
public class TradeOrderBaseVO {

    // 订单编号
    private Long id;

    // 订单编号
    private String orderNum;

    /**
     * 订单类型
     * {@link TradeOrderTypeEnum#getType()}
     */
    private Integer orderType;

    /**
     * 订单来源
     * {@link TerminalEnum#getTerminal()}
     */
    private Integer orderTerminal;
    /**
     * 订单状态
     * {@link TradeOrderStatusEnum#getStatus()}
     */
    private Integer orderStatus;

    // 用户编号
    private Long userId;
    // 用户姓名
    private String userName;
    //用户昵称
    private String userNickName;
    // 用户头像
    private String userAvatar;
    //用户手机号
    private String userMobile;
    // 用户备注 - 必填，示例：你猜
    private String userRemark;

    // 下单时间
    @JsonSerialize(using = StringLocalDateTimeSerializer.class)
    private LocalDateTime createTime;
    // 订单完成时间
    @JsonSerialize(using = StringLocalDateTimeSerializer.class)
    private LocalDateTime finishTime;

}
