package cn.superdesk.uniorder.dto.receive.consumer.superdeskappservices.flashdeliver;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

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

/**
 * @Description: Java类作用描述
 * @Author: linjinyu
 * @CreateDate: 2021/10/8 上午10:53
 * @UpdateUser: linjinyu
 * @UpdateDate: 2021/10/8 上午10:53
 * @UpdateRemark: 修改内容
 * @Version: 1.0
 */
@Data
public class FlashDeliverRefundOrderOrderReceiveParam implements Serializable {

	@ApiModelProperty("退单编号")
	private String refundOrderSn;
	@ApiModelProperty("订单号")
	private String orderSn;

	@ApiModelProperty("退单金额")
	private BigDecimal refundOrderAmount;

	@ApiModelProperty("销售金额 必须 商品销售价总和")
	private BigDecimal refundSellingAmount;
	@ApiModelProperty("成本金额 必须 商品成本价总和")
	private BigDecimal refundCostAmount;

	@ApiModelProperty("退单状态 订单状态 必须 eg:-1(orderState)-已取消(orderStateName)")
	private Integer orderState;
	@ApiModelProperty("退单状态名称 订单状态名称 必须")
	private String  orderStateName;
	@ApiModelProperty("非必填 | 支付方式 eg : 1-款到发货,2-货到付款,3-月结 对映 ")
	private Integer payType;
	private String  payTypeName;
	@ApiModelProperty("非必填 | 支付状态 eg : 1-已付款 2-未付款 对映 ")
	private Integer payState;
	private String  payStateName;

	@ApiModelProperty("订单完成状态 必须 业务方归类订单状态推送完成状态:1-已完成;2-未完成;3-已取消/已作废")
	private Integer completState;

	@ApiModelProperty("退运费")
	private BigDecimal dispatchPrice;

	@ApiModelProperty("退单创建时间 必须")
//	@JsonSerialize(using = DateTimeConvertSerializer.class)
//	@JsonDeserialize(using = DateTimeConvertDeserializer.class)
	private Date createTime;
	@ApiModelProperty("退单支付时间 非必须")
//	@JsonSerialize(using = DateTimeConvertSerializer.class)
//	@JsonDeserialize(using = DateTimeConvertDeserializer.class)
	private Date payTime;
	@ApiModelProperty("退单发货时间 非必须")
//	@JsonSerialize(using = DateTimeConvertSerializer.class)
//	@JsonDeserialize(using = DateTimeConvertDeserializer.class)
	private Date sendTime;
	@ApiModelProperty("退单完成时间 非必须")
//	@JsonSerialize(using = DateTimeConvertSerializer.class)
//	@JsonDeserialize(using = DateTimeConvertDeserializer.class)
	private Date finishTime;

	@ApiModelProperty("必填 | 商户信息(供应商) ID 对映 ")
	private Long   saleId;
	@ApiModelProperty("必填 | 商户信息(供应商) 名称 对映 ")
	private String saleName;

	/**
	 * 选填 | 下单人信息
	 */
	@ApiModelProperty("下单人信息 项目 ID 对映 ")
	private Long   purchaseOrgId;
	@ApiModelProperty("下单人信息 项目 名称 对映 ")
	private String purchaseOrgName;
	@ApiModelProperty("下单人信息 企业 ID 对映 ")
	private Long   purchaseVirtId;
	@ApiModelProperty("下单人信息 企业 名称 对映 ")
	private String purchaseVirtName;
	@ApiModelProperty("下单人信息 部门 名称 对映 ")
	private String purchaseDepartmentName;


	@ApiModelProperty("下单人信息 用户 ID 对映 预订人姓名")
	private Long   purchaseUserId;
	@ApiModelProperty("下单人信息 用户 名称 对映 ")
	private String purchaseUserName;
	@ApiModelProperty("下单人信息 联系电话")
	private String purchasePhone;

	@ApiModelProperty("买家备注 非必传 商品订单退款原因;")
	private String remarks;

	@ApiModelProperty("其他字段 非必传 可传空串 非空; jsonStr形式")
	private String otherParams;

//	@ApiModelProperty("退单流水信息")
//	private List<FlashdeliverOrderRefundOrderIntegralCreditReceiveParam> integralCredit;

}
