package com.style24.core.support.env;

/**
 * 변경될 소지가 있는 변수 값을 정의
 *
 * @author gagamel
 * @since 2020. 10. 5
 */
public class TscConstants {

	// 기본 패키지
	public static final String BASE_PACKAGE = "com.style24";

	// DOMAIN 패키지
	public static final String DOMAIN_PACKAGE = "com.style24.persistence";

	// Mybatis Mapper 경로
	public static final String MAPPER_LOCATION_PATH = "classpath:com/style24/persistence/mybatis";

	// 콜센터전화번호
	public static final String CALLCENTER_TEL_NO = "1544-5336";

	// 대표 이메일
	public static final String REP_EMAIL = "help@style24.com";

	// 프론트 URL
	public static final String FRONT_URL = "www.style24.com";

	// 창고코드
	public static final String WH_CODE = "001";

	// WMS출고처코드
	public static final String WMS_DELV_LOC_CD = "ST0001";

	// 사이트
	public enum Site {
		STYLE24("G000_10");

		private String value;

		private Site(String value) {
			this.value = value;
		}

		public String value() {
			return value;
		}
	}

	// 접촉방법
	public enum ContactMethod {
		SMS("G055_10"),
		LMS("G055_11"),
		KAKAOTALK("G055_12"),
		EMAIL("G055_20"),
		PUSH("G055_30");

		private String value;

		private ContactMethod(String value) {
			this.value = value;
		}

		public String value() {
			return value;
		}
	}

	// 접촉유형
	public enum ContactType {
		PROMOTION("G054_100"),					// 회원/마케팅 - 프로모션
		JOIN_CONGRATS("G054_201"),				// 회원/마케팅 - 회원가입축하
		CERT_NO_SEND("G054_202"),				// 회원/마케팅 - 휴대전화인증
		TEMP_PASSWD("G054_203"), 				// 회원/마케팅 - 고객비밀번호발송
		ONE_TO_ONE_ANSWER("G054_204"),			// 회원/마케팅 - 1:1문의답변
		SECEDE_CUST("G054_205"),					// 회원/마케팅 - 가입탈퇴안내
		BASIC_LMS("G054_206"),					// 회원/마케팅 - 기본LMS안내발송
		DORMANT_EXPECTED("G054_207"),			// 회원/마케팅 - 휴면계정전환예정
		PRIVACY_POLICY("G054_208"),				// 회원/마케팅 - 개인정보 이용내역
		MARKETING_AGREE("G054_209"),				// 회원/마케팅 - 마케팅 정보 수신동의 내역
		BIRTH_COUPON_NOTICE("G054_210"),			// 회원/마케팅 - 생일쿠폰다운로드안내
		GRADE_NOTICE("G054_211"),				// 회원/마케팅 - 이달의 등급 혜택 안내
		DORMANT_EXPECT_COMBACK("G054_212"),		// 회원/마케팅 - 휴면/미접속자 방어쿠폰
		GIFTCARD_EXTNC_EXPECT("G054_213"),		// 회원/마케팅 - 상품권 소멸 예정 안내
		COUPON_EXTNC_EXPECT("G054_214"),			// 회원/마케팅 - 쿠폰 소멸 예정안내
		POINT_EXTNC_EXPECT("G054_215"),			// 회원/마케팅 - 포인트 소멸 예정안내
		GOODS_ASK_ANSWER("G054_216"),			// 회원/마케팅 - 상품문의답변
		BASIC_EMAIL("G054_217"),					// 회원/마케팅 - 기본EMAIL안내발송
		GOODS_UNPURCHASED("G054_218"),			// 회원/마케팅 - 미구매 상품 확인안내
		SHOPPING_BAG_DISCOUNT("G054_219"),		// 회원/마케팅 - 쇼핑백 할인혜택 안내
		WISHLIST_DISCOUNT("G054_220"),			// 회원/마케팅 - 위시리스트 할인혜택 안내
		ORDER_INFO("G054_301"),					// 주문-주문안내
		BANK_DEPOSIT_INFO("G054_302"),			// 주문-무통장입금안내
		SOLDOUT_EXPECTED_INFO("G054_303"),		// 주문-결품예정안내
		SOLDOUT_INFO("G054_304"),				// 주문-결품안내
		CANCEL_INFO("G054_305"),					// 주문-취소안내
		REPAYMENT_INFO("G054_306"),				// 주문-재결제안내
		BUY_CONFIRM("G054_307"),					// 주문-구매확정
		GIFT("G054_308"),						// 주문-선물하기
		SHIPPING_INFO("G054_401"),				// 배송-주문상품배송안내
		EXCHANGE_SHIPPING_INFO("G054_402"),		// 배송-교환상품배송안내
		DELIVERY_COMPLETED("G054_403"),			// 배송-배송완료(상품평등록안내)
		RETURN_RECEIPT("G054_501"),				// 반품-반품접수완료
		RETURN_COMPLETED("G054_502"),			// 반품-반품회수완료
		EXCHANGE_RECEIPT("G054_503"),			// 교환-교환접수완료
		EXCHANGE_COMPLETED("G054_504"),			// 교환-교환회수완료
		RETURN_ADD_PAYMENT("G054_506"),			// 반품-추가배송비결제안내
		EXCHANGE_ADD_PAYMENT("G054_507"),		// 교환-추가배송비결제안내
		WITHDRAW_INFO("G054_601"),				// 회수-회수시작안내
		WITHDRAW_CANCEL("G054_603"),			// 회수-교환,반품 철회
		GOODS_RESTOCK("G054_701");				// 재입고 알림

