판매자 등급 추가하기
- enum으로 NORMAL("일반"), SELLER("판매자") 등록하기
● enum
1. NORMAL("일반"), SELLER("판매자") 등록하기
public enum MemberType {
NORMAL("일반"), SELLER("판매자");
private final String description;
MemberType(String description) {
this.description=description;
}
public String getDescription(){
return description;
}
}
2. Member 클래스에 MemberType 추가 (최초가입자는 전부 일반회원)
public class Member {
private MemberType memberType = MemberType.NORMAL;
3. Member 컨트롤러 - @GetMapping 추가하기
- 가입페이지(/members/add)에서 약관 동의 체크박스 코드와 똑같이 작성하면 됨
@GetMapping("/seller/register")
public String registerSeller(Model model){
Agreement agreement = new Agreement();
model.addAttribute("agreement", agreement);
return "members/seller/sellerForm";
}
4. Member 컨트롤러 - @PostMapping 추가하기
- 가입페이지(/members/add)에서 약관 동의 체크박스 코드와 똑같이 작성하면 됨
- @ModelAttribute에서 넘어온 agreement의 getAgree()가 true일 때만 판매자 등록
@PostMapping("/seller/register")
public String PostRegisterSeller(@ModelAttribute("agreement") Agreement agreement ,HttpServletRequest request, BindingResult bindingResult){
//세션 null 확인과정 생략
Boolean agree = agreement.getAgree();
if (agree == null || agree == false){
bindingResult.rejectValue("agree", "notAgreeSeller", "판매자 등록X");
return "members/seller/sellerForm";
}
loginMember.setMemberType(MemberType.SELLER);
return "redirect:/";
}