package com.zm.order.tool.server.request;

import com.alibaba.fastjson.JSON;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * @author zhuxiaofeng
 * @Description
 * @Date 2021/8/12 8:47
 */
public class BusinessOrderUpdateRequest implements Serializable {

    private static final long serialVersionUID = -4085454115609408518L;

    @ApiModelProperty(value = "订单号list")
    private List<String> orderNoList;

    @ApiModelProperty(value = "订单状态", example = "50")
    private Integer status;

    @ApiModelProperty(value = "支付状态", example = "1")
    private Integer payStatus;

    @ApiModelProperty(value = "单个商品行下，商家承担金额 单位：分',", example = "1")
    private Integer sellerBearAmount;

    @ApiModelProperty(value = "单个商品行下，商家实收金额 单位：分',',", example = "1")
    private Integer incomeAmount;

    @ApiModelProperty(value = "单个商品行下，商家承担的手续费/服务费 单位：分',',", example = "1")
    private Integer commissionAmount;

    @ApiModelProperty(value = "支付状态", example = "1")
    private Integer orderType;
    @ApiModelProperty(value = "支付状态", example = "1")
    private Integer orderSubType;

    public Integer getOrderSubType() {
        return orderSubType;
    }

    public void setOrderSubType(Integer orderSubType) {
        this.orderSubType = orderSubType;
    }

    public Integer getOrderType() {
        return orderType;
    }

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

    @ApiModelProperty(value = "支付时间", example = "2021-08-12")
    private Date payAt;

    @ApiModelProperty(value = "订单号")
    private String orderNo;

    @ApiModelProperty(value = "支付类型", example = "50")
    private Integer payType;

    @ApiModelProperty(value = "支付人", example = "50")
    private Long payer;

    @ApiModelProperty(value = "订单商品表id", example = "50")
    private Long orderItemId;

    @ApiModelProperty(value = "商品标识", example = "50")
    private String itemSign;

    @ApiModelProperty(value = "商品规格", example = "50")
    private String itemSpec;

    @ApiModelProperty(value = "商品id", example = "50")
    private String itemId;

    @ApiModelProperty(value = "商品名称", example = "50")
    private String itemName;

    @ApiModelProperty(value = "商品图片", example = "50")
    private String itemImage;

    @ApiModelProperty(value = "商品编码", example = "50")
    private String itemBarcode;

    @ApiModelProperty(value = "商品id", example = "50")
    private Long goodsId;

    @ApiModelProperty(value = "商品成本价", example = "50")
    private Integer costPrice;

    @ApiModelProperty(value = "商品价格", example = "50")
    private Integer itemPrice;

    @ApiModelProperty(value = "商品数量", example = "50")
    private BigDecimal num;

    @ApiModelProperty(value = "实付金额", example = "50")
    private Integer paidAmount;

    @ApiModelProperty(value = "商品是否是赠品", example = "50")
    private Integer isGift;

    @ApiModelProperty(value = "支付单号", example = "50")
    private String payNo;

    @ApiModelProperty(value = "三方支付单号", example = "50")
    private String thirdPayNo;

    @ApiModelProperty(value = "支付信息", example = "{}")
    private String payInfo;

    @ApiModelProperty(value = "完成时间", example = "111111")
    private Date completedAt;

    @ApiModelProperty(value = "支付信息")
    private List<CreateOrderPayDetailsRequest> payDetailsList;

    @ApiModelProperty(value = "支付信息字符串")
    private String payDetailsListString;

    @ApiModelProperty(value = "扩展信息")
    private String extraMap;

    @ApiModelProperty(value = "用户备注")
    private String buyerRemarks;

    @ApiModelProperty(value = "商家备注")
    private String sellerRemarks;

    @ApiModelProperty(value = "履约类型")
    private Integer performanceType;

    @ApiModelProperty(value = "履约 状态")
    private Integer performanceStatus;

    @ApiModelProperty(value = "自提码")
    private Long selfTakeCode;

    @ApiModelProperty(value = "删除")
    private Integer isDeleted;

    @ApiModelProperty(value = "门店id")
    private Long storeId;

    @ApiModelProperty(value = "总金额 单位分")
    private Integer totalAmount;

