MemberController.java > SPRING1

본문 바로가기
사이트 내 전체검색

SPRING1

MemberController.java

페이지 정보

profile_image
작성자 관리자
댓글 0건 조회 248회 작성일 24-08-06 14:02

본문

package com.pkt.controller;


import javax.servlet.http.HttpSession;


import org.springframework.stereotype.Controller;

import org.springframework.ui.Model;

import org.springframework.web.bind.annotation.GetMapping;

import org.springframework.web.bind.annotation.PostMapping;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.ResponseBody;

import org.springframework.web.servlet.mvc.support.RedirectAttributes;


import com.pkt.mapper.MemberMapper;

import com.pkt.model.LoginDTO;

import com.pkt.model.MemberVO;


import lombok.AllArgsConstructor;

import lombok.extern.log4j.Log4j;


@Controller

@Log4j

@RequestMapping("/member/")

@AllArgsConstructor

public class MemberController {


private MemberMapper mapper;


@GetMapping("/join")

public void joinGET(MemberVO member) {

log.info("join get ...........");

}


@GetMapping("/id_ok") // 메일주소 가입여부

public @ResponseBody int idOk(String useremail) {

log.info("id_ok get ...........");


return mapper.idOk(useremail); //메일 존재:1 , 미존재:0

}


@PostMapping("/join")

public String joinPOST(MemberVO member, RedirectAttributes rttr) {

log.info("join post ...........");


member.setConnecttype("로컬");

mapper.create(member);


return "redirect:/";

}


@GetMapping("/login") 

public void loginGET() {

log.info("login get ...........");

}


@PostMapping("/login")

public String loginPOST(LoginDTO dto, HttpSession session, RedirectAttributes rttr) {

log.info("login post ...........");

log.info(dto.toString());


MemberVO vo = mapper.login(dto);

log.info(vo);

if(vo != null) { //회원 존재시 세션 생성

session.setAttribute("email", vo.getUseremail());

session.setAttribute("connecttype", vo.getConnecttype()); //로그인 접속 유형

session.setAttribute("name", vo.getUsername());

session.setAttribute("level", vo.getLevel());


return "redirect:/";

}else {

rttr.addFlashAttribute("msg", "잘못된 로그인 정보 입니다.");


return "redirect:login";

}

}


@GetMapping("/logout") 

public String logout(HttpSession session) {

log.info("logout.....................");


session.invalidate();


return "redirect:/";

}


@GetMapping("/joinup")

public void joinupGET(HttpSession session, Model model) {

log.info("joinup get ...........");


String session_id = (String)session.getAttribute("email");


MemberVO member = mapper.read(session_id);


model.addAttribute("modify", member);

}


@PostMapping("/joinup")

public String joinupPOST(MemberVO member, String userpw2, RedirectAttributes rttr) {

log.info("joinup post ...........");


if(!userpw2.equals("") && userpw2.equals(member.getUserpw())) { //비밀번호 변경 포함

mapper.updatePass(member);

}else { //비밀번호 변경 제외

mapper.update(member);

}


rttr.addFlashAttribute("msg","modify");


return "redirect:joinup";

}


@GetMapping("/kakao") 

public @ResponseBody int kakaoLogin(MemberVO vo, HttpSession session) {

log.info("kakao login...............");


int result = mapper.idOk(vo.getUseremail()); //로컬 회원가입된 이메일 존재여부 : 1 , 미존재 : 0


if(result == 0) {

vo.setConnecttype("카카오");

vo.setUsername("카카오");

vo.setUserpw("1234567890"); //임의의 비번 지정

mapper.createKakao(vo); //디비 저장 처리

}


vo = mapper.read(vo.getUseremail());


session.setAttribute("email", vo.getUseremail());

session.setAttribute("connecttype", vo.getConnecttype()); //로그인 접속 유형

session.setAttribute("name", vo.getUsername()); //이름을 메일주소로 처리

session.setAttribute("level", "1");


return result;

}


@GetMapping("/kakaoLogout") 

public @ResponseBody String kakaoLogout(HttpSession session) {

log.info("kakao logout.....................");


session.invalidate();


return "kakaoLogout";

}


@GetMapping("/naverLogin") 

public void naverLogin() {

log.info("naver 콜백 .....................");


}


@GetMapping("/naver") 

public String naverLogin(MemberVO vo, String phone, HttpSession session) {

log.info("naver 세션 생성후 첫 페이지 이동 ...............");


String tp[] = phone.split("-");

vo.setPhone1(tp[0]);

vo.setPhone2(tp[1]);

vo.setPhone3(tp[2]);


int result = mapper.idOk(vo.getUseremail()); //로컬 회원가입된 이메일 존재여부 : 1 , 미존재 : 0


if(result == 0) {

vo.setConnecttype("네이버");

vo.setUserpw("1234567890"); //임의의 비번 지정

log.info(vo);

mapper.createNaver(vo); //디비 저장 처리

}


vo = mapper.read(vo.getUseremail());


session.setAttribute("email", vo.getUseremail());

session.setAttribute("connecttype", vo.getConnecttype()); //로그인 접속 유형

session.setAttribute("name", vo.getUsername()); //이름을 메일주소로 처리

session.setAttribute("level", "1");


return "redirect:/";

}


}

댓글목록

등록된 댓글이 없습니다.

회원로그인

회원가입

사이트 정보

공지사항
자유게시판
질문답변
1:1문의

 

별명 : 터푸가위
주소 : 부산시 동래구 명장로20번길 90
대표 : 박규태
메일 : dancepkt@******.com

접속자집계

오늘
331
어제
181
최대
10,760
전체
284,243
Copyright © dancePKT . All rights reserved.