Class MemberServiceImpl

  • All Implemented Interfaces:
    MemberService, org.springframework.security.core.userdetails.UserDetailsService

    @Service("memberService")
    @PropertySource("classpath:properties/directory.properties")
    public class MemberServiceImpl
    extends java.lang.Object
    implements MemberService
    회원 Service
    Version:
    1.0
    Author:
    Yeonhee Kim, Wooyoung Lee
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void accountExpired​(java.lang.String member_id)
      3개월 이상 접속하지 않은 계정 만료
      void deleteMember​(java.lang.String member_id)
      회원 탈퇴
      void deleteMemberByScheduler​(java.lang.String member_id)
      스케쥴러로 인한 멤버 삭제
      java.util.List<Member> getAllMemberList()
      회원 정보를 모두 가져옴
      java.util.Collection<org.springframework.security.core.GrantedAuthority> getAuthorities​(java.lang.String member_id)
      읽어온 회원정보에 대하여 권한을 부여한 뒤 리턴함
      java.util.List<Member> getMemberList()
      회원 정보를 페이징 처리하여 가져옴
      ResponseData getMemberList​(java.lang.String role, java.lang.String function_name, int current_page_no, int count_per_page, int count_per_list, java.lang.String search_word, java.lang.String approval)
      사용자 목록 테이블을 페이징 처리하여 가져옴
      ResponseData getUsingLog​(java.lang.String member_id, java.lang.String function_name, int current_page_no, int count_per_page, int count_per_list, java.lang.String search_word, java.lang.String log_type, java.util.Map<java.lang.String,​java.lang.Object> searchMap)
      사용 로그 테이블을 페이징 처리하여 가져옴
      org.springframework.security.core.userdetails.UserDetails loadUserByUsername​(java.lang.String username)
      Spring Security에서 User 정보를 읽을 때 사용함.
      org.springframework.security.crypto.password.PasswordEncoder passwordEncoder()
      사용할 PasswordEncoder를 리턴해줌
      Member readMemberById​(java.lang.String member_id)
      아이디로 회원정보를 가져옴
      void recordLogout()
      사용 로그에 로그아웃을 기록함
      int registerCheck​(java.lang.String object, java.lang.String value)
      회원가입시 해당 요소가 DB에 존재하는지 중복 체크
      int registerMember​(org.springframework.web.multipart.MultipartFile[] uploadImgFile, Member member)
      회원가입
      java.lang.String sendPwdToEmail​(java.lang.String member_id, java.lang.String email)
      비밀번호를 잊어버린 회원에게 아이디와 이메일을 받고 임시 비밀번호를 메일로 발송
      void updateAccountActivation​(java.lang.String member_id)
      관리자 권한으로 계정 활성화
      int updateAuthorities​(java.lang.String member_id, java.lang.String[] authoritiesArr)
      관리자 권한으로 회원 권한 수정
      void updateLoginTime​(java.lang.String member_id)
      로그인 할 때마다 마지막 로그인 시간을 업데이트
      int updateMember​(org.springframework.web.multipart.MultipartFile[] uploadImgFile, Member member, boolean changeToDefaultImg)
      회원 정보 수정
      void updateMemberApprovalUsingId​(Member member)
      관리자 권한으로 가입 승인
      int updatePwd​(java.lang.String member_id, java.lang.String pwd)
      비밀번호 변경
      Member uploadProfileImg​(org.springframework.web.multipart.MultipartFile[] uploadImgFile, Member member, boolean changeToDefaultImg)
      사용자의 프로필 이미지를 업로드하고 파일명이 세팅된 Member 객체를 반환함
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • MemberServiceImpl

        public MemberServiceImpl()
    • Method Detail

      • passwordEncoder

        public org.springframework.security.crypto.password.PasswordEncoder passwordEncoder()
        Description copied from interface: MemberService
        사용할 PasswordEncoder를 리턴해줌
        Specified by:
        passwordEncoder in interface MemberService
        Returns:
        사용할 PasswordEncoder를 리턴해줌
      • uploadProfileImg

        public Member uploadProfileImg​(org.springframework.web.multipart.MultipartFile[] uploadImgFile,
                                       Member member,
                                       boolean changeToDefaultImg)
        사용자의 프로필 이미지를 업로드하고 파일명이 세팅된 Member 객체를 반환함
        Parameters:
        uploadImgFile - 업로드할 이미지 파일
        member - 회원 정보
        changeToDefaultImg - 프로필 이미지를 기본 이미지로 바꾸는지 여부
        Returns:
        이미지를 업로드되었을 때 파일명이 세팅된 Member 객체
      • registerMember

        public int registerMember​(org.springframework.web.multipart.MultipartFile[] uploadImgFile,
                                  Member member)
        회원가입
        Specified by:
        registerMember in interface MemberService
        Parameters:
        uploadImgFile - 업로드한 이미지 파일
        member - 회원 정보
        Returns:
        회원 정보 가입 값 리턴
      • readMemberById

        public Member readMemberById​(java.lang.String member_id)
        아이디로 회원정보를 가져옴
        Specified by:
        readMemberById in interface MemberService
        Parameters:
        member_id - 회원 아이디
        Returns:
        회원 값 리턴
      • registerCheck

        public int registerCheck​(java.lang.String object,
                                 java.lang.String value)
        회원가입시 해당 요소가 DB에 존재하는지 중복 체크
        Specified by:
        registerCheck in interface MemberService
        Parameters:
        object - 회원 정보 객체
        value - 값 여부 확인
        Returns:
        중복체크 여부 후 리턴
      • updateMember

        public int updateMember​(org.springframework.web.multipart.MultipartFile[] uploadImgFile,
                                Member member,
                                boolean changeToDefaultImg)
        회원 정보 수정
        Specified by:
        updateMember in interface MemberService
        Parameters:
        uploadImgFile - 업로드한 이미지 파일
        member - 회원정보
        changeToDefaultImg - 프로필 이미지를 기본 이미지로 바꾸는지 여부
        Returns:
        수정된 회원정보 값 리턴
      • updateAuthorities

        public int updateAuthorities​(java.lang.String member_id,
                                     java.lang.String[] authoritiesArr)
        관리자 권한으로 회원 권한 수정
        Specified by:
        updateAuthorities in interface MemberService
        Parameters:
        member_id - 회원 아이디
        authoritiesArr - 권한 배열
        Returns:
        권한 수정 값 리턴
      • updatePwd

        public int updatePwd​(java.lang.String member_id,
                             java.lang.String pwd)
        비밀번호 변경
        Specified by:
        updatePwd in interface MemberService
        Parameters:
        member_id - 회원 아이디
        pwd - 회원 비밀번호
        Returns:
        회원 아이디와 수정된 비밀번호 값을 리턴
      • sendPwdToEmail

        public java.lang.String sendPwdToEmail​(java.lang.String member_id,
                                               java.lang.String email)
        비밀번호를 잊어버린 회원에게 아이디와 이메일을 받고 임시 비밀번호를 메일로 발송
        Specified by:
        sendPwdToEmail in interface MemberService
        Parameters:
        member_id - 회원 아이디
        email - 회원 이메일
        Returns:
        성공 여부
      • deleteMember

        public void deleteMember​(java.lang.String member_id)
        회원 탈퇴
        Specified by:
        deleteMember in interface MemberService
        Parameters:
        member_id - 회원 아이디
      • deleteMemberByScheduler

        public void deleteMemberByScheduler​(java.lang.String member_id)
        스케쥴러로 인한 멤버 삭제
        Specified by:
        deleteMemberByScheduler in interface MemberService
        Parameters:
        member_id - 삭제할 회원 아이디
      • loadUserByUsername

        public org.springframework.security.core.userdetails.UserDetails loadUserByUsername​(java.lang.String username)
                                                                                     throws org.springframework.security.core.userdetails.UsernameNotFoundException
        Spring Security에서 User 정보를 읽을 때 사용함.
        Specified by:
        loadUserByUsername in interface MemberService
        Specified by:
        loadUserByUsername in interface org.springframework.security.core.userdetails.UserDetailsService
        Parameters:
        username - 유저 이름
        Returns:
        vo 객체 값 리턴
        Throws:
        org.springframework.security.core.userdetails.UsernameNotFoundException - 유저이름 예외처리
      • getAuthorities

        public java.util.Collection<org.springframework.security.core.GrantedAuthority> getAuthorities​(java.lang.String member_id)
        읽어온 회원정보에 대하여 권한을 부여한 뒤 리턴함
        Specified by:
        getAuthorities in interface MemberService
        Parameters:
        member_id - 회원 아이디
        Returns:
        권한 부여후 리턴
      • getMemberList

        public java.util.List<Member> getMemberList()
        회원 정보를 페이징 처리하여 가져옴
        Specified by:
        getMemberList in interface MemberService
        Returns:
        회원 목록
      • getAllMemberList

        public java.util.List<Member> getAllMemberList()
        회원 정보를 모두 가져옴
        Specified by:
        getAllMemberList in interface MemberService
        Returns:
        회원 목록
      • getMemberList

        public ResponseData getMemberList​(java.lang.String role,
                                          java.lang.String function_name,
                                          int current_page_no,
                                          int count_per_page,
                                          int count_per_list,
                                          java.lang.String search_word,
                                          java.lang.String approval)
        사용자 목록 테이블을 페이징 처리하여 가져옴
        Specified by:
        getMemberList in interface MemberService
        Parameters:
        role - 사용자 권한
        function_name - 페이지의 번호를 클릭했을 때 호출되는 자바스크립트 함수명 또는 게시글 조회를 요청하는 함수명을 저장할 변수
        current_page_no - 현재 화면에 출력되고 있는 페이지 번호 또는 페이지의 번호를 클릭했을 때에 번호를 저장할 변수
        count_per_page - 한 화면에 출력되는 페이지의 수를 저장할 변수
        count_per_list - 한 화면에 출력되는 게시글의 수를 저장할 변수
        search_word - 검색어
        approval - 승인 여부
        Returns:
        사용자 목록 테이블
      • getUsingLog

        public ResponseData getUsingLog​(java.lang.String member_id,
                                        java.lang.String function_name,
                                        int current_page_no,
                                        int count_per_page,
                                        int count_per_list,
                                        java.lang.String search_word,
                                        java.lang.String log_type,
                                        java.util.Map<java.lang.String,​java.lang.Object> searchMap)
        사용 로그 테이블을 페이징 처리하여 가져옴
        Specified by:
        getUsingLog in interface MemberService
        Parameters:
        member_id - 사용자 아이디
        function_name - 페이지의 번호를 클릭했을 때 호출되는 자바스크립트 함수명 또는 게시글 조회를 요청하는 함수명을 저장할 변수
        current_page_no - 현재 화면에 출력되고 있는 페이지 번호 또는 페이지의 번호를 클릭했을 때에 번호를 저장할 변수
        count_per_page - 한 화면에 출력되는 페이지의 수를 저장할 변수
        count_per_list - 한 화면에 출력되는 게시글의 수를 저장할 변수
        search_word - 검색어
        log_type - 상세 검색 타입(사용자 아이디/사용 내역/IP 주소/접속 시간) 중 하나
        searchMap - 상세 검색어(사용자 아이디/사용 내역/IP 주소/접속 시간) 값을 담고 있는 Map
        Returns:
        사용 로그 테이블
      • recordLogout

        public void recordLogout()
        사용 로그에 로그아웃을 기록함
        Specified by:
        recordLogout in interface MemberService
      • updateLoginTime

        public void updateLoginTime​(java.lang.String member_id)
        로그인 할 때마다 마지막 로그인 시간을 업데이트
        Specified by:
        updateLoginTime in interface MemberService
        Parameters:
        member_id - 업데이트 할 계정 id
      • accountExpired

        public void accountExpired​(java.lang.String member_id)
        3개월 이상 접속하지 않은 계정 만료
        Specified by:
        accountExpired in interface MemberService
        Parameters:
        member_id - 만료할 계정 ID
      • updateAccountActivation

        public void updateAccountActivation​(java.lang.String member_id)
        관리자 권한으로 계정 활성화
        Specified by:
        updateAccountActivation in interface MemberService
        Parameters:
        member_id - 활성화 할 member_id