		private String value;

		ContactType(String value) {
			this.value = value;
		}

		public String value() {
			return value;
		}
	}

	// 주문상세상태
	public enum OrderDetailStat {
		ORDER_RECEIPT("G013_00"),			// 주문접수
		DEPOSIT_WAIT("G013_10"),			// 입금대기
		PAYMENT_WAIT("G013_11"),			// 추가결제대기
		ORDER_WAIT_PRICE("G013_18"),		// 발주대기-가격차이
		ORDER_WAIT_POST("G013_19"),			// 발주대기-우편번호상이
		PAYMENT_COMPLETE("G013_20"),		// 결제완료
		REFUND_CONFIRM_WAIT("G013_25"),		// 교환대기
		GOODS_PREPARE("G013_30"),			// 상품준비중
		DELIVERY_LOC_ASSIGN("G013_35"),		// 출고처 지정
		DELIVERY_PREPARE("G013_40"),		// 배송준비중
		SHIPPING("G013_50"),				// 배송중
		SHIP_COMPLETE("G013_55"),			// 출고완료
		DELIVERY_COMPLETE("G013_60"),		// 배송완료
		PURCHASE_CONFIRM("G013_70"),		// 구매확정
		EXCHANGE_CANCEL("G013_97"),			// 교환취소
		PAYMENT_BEFORE_CANCEL("G013_98"),	// 결제전주문취소
		PAYMENT_AFTER_CANCEL("G013_99");	// 결제후주문취소

		private String value;

		private OrderDetailStat(String value) {
			this.value = value;
		}

