───────┬──────────────────────────────────────────────────────────────────────── │ File: src/main//java/jp/ac/kobe_u/cs/itspecialist/todoapp/service/MemberService.java ───────┼──────────────────────────────────────────────────────────────────────── 1 │ package jp.ac.kobe_u.cs.itspecialist.todoapp.service; 2 │ 3 │ import java.util.List; 4 │ 5 │ import org.springframework.beans.factory.annotation.Autowired; 6 │ import org.springframework.stereotype.Service; 7 │ 8 │ import jp.ac.kobe_u.cs.itspecialist.todoapp.dto.MemberForm; 9 │ import jp.ac.kobe_u.cs.itspecialist.todoapp.entity.Member; 10 │ import jp.ac.kobe_u.cs.itspecialist.todoapp.exception.ToDoAppException; 11 │ import jp.ac.kobe_u.cs.itspecialist.todoapp.repository.MemberRepository; 12 │ 13 │ /** 14 │ * メンバーのCRUDを行うサービス 15 │ */ 16 │ @Service 17 │ public class MemberService { 18 │ @Autowired 19 │ MemberRepository mRepo; 20 │ 21 │ /** 22 │ * メンバーを作成する (C) 23 │ * @param form 24 │ * @return 25 │ */ 26 │ public Member createMember(MemberForm form) { 27 │ //IDの重複チェック 28 │ String mid = form.getMid(); 29 │ if (mRepo.existsById(mid)) { 30 │ throw new ToDoAppException(ToDoAppException.MEMBER_ALREADY_EXISTS, mid + ": Member already exists"); 31 │ } 32 │ 33 │ Member m = form.toEntity(); 34 │ return mRepo.save(m); 35 │ } 36 │ 37 │ /** 38 │ * メンバーを取得する (R) 39 │ * @param mid 40 │ * @return 41 │ */ 42 │ public Member getMember(String mid) { 43 │ Member m = mRepo.findById(mid).orElseThrow( 44 │ () -> new ToDoAppException(ToDoAppException.NO_SUCH_MEMBER_EXISTS, mid + ": No such member exists")); 45 │ return m; 46 │ } 47 │ 48 │ /** 49 │ * 全メンバーを取得する (R) 50 │ * @return 51 │ */ 52 │ public List<Member> getAllMembers() { 53 │ return mRepo.findAll(); 54 │ } 55 │ 56 │ /** 57 │ * メンバーを削除する (D) 58 │ */ 59 │ public void deleteMember(String mid) { 60 │ Member m = getMember(mid); 61 │ mRepo.delete(m); 62 │ } 63 │ 64 │ } ───────┴────────────────────────────────────────────────────────────────────────