package org.taobao88.taobao.controllers; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.taobao88.taobao.enterprise.entity.*; import org.taobao88.taobao.enterprise.service.*; import javax.servlet.http.HttpServletRequest; import java.io.UnsupportedEncodingException; import java.util.Date; import java.sql.Timestamp; import java.util.List; @Controller public class LoginController extends MainController{ @Autowired private UserService userDAO; @Autowired private UserRoleService userRoleDAO; @Autowired private CountryRegCityService countryRegCityDAO; @Autowired private BalanceService balanceService; @RequestMapping(value="/registration", method = RequestMethod.POST) public String saveUser(HttpServletRequest request) throws UnsupportedEncodingException { request.setAttribute("badRegistration","false"); UserT userT = getParams(request); System.out.println(userT); System.out.println("dadasd = "+request.getParameter("step")); if(request.getParameter("step").equals(null) || request.getParameter("step").equals("")){ List<UserT> userTList = userDAO.getAll(); String bool = "false"; for(int i=0;i<userTList.size();i++) { if(userT.getGmail().equals(userTList.get(i).getGmail()) || userT.getNameUser().equals(userTList.get(i).getNameUser()) && !"admin".equals(userTList.get(i).getNameUser())) { request.setAttribute("badRegistration","true"); request.setAttribute("countryChoose","false"); request.setAttribute("user",userT); bool = "true"; break; } } if(!"true".equals(bool)) { userDAO.saveNewUser(userT); userT.setIdUser(userDAO.getId(userT.getNameUser()).get(0).getIdUser()); BalanceOperation bo = new BalanceOperation(); bo.setAmount(0); bo.setCreatedAt(new Timestamp(new Date().getTime())); bo.setUpdatedAt(new Timestamp(new Date().getTime())); bo.setUserT(userT); bo.setReason("Setting '0' balance after creating new user"); balanceService.adjustBalance(bo); int userId = userDAO.getId(request.getParameter("NAME")).get(0).getIdUser(); UserRole userRole = new UserRole(); userRole.setIdUser(userId); userRole.setAuthority("ROLE_USER"); userRoleDAO.save(userRole); } request.setAttribute("countries",countryRegCityDAO.getAllCountry()); request.setAttribute("regions",countryRegCityDAO.getAllRegion()); request.setAttribute("cities", countryRegCityDAO.getAllCity()); } if(request.getParameter("step").equals("stepRegion")) { request.setCharacterEncoding("UTF-8"); request.setAttribute("badRegistration","false"); request.setAttribute("countries",countryRegCityDAO.getAllCountry()); request.setAttribute("user",userT); request.setAttribute("regions",countryRegCityDAO.getRegionsByID(Integer.parseInt(userT.getCountryUser()))); request.setAttribute("badRegistration","true"); request.setAttribute("countryChoose","true"); } if(request.getParameter("step").equals("stepCity")) { request.setCharacterEncoding("UTF-8"); request.setAttribute("badRegistration","false"); request.setAttribute("countries",countryRegCityDAO.getAllCountry()); request.setAttribute("user",userT); request.setAttribute("regions",countryRegCityDAO.getRegionsByID(Integer.parseInt(userT.getCountryUser()))); request.setAttribute("cities",countryRegCityDAO.getCitiessByID(Integer.parseInt(userT.getRegionUser()))); request.setAttribute("badRegistration","true"); request.setAttribute("countryChoose","true"); } return "login"; } public UserT getParams(HttpServletRequest request) throws UnsupportedEncodingException { request.setCharacterEncoding("UTF-8"); UserT user = new UserT(); user.setNameUser(request.getParameter("NAME")); user.setGmail(request.getParameter("EMAIL")); user.setPassword(request.getParameter("PASSWORD")); user.setFullNameUser(request.getParameter("NAMEUSER")); user.setFemailUser(request.getParameter("FEMAIL")); user.setPatronymicUser(request.getParameter("PATRONYMIC")); user.setIndexUserT(request.getParameter("INDEX")); // System.out.println(Integer.parseInt(request.getParameter("idCountry"))); user.setCountryUser(request.getParameter("idCountry")); user.setRegionUser(request.getParameter("idRegion")); user.setCityUser(request.getParameter("idCity")); user.setStreetUser(request.getParameter("STREET")); user.setHouseUser(request.getParameter("HOUSE")); user.setRoomUser(request.getParameter("ROOM")); user.setEnabled(1); return user; } @RequestMapping(value="/login", method = RequestMethod.GET) public String login(HttpServletRequest request) throws UnsupportedEncodingException { request.setCharacterEncoding("UTF-8"); request.setAttribute("badRegistration","false"); request.setAttribute("countries",countryRegCityDAO.getAllCountry()); return "login"; } @RequestMapping(value="/loginfailed", method = RequestMethod.GET) public String loginerror(ModelMap model,HttpServletRequest request) throws UnsupportedEncodingException { request.setCharacterEncoding("UTF-8"); model.addAttribute("error", "true"); request.setAttribute("badRegistration","false"); request.setAttribute("countries",countryRegCityDAO.getAllCountry()); return "login"; } @RequestMapping(value="/logout", method = RequestMethod.GET) public String logout(HttpServletRequest request) throws UnsupportedEncodingException { request.setAttribute("badRegistration","false"); request.setAttribute("countries",countryRegCityDAO.getAllCountry()); request.setCharacterEncoding("UTF-8"); return "login"; } @RequestMapping(value="/newPassword", method = RequestMethod.GET) public String newPassword(HttpServletRequest request) throws UnsupportedEncodingException { request.setCharacterEncoding("UTF-8"); request.setAttribute("goodMail","false"); return "loginRemain"; } @RequestMapping(value="/remainPassword", method = RequestMethod.POST) public String remainPassword(HttpServletRequest request) throws UnsupportedEncodingException { request.setCharacterEncoding("UTF-8"); String email = (String) request.getParameter("username"); request.setAttribute("goodMail","false"); request.setAttribute("badMail","true"); List<UserT> userTList = userDAO.getAll(); for(int i=0;i<userTList.size();i++) { System.out.println(userTList.get(i)); if(email.equals(userTList.get(i).getGmail()) && !"admin".equals(userTList.get(i).getNameUser())) { sendNewPassword(userTList.get(i)); request.setAttribute("goodMail","true"); request.setAttribute("badMail","false"); break; } } return "loginRemain"; } }