소스 충돌 동기화
This commit is contained in:
parent
30fa96a1e9
commit
2e7a4f2b8f
@ -8,8 +8,10 @@ import java.nio.charset.StandardCharsets;
|
|||||||
import java.nio.file.Files;
|
import java.nio.file.Files;
|
||||||
import java.nio.file.Path;
|
import java.nio.file.Path;
|
||||||
import java.nio.file.Paths;
|
import java.nio.file.Paths;
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
|
import java.util.Date;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@ -70,6 +72,7 @@ import nlib.mail.service.EmailVO;
|
|||||||
import nlib.restful.service.DataApiReqVO;
|
import nlib.restful.service.DataApiReqVO;
|
||||||
import nlib.user.service.MemberService;
|
import nlib.user.service.MemberService;
|
||||||
import nlib.user.service.NlibLoginVO;
|
import nlib.user.service.NlibLoginVO;
|
||||||
|
import nlib.user.service.MemberSiteVO;
|
||||||
import nlib.user.service.UserInfoService;
|
import nlib.user.service.UserInfoService;
|
||||||
import nlib.util.StringUtil;
|
import nlib.util.StringUtil;
|
||||||
|
|
||||||
@ -194,6 +197,19 @@ public class MemberController {
|
|||||||
*/
|
*/
|
||||||
@RequestMapping(value="/member/selectMemberJoiningInfo.do")
|
@RequestMapping(value="/member/selectMemberJoiningInfo.do")
|
||||||
public String selectMemberJoiningInfo(HttpServletRequest req,ModelMap model,HttpSession session) throws Exception {
|
public String selectMemberJoiningInfo(HttpServletRequest req,ModelMap model,HttpSession session) throws Exception {
|
||||||
|
String jsessionId = session.getId();
|
||||||
|
OAuthUniversalUser oauthUser = SessionConfig.getNewMemberInfo(jsessionId);
|
||||||
|
|
||||||
|
int count=0;
|
||||||
|
|
||||||
|
//기 가입계정인지 확인
|
||||||
|
count=memberService.selectSnsIdCount(oauthUser);
|
||||||
|
if(count>0)
|
||||||
|
{
|
||||||
|
model.addAttribute("msg","이미 가입된 계정입니다. 로그인해주세요.");
|
||||||
|
model.addAttribute("url","/nlib"+NlibProperty.getString("login.url"));
|
||||||
|
return "nlib/cmm/alert";
|
||||||
|
}
|
||||||
return "/nlib/member/selectMemberJoiningInfo";
|
return "/nlib/member/selectMemberJoiningInfo";
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -226,10 +242,12 @@ public class MemberController {
|
|||||||
*/
|
*/
|
||||||
@RequestMapping(value="/member/insertMemberInfoForm.do")
|
@RequestMapping(value="/member/insertMemberInfoForm.do")
|
||||||
public String insertMemberInfoForm(HttpServletRequest request,NlibLoginVO vo,HttpSession session,ModelMap model ) throws Exception{
|
public String insertMemberInfoForm(HttpServletRequest request,NlibLoginVO vo,HttpSession session,ModelMap model ) throws Exception{
|
||||||
|
MemberSiteVO msVO= new MemberSiteVO();
|
||||||
|
int siteCnt;
|
||||||
String jsessionId = session.getId();
|
String jsessionId = session.getId();
|
||||||
//String councilCd = (String)session.getAttribute("councilCd");
|
String councilCd = (String)session.getAttribute("councilCd");
|
||||||
//String councilReturnUrl = (String)session.getAttribute("councilReturnUrl");
|
//String councilReturnUrl = (String)session.getAttribute("councilReturnUrl");
|
||||||
|
|
||||||
OAuthUniversalUser oauthUser = SessionConfig.getNewMemberInfo(jsessionId);
|
OAuthUniversalUser oauthUser = SessionConfig.getNewMemberInfo(jsessionId);
|
||||||
|
|
||||||
String mId = null;
|
String mId = null;
|
||||||
@ -243,8 +261,20 @@ public class MemberController {
|
|||||||
{
|
{
|
||||||
oauthUser.setMbInfoId(mId);
|
oauthUser.setMbInfoId(mId);
|
||||||
memberService.insertMemberSns(oauthUser);
|
memberService.insertMemberSns(oauthUser);
|
||||||
|
|
||||||
|
//가입문화원정보 설정
|
||||||
|
msVO.setMbInfoId(mId);
|
||||||
|
msVO.setJoinType(oauthUser.getSnsType());
|
||||||
|
msVO.setJoinCouncilCd(councilCd);
|
||||||
|
msVO.setMasterYn("N");
|
||||||
|
siteCnt= memberService.selectMemberSiteCount(msVO);
|
||||||
|
//문화원에 가입하지않았을 시 insert
|
||||||
|
if(!(siteCnt>0))
|
||||||
|
{
|
||||||
|
memberService.insertMemberSite(msVO);
|
||||||
|
}
|
||||||
//통합처리 url
|
//통합처리 url
|
||||||
return "redirect:/member/accountConsolidationForm.do";
|
return "nlib/member/accountConsolidationForm";
|
||||||
}
|
}
|
||||||
model.addAttribute("loginVO",oauthUser);
|
model.addAttribute("loginVO",oauthUser);
|
||||||
return "nlib/member/insertMemberInfoForm";
|
return "nlib/member/insertMemberInfoForm";
|
||||||
@ -255,30 +285,79 @@ public class MemberController {
|
|||||||
* @exception Exception
|
* @exception Exception
|
||||||
*/
|
*/
|
||||||
@RequestMapping(value="/member/insertMemberInfo.do")
|
@RequestMapping(value="/member/insertMemberInfo.do")
|
||||||
public String insertMemberInfo(NlibLoginVO vo,ModelMap model) throws Exception{
|
public String insertMemberInfo(NlibLoginVO vo,ModelMap model,HttpSession session) throws Exception{
|
||||||
|
MemberSiteVO msVO= new MemberSiteVO();
|
||||||
List<NlibLoginVO> voList = new ArrayList<NlibLoginVO>();
|
List<NlibLoginVO> voList = new ArrayList<NlibLoginVO>();
|
||||||
|
EmailVO email = new EmailVO();
|
||||||
|
|
||||||
|
//문화원코드
|
||||||
|
String councilCd = (String)session.getAttribute("councilCd");
|
||||||
|
|
||||||
// 등록된 전화번호가 있는 지 확인 (리스트)
|
// 등록된 전화번호가 있는 지 확인 (리스트)
|
||||||
voList = memberService.selectAlreadySignUpMobile(vo);
|
voList = memberService.selectAlreadySignUpMobile(vo);
|
||||||
|
|
||||||
/* 등록된 ID가 있을때 통합처리 */
|
/* 등록된 ID가 있을때 통합처리 */
|
||||||
if(voList.size() > 0)
|
if(voList.size() > 0)
|
||||||
{
|
{
|
||||||
/* oauthUser.setMbInfoId(mId);
|
|
||||||
memberService.insertMemberSns(oauthUser);*/
|
|
||||||
//통합처리 url
|
//통합처리 url
|
||||||
System.out.println(voList.get(0).getEmail());
|
|
||||||
System.out.println(voList.get(0).getMbInfoId());
|
|
||||||
model.addAttribute("result",voList);
|
model.addAttribute("result",voList);
|
||||||
return "nlib/member/accountConsolidationForm";
|
return "nlib/member/accountConsolidationForm";
|
||||||
}
|
}
|
||||||
|
|
||||||
//등록처리 요청 (data insert)
|
String jsessionId = session.getId();
|
||||||
memberService.insertMemberInfo(vo);
|
OAuthUniversalUser oauthUser = SessionConfig.popNewMemberInfo(jsessionId);
|
||||||
|
|
||||||
|
if(oauthUser.getNlibVO()!=null)
|
||||||
|
{
|
||||||
|
//핸드폰인증시 sns제공 번호와 회원가입폼 번호 비교
|
||||||
|
if(!(vo.getMobileNo().equals(oauthUser.getSnsMobileNo())))
|
||||||
|
{
|
||||||
|
if(!(vo.getMobileVrfctNo().equals(oauthUser.getNlibVO().getMobileVrfctNo()))
|
||||||
|
||oauthUser.getNlibVO().getMobileVrfctDd() == null)
|
||||||
|
{
|
||||||
|
model.addAttribute("msg","핸드폰인증에 문제가 있습니다. 다시 회원가입을 진행해주세요.");
|
||||||
|
model.addAttribute("url","${pageContext.request.contextPath}"+NlibProperty.getString("member.new.url"));
|
||||||
|
return "nlib/cmm/alert";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//이메일인증시 sns제공 이메일과 회원가입폼 이메일 비교
|
||||||
|
if(!(vo.getEmail().equals(oauthUser.getSnsUserId())))
|
||||||
|
{
|
||||||
|
if(!(vo.getEmailVrfctDd().equals(oauthUser.getNlibVO().getEmailVrfctDd()))
|
||||||
|
||oauthUser.getNlibVO().getEmailVrfctDd() == null)
|
||||||
|
{
|
||||||
|
model.addAttribute("msg","이메일인증에 문제가 있습니다. 다시 회원가입을 진행해주세요.");
|
||||||
|
model.addAttribute("url","${pageContext.request.contextPath}"+NlibProperty.getString("member.new.url"));
|
||||||
|
return "nlib/cmm/alert";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//회원정보 insert
|
||||||
|
NlibLoginVO result =memberService.insertMemberInfo(vo);
|
||||||
|
|
||||||
|
//sns 테이블 insert
|
||||||
|
oauthUser.setMbInfoId(result.getMbInfoId());
|
||||||
|
|
||||||
|
memberService.insertMemberSns(oauthUser);
|
||||||
|
|
||||||
|
|
||||||
|
//가입문화원정보 테이블 insert
|
||||||
|
msVO.setMbInfoId(result.getMbInfoId());
|
||||||
|
msVO.setJoinType(oauthUser.getSnsType());
|
||||||
|
msVO.setJoinCouncilCd(councilCd);
|
||||||
|
msVO.setMasterYn("Y");
|
||||||
|
|
||||||
|
memberService.insertMemberSite(msVO);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// 결과가 정상이면, 안내 메일 발송
|
// 결과가 정상이면, 안내 메일 발송
|
||||||
// > 템플릿파일에서 내용 mailing.sender.membership.template
|
// > 템플릿파일에서 내용 mailing.sender.membership.template
|
||||||
// > 치환 (사용자명, 이메일주소)
|
// > 치환 (사용자명, 이메일주소)
|
||||||
// > 발송처리 요청
|
// > 발송처리 요청
|
||||||
|
String reciver = vo.getLoginUserId(); //받을사람의 이메일입니다.-> naver nate 등등
|
||||||
|
String subject = "온라인자료대출시스템 회원가입을 축하드립니다.";
|
||||||
|
|
||||||
Path path = Paths.get(template);
|
Path path = Paths.get(template);
|
||||||
Charset cs = StandardCharsets.UTF_8;
|
Charset cs = StandardCharsets.UTF_8;
|
||||||
List<String> list = new ArrayList<String>();
|
List<String> list = new ArrayList<String>();
|
||||||
@ -293,30 +372,129 @@ public class MemberController {
|
|||||||
contents+=readLine;
|
contents+=readLine;
|
||||||
}
|
}
|
||||||
contents=contents.replace("${userName}",vo.getName());
|
contents=contents.replace("${userName}",vo.getName());
|
||||||
|
|
||||||
|
email.setReciver(reciver);
|
||||||
|
|
||||||
|
email.setSubject(subject);
|
||||||
|
email.setContent(contents);
|
||||||
|
emailSender.SendEmail(email);
|
||||||
|
|
||||||
return "nlib/member/insertMemberInfoResult";
|
return "nlib/member/insertMemberInfoResult";
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* 이메일 인증번호 발송
|
||||||
|
* @exception Exception
|
||||||
|
*/
|
||||||
|
@RequestMapping(value="/member/emailCertNum.ajax" , method=RequestMethod.POST)
|
||||||
|
public @ResponseBody void emailCertNum(HttpServletResponse response,HttpServletRequest request,HttpSession session) throws Exception{
|
||||||
|
String email = request.getParameter("email");
|
||||||
|
EmailVO emailVO = new EmailVO();
|
||||||
|
//인증번호 생성
|
||||||
|
String CertNumber=memberService.numberGen(6,1);
|
||||||
|
System.out.println(CertNumber);
|
||||||
|
//세션에 저장
|
||||||
|
String jsessionId = session.getId();
|
||||||
|
OAuthUniversalUser oauthUser = SessionConfig.getNewMemberInfo(jsessionId);
|
||||||
|
|
||||||
|
NlibLoginVO vo=oauthUser.getNlibVO();
|
||||||
|
//이미 생성된 VO가 없을때
|
||||||
|
if(vo==null)
|
||||||
|
vo= new NlibLoginVO();
|
||||||
|
vo.setEmail(email);
|
||||||
|
vo.setEmailVrfctNo(CertNumber);
|
||||||
|
oauthUser.setNlibVO(vo);
|
||||||
|
SessionConfig.setNewMemberInfo(jsessionId,oauthUser);
|
||||||
|
|
||||||
|
//이메일 발송
|
||||||
|
// 결과가 정상이면, 안내 메일 발송
|
||||||
|
// > 템플릿파일에서 내용 mailing.sender.membership.template
|
||||||
|
// > 치환 (사용자명, 이메일주소)
|
||||||
|
// > 발송처리 요청
|
||||||
|
String reciver = email; //받을사람의 이메일입니다.-> naver nate 등등
|
||||||
|
String subject = "온라인자료대출시스템 이메일 인증번호";
|
||||||
|
|
||||||
|
Path path = Paths.get(template);
|
||||||
|
Charset cs = StandardCharsets.UTF_8;
|
||||||
|
List<String> list = new ArrayList<String>();
|
||||||
|
String contents = "";
|
||||||
|
try {
|
||||||
|
list = Files.readAllLines(path,cs);
|
||||||
|
}catch(IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
for(String readLine : list) {
|
||||||
|
contents+=readLine;
|
||||||
|
}
|
||||||
|
contents=contents.replace("${userName}",vo.getName()+"님의 인증번호는"+CertNumber+"입니다.");
|
||||||
|
|
||||||
|
emailVO.setReciver(reciver);
|
||||||
|
|
||||||
|
emailVO.setSubject(subject);
|
||||||
|
emailVO.setContent(contents);
|
||||||
|
emailSender.SendEmail(emailVO);
|
||||||
|
|
||||||
|
//------------
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 이메일 인증번호 확인
|
||||||
|
* @exception Exception
|
||||||
|
*/
|
||||||
|
@RequestMapping(value="/member/emailCertNumChk.ajax" , method=RequestMethod.POST)
|
||||||
|
public @ResponseBody String emailCertNumChk(HttpServletResponse response,HttpServletRequest request,HttpSession session) throws Exception{
|
||||||
|
String email = request.getParameter("email");
|
||||||
|
String emailVrfctNo = request.getParameter("emailVrfctNo");
|
||||||
|
|
||||||
|
SimpleDateFormat format = new SimpleDateFormat ( "yyyy년 MM월dd일 HH시mm분ss초");
|
||||||
|
|
||||||
|
//세션에 저장
|
||||||
|
String jsessionId = session.getId();
|
||||||
|
OAuthUniversalUser oauthUser = SessionConfig.getNewMemberInfo(jsessionId);
|
||||||
|
|
||||||
|
//핸드폰번호와 인증번호 확인
|
||||||
|
if(oauthUser.getNlibVO().getEmail().equals(email) && oauthUser.getNlibVO().getEmailVrfctNo().equals(emailVrfctNo))
|
||||||
|
{
|
||||||
|
Date time = new Date();
|
||||||
|
NlibLoginVO sessionNlibLoginVO = oauthUser.getNlibVO();
|
||||||
|
sessionNlibLoginVO.setEmailVrfctDd(format.format(time));
|
||||||
|
oauthUser.setNlibVO(sessionNlibLoginVO);
|
||||||
|
SessionConfig.setNewMemberInfo(jsessionId,oauthUser);
|
||||||
|
return "true";
|
||||||
|
}else {
|
||||||
|
return "false";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 핸드폰 인증번호 발송
|
* 핸드폰 인증번호 발송
|
||||||
* @exception Exception
|
* @exception Exception
|
||||||
*/
|
*/
|
||||||
@RequestMapping(value="/member/mobileCertNum.ajax" , method=RequestMethod.POST)
|
@RequestMapping(value="/member/mobileCertNum.ajax" , method=RequestMethod.POST)
|
||||||
public @ResponseBody void phoneCertNum(HttpServletResponse response,HttpServletRequest request) throws Exception{
|
public @ResponseBody void phoneCertNum(HttpServletResponse response,HttpServletRequest request,HttpSession session) throws Exception{
|
||||||
String mobileNo = request.getParameter("mobileNo");
|
String mobileNo = request.getParameter("mobileNo");
|
||||||
|
|
||||||
HashMap<String, Object> commandMap = new HashMap<String,Object>();
|
|
||||||
DataApiReqVO reqVO = new DataApiReqVO();
|
|
||||||
|
|
||||||
//인증번호 생성
|
//인증번호 생성
|
||||||
String CertNumber=memberService.numberGen(6,1);
|
String CertNumber=memberService.numberGen(6,1);
|
||||||
|
|
||||||
commandMap.put("CertNumber",CertNumber);
|
|
||||||
|
|
||||||
reqVO.setInfo(commandMap);
|
|
||||||
|
|
||||||
System.out.println(mobileNo);
|
|
||||||
System.out.println(CertNumber);
|
System.out.println(CertNumber);
|
||||||
|
//세션에 저장
|
||||||
|
String jsessionId = session.getId();
|
||||||
|
OAuthUniversalUser oauthUser = SessionConfig.getNewMemberInfo(jsessionId);
|
||||||
|
|
||||||
|
|
||||||
|
NlibLoginVO vo=oauthUser.getNlibVO();
|
||||||
|
//이미 생성된 VO가 없을때
|
||||||
|
if(vo==null)
|
||||||
|
vo= new NlibLoginVO();
|
||||||
|
|
||||||
|
vo.setMobileNo(mobileNo);
|
||||||
|
vo.setMobileVrfctNo(CertNumber);
|
||||||
|
oauthUser.setNlibVO(vo);
|
||||||
|
SessionConfig.setNewMemberInfo(jsessionId,oauthUser);
|
||||||
|
|
||||||
|
//문자발송 솔루션
|
||||||
|
|
||||||
|
//------------
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -324,21 +502,28 @@ public class MemberController {
|
|||||||
* @exception Exception
|
* @exception Exception
|
||||||
*/
|
*/
|
||||||
@RequestMapping(value="/member/mobileCertNumChk.ajax" , method=RequestMethod.POST)
|
@RequestMapping(value="/member/mobileCertNumChk.ajax" , method=RequestMethod.POST)
|
||||||
public @ResponseBody String mobileCertNumChk(HttpServletResponse response,HttpServletRequest request) throws Exception{
|
public @ResponseBody String mobileCertNumChk(HttpServletResponse response,HttpServletRequest request,HttpSession session) throws Exception{
|
||||||
String mobileNo = request.getParameter("mobileNo");
|
String mobileNo = request.getParameter("mobileNo");
|
||||||
String mobileCertNum = request.getParameter("mobileCertNum");
|
String mobileVrfctNo = request.getParameter("mobileVrfctNo");
|
||||||
|
|
||||||
HashMap<String, Object> commandMap = new HashMap<String,Object>();
|
SimpleDateFormat format = new SimpleDateFormat ( "yyyy년 MM월dd일 HH시mm분ss초");
|
||||||
commandMap.put("phone", mobileNo);
|
|
||||||
commandMap.put("phoneCertNum", mobileCertNum);
|
|
||||||
DataApiReqVO reqVO = new DataApiReqVO();
|
|
||||||
|
|
||||||
reqVO.setInfo(commandMap);
|
//세션에 저장
|
||||||
|
String jsessionId = session.getId();
|
||||||
|
OAuthUniversalUser oauthUser = SessionConfig.getNewMemberInfo(jsessionId);
|
||||||
|
|
||||||
System.out.println(mobileNo);
|
//핸드폰번호와 인증번호 확인
|
||||||
System.out.println(mobileCertNum);
|
if(oauthUser.getNlibVO().getMobileNo().equals(mobileNo) && oauthUser.getNlibVO().getMobileVrfctNo().equals(mobileVrfctNo))
|
||||||
|
{
|
||||||
return "true";
|
Date time = new Date();
|
||||||
|
NlibLoginVO sessionNlibLoginVO = oauthUser.getNlibVO();
|
||||||
|
sessionNlibLoginVO.setMobileVrfctDd(format.format(time));
|
||||||
|
oauthUser.setNlibVO(sessionNlibLoginVO);
|
||||||
|
SessionConfig.setNewMemberInfo(jsessionId,oauthUser);
|
||||||
|
return "true";
|
||||||
|
}else {
|
||||||
|
return "false";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -393,6 +578,15 @@ public class MemberController {
|
|||||||
for(String readLine : list) {
|
for(String readLine : list) {
|
||||||
contents+=readLine;
|
contents+=readLine;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
encodedText = egovPasswordEncoder.encryptPassword(InitPwd);
|
||||||
|
vo.setPassword(encodedText);
|
||||||
|
|
||||||
|
vo.setMbInfoId(gUserId);
|
||||||
|
|
||||||
|
//암호화된 비밀번호로 수정
|
||||||
|
memberService.changePassword(vo);
|
||||||
|
|
||||||
contents=contents.replace("${userPwd}",InitPwd);
|
contents=contents.replace("${userPwd}",InitPwd);
|
||||||
|
|
||||||
email.setReciver(reciver);
|
email.setReciver(reciver);
|
||||||
@ -401,13 +595,7 @@ public class MemberController {
|
|||||||
email.setContent(contents);
|
email.setContent(contents);
|
||||||
emailSender.SendEmail(email);
|
emailSender.SendEmail(email);
|
||||||
|
|
||||||
encodedText = egovPasswordEncoder.encryptPassword(InitPwd);
|
|
||||||
vo.setPassword(encodedText);
|
|
||||||
|
|
||||||
vo.setMbInfoId(gUserId);
|
|
||||||
|
|
||||||
//암호화된 비밀번호로 수정
|
|
||||||
memberService.changePassword(vo);
|
|
||||||
|
|
||||||
message="초기화된 비밀번호가 이메일로 발송됐습니다.";
|
message="초기화된 비밀번호가 이메일로 발송됐습니다.";
|
||||||
}else {
|
}else {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user