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 ShoplinkerOrder extends TscBaseDomain {

	// Request
	private String customerId; 					// 고객사 코드(샵링커 가입코드)
	private String shoplinkerId;
	private String orderFlag; 					// 주문타입 - 일반[신규OR발주]:000/ 발주확인:007/ 정산확정: 002/ 송장등록:003/ 송장전송완료:004
	private String stDate;						// 시작날짜 YYYMMDD
	private String edDate;						// 종료날짜 YYMMDD
	private String stTime;						// 시작시간 HH24MISS
	private String edTime;						// 종료시간 HH24MISS
	private Integer orderPageNo;
	private String apiStDate;
	private String infoStr;

	// Response
	private Integer orderIfIdx; 				// 주문수집차수
	private String shoplinkerOrderId; 			// 샵링커 주문번호
	private String mallOrderId; 				// 쇼핑몰 주문번호(샵링커컬럼)
	private String extmallOrderId;				// 쇼핑몰 주문번호(제휴몰업로드컬럼)
	private String mallName; 					// 쇼핑몰 명
	private String baesongStatus; 				// 배송상태[발주확인]
	private String orderName; 					// 주문자명
	private String orderTel; 					// 주문자 전화번호
	private String orderCel; 					// 주문자 핸드폰번호
	private String orderEmail; 					// 주문자 이메일주소
	private String receive; 					// 수취인명
	private String receiveTel; 					// 수취인 전화번호
	private String receiveCel; 					// 수취인 핸드폰번호
	private String receiveZipcode; 				// 수취인 우편번호
	private String receiveAddr; 				// 수취인 주소
	private String baesongType; 				// 배송비결제방식[무료,착불,착불 선결제]
	private String baesongBi; 					// 배송비
	private String deliveryMsg; 				// 배송메세지
	private String orderProductId; 				// 주문 상품번호
	private String shoplinkerProductId; 		// 샵링커 상품번호
	private String partnerProductId; 			// 자사 상품코드
	private String productName; 				// 상품명
	private String quantity; 					// 주문수량
	private String orderPrice; 					// 주문금액
	private String salePrice; 					// 판매단가
	private String supplyPrice; 				// 공급가
	private String sku; 						// 옵션명
	private String orderdate; 					// 주문일자
	private String orderRegDate; 				// 주문수집일자
	private String deliveryInvoice; 			// 송장번호
	private String orderSeq; 					// 묶음주문번호
	private String totalCount; 					// 총 주문건수
	private String totalPage; 					// 총 페이지수
	private String totalStandardCount; 			// 페이지당 노출할 총 갯수
	private String currentlyPage; 				// 현재 호출된 페이지번호
	private String currentlyCount; 				// 현재 호출된 주문건수
	private String sellerId; 					// 쇼핑몰 계정
	private String onlySku; 					// 필수옵션
	private String addSku; 						// 추가옵션
	private String mallId; 						// 샵링커 쇼핑몰 코드
	private String disPriceMall; 				// 쇼핑몰부담할인액
	private String disPriceSeller; 				// 판매자부담할인액
	private String disPriceCoupon; 				// 쿠폰할인액
	private String disPricePoint; 				// 포인트할인액
	private String distributionDelivery; 		// 물류배송여부
	private String skuMatchCode; 				// 옵션매칭코드
	private String skuBarcode; 					// 옵션바코드
	private String orderCustomsNumber; 			// 개인고유통관번호
	private String orderInputType; 				// 주문서 타입
	private String supplyId; 					// 매입처 아이디
	private String delivery; 					// 택배사 코드
	private String orderUserId; 				// 구매자 계정
	private String crspikUse; 					// 크로스픽 주문
	private String shipNo; 						// 배송번호
	private String dealNo; 						// 딜 번호
	private String exchangeOrderYn; 			// 교환접수 여부
	private String orderMainKey; 				// 추가상품(인터파크,11번가)
	private String panType; 					// 네이버페이결제수단
	private String channelType; 				// 채널구분
	private String shipRsvDate; 				// 배송예정일

	private String profiles;
	private String xmlPath;
	private String domainUrl;					// 이미지 domain url
	private String apiSubUrl;					// api url 하위 경로

	private String vendorId;
	private String extmallId;
	private String extmallNm;
	private String dtGb;						// 일자검색타입
	private String uploadStat; 					// 외부몰 주문등록 업로드 상태
	private String uploadFailCd;				// 외부몰 주문등록 업로드 실패코드
	private String uploadFailReason;			// 외부몰 주문등록 업로드 실패사유 msg
	private Integer ordNo;						// 주문번호(주문)
	private Integer delvAddrSq;					// 배송지일련번호(배송지)
	private String goodsCd;						// 상품코드
	private String optCd;						// 옵션코드
	private String optCd1;						// 옵션1
	private String optCd2;						// 옵션2
	private String regNm;						// 등록자

	// 검색
	private int startRow;
	private int endRow;
	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 sid;
	private String acType = "";					// 실행위치 BATCH:배치 /  ADMIN :관리자
	private String extmallRegDt; 				// 제휴몰 등록일

	public ShoplinkerOrder() {

	}

}