    @ApiModelProperty(value = "packAmount 单位分")
    private Integer packAmount;

    @ApiModelProperty(value = "itemAmount 单位分")
    private Integer itemAmount;

    @ApiModelProperty(value = "freightAmount 单位分")
    private Integer freightAmount;

    @ApiModelProperty(value = "actualAmount 单位分")
    private Integer actualAmount;

    @ApiModelProperty(value = "discountAmount 单位分")
    private Integer discountAmount;

    @ApiModelProperty(value = "payAmount 单位分")
    private Integer payAmount;

    @ApiModelProperty(value = "marketPrice 单位分")
    private Integer marketPrice;

    @ApiModelProperty(value = "取餐号")
    private String storeOrderNo;

    @ApiModelProperty(value = "条码")
    private String productNo;

    public String getSellerRemarks() {
        return sellerRemarks;
    }

    public void setSellerRemarks(String sellerRemarks) {
        this.sellerRemarks = sellerRemarks;
    }

    public String getProductNo() {
        return productNo;
    }

    public void setProductNo(String productNo) {
        this.productNo = productNo;
    }

    public String getStoreOrderNo() {
        return storeOrderNo;
    }

    public void setStoreOrderNo(String storeOrderNo) {
        this.storeOrderNo = storeOrderNo;
    }

    public Integer getMarketPrice() {
        return marketPrice;
    }

    public void setMarketPrice(Integer marketPrice) {
        this.marketPrice = marketPrice;
    }

    public String getItemSpec() {
        return itemSpec;
    }

    public void setItemSpec(String itemSpec) {
        this.itemSpec = itemSpec;
    }

    public Long getStoreId() {
        return storeId;
    }

    public void setStoreId(Long storeId) {
        this.storeId = storeId;
    }

    public Integer getTotalAmount() {
        return totalAmount;
    }

    public void setTotalAmount(Integer totalAmount) {
        this.totalAmount = totalAmount;
    }

    public Integer getPackAmount() {
        return packAmount;
    }

    public void setPackAmount(Integer packAmount) {
        this.packAmount = packAmount;
    }

    public Integer getItemAmount() {
        return itemAmount;
    }

    public void setItemAmount(Integer itemAmount) {
        this.itemAmount = itemAmount;
    }

    public Integer getFreightAmount() {
        return freightAmount;
    }

    public void setFreightAmount(Integer freightAmount) {
        this.freightAmount = freightAmount;
    }

    public Integer getActualAmount() {
        return actualAmount;
    }

    public void setActualAmount(Integer actualAmount) {
        this.actualAmount = actualAmount;
    }

    public Integer getPayAmount() {
        return payAmount;
    }

    public void setPayAmount(Integer payAmount) {
        this.payAmount = payAmount;
    }

    public String getBuyerRemarks() {
        return buyerRemarks;
    }

    public void setBuyerRemarks(String buyerRemarks) {
        this.buyerRemarks = buyerRemarks;
    }

    public BigDecimal getNum() {
        return num;
    }

    public void setNum(BigDecimal num) {
        this.num = num;
    }

    public Integer getIsDeleted() {
        return isDeleted;
    }

    public void setIsDeleted(Integer isDeleted) {
        this.isDeleted = isDeleted;
    }

    public Long getSelfTakeCode() {
        return selfTakeCode;
    }

    public void setSelfTakeCode(Long selfTakeCode) {
        this.selfTakeCode = selfTakeCode;
    }

    public Integer getPerformanceStatus() {
        return performanceStatus;
    }

    public void setPerformanceStatus(Integer performanceStatus) {
        this.performanceStatus = performanceStatus;
    }

    public String getExtraMap() {
        return extraMap;
    }

    public void setExtraMap(String extraMap) {
        this.extraMap = extraMap;
    }

    public Integer getPerformanceType() {
        return performanceType;
    }

    public void setPerformanceType(Integer performanceType) {
        this.performanceType = performanceType;
    }

    public Date getCompletedAt() {
        return completedAt;
    }

    public void setCompletedAt(Date completedAt) {
        this.completedAt = completedAt;
    }

    public String getOrderNo() {
        return orderNo;
    }

