package com.style24.persistence.domain;

import com.style24.core.support.util.CryptoUtils;
import com.style24.persistence.TscBaseDomain;
import lombok.Data;


/**
 * 포인트 Domain
 *
 * @author jsshin
 * @since 2021. 01. 22
 */
@SuppressWarnings("serial")
@Data
public class Point extends TscBaseDomain {
	private Integer custPntSq;	// 고객포인트일련번호
	private Integer custNo;		// 고객번호
	private String custNm;		// 고객이름
	private String email;		// 이메일
	private String cellPhnno;	// 휴대전화번호(탈퇴 시 NULL로 처리)
	private String expBeDt;		// 만료예정일시
	private String expCmpDt;	// 만료완료일시
	private int gvPntAmt;		// 지급포인트
	private int usPntAmt;		// 사용포인트
	private int rmPntAmt;		// 잔여포인트

	// 포인트 이력
	private Integer pntHstSq;		// 포인트이력일련번호
	private Integer ordNo;			// 주문번호
	private Integer ordDtlNo;		// 주문상세번호
	private Integer reviewSq ;		// 상품평일련번호
	private String occurGb;			// 발생구분(공통코드G270)
	private String occurDtlDesc;	// 발생상세설명
	private String switchDueDt;		// 가용포인트전환예정일시
	private String pntUploadStat;	// 포인트반영상태(공통코드G280)
	private String pntUploadDt;		// 포인트반영일시
	private int pntAmt;				// 포인트금액(+, - 금액으로 표시)
	private String today;			// 현재

	private int expirePntAmt;			// 소멸포인트
	private int expectedPntAmt;			// 적립예정포인트
	private int expectedExpirePntAmt;	// 소멸예정포인트
	
	private String year;				// 날짜변수
	private String month;				// 날짜변수

	private String searchDt;			// 검색일자
	private int buyPointExpireDays;		// 구매포인트소멸일
	private int autoBuyConfirmDays;		// 자동구매확정일
	private String signGb;				// 증가/감소
	
	// 암호화 대상 복호화 처리
	public String getCustNm() {
		this.custNm = CryptoUtils.decryptAES(this.custNm);
		return this.custNm;
	}
	public String getCellPhnno() {
		this.cellPhnno = CryptoUtils.decryptAES(this.cellPhnno);
		return this.cellPhnno;
	}
	public String getEmail() {
		this.email = CryptoUtils.decryptAES(this.email);
		return this.email;
	}
}
