22.03.30-판매자등급추가

판매자 등급 추가하기

  • 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:/";
    }

좋은 웹페이지 즐겨찾기