    public void setOrderNo(String orderNo) {
        this.orderNo = orderNo;
    }

    public Integer getPayType() {
        return payType;
    }

    public void setPayType(Integer payType) {
        this.payType = payType;
    }

    public Long getPayer() {
        return payer;
    }

    public void setPayer(Long payer) {
        this.payer = payer;
    }

    public String getPayNo() {
        return payNo;
    }

    public void setPayNo(String payNo) {
        this.payNo = payNo;
    }

    public String getThirdPayNo() {
        return thirdPayNo;
    }

    public void setThirdPayNo(String thirdPayNo) {
        this.thirdPayNo = thirdPayNo;
    }

    public String getPayInfo() {
        return payInfo;
    }

    public void setPayInfo(String payInfo) {
        this.payInfo = payInfo;
    }

    public List<CreateOrderPayDetailsRequest> getPayDetailsList() {
        return payDetailsList;
    }

    public void setPayDetailsList(List<CreateOrderPayDetailsRequest> payDetailsList) {
        this.payDetailsList = payDetailsList;
    }

    public String getItemId() {
        return itemId;
    }

    public Integer getIsGift() {
        return isGift;
    }

    public void setIsGift(Integer isGift) {
        this.isGift = isGift;
    }

    public void setItemId(String itemId) {
        this.itemId = itemId;
    }

    public String getItemName() {
        return itemName;
    }

    public void setItemName(String itemName) {
        this.itemName = itemName;
    }

    public String getItemImage() {
        return itemImage;
    }

    public void setItemImage(String itemImage) {
        this.itemImage = itemImage;
    }

    public String getItemBarcode() {
        return itemBarcode;
    }

    public void setItemBarcode(String itemBarcode) {
        this.itemBarcode = itemBarcode;
    }

    public Long getGoodsId() {
        return goodsId;
    }

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

    public Integer getCostPrice() {
        return costPrice;
    }

    public void setCostPrice(Integer costPrice) {
        this.costPrice = costPrice;
    }

    public Integer getItemPrice() {
        return itemPrice;
    }

    public void setItemPrice(Integer itemPrice) {
        this.itemPrice = itemPrice;
    }

    public Integer getPaidAmount() {
        return paidAmount;
    }

    public void setPaidAmount(Integer paidAmount) {
        this.paidAmount = paidAmount;
    }

    public Integer getDiscountAmount() {
        return discountAmount;
    }

    public void setDiscountAmount(Integer discountAmount) {
        this.discountAmount = discountAmount;
    }

    public List<String> getOrderNoList() {
        return orderNoList;
    }

    public void setOrderNoList(List<String> orderNoList) {
        this.orderNoList = orderNoList;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Integer getPayStatus() {
        return payStatus;
    }

    public void setPayStatus(Integer payStatus) {
        this.payStatus = payStatus;
    }

    public Date getPayAt() {
        return payAt;
    }

    public void setPayAt(Date payAt) {
        this.payAt = payAt;
    }

    public Long getOrderItemId() {
        return orderItemId;
    }

    public void setOrderItemId(Long orderItemId) {
        this.orderItemId = orderItemId;
    }

    public String getItemSign() {
        return itemSign;
    }

    public void setItemSign(String itemSign) {
        this.itemSign = itemSign;
    }

    public String getPayDetailsListString() {
        return payDetailsListString;
    }

    public void setPayDetailsListString(String payDetailsListString) {
        this.payDetailsListString = payDetailsListString;
    }

    public Integer getSellerBearAmount() {
        return sellerBearAmount;
    }

    public void setSellerBearAmount(Integer sellerBearAmount) {
        this.sellerBearAmount = sellerBearAmount;
    }

    public Integer getIncomeAmount() {
        return incomeAmount;
    }

    public void setIncomeAmount(Integer incomeAmount) {
        this.incomeAmount = incomeAmount;
    }

    public Integer getCommissionAmount() {
        return commissionAmount;
    }

    public void setCommissionAmount(Integer commissionAmount) {
        this.commissionAmount = commissionAmount;
    }

    @Override
    public String toString() {
        return JSON.toJSONString(this);
    }
}
