package project.web.admin.controller.user; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import kernel.exception.BusinessException; import kernel.util.StringUtils; import project.web.admin.service.user.AdminPublicUserService; import security.web.BaseSecurityAction; import util.RegexUtil; /** * 修改登录密码、资金密码 * */ @RestController public class AdminPasswordChangeController extends BaseSecurityAction { private static final Logger logger = LoggerFactory.getLogger(AdminPasswordChangeController.class); @Autowired private AdminPublicUserService adminPublicUserService; private final String action = "normal/adminPasswordChangeAction!"; @RequestMapping(value = action + "view.action") public ModelAndView view(HttpServletRequest request) { String message = request.getParameter("message"); String error = request.getParameter("error"); ModelAndView model = new ModelAndView(); model.addObject("message", message); model.addObject("error", error); model.setViewName("password_change"); return model; } /** * 修改登录密码 */ @RequestMapping(value = action + "change.action") public ModelAndView change(HttpServletRequest request) { ModelAndView model = new ModelAndView(); String error = ""; String message = ""; try { String oldpassword = request.getParameter("oldpassword"); String password = request.getParameter("password"); String confirm_password = request.getParameter("confirm_password"); // 资金密码 String login_safeword = request.getParameter("login_safeword"); // 验证码 String email_code = request.getParameter("email_code"); // 谷歌验证码 String google_auth_code = request.getParameter("google_auth_code"); error = verif(oldpassword, password, confirm_password); if (!StringUtils.isNullOrEmpty(error)) { model.addObject("error", error); model.setViewName("redirect:/" + action + "view.action"); return model; } String partyId = this.getLoginPartyId(); String username = this.getUsername_login(); adminPublicUserService.saveChangePassword(partyId, oldpassword, password, username, login_safeword, email_code, google_auth_code); message = "操作成功"; } catch (BusinessException e) { error = e.getMessage(); }catch (Throwable t) { logger.error(" error ", t); error = ("[ERROR] 服务器错误"); } model.addObject("message", message); model.addObject("error", error); model.setViewName("redirect:/" + action + "view.action"); return model; } @RequestMapping(value = action + "viewSafeword.action") public ModelAndView viewSafeword(HttpServletRequest request) { String message = request.getParameter("message"); String error = request.getParameter("error"); ModelAndView model = new ModelAndView(); model.addObject("message", message); model.addObject("error", error); model.setViewName("safeword_change"); return model; } @RequestMapping(value = action + "changeSafeword.action") public ModelAndView changeSafeword(HttpServletRequest request) { ModelAndView model = new ModelAndView(); String error = ""; String message = ""; try { String oldpassword = request.getParameter("oldpassword"); String password = request.getParameter("password"); String confirm_password = request.getParameter("confirm_password"); String email_code = request.getParameter("email_code"); String google_auth_code = request.getParameter("google_auth_code"); error = verifSafeword(password, confirm_password); if (!StringUtils.isNullOrEmpty(this.error)) { model.addObject("error", error); model.setViewName("redirect:/" + action + "viewSafeword.action"); return model; } String partyId = this.getLoginPartyId(); String username = this.getUsername_login(); adminPublicUserService.saveChangeSafeword(partyId, oldpassword, password, username, email_code, google_auth_code); message = "操作成功"; } catch (BusinessException e) { error = e.getMessage(); }catch (Throwable t) { logger.error(" error ", t); error = ("[ERROR] 服务器错误"); } model.addObject("message", message); model.addObject("error", error); model.setViewName("redirect:/" + action + "viewSafeword.action"); return model; } private String verif(String oldpassword, String password, String confirm_password) { if (RegexUtil.isNull(oldpassword)) { return "请输入[旧密码]"; } if (RegexUtil.isNull(password)) { return "请输入[新密码]"; } if (!RegexUtil.isPwd(password)) { return "密码必须由数字、字符、特殊字符(!@#$%^&*)三种中的两种组成,长度不能少于8位"; } if (!RegexUtil.length(password, 0, 128)) { return "密码限制128个字符"; } if (!password.equals(confirm_password)) { return "[新密码]与[确认新密码]不相等"; } return null; } private String verifSafeword(String password, String confirm_password) { if (RegexUtil.isNull(password)) { return "请输入[新资金密码]"; } if (!RegexUtil.length(password, 6, 6)) { return "资金密码限制6个字符"; } if (!password.equals(confirm_password)) { return "[新密码]与[确认新密码]不相等"; } return null; } public void setAdminPublicUserService(AdminPublicUserService adminPublicUserService) { this.adminPublicUserService = adminPublicUserService; } }