package cn.ksource.web.controller.business.pages; import cn.ksource.beans.GG_USER; import cn.ksource.core.util.*; import cn.ksource.core.web.LoginUser; import cn.ksource.core.web.SysInfo; import cn.ksource.core.web.WebUtil; import cn.ksource.web.Constants; import cn.ksource.web.facade.JsglFacade; import cn.ksource.web.facade.loginuser.LoginUserFacade; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.List; import java.util.Map; @Controller @RequestMapping("/business/pages/loginuser") public class LoginUserController { @Autowired private LoginUserFacade loginUserFacade; @Autowired private JsglFacade jsglFacade; /** * 详细资料 * @param request * @param response * @return */ @RequestMapping("myDetail.html") public ModelAndView myDetail(HttpServletRequest request,HttpServletResponse response){ ModelAndView view = new ModelAndView("/business/pages/loginuser/myDetail"); String id = WebUtil.getLoginedUserId(request); Map loginUser = new GG_USER(id).getBeanMapById(); String remind_type = ConvertUtil.obj2StrBlank(loginUser.get("REMIND_TYPE")); if(!StringUtil.isEmpty(remind_type)){ if(remind_type.charAt(0) == '1'){ loginUser.put("msg", 1); } if(remind_type.charAt(1) == '1'){ loginUser.put("mail", 1); } if(remind_type.charAt(2) == '1'){ loginUser.put("wei", 1); } } view.addObject("user", loginUser); return view; } @RequestMapping("saveAccount.html") public ModelAndView save(HttpServletRequest request,HttpServletResponse response){ String name = request.getParameter("zsxm"); String phone = request.getParameter("sjhm"); String email = request.getParameter("email"); String note = request.getParameter("note"); String age = request.getParameter("age"); String sex = request.getParameter("sex"); String gh=request.getParameter("gh"); String remind_type = request.getParameter("remind_type"); if("1".equals(sex)){ sex = "男"; }else{ sex = "女"; } String userId = WebUtil.getLoginedUserId(request); String photoUrl = new String(); String[] allowTypes =new String[]{"jpeg","png","jpg","gif"}; try { photoUrl = FileUtil.uploadFile4SpringMVC(request, "photopathUrl", "/upload/userPhoto/", allowTypes); } catch (MyFileUploadException e) { // TODO Auto-generated catch block e.printStackTrace(); } if(photoUrl==null||"".equals(photoUrl)){ photoUrl = request.getParameter("photopath"); } GG_USER user = new GG_USER(userId); if(!"000".equals(remind_type)){ user.setRemind_type(remind_type); }else{ user.setRemind_type(null); } user.setZsxm(name) .setAge(ConvertUtil.obj2Integer(age)) .setXingb(sex) .setSjhm(phone) .setEmail(email) .setBeiz(note).setGh(gh) .setZhaop(photoUrl).update(); Map loguser=(Map)request.getSession().getAttribute("loguser"); loguser.put("GH", ConvertUtil.obj2Integer(gh)); request.getSession().setAttribute("loguser", loguser); return WebUtil.sysInfoPage(request,"操作成功!", "", SysInfo.Success,"/business/pages/loginuser/accountInfo.html"); } /** * 跳转到修改密码 */ @RequestMapping("accountInfo.html") public ModelAndView accountInfo(HttpServletRequest request) { String id = WebUtil.getLoginedUserId(request); Map loginUser = new GG_USER(id).getBeanMapById(); ModelAndView modelAndView = new ModelAndView("/business/pages/loginuser/accountInfo"); modelAndView.addObject("user", loginUser); return modelAndView; } /** * 跳转到修改密码 */ @RequestMapping("repassword.html") public ModelAndView toRepassword() { ModelAndView modelAndView = new ModelAndView("/business/pages/loginuser/repassword"); return modelAndView; } /** * 修改登陆桌面 */ @RequestMapping(value="changeDesk.html") public String changeDesk(Model model,HttpServletRequest request) { List list = jsglFacade.getRolesByUserId(WebUtil.getLoginedUserId(request), 2); model.addAttribute("list", list); return "/business/pages/loginuser/changeDesk"; } @RequestMapping(value="doChangeDesk.html",method=RequestMethod.POST) public ModelAndView doChangeDesk(Model model,HttpServletRequest request) { String roleId = request.getParameter("roleId"); jsglFacade.updateDefDesk(WebUtil.getUserId(request),roleId); return WebUtil.sysInfoPage(request,"操作成功!", "", SysInfo.Success,"/business/pages/loginuser/changeDesk.html"); } /** * 检验密码是否正确 */ @RequestMapping("checkpwd.html") public void checkpwd(HttpServletRequest request,HttpServletResponse response){ String userId = WebUtil.getLoginedUserId(request); String pwd = request.getParameter("oldPassword"); int count = loginUserFacade.getUserByPwd(userId,pwd); if(count > 0){ WebUtil.write(response, "1"); }else{ WebUtil.write(response, "0"); } } /** * 修改密码 */ @RequestMapping(value="toRepassword.html",method=RequestMethod.POST) public ModelAndView toRepasswordSubmit(HttpServletResponse response,HttpServletRequest request) { String oldPassword = request.getParameter("oldPassword"); String newPassword = request.getParameter("newPassword"); String userId = WebUtil.getLoginedUserId(request); String result = loginUserFacade.updateUserPwd(userId,oldPassword,newPassword); return WebUtil.sysInfoPage(request,"操作成功!", "", SysInfo.Success,"/business/pages/loginuser/repassword.html"); } /** * 跳转到个人中心 * @param request * @param response * @return */ @RequestMapping(value="userBind.html") public ModelAndView getUserBind(HttpServletRequest request,HttpServletResponse response){ ModelAndView view = new ModelAndView("/business/pages/loginuser/userBind"); String userId = WebUtil.getLoginedUserId(request); Map customer = new GG_USER(userId).getBeanMapById(); String msg = "您已完成了"; if(!StringUtil.isEmpty(ConvertUtil.obj2StrBlank(customer.get("ISEMAIL")))){ if(ConvertUtil.obj2Integer(customer.get("ISEMAIL")) == 2){ msg = msg + "Email、"; } } if(!StringUtil.isEmpty(ConvertUtil.obj2StrBlank(customer.get("ISPHONE")))){ if(ConvertUtil.obj2Integer(customer.get("ISPHONE")) == 2){ msg = msg + "手机号、"; } } msg = msg.substring(0, msg.length()-1)+"的绑定!"; view.addObject("msg", msg); view.addObject("customer", customer); view.addObject("qqurl", QQUtil.getAuthorizationCodeUrl()); return view; } @RequestMapping("emailBind.html") public ModelAndView getEmailBind(HttpServletRequest request,HttpServletResponse response){ ModelAndView view = new ModelAndView("/business/pages/loginuser/emailBind"); String userId = WebUtil.getLoginedUserId(request); GG_USER user = new GG_USER(userId).getInstanceById(); view.addObject("email",user.getEmail()); return view; } /** * email验证 * @param request * @param response */ @RequestMapping("email.html") public void Emailyanzheng(HttpServletRequest request,HttpServletResponse response){ String result = new String(); String email = request.getParameter("email"); if(StringUtil.notEmpty(email)) { if(StringUtil.isEmail(email)) { String random = StringUtil.randomNumber(6); request.getSession().setAttribute("random", random); String title = Constants.company_name + "邮箱验证"; String content = "【"+Constants.company_name+"】亲爱的客户!您于"+DateUtil.getToday("yyyy年MM月dd日")+"申请了"+Constants.company_name+"邮箱验证,验证码是"+random+""; try { EmailUtil.sendEmail(new String[]{email}, title,content, null); result = "1"; } catch (Exception e) { result = "验证失败"; } } else { result = "请输入正确格式的邮箱"; } } else { result = "请输入邮箱"; } WebUtil.write(response, result); } /** * 比对邮箱验证码 */ @RequestMapping("compareRandom.html") public void compareRandom(HttpServletRequest request,HttpServletResponse response) { String result = new String(); String email = request.getParameter("email"); String userId = WebUtil.getLoginedUserId(request); String requestRandom = request.getParameter("yzm"); String sessionRandom = (String)request.getSession().getAttribute("random"); boolean b = loginUserFacade.isEmail(userId, email); if(b){ if(StringUtil.notEmpty(requestRandom)) { if(StringUtil.notEmpty(sessionRandom)) { if(requestRandom.trim().equals(sessionRandom)) { //更新用户邮箱信息 result = loginUserFacade.updateUserEmail(userId,email); request.getSession().removeAttribute("random"); } else { result = "验证码输入不正确"; } } else { result = "验证码已失效"; } } else { result = "验证码不能为空"; } }else{ result = "该邮箱已绑定过!"; } WebUtil.write(response, result); } @RequestMapping("phoneBind.html") public ModelAndView phoneBind(HttpServletRequest request,HttpServletResponse response){ ModelAndView view = new ModelAndView("/business/pages/loginuser/phoneBind"); String userId = WebUtil.getLoginedUserId(request); GG_USER user = new GG_USER(userId).getInstanceById(); view.addObject("phone",user.getSjhm()); return view; } /** * 发送手机验证码 */ @RequestMapping(value="sendValid.html",method=RequestMethod.POST) public void sendValid(HttpServletRequest request,HttpServletResponse response) { String result = new String(); String mobile = request.getParameter("phone"); if(StringUtil.notEmpty(mobile)) { if(StringUtil.isValidMobileNum(mobile)) { String random = StringUtil.randomNumber(6); request.getSession().setAttribute("sjRandom", random); String message = SMSUtil.getVaildCodeMsg(DateUtil.getToday("yyyy-MM-dd"),random); System.out.println(message); try { result = SMSUtil.sendSMS(message,mobile ); if(!result.equals("0")) { result = "发送失败"; } } catch (Exception e) { result = "发送失败"; } } else { result = "请输入正确格式的手机号码"; } } else { result = "请输入手机号码"; } WebUtil.write(response, result); } /** * 手机绑定 */ @RequestMapping("compareMobileRandom.html") public void compareMobileRandom(HttpServletRequest request,HttpServletResponse response) { String result = new String(); String mobile = request.getParameter("phone"); LoginUser loginUser = WebUtil.getLoginUser(request); Map user = loginUser.getLoginUser(); String userId = ConvertUtil.obj2Str(user.get("ID")); String requestRandom = request.getParameter("yzm"); String sessionRandom = (String)request.getSession().getAttribute("sjRandom"); boolean b = loginUserFacade.isPhone(userId, mobile); if(b){ if(StringUtil.notEmpty(requestRandom)) { if(StringUtil.notEmpty(sessionRandom)) { if(requestRandom.trim().equals(sessionRandom)) { //更新用户手机绑定信息 result = loginUserFacade.updateUserMobile(userId,mobile); request.getSession().removeAttribute("sjRandom"); } else { result = "验证码输入不正确"; } } else { result = "验证码已失效"; } } else { result = "验证码不能为空"; } }else{ result = "该手机号码已绑定过!"; } WebUtil.write(response, result); } /** * 取消手机绑定 * @param request * @param response */ @RequestMapping("cancelPhone.html") public void cancelPhone(HttpServletRequest request,HttpServletResponse response){ String userId = WebUtil.getLoginedUserId(request); new GG_USER(userId).setIsphone(1).update(); WebUtil.write(response, "1"); } /** * 取消email绑定 * @param request * @param response */ @RequestMapping("cancelEmail.html") public void cancelEmail(HttpServletRequest request,HttpServletResponse response){ String userId = WebUtil.getLoginedUserId(request); new GG_USER(userId).setIsemail(1).update(); WebUtil.write(response, "1"); } @RequestMapping("weiBind.html") public ModelAndView weiBind(HttpServletRequest request,HttpServletResponse response){ ModelAndView view = new ModelAndView("/business/pages/loginuser/weiBind"); return view; } /** * 取消微信绑定 * @param request * @param response */ @RequestMapping("cancelWechat.html") public void cancelWechat(HttpServletRequest request,HttpServletResponse response){ String userId = WebUtil.getLoginedUserId(request); new GG_USER(userId) .setOpen_id(null).setIswechat(1).update(); WebUtil.write(response, "1"); } /** * 取消qq绑定 * @param request * @param response */ @RequestMapping("cancelQq.html") public void cancelQq(HttpServletRequest request,HttpServletResponse response){ String userId = WebUtil.getLoginedUserId(request); new GG_USER(userId) .setQq_open_id(null).update(); WebUtil.write(response, "1"); } }