		public String value() {
			return value;
		}
	}

//	// 외부몰벤더ID
//	public enum VendorId {
//		PASTEL("V001"),
//		FLYINGTIGER("V002");
//
//		private String value;
//
//		private VendorId(String value) {
//			this.value = value;
//		}
//
//		public String value() {
//			return value;
//		}
//	}
//
//	// 자사몰 매장코드
//	public enum SelfSellStoreCd {
//		T003("T3000"),
//		T004("F3000"),
//		T007("P3000"),
//		T009("S3000"),
//		P001("A3000"),
//		P002("B3000"),
//		P004("D3000"),
//		P005("H3000"),
//		P006("P3000");
//
//		private String value;
//
//		private SelfSellStoreCd(String value) {
//			this.value = value;
//		}
//
//		public String value() {
//			return value;
//		}
//	}
//
//	// 주문상태
//	public enum OrderStat {
//		DEPOSIT_WAIT("10"),				// 입금대기
//		PAYMENT_COMPLETE("20"),			// 결제완료
//		GOODS_PREPARE("30"),			// 상품준비중
//		DELIVERY_PREPARE("40"),			// 배송준비중
//		SHIPPING("50"),					// 배송중
//		SHIP_COMPLETE("55"),			// 출고완료
//		DELIVERY_COMPLETE("60"),		// 배송완료
//		PAYMENT_BEFORE_CANCEL("98"),	// 결제전주문취소
//		PAYMENT_AFTER_CANCEL("99");		// 결제후주문취소
//
//		private String value;
//
//		private OrderStat(String value) {
//			this.value = value;
//		}
//
//		public String value() {
//			return value;
//		}
//	}
//
//	// 주문상세상태
//	public enum OrderDetailStat {
//		DEPOSIT_WAIT("10"),				// 입금대기
//		DELIVERY_DEPOSIT_WAIT("17"),	// 출고처예정(입금대기)
//		ORDER_WAIT_PRICE("18"),			// 발주대기-가격차이
//		ORDER_WAIT_POST("19"),			// 발주대기-우편번호상이
//		PAYMENT_COMPLETE("20"),			// 결제완료
//		EXCHANGE_WAIT("25"),			// 교환대기
//		DELIVERY_EXCHANGE_WAIT("26"),	// 교환출고처 지정대기
//		GOODS_PREPARE("30"),			// 상품준비중
//		DELIVERY_LOC_ASSIGN_WAIT("34"),	// 출고처예정
//		DELIVERY_LOC_ASSIGN("35"),		// 출고처지정
//		DELIVERY_PREPARE("40"),			// 배송준비중
//		SHIPPING("50"),					// 배송중
//		SHIP_COMPLETE("55"),			// 출고완료
//		DELIVERY_COMPLETE("60"),		// 배송완료
//		PURCHASE_CONFIRM("70"),			// 구매확정
//		PAYMENT_BEFORE_CANCEL("98"),	// 결제전주문취소
//		PAYMENT_AFTER_CANCEL("99");		// 결제후주문취소
//
//		private String value;
//
//		private OrderDetailStat(String value) {
//			this.value = value;
//		}
//
//		public String value() {
//			return value;
//		}
//	}
//
	// 주문변경요청구분
	public enum OrderChangeGb {
		PAYMENT_BEFORE_CANCEL("G680_10"),	// 결제전취소
		CANCEL("G680_20"),					// 취소요청
		RETURN("G680_30"),					// 반품요청
		EXCHANGE("G680_40");				// 교환요청

		private String value;

		private OrderChangeGb(String value) {
			this.value = value;
		}

		public String value() {
			return value;
		}
	}

	// // 주문변경사유(취소)
	public enum OrderCancelReason {
		CHANGE_CUSTOMER("G686_10"),		// 고객변심
		ADMIN_CANCEL("G686_20"),			// 관리자취소
		DELAY_ORDER("G686_13"),			// 상품이 늦게 배송됨
		INCORRECT_INFO("G686_16"),		// 상품정보와 상이함
		SOLDOUT_CANCEL("G686_30"),		// 품절
		ETC("G686_90");					// 기타

		private String value;

		private OrderCancelReason(String value) {
			this.value = value;
		}

		public String value() {
			return value;
		}
	}

	// 주문변경요청처리상태
	public enum OrderChangeStat {
		CANCEL("G685_10"),					// 취소접수
		CANCEL_WAIT("G685_11"),				// 취소대기 (추가배송비 결제 전)
		PAYMENT_BEFORE_CANCEL("G685_17"),	// 결제전취소
		PAYMENT_AFTER_CANCEL("G685_18"),	// 결제전취소
		CANCEL_CANCEL("G685_19"),			// 취소철회

		EXCHANGE("G685_20"),				// 교환접수
		EXCHANGE_WAIT("G685_21"),			// 교환대기 (추가배송비 결제 전)
		EXCHANGE_APPROVE_WAIT("G685_22"),	// 교환접수승인대기 (네이버페이 주문형)
		EXCHANGE_ING("G685_34"),			// 교환진행중
		EXCHANGE_COMPLETE("G685_40"),		// 교환완료
		EXCHANGE_CANCEL("G685_49"),			// 교환철회

		RETURN("G685_50"),					// 반품요청
		RETURN_WAIT("G685_51"),				// 반품대기 (추가배송비 결제 전)
		RETURN_ING("G685_33"),				// 반품진행중
		RETURN_COMPLETE("G685_60"),			// 반품완료
		RETURN_CANCEL("G685_69"),			// 반품요청 취소

		WITHDRAW("G685_30"),				// 회수요청
		WITHDRAW_GOODS_CHECK("G685_31"),	// 상품검수중
		WITHDRAW_WAIT("G685_32");			// 결제대기 (상품검수 후 고객부담 사유로 변경되어 추가결제 전)

