itsm_ysm/src/main/java/nlib/user/service/impl/UserInfoServiceImpl.java
2021-12-17 14:13:53 +09:00

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);
}
}