package com.erp.inventory.event;

import lombok.Data;
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;

/**
 * 库存变更事件
 * 当库存发生入库、出库、调整等变化时发布此事件
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class StockChangedEvent {

    /**
     * SKU编码
     */
    private String skuCode;

    /**
     * SKU名称
     */
    private String skuName;

    /**
     * 仓库ID
     */
    private Long warehouseId;

    /**
     * 变更类型：inbound、outbound、adjust
     */
    private String changeType;

    /**
     * 变更数量（正数为入库，负数为出库）
     */
    private Integer changeQuantity;

    /**
     * 变更前库存
     */
    private Integer oldQuantity;

    /**
     * 变更后库存
     */
    private Integer newQuantity;
}