		private String value;

		private OrderChangeStat(String value) {
			this.value = value;
		}

		public String value() {
			return value;
		}
	}

	// 반품 요청 사유
	public enum OrderReturnReason {
		CHANGE_MIND("G688_10"),		// 단순변심
		NG_GOODS("G688_11"),			// 상품의 결함이 있음
		INCORRECT_DELV("G688_12"),	// 주문상품과 다른상품이 배송됨
		DELAY_DELV("G688_13"),		// 상품이 늦게 배송됨
		BROKEN("G688_14"),			// 상품이 파손되어 배송됨
		NOT_DELV_ALL("G688_15"),		// 일부상품이 배송되지 않음
		INCORRECT_OPTION("G688_16");	// 상품 정보와 상이함

		private String value;

		private OrderReturnReason(String value) {
			this.value = value;
		}

		public String value() {
			return value;
		}
	}

	// 교환 요청 사유
	public enum OrderChangeReason {
		CHANGE_OPTION("G689_10"),			// 사이즈 변경
		NG_GOODS("G689_11"),				// 상품의 결함이 있음
		INCORRECT_DELV("G689_12"),			// 주문상품과 다른상품이 배송됨
		BROKEN("G689_13"),					// 상품이 파손되어 배송됨
		NOT_DELV_ALL("G689_14"),			// 일부상품이 배송되지 않음
		INCORRECT_OPTION("G689_15");		// 상품 정보와 상이함

		private String value;

		private OrderChangeReason(String value) {
			this.value = value;
		}

		public String value() {
			return value;
		}
	}

	// 주문변경요청변경구분
	public enum ChangeGb {
		EXCHANGE_TO_CANCEL("G681_10"),		// 교환TO취소
		EXCHANGE_TO_EXCHANGE("G681_20"),	// 교환TO교환
		RETURN_TO_RETURN("G681_30"),		// 반품TO반품
		RETURN_TO_EXCHANGE("G681_40"),		// 반품TO교환
		NO_REQUEST("G681_50"),				// 미접수
		SOLDOUT_AFTER_DECISION("G681_60");	// 확정후품절

		private String value;

		private ChangeGb(String value) {
			this.value = value;
		}

		public String value() {
			return value;
		}
	}

	// 결제구분
	public enum PaymentGb {
		ORDER("O"),							// 주문시결제
		DELIVERY("D"),						// 배송시결제
		ERROR("E");							// 에러(강제 결제 태울 때 또는 에러일 때)

		private String value;

		private PaymentGb(String value) {
			this.value = value;
		}

		public String value() {
			return value;
		}
	}

	// 결제상태
	public enum PaymentStat {
		PAYMENT_WAIT("G016_00"),			// 결제대기(pg 등록 전 데이터 세팅)
		DEPOSIT_BEFORE_BANKING("G016_10"),	// 결제성공
		PAYMENT_COMPLETE("G016_30"),		// 결제완료
		DB_FAIL("G016_97"),					// 결제성공후DB실패
		PAY_BEFORE_CANCEL("G016_98"),		// 가상계좌입금전취소
		PAYMENT_CANCEL("G016_99");			// 결제취소

		private String value;

		private PaymentStat(String value) {
			this.value = value;
		}

		public String value() {
			return value;
		}
	}

	// 결제수단
	public enum PayMeans {
		ACCOUNT_TRANSFER("G014_10"),		// 실시간계좌이체
		BANK_DEPOSIT("G014_20"),			// 무통장입금
		CREDIT_CARD("G014_30"),				// 신용카드
		POINT("G014_40"),					// 포인트
		COUPON("G014_50"),					// 쿠폰
		CELL_PHONE("G014_60"),				// 휴대전화
		GIFTCARD("G014_70"),				// 상품권
		NAVER_POINT("G014_80"),				// 네이버포인트
		KAKAO_POINT("G014_81"),				// 카카오포인트
		PAYCO_POINT("G014_82"),				// PAYCO포인트
		KAKAO_MONEY("G014_83"),				// 카카오머니
		EXTMALL("G014_90");					// 외부몰입금

		private String value;

		private PayMeans(String value) {
			this.value = value;
		}

		public String value() {
			return value;
		}
	}

