package com.style24.persistence.domain;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.style24.persistence.TscBaseDomain;

import lombok.Data;

/**
 * 사용자 Domain
 * 
 * @author gagamel
 * @since 2020. 10. 5
 */
@SuppressWarnings("serial")
@Data
@JsonSerialize
@JsonIgnoreProperties(ignoreUnknown = true)
public class User extends TscBaseDomain {

	// 세션을 JSON 형식으로 레디스에 저장하려면 기본 생성자를 반드시 명시해야 한다
	public User() {

	}

	private Integer userNo;			// 사용자번호
	private String userId;			// 사용자ID
	private String userNm;			// 사용자명
	private String passwd;			// 비밀번호
	private String roleCd;			// 권한코드
	private String roleNm;			// 권한명
	private String roleRefVal;		// 권한관련값
	private String supplyCompCd;	// 공급업체코드
	private String supplyCompNm;	// 공급업체명
	private String vendorId;		// 벤더ID
	private String vendorNm;		// 벤더명
	private String afLinkCd;		// 제휴링크코드
	private String afLinkNm;		// 제휴링크명
	private String afChannel;		// 제휴채널
	private String afChannelNm;		// 제휴채널명
	private String email;			// 이메일
	private String cellPhnno;		// 휴대전화번호
	private int pntAssignAmt;		// 포인트할당금액
	private String ipAddr;			// IP주소
	private String ipChkYn;			// IP체크여부
	private String loginLdt;		// 최종로그인일시
	private String passwdChgDt;		// 비밀번호변경일시
	private String useYn;			// 사용여부
	private String maskingYn;		// 마스킹여부
	private int loginFailCnt;		// 로그인실패건수
	private String loginFailYn;		// 로그인실패여부

	// 사용자 목록 검색조건
	private String searchGb;
	private String searchTxt;
	private String callBackFun;

	// 권한변경여부
	private String roleChangeYn;

}
