package nlib.user.service.impl; import java.util.List; import java.util.Map; import javax.annotation.Resource; import org.springframework.stereotype.Service; import egovframework.com.ext.oauth.service.OAuthUniversalUser; import egovframework.rte.fdl.cryptography.EgovPasswordEncoder; import nlib.cmm.crypto.AriaCrypto; import nlib.user.service.MemberService; import nlib.user.service.NlibLoginVO; import nlib.user.service.UserInfoService; /** *
 * @Class Name : UserInfoServiceImpl.java
 * 
 * @Description : 사용자의 정보를 조회하는 서비스 
 * 
 * 
 * @프로젝트명: 지방문화원 통합자료관리시스템 구축사업 (2021)
 *
 * 
* * @ ------------ -------- --------------------------- * @ 수정일 수정자 수정내용 * @ ------------ -------- --------------------------- * @ 2021. 9. 7. JSYOO 최초 생성 * * * @author 이씨플라자 * DIGITALSHIP JSYOO * @since 2021. 9. 7. * @version 1.0 * */ @Service("userInfoService") public class UserInfoServiceImpl implements UserInfoService { @Resource(name="userInfoDAO") private UserInfoDAO userInfoDAO; @Resource(name = "egovEnvPasswordEncoderService") EgovPasswordEncoder egovPasswordEncoder; @Resource(name = "ariaCrypto") AriaCrypto ariaCrypto; /** * 사용자의 SNS 연동 리스트를 조회한다. * (non-Javadoc) * @see nlib.user.service.UserInfoService#selectSnsSignUpList(nlib.user.service.NlibLoginVO) */ public List selectSnsSignUpList(NlibLoginVO vo) throws Exception { return userInfoDAO.selectSnsSignUpList(vo); } /** * 내 정보를 수정한다. * (non-Javadoc) * @see nlib.user.service.UserInfoService#updateMyInfo(nlib.user.service.NlibLoginVO) */ public void updateMyInfo(NlibLoginVO vo) throws Exception { //회원정보 암호화 vo.encodePrivateInfo(); userInfoDAO.updateMyInfo(vo); } /** * SNS연동을 해지한다. * (non-Javadoc) * @see nlib.user.service.UserInfoService#deleteSnsLink(egovframework.com.ext.oauth.service.OAuthUniversalUser) */ public void deleteSnsLink(OAuthUniversalUser oAuthVO) throws Exception { userInfoDAO.deleteSnsLink(oAuthVO); } /** * 사용자의 정보를 조회한다. * (non-Javadoc) * @see nlib.user.service.UserInfoService#selectMyInfo(nlib.user.service.NlibLoginVO) */ public NlibLoginVO selectMyInfo(NlibLoginVO vo) throws Exception { vo.setMobileNo(ariaCrypto.encode(vo.getMobileNo())); vo.setEmail(ariaCrypto.encode(vo.getEmail())); NlibLoginVO loginVO =userInfoDAO.selectMyInfo(vo); // 개인정보 암호화 내용 복호화 처리 if(loginVO != null) { loginVO.setMobileNo(AriaCrypto.decode(loginVO.getMobileNo())); loginVO.setEmail(AriaCrypto.decode(loginVO.getEmail())); } return loginVO; } /** * 직전 로그인 시간을 조회한다. * * @param mbInfoId * @return * @throws Exception */ public List> getLastLogin(String mbInfoId) throws Exception { return userInfoDAO.getLastLogin(mbInfoId); } /** * 최근 1건이내 접속한 문화원 정보를 조회한다. * * @param mbInfoId * @return * @throws Exception */ public List> getVisitedOrgs(String mbInfoId) throws Exception { return userInfoDAO.getVisitedOrgs(mbInfoId); } }