	// PG 구분
	public enum PgGb {
		KCP("KCP"),							// KCP
		KAKAO("KAKAO"),						// 카카오페이
		NAVER("NAVER"),						// NAVERPAY
		NAVER_ORDER("NAVER_ORDER"),			// NAVERPAY
		PAYCO("PAYCO"),						// PAYCO
		ISTYLE("ISTYLE");						// 아이스타일 (상품권으로만결제시)

		private String value;

		private PgGb(String value) {
			this.value = value;
		}

		public String value() {
			return value;
		}
	}

	// 배송비구분
	public enum DeliveryFeeGb {
		ORIGIN_DELIVERY_FEE("G018_10"),		// 원주문배송비
		REPAYMENT_DELIVERY_FEE("G018_20"),	// 재결제배송비
		EXCHANGE_DELIVERY_FEE("G018_30"),	// 교환배송비
		RETURN_DELIVERY_FEE("G018_40");		// 반품배송비

		private String value;

		private DeliveryFeeGb(String value) {
			this.value = value;
		}

		public String value() {
			return value;
		}
	}

	// 판매구분
	public enum SellGb {
		ORDER("10"),						// 주문(-)
		ORDER_CANCEL("11"),					// 주문취소(+)
		SHIP_CANCEL("12"),					// 미출고(+)
		EXCHANGE("20"),						// 교환신청(-)
		EXCHANGE_CANCEL("21"),				// 교환취소(+)
		SALE("30");							// 판매매출반영(+)

		private String value;

		private SellGb(String value) {
			this.value = value;
		}

		public String value() {
			return value;
		}
	}
//
//	// 정산구분
//	public enum UsacGb {
//		SELL("10"),						// 판매
//		PURCHASE_RETURN("20");			// 환입
//
//		private String value;
//
//		private UsacGb(String value) {
//			this.value = value;
//		}
//
//		public String value() {
//			return value;
//		}
//	}
//
//	// 환입구분
//	public enum PurchaseReturnGb {
//		CANCEL("10"),					// 취소
//		SOLDOUT("20"),					// 품절
//		RETURN("30");					// 반품
//
//		private String value;
//
//		private PurchaseReturnGb(String value) {
//			this.value = value;
//		}
//
//		public String value() {
//			return value;
//		}
//	}
//
//	// 출고수락거부구분
//	public enum DeliveryAgreeGb {
//		WAIT("P"),						// 대기
//		ACCEPT("Y"),					// 수락
//		REJECT("N");					// 거부
//
//		private String value;
//
//		private DeliveryAgreeGb(String value) {
//			this.value = value;
//		}
//
//		public String value() {
//			return value;
//		}
//	}

//	// 출고처분류
//	public enum DeliveryClassification {
//		WARE_HOUSE("10"),				// 물류창고
//		NORMAL_STORE("20"),				// 일반매장
//		DIRECT_STORE("21"),				// 직송매장
//		SUPPLY_COMPANY("30");			// 입점업체
//
//		private String value;
//
//		private DeliveryClassification(String value) {
//			this.value = value;
//		}
//
//		public String value() {
//			return value;
//		}
//	}
//
//	// 판매구분
//	public enum StockSellGb {
//		ORDER("10"),					// 주문
//		ORDER_CANCEL("11"),				// 주문취소
//		EXCHANGE("20"),					// 교환신청
//		EXCHANGE_CANCEL("21");			// 교환취소
//
//		private String value;
//
//		private StockSellGb(String value) {
//			this.value = value;
//		}
//
//		public String value() {
//			return value;
//		}
//	}
//
	// 포인트발생구분
	public enum PointOccurGb {
		EXPECT_POINT("G069_12"),				// 예정포인트적립
		EXPECT_POINT_CANCEL("G069_13"),			// 예정포인트적립취소
		REVIEW_POINT("G069_20"),				// 상품평포인트승인
		REVIEW_POINT_CANCEL("G069_21"),			// 상품평포인트승인취소
		EVENT_POINT("G069_30"),					// 온라인이벤트
		JOIN_POINT("G069_31"),					// 회원가입축하
		BIRTH_POINT("G069_32"),					// 생일축하
		REVISIT("G069_33"),						// 재방문
		FAMILY_SALE("G069_34"),					// 패밀리세일
		APP_DOWNLOAD("G069_35"),				// APP다운로드
		ETC_POINT("G069_90"),					// 기타
		EXPIRE_POINT("G069_99"),				// 소멸포인트
		ORD_USE_POINT("G069_40"),				// 구매포인트사용
		ORD_USE_POINT_CANCEL("G069_41"),		// 구매포인트사용취소
		FREEGIFT_USE_POINT("G069_42"),			// 사은품포인트사용
		FREEGIFT_USE_POINT_CANCEL("G069_43");	// 사은품포인트사용취소

