본문 바로가기
중간평가/disassemble_1

중간평가 (Service)

by pms93 2022. 8. 10.

<< MemberRegisterService >>

package disassemble.Service;

import java.text.SimpleDateFormat;
import java.util.Date;

import disassemble.DAO.*;
import disassemble.DTO.*;

public class MemberRegisterService {
	private MemberDAO memberDao;
	
	public MemberRegisterService(MemberDAO memberDao) {
		this.memberDao = memberDao;
	}
	public void regist(RegisterRequest req) {
		// password == confirmPassword
		// email로 계정 등록 여부 확인
		// memberDao.insert() 계정 등록
		
		// password, confirmpassword 비교확인
		if (!req.getPassword().equals(req.getConfirmPassword())) {
			System.out.println("입력하신 두 비밀번호가 일치하지 않습니다. 다시 입력하세요...");
			return;
		}
		
		// memberDao.selectEmail로 중복여부 확인
		MemberDTO tmp = memberDao.selectEmail(req.getEmail());
		if (tmp != null) {
			System.out.println(req.getEmail() + "는 이미 등록된 정보입니다.");
			return;
		}
		
		// req -> memberDTO로 데이터를 옮겨담아 insert 수행
		Date today = new Date();
		SimpleDateFormat dateA = new SimpleDateFormat("yyyy년 mm월 dd일");
		SimpleDateFormat dateB = new SimpleDateFormat("hh시 mm분 ss초");
		String nowDate = dateA.format(today) + "\t\t" + dateB.format(today);
		
		MemberDTO sendData = new MemberDTO();
		sendData.setEmail(req.getEmail());
		sendData.setName(req.getName());
		sendData.setPassword(req.getPassword());
		sendData.setRegisterDate(nowDate);
		memberDao.insert(sendData);
		System.out.println("등록되었습니다.\n");
	}
}

 

<< MemberAllService >>

package disassemble.Service;
import java.util.Collection;

import disassemble.DAO.*;
import disassemble.DTO.*;

public class MemberAllService {
	private MemberDAO memberDao;
	
	public MemberAllService(MemberDAO memberDao){
		this.memberDao = memberDao;
	}
	
	public void selectAll() {
		// MemberDAO 객체 내부 selectAll() 호출 후 회원 모든 정보 출력
		Collection<MemberDTO> print = memberDao.selectAll();
		
		// 저장된 데이터가 없을 시 메서드 종료
		if (print.size() == 0) {
			System.out.println("등록되어 있는 정보가 없습니다.\n");
			return;
		}
		
		for (MemberDTO member : print) {
			System.out.printf("이메일 : %s\t비밀번호 : %s\t이름 : %s\n최초등록일자 : %s\n\n", member.getEmail()
					, member.getPassword(), member.getName(), member.getRegisterDate());
		}
	}

}

 

<< ChangePasswordService >>

package disassemble.Service;

import disassemble.DAO.*;
import disassemble.DTO.*;

public class ChangePasswordService {
	private MemberDAO memberDao;
	
	public ChangePasswordService(MemberDAO memberDao) {
		this.memberDao = memberDao;
	}

	public void changePassword(String email, String oldPw, String newPw) {
		// 이메일 등록여부 확인.
		// 패스워드 확인 및 MemberDAO.update() 호출
		
		// 기존, 변경 비밀번호가 동일할 시 재입력
		if (oldPw.equals(newPw)) {
			System.out.println("기존 비밀번호와 변경 비밀번호가 같습니다. 다시 입력하세요...");
			return;
		}
		
		// memberDao.selectEmail을 통해 데이터 존재유무 검증
		// 입력된 비밀번호와 기존 비밀번호가 동일한지에 대한 검증
		MemberDTO tmp = memberDao.selectEmail(email);
		if (tmp == null) {
			System.out.println(email + "은 존재하지 않는 정보입니다.");
			return;
		} else if (!tmp.getPassword().equals(oldPw)) {
			System.out.println("잘못된 비밀번호입니다. 다시 시도하세요...");
			return;
		}
		
		tmp.setPassword(newPw);
		memberDao.update(tmp);
		System.out.println("수정이 완료되었습니다.");
	}
}

 

<< MemberDeleteService >>

package disassemble.Service;

import disassemble.DAO.*;
import disassemble.DTO.MemberDTO;

public class MemberDeleteService {
	
	private MemberDAO memberDao;
	
	public MemberDeleteService(MemberDAO memberDao) {
		this.memberDao = memberDao;
	}
	
	public void checkPassword(String email, String password, String confirmPassword) {
		// 패스워드 확인
		// MemberDAO 객체 내 selectEmail() 메소드를 호출 
		// 저장된 회원 정보와 입력된 회원 정보 검증
		// MemberDAO 객체 내 delete() 호출

		// memberDao.selectEmail을 통해 데이터 존재유무 검증
		// 입력된 비밀번호와 기존 비밀번호가 동일한지에 대한 검증
		MemberDTO tmp = memberDao.selectEmail(email);
		if (tmp == null) {
			System.out.println(email + "은 존재하지 않는 정보입니다.");
			return;
		} else if (!tmp.getPassword().equals(confirmPassword)) {
			System.out.println("잘못된 비밀번호입니다. 다시 시도하세요...");
			return;
		}
		
		memberDao.delete(email);
		System.out.println("삭제가 완료되었습니다.");
	}
}

'중간평가 > disassemble_1' 카테고리의 다른 글

중간평가 (DTO, DAO)  (0) 2022.08.10
중간평가 (Main)  (0) 2022.08.10