package com.neusoft.smart.pos.dto.trade.request;

import com.neusoft.smart.pos.dto.AbstractQuery;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.util.List;

/**
 * @author zcf
 * @date 2018-03-05 09：52
 * @description 商户门店订单详情查询使用Request
 */
@Data
@ApiModel
public class GetTradeShopOrderDetailsRequest extends AbstractQuery {

	@ApiModelProperty(name = "orgId", value = "集团编号", dataType = "Integer" ,required=true ,example="1")
	private Integer orgId;

	@ApiModelProperty(name = "shopId", value = "门店编号", dataType = "List" ,example="1")
	private List<Integer> shopIds;

	@ApiModelProperty(name = "orderNumber", value = "订单编号", dataType = "String" ,example="815769993924")
	private String orderNumber;

	@ApiModelProperty(name = "serialNo", value = "POS机SN", dataType = "String" ,example="NSPSA110GW174920065")
	private String serialNo;

	@ApiModelProperty(name = "deviceName", value = "设备名称", dataType = "String" ,example="设备名称")
	private String deviceName;

	@ApiModelProperty(name = "memberCardNo", value = "会员卡号、东软员工号", dataType = "String" ,example="1")
	private String memberCardNo;

	@ApiModelProperty(name = "memberName", value = "会员名称、员工姓名", dataType = "String" ,example="1")
	private String memberName;

	@ApiModelProperty(name = "cardNum", value = "会员卡编号(印刷,沈阳食堂使用)", dataType = "String" ,example="1")
	private String cardNum;

	@ApiModelProperty(name = "customerNumber", value = "收银员编号", dataType = "String" ,example="1")
	private String customerNumber;

	@ApiModelProperty(name = "payType", value = "付款方式编号@1:微信支付@2:支付宝支付@3:银行卡支付@4:微信转账@:5支付宝转账@6:现金支付@7:会员卡支付@8:当面资金授权支付@9:银联二维码支付", dataType = "String" ,example="1")
	private String payType;

	@ApiModelProperty(name = "orderStatus", value = "订单状态@1:待付款@2:已付款@3:退款中@4:已退款@5:订单取消", dataType = "String" ,example="1")
	private String orderStatus;

	@ApiModelProperty(name = "orderType", value = "订单类型@1正常订单@2POS端补录订单@3会员卡充值订单@4微信点餐订单", dataType = "String" ,example="1")
	private String orderType;

	@ApiModelProperty(name = "orderSubType", value = "订单子类型@common_consume_order 常规订单类型，不含配送等 @req_delivery_order 需要配送的订单", dataType = "String" ,example="common_consume_order")
	public String orderSubType;

	@ApiModelProperty(name = "startTime", value = "开始日期(大于等于)", dataType = "String" ,example="2018-01-01")
	private String startTime;

	@ApiModelProperty(name = "endTime", value = "结束日期(小于等于)", dataType = "String" ,example="2018-01-20")
	private String endTime;

	@ApiModelProperty(name = "dateTime", value = "年月时间", dataType = "String" ,example="2018-01")
	private String dateTime;

	@NotNull(message = "时间模式不能为空")
	@ApiModelProperty(name = "timeMode", value = "时间模式(@1:按开始及结束时间查询@2:按年月查询)", dataType = "String" ,example="1")
	private String timeMode;

	@ApiModelProperty(name = "createdBy", value = "收银员名称", dataType = "String" ,example="test1234/system")
	private String createdBy;

	private Integer deviceStatus;
}
