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

import com.alibaba.fastjson.JSON;
import com.zm.order.tool.server.model.OrderItem;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

/**
 * @Description 删除订单请求
 * @Author: ph
 * @Date: 2019/10/24 14:01
 */
public class OperateOrderRequest implements Serializable {

    private static final long serialVersionUID = -8276528093473116340L;

    @ApiModelProperty(value = "订单号", example = "D5AD635E14A4E17796", required = true)
    private String orderNo;

    @ApiModelProperty(value = "用户id", example = "10202", required = true)
    private Long userId;

    @ApiModelProperty(value = "操作类型", example = "create", required = true)
    private String operation;

    @ApiModelProperty(value = "操作人", example = "10212",required = true)
    private Long operator;

    @ApiModelProperty(value = "操作角色 1用户 2商家", example = "1", required = true)
    private Integer role;

    @ApiModelProperty(value = "操作信息", example = "{}")
    private Map<String, Object> operateInfo;

    @ApiModelProperty(value = "是否实时更新 1：是", example = "{}")
    private Integer realTime;

    @ApiModelProperty(value = "修改商品信息列表", example = "{}")
    private List<OrderItem> orderItemList;

    @ApiModelProperty(value = "更新履约信息", example = "{}")
    private Map<String,Object> performanceInfo;

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

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

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

    public Map<String, Object> getPerformanceInfo() {
        return performanceInfo;
    }

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

    public List<OrderItem> getOrderItemList() {
        return orderItemList;
    }

    public void setOrderItemList(List<OrderItem> orderItemList) {
        this.orderItemList = orderItemList;
    }

    public Integer getRealTime() {
        return realTime;
    }

    public void setRealTime(Integer realTime) {
        this.realTime = realTime;
    }

    public String getOrderNo() {
        return orderNo;
    }

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

    public Long getUserId() {
        return userId;
    }

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

    public String getOperation() {
        return operation;
    }

    public void setOperation(String operation) {
        this.operation = operation;
    }

    public Long getOperator() {
        return operator;
    }

    public void setOperator(Long operator) {
        this.operator = operator;
    }

    public Map<String, Object> getOperateInfo() {
        return operateInfo;
    }

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

    public Integer getRole() {
        return role;
    }

    public void setRole(Integer role) {
        this.role = role;
    }

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