package com.style24.persistence.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.style24.persistence.TscBaseDomain;
import com.style24.persistence.TscPageRequest;

import lombok.Data;

/**
 * 샵링커 상품정보 Domain
 *
 * @author jmh
 * @since 2021. 05. 11
 */
@SuppressWarnings("serial")
@Data
public class ShoplinkerInvoice extends TscBaseDomain {

	// 공통
	private String customerId; 					// 고객사 코드(샵링커 가입코드)
	private String productName;					// 상품명  (단품인경우 "옵션1_옵션2" 값임)

	private String domainUrl;					// 이미지 domain url
	private String excelFileNm;					//엑셀업로드 파일명
	private String profiles;

	private String xmlPath;
	private String apiType;						// API구분(10:상품등록API, 11:상품수정API, 12:옵션재고수정API)
	//private String vendorId;					// 벤더ID
	private int idx;
	private String xmlTxt;						// xml내용
	private String apiSubUrl;					// api url 하위 경로

	private Integer ordNo;						// 주문번호(주문)
	private Integer ordDtlNo;					// 주문번호(주문)
	private String deliveryName;				// 택배사명
	private String deliveryCode;				// 배송업체(택배사코드)
	private String deliveryInvoice;				// 송장번호
	private String vendorId;					// 외부몰벤더ID
	private String extmallId;					// 외부몰ID(외부몰)
	private String extmallNm;					// 외부몰 명
	private String agentOrderId;				// 에이전트주문번호
	private String extmallOrderId;				// 외부몰주문번호
	private String delvAssignStat;				// 출고지정상태(P:대기,Y:수락,N:거부)
	private String ordExchGb;					// 주문교환구분
	private String ordDtlStat;					// 주문상세상태
	private String ordDtlStatNm;				// 주문상세상태명
	private String orderName;					// 주문자명
	private String orderCel;					// 주문자연락처
	private String shipCompNm;					// 배송업체
	private String delvStdt;					// 배송시작일자
	
	// 검색
	private String stDate;
	private String edDate;
	private String uploadFailCd;
	private String regNm;
	private String search; 						// 키워드 종류
	private String condition; 					// 키워드 종류별 값
	private String searchOne; 					// 키워드 단건조회 단건조회 종류
	private String conditionOne; 				// 키워드 종류별 값
	
	@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
	private String[] conditionList;

	// Pagination
	private TscPageRequest pageable;
	private int pageNo = 1;
	private int pageSize = 50;
	private int pageUnit = 10;

	// 결과
	private String apiProductId;				// 주문상세번호
	private String apiResult;					// 결과플래그 (true or false)
	private String apiMessage;					// 결과


}

