package com.jeesharp.business.modules.mall.dto;

import com.jeesharp.framework.pojo.dto.BaseSaveDTO;
import lombok.Data;
import lombok.EqualsAndHashCode;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import java.util.Date;

/**
 * 订单状态日志保存DTO
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class MallOrderLogSaveDTO extends BaseSaveDTO {

    /**
     * 订单ID
     */
    @NotBlank(message = "订单ID不能为空")
    private String orderId;

    /**
     * 订单编号
     */
    private String orderNo;

    /**
     * 变更前状态：0-待支付 1-待发货 2-待收货 3-已完成 4-已取消 5-退款中
     */
    @NotNull(message = "变更前状态不能为空")
    private Integer beforeStatus;

    /**
     * 变更后状态：0-待支付 1-待发货 2-待收货 3-已完成 4-已取消 5-退款中
     */
    @NotNull(message = "变更后状态不能为空")
    private Integer afterStatus;

    /**
     * 操作类型：SYSTEM-系统自动 USER-用户操作 ADMIN-管理员操作
     */
    @NotBlank(message = "操作类型不能为空")
    private String operateType;

    /**
     * 操作人ID
     */
    private String operatorId;

    /**
     * 操作人姓名
     */
    private String operatorName;

    /**
     * 操作备注
     */
    private String remark;
}
