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

import com.alibaba.fastjson.JSON;

import java.util.List;
import java.util.Map;

/**
 * @Description 订单调整商品DTO
 * @Author: ph
 * @Date: 2019/12/2 19:24
 */
public class OrderAdjustItemDTO extends OrderOperateDTO {

    /**
     * 总金额
     */
    private Integer totalAmount;

    /**
     * 商品金额
     */
    private Integer itemAmount;

    /**
     * 运费金额
     */
    private Integer freightAmount;

    /**
     * 优惠金额
     */
    private Integer discountAmount;

    /**
     * 实付金额
     */
    private Integer actualAmount;

    /**
     * 支付信息
     */
    private Map<String, Object> payInfoMap;

    /**
     * 扩展信息
     */
    private Map<String, Object> extraMap;

    /**
     * 优惠信息
     */
    private List<OrderDiscountDTO> orderDiscountList;

    /**
     * 添加商品
     */
    private List<OrderItemDTO> addItemList;

    /**
     * 退商品
     */
    private Map<Long, Integer> returnItemMap;

    /**
     * 商家ID
     */
    private Long sellerId;

    /**
     * 来源单号
     */
    private String sourceNo;


    /**
     * 是否清除原有商品
     */
    private Integer isClear;

    /**
     * 是否清除原有优惠
     */
    private Integer isClearDiscount;

    /**
     * 支付金额 单位分
     */
    private Integer payAmount;

    public Integer getPayAmount() {
        return payAmount;
    }

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

    public Integer getIsClear() {
        return isClear;
    }

    public void setIsClear(Integer isClear) {
        this.isClear = isClear;
    }

    public Integer getTotalAmount() {
        return totalAmount;
    }

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

    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 getDiscountAmount() {
        return discountAmount;
    }

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

    public Integer getActualAmount() {
        return actualAmount;
    }

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

    public Map<String, Object> getPayInfoMap() {
        return payInfoMap;
    }

    public void setPayInfoMap(Map<String, Object> payInfoMap) {
        this.payInfoMap = payInfoMap;
    }

    public Map<String, Object> getExtraMap() {
        return extraMap;
    }

    public void setExtraMap(Map<String, Object> extraMap) {
        this.extraMap = extraMap;
    }

    public List<OrderDiscountDTO> getOrderDiscountList() {
        return orderDiscountList;
    }

    public void setOrderDiscountList(List<OrderDiscountDTO> orderDiscountList) {
        this.orderDiscountList = orderDiscountList;
    }

    public List<OrderItemDTO> getAddItemList() {
        return addItemList;
    }

    public void setAddItemList(List<OrderItemDTO> addItemList) {
        this.addItemList = addItemList;
    }

    public Map<Long, Integer> getReturnItemMap() {
        return returnItemMap;
    }

    public void setReturnItemMap(Map<Long, Integer> returnItemMap) {
        this.returnItemMap = returnItemMap;
    }

    public Long getSellerId() {
        return sellerId;
    }

    public void setSellerId(Long sellerId) {
        this.sellerId = sellerId;
    }

    public String getSourceNo() {
        return sourceNo;
    }

    public void setSourceNo(String sourceNo) {
        this.sourceNo = sourceNo;
    }

    public Integer getIsClearDiscount() {
        return isClearDiscount;
    }

    public void setIsClearDiscount(Integer isClearDiscount) {
        this.isClearDiscount = isClearDiscount;
    }

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