package com.bonus.canteen.core.order.domain;

import java.util.Date;

import com.bonus.common.core.annotation.Excel;
import com.bonus.common.core.web.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 订单购物车对象 order_shopping_cart
 * 
 * @author ruoyi
 * @date 2025-04-14
 */
public class OrderShoppingCart extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long shoppingCartId;

    /** 人员id */
    @Excel(name = "人员id")
    private Long userId;

    /** 菜谱id */
    @Excel(name = "菜谱id")
    private Long menuId;

    /** 食堂id */
    @Excel(name = "食堂id")
    private Long canteenId;

    /** 档口id */
    @Excel(name = "档口id")
    private Long stallId;

    /** 商品菜品id */
    @Excel(name = "商品菜品id")
    private Long goodsId;

    /** 商品菜品名称 */
    @Excel(name = "商品菜品名称")
    private String goodsName;

    /** 商品菜品图片路径 */
    @Excel(name = "商品菜品图片路径")
    private String goodsImgUrl;

    /** 数量/重量 */
    @Excel(name = "数量/重量")
    private Integer quantity;

    /** 订单类型 */
    @Excel(name = "订单类型")
    private Integer orderType;

    /** 明细类别 1 菜品 2 套餐 3 商品 4 按键 5 补扣 6 报餐 */
    @Excel(name = "明细类别 1 菜品 2 套餐 3 商品 4 按键 5 补扣 6 报餐")
    private Integer detailType;

    /** 订单日期 yyyy-MM-dd */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @Excel(name = "订单日期 yyyy-MM-dd", width = 30, dateFormat = "yyyy-MM-dd")
    private Date orderDate;

    /** 餐次类型 1-早餐 2-午餐 3-晚餐 4-下午茶 5-夜宵 */
    @Excel(name = "餐次类型 1-早餐 2-午餐 3-晚餐 4-下午茶 5-夜宵")
    private Integer mealtimeType;

    public void setShoppingCartId(Long shoppingCartId) 
    {
        this.shoppingCartId = shoppingCartId;
    }

    public Long getShoppingCartId() 
    {
        return shoppingCartId;
    }

    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }

    public void setMenuId(Long menuId) 
    {
        this.menuId = menuId;
    }

    public Long getMenuId() 
    {
        return menuId;
    }

    public void setCanteenId(Long canteenId) 
    {
        this.canteenId = canteenId;
    }

    public Long getCanteenId() 
    {
        return canteenId;
    }

    public void setStallId(Long stallId) 
    {
        this.stallId = stallId;
    }

    public Long getStallId() 
    {
        return stallId;
    }

    public void setGoodsId(Long goodsId) 
    {
        this.goodsId = goodsId;
    }

    public Long getGoodsId() 
    {
        return goodsId;
    }

    public void setGoodsName(String goodsName) 
    {
        this.goodsName = goodsName;
    }

    public String getGoodsName() 
    {
        return goodsName;
    }

    public void setGoodsImgUrl(String goodsImgUrl) 
    {
        this.goodsImgUrl = goodsImgUrl;
    }

    public String getGoodsImgUrl() 
    {
        return goodsImgUrl;
    }

    public void setQuantity(Integer quantity)
    {
        this.quantity = quantity;
    }

    public Integer getQuantity()
    {
        return quantity;
    }

    public void setOrderType(Integer orderType)
    {
        this.orderType = orderType;
    }

    public Integer getOrderType()
    {
        return orderType;
    }

    public void setDetailType(Integer detailType)
    {
        this.detailType = detailType;
    }

    public Integer getDetailType()
    {
        return detailType;
    }

    public void setOrderDate(Date orderDate) 
    {
        this.orderDate = orderDate;
    }

    public Date getOrderDate() 
    {
        return orderDate;
    }

    public void setMealtimeType(Integer mealtimeType)
    {
        this.mealtimeType = mealtimeType;
    }

    public Integer getMealtimeType()
    {
        return mealtimeType;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("shoppingCartId", getShoppingCartId())
            .append("userId", getUserId())
            .append("menuId", getMenuId())
            .append("canteenId", getCanteenId())
            .append("stallId", getStallId())
            .append("goodsId", getGoodsId())
            .append("goodsName", getGoodsName())
            .append("goodsImgUrl", getGoodsImgUrl())
            .append("quantity", getQuantity())
            .append("orderType", getOrderType())
            .append("detailType", getDetailType())
            .append("orderDate", getOrderDate())
            .append("mealtimeType", getMealtimeType())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