		private String value;

		private PointOccurGb(String value) {
			this.value = value;
		}

		public String value() {
			return value;
		}
	}

	// 포인트발생상태
	public enum PntUploadStat {
		APPLY_EXPECT("G070_10"),			// 반영예정
		BEFORE_APPLY_CANCEL("G070_20"),		// 반영전취소
		APPLY_COMPLETE("G070_30"),			// 반영완료
		AFTER_APPLY_CANCEL("G070_40");		// 반영완료취소

		private String value;

		PntUploadStat(String value) {
			this.value = value;
		}

		public String value() {
			return value;
		}
	}

	// 상품권발생구분
	public enum GiftCardOccurGb {
		REGISTER_GIFTCARD("G074_11"),			// 상품권등록
		USE_GIFTCARD("G074_12"),				// 상품권사용
		USE_GIFTCARD_CANCEL("G074_13"),			// 상품권사용취소
		EXPIRE_GIFTCARD("G074_14"),				// 유효기간만료
		DESTROY_GIFTCARD("G074_15"),			// 상품권파기
		EXCHANGE_CASH("G074_16"),				// 전액현금전환
		EXTEND_PERIOD("G074_17"),				// 결품으로인한 기간연장
		ADD_GIFTCARD("G074_18"),				// 오환불로인한 금액추가
		SUB_GIFTCARD("G074_19");				// 오환불로인한 금액차감

		private String value;

		private GiftCardOccurGb(String value) {
			this.value = value;
		}

		public String value() {
			return value;
		}
	}
//
//	public enum StoreCode {
//		GWANGJU("MZ0134"),				//광주물류
//		B2B("");
//
//		private String value;
//
//		private StoreCode(String value) {
//			this.value = value;
//		}
//
//		public String value() {
//			return value;
//		}
//	}
//
	// 몰구분
	public enum MallGb {
		SELFMALL("G011_10"),				// 자사몰
		EXTMALL("G011_20");					// 외부몰

		private String value;

		private MallGb(String value) {
			this.value = value;
		}

		public String value() {
			return value;
		}
	}
//
//	//PG사구분
//	public enum PgGb {
//		INICIS("INICIS"),				// 이니시스
//		KAKAO("KAKAO"),					// 카카오페이
//		NAVER("NAVER"),					// 네이버페이
//		NICE("NICE"),					// 나이스
//		PAYCO("PAYCO");					// 페이코
//
//		private String value;
//
//		private PgGb(String value) {
//			this.value = value;
//		}
//
//		public String value() {
//			return value;
//		}
//	}
//
	// 상품 타입
	public enum GoodsType {
		NORMAL("G056_N"), DEAL("G056_D"), SET("G056_S");

		private String value;

		private GoodsType(String value) {
			this.value = value;
		}

		public String value() {
			return value;
		}
	}

	// 상품 상태
	public enum GoodsStat {
		SOLDOUT("G008_70"),	// 일시 품절
		APPR("G008_90");		// 승인완료

		private String value;

		private GoodsStat(String value) {
			this.value = value;
		}

		public String value() {
			return value;
		}
	}

	// 상품 구분
	public enum GoodsGb {
		BASE("G800_10"),		// 기본상품
		APPLY("G800_20"),		// 적용상품
		NONE("G800_30"),		// 제외상품
		ALL("G800_40");		// ALL

		private String value;

		private GoodsGb(String value) {
			this.value = value;
		}

		public String value() {
			return value;
		}
	}

	// 할인 적용 구분
	public enum ApplyGb {
		QTY("G810_10"),				// 수량
		AMT("G810_11");				// 금액

		private String value;

		private ApplyGb(String value) {
			this.value = value;
		}

		public String value() {
			return value;
		}
	}

	// 할인 방식 구분
	public enum DcWay {
		AMT("G240_10"),				// 할인금액
		RATE("G240_11");				// 할인율

		private String value;

