package cn.newfeifan.mall.module.distri.mq.message.order;

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

import java.util.Objects;

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class DistriOrderMessage {


    /**
     * 总价
     */
    private Long totalPrice;
    /**
     * 单笔订单的购买数量
     */
    private Integer count;

    /**
     * 单价
     */
    private Long price;
    /**
     * 购买数量
     */
    private Integer productCount;
    /**
     * 成本价
     */
    private Long costPrice;

    /**
     * 用户名称
     */
    private String name;

    /**
     * 用户昵称
     */
    private String nickName;
    /**
     * 订单编号
     */
    private String no;

    /**
     * 下单用户Id
     */
    private Long userId;

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

    /**
     * 商户ID
     */
    private Long merchantId;
    /**
     * 订单ID
     */
    private Long orderId;

    /**
     * 订单明细ID
     */
    private Long orderItemId;

    /**
     * 用户自得积分
     */
    private Long increaseIntegral;

    /**
     * 推荐用户获得积分
     */
    private Long ancestorIncreaseIntegral;

    /**
     * 用户获得冻结最大可用额度
     */
    private Long freezeHighQuota;


    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        DistriOrderMessage item = (DistriOrderMessage) o;
        return orderId.equals(item.orderId);
    }

    @Override
    public int hashCode() {
        return Objects.hash(orderId);
    }

}
