119 lines
3.4 KiB
Java
119 lines
3.4 KiB
Java
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;
|
|
|
|
/**
|
|
* <pre>
|
|
* @Class Name : UserInfoServiceImpl.java
|
|
*
|
|
* @Description : 사용자의 정보를 조회하는 서비스
|
|
*
|
|
*
|
|
* @프로젝트명: 지방문화원 통합자료관리시스템 구축사업 (2021)
|
|
*
|
|
* </pre>
|
|
*
|
|
* @ ------------ -------- ---------------------------
|
|
* @ 수정일 수정자 수정내용
|
|
* @ ------------ -------- ---------------------------
|
|
* @ 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<OAuthUniversalUser> 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<Map<String, String>> getLastLogin(String mbInfoId) throws Exception {
|
|
return userInfoDAO.getLastLogin(mbInfoId);
|
|
}
|
|
|
|
/**
|
|
* 최근 1건이내 접속한 문화원 정보를 조회한다.
|
|
*
|
|
* @param mbInfoId
|
|
* @return
|
|
* @throws Exception
|
|
*/
|
|
public List<Map<String, String>> getVisitedOrgs(String mbInfoId) throws Exception {
|
|
return userInfoDAO.getVisitedOrgs(mbInfoId);
|
|
}
|
|
} |