		private DcWay(String value) {
			this.value = value;
		}

		public String value() {
			return value;
		}
	}

	// 쿠폰유형
	public enum CpnType {
		NOW_DC_CPN("G230_10"),		// 즉시 할인 쿠폰
		GOODS_CPN("G230_11"),			// 상품 쿠폰
		CATE_CPN("G230_13"),			// 장바구니쿠폰
		PAY_CPN("G230_20");			// 주문서쿠폰

		private String value;

		private CpnType(String value) {
			this.value = value;
		}

		public String value() {
			return value;
		}
	}

	// 할인 코드 유형
	public enum DcCdGb {
		NARMAL("G233_00"),			// 일반 쿠폰 유형
		SERIAL("G233_10"),			// 시리얼 쿠폰 유형
		RANDOM("G233_20");			// 랜덤 쿠폰 유형

		private String value;

		private DcCdGb(String value) {
			this.value = value;
		}

		public String value() {
			return value;
		}
	}

	// 쿠폰 대상 타겟 구분
	public enum CpnTarget {
		GOODS("G260_10"),			// 상품
		CATE("G260_11"),				// 카테고리
		BRAND("G260_12"),			// 브랜드
		COMP("G260_13"),				// 공급업체
		NOT_APPLY("G260_14");		// 제외 상품

		private String value;

		private CpnTarget(String value) {
			this.value = value;
		}

		public String value() {
			return value;
		}
	}

	// 쿠폰 적용 대상 구분
	public enum ApplyScope {
		ALL("A"),			// 전체
		INDIVIDUAL("I");		// 개별

		private String value;

		private ApplyScope(String value) {
			this.value = value;
		}

		public String value() {
			return value;
		}
	}

	// 장바구니 구분
	public enum CartGb {
		CART("G026_BC"),			// 장바구니
		PC_ORDER("G026_DP"),		// 바로구매(모바일)
		MOB_ORDER("G026_DM"),	// 바로구매(PC)
		GIFT("G026_GF"),			// 선물하기
		CREATE_ORDER("G026_PP");	// 주문생성

		private String value;

		private CartGb(String value) {
			this.value = value;
		}

		public String value() {
			return value;
		}
	}

	// 장바구니 구분
	public enum DelvFeeCrite {
		NORMAL("G078_10"),		// 조건부 무료
		FREE("G078_20"),			// 무료
		PAY("G078_30");			// 유료

		private String value;

		private DelvFeeCrite(String value) {
			this.value = value;
		}

		public String value() {
			return value;
		}
	}

	// 회사 정보
	public enum Style24Infomation {
		COMPANY_NAME("아이스타일이십사(주)"),
		CEO_NAME("윤종선"),
		SECURITY_NAME("김명인"),
		EMAIL_ADDRESS("help@istyle24.com"),
		BIZ_NO("116-81-3249"),
		REPORT_NO("2005-서울영등포-1432"),
		ADDRESS("서울시 영등포구 은행로 11, 8층(여의도동, 일신빌딩)"),
		CALLCENTER_TEL("1544-5336"),
		SITE_NAME("STYLE24");

		private String value;

		private Style24Infomation(String value) {
			this.value = value;
		}

		public String value() {
			return value;
		}
	}

	// 성별
	public enum Gender {
		FEMALE("G007_F"),	// 여성
		MALE("G007_M"),		// 남성
		COMMON("G007_Z");	// 공통

		private String value;

		Gender(String value) {
			this.value = value;
		}

		public String value() {
			return value;
		}

	}

	// 고객상태값
	public enum CustStat {
		ACTIVE("G104_10"),
		DORMANT("G104_20"),
		SECEDE("G104_30");

		private String value;

		CustStat(String value) {
			this.value = value;
		}

		public String value() {
			return value;
		}
	}

	// 고객구분
	public enum CustGb {
		ALL("G100_00"),
		NORMAL("G100_10"),
		EMPLOYEE("G100_20"),
		NOMEMBER("G100_99");

		private String value;

		CustGb(String value) {
			this.value = value;
		}

		public String value() {
			return value;
		}
	}

	// 고객등급코드값
	public enum CustGrade {
		VIP("G110_10"),
		GOLD("G110_20"),
		SILVER("G110_30"),
		BRONZE("G110_40"),
		WELCOME("G110_50");

		private String value;

		CustGrade(String value) {
			this.value = value;
		}

		public String value() {
			return value;
		}
	}

	// 인증방법
	public enum AuthMethod {
		MOBILE("mobile"),
		IPIN("ipin"),
		CUSTINFO("custInfo");

		private String value;

		AuthMethod(String value) {
			this.value = value;
		}

		public String value() {
			return value;
		}
	}

	// 프론트 구분
	public enum FrontGb {
		MOB("M"),
		PC("P"),
		APP("A");

		private String value;

		FrontGb(String value) {
			this.value = value;
		}

		public String value() {
			return value;
		}
	}

	// SNS TYPE
	public enum SnsType {
		KAKAO("KK"),
		NAVER("NV"),
		YES24("YS");

		private String value;

		SnsType(String value) {
			this.value = value;
		}

		public String value() {
			return value;
		}
	}

	// 쿠폰 발행 사유
	public enum PubReason {
		JOIN("G068_10"),
		BIRTHDAY("G068_11"),
		WEDDING("G068_12"),
		CHANGE_CUSTOMER_GRADE("G068_13"),
		DORMANT_COMABK_COUPON("G068_14"),
		DELAY_CANCEL_INFOMATION("G068_20"),
		DELAY_DELIVERY("G068_21"),
		MISDELIVERY("G068_22"),
		RETURN("G068_23"),
		DOWNLOAD("G068_30"),
		CUSTOMER_CLAIM("G068_40"),
		ADMIN("G068_50"),
		RANDOM("G068_60"),
		PROMOTION("G068_90"),
		ETC("G068_99");

		private String value;

		PubReason(String value) {
			this.value = value;
		}

		public String value() {
			return value;
		}
	}

	// 정산구분상태
	public enum OrdDtlItemStat {

		SALE_PAYMENT_COMPLETE("G720_10"), 			// 판매-결제완료
		SALE_SHIPPING("G720_20"),					// 판매-배송완료
		SALE_RETURN_CANCEL("G720_30"), 				// 환입-취소완료
		SALE_RETURN_SOLDOUT_CANCEL("G720_40"),		// 환입-품절취소
		SALE_RETURN_RETURN_COMPLETE("G720_50"),		// 환입-반품완료
		SALE_RETURN_EXCHANGE_COMPLETE("G720_60");	// 환입-교환완료

		private String value;

		private OrdDtlItemStat(String value) {
			this.value = value;
		}

		public String value() {
			return value;
		}
	}

	// 제휴몰벤더ID
	public enum VendorId {
		SHOPLINKER("G003_V001");			// 샵링커

		private String value;

		private VendorId(String value) {
			this.value = value;
		}

		public String value() {
			return value;
		}
	}

	// 제휴몰 파일업로드 상태유형
	public enum ExtmallUploadStat {
		WAIT("G021_00"),				// 대기
		CHECK("G021_20"),				// 검증
		SUCC("G021_30"),				// 성공
		FAIL("G021_40"),				// 실패
		NOT("G021_50");					// 미매핑

		private String value;

		private ExtmallUploadStat(String value) {
			this.value = value;
		}

		public String value() {
			return value;
		}
	}

	// 제휴몰 파일업로드 실패유형
	public enum ExtmallUploadFailStat {
		GOODS("G022_10"),				// 상품코드미매핑
		SIZE("G022_20"),				// 사이즈미매핑
		ORD_QTY("G022_30"),				// 주문수량오류
		PRICE("G022_40"),				// 상품가격이상
		STORE("G022_50"),				// 판매매장미등록
		STOCK("G022_60"),				// 가용재고없음
		ORDER("G022_70"),				// 동일주문수집
		ETC("G022_90");					// 기타

		private String value;

		private ExtmallUploadFailStat(String value) {
			this.value = value;
		}

		public String value() {
			return value;
		}
	}

	// 샵링커 API 상태
	public enum ShoplinkerApiStat {
		TRUE("TRUE"),				// 성공
		FALSE("FALSE"),				// 실패
		ERROR("ERROR"),				// 오류
		S_ERROR("error"),			// API 전송실패 오류
		RUN("RUN"),					// api 실행중
		START("START"),				// api 시작
		END("END");					// api 종료

		private String value;

		private ShoplinkerApiStat(String value) {
			this.value = value;
		}

		public String value() {
			return value;
		}
	}

}
