package itn.let.mjo.human.web;

import java.util.List;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

import itn.let.mjo.msgdata.web.MjonMsgDataController;
import itn.let.uss.umt.service.EgovMberManageService;
import itn.let.uss.umt.service.EgovUserManageService;
import itn.let.uss.umt.service.MberManageVO;
import itn.let.uss.umt.service.UserManageVO;

@Controller
public class MjonHumanPageController {
	
	/** userManageService */
	@Resource(name = "userManageService")
	private EgovUserManageService userManageService;
	
	/** mberManageService */
	@Resource(name = "mberManageService")
	private EgovMberManageService mberManageService;
	
	private static final Logger logger = LoggerFactory.getLogger(MjonMsgDataController.class);
	
	@RequestMapping(value="/web/user/humanPage.do")
	public String humanPageIndex() throws Exception {
		
		return "web/login/humanPage";
	}
	
	@RequestMapping(value="/web/user/humanPageAuthenticatedPage.do")
	public String humanPageAuthenticatedUser() throws Exception {
		
		return "web/login/humanPageAuthenticatedPage";
	}
	
	@RequestMapping(value="/web/user/humanCertifiedAjax.do")
	public ModelAndView humanCertifiedAjax(
			HttpServletRequest request, HttpServletResponse response, ModelMap model,
			@ModelAttribute("userManageVO") UserManageVO userManageVO) throws Exception {
		
		ModelAndView modelAndView = new ModelAndView();
		modelAndView.setViewName("jsonView");
		
		try {
			
			UserManageVO userInfoVO = new UserManageVO();
			userInfoVO.setEmplyrNm(userManageVO.getEmplyrNm()); // 이름
			userInfoVO.setMblDn(userManageVO.getMblDn());		// Dn
			
			List<UserManageVO> usedNmList = userManageService.selectUserIdAjax(userInfoVO);
			
			boolean TorF = usedNmList.size() > 0 ? true : false;
			
			if (!TorF) {
				System.out.println(TorF);
				System.out.println(TorF);

				modelAndView.addObject("message", "입력하신 아이디/이름 정보에 맞는 회원이 없습니다.");
				modelAndView.addObject("result", "fail-check");
				modelAndView.addObject("resultSts", "0");
				modelAndView.addObject("resultBlockSts", "0");

				return modelAndView;
			}
			
			MberManageVO mberManageVO = new MberManageVO();
			// 회원 휴면회원에서 일반회원으로 업데이트
			mberManageVO.setMberId(usedNmList.get(0).getEmplyrId()); //탈퇴사유 중 직접입력으로 타입 지정
			mberManageVO.setDormantYn("N");
			
			int updateCount = mberManageService.updateUserDormant(mberManageVO); 
			
			if(updateCount != 0) {
				modelAndView.addObject("result", "success");
			}else {
				modelAndView.addObject("result", "fail");
			}
		}catch (Exception e) {
			logger.error(e.getMessage(), e);
			
		}
		
		
		return modelAndView;
	}
}
