| | |
| | | |
| | | |
| | | import com.nq.common.ServerResponse; |
| | | |
| | | import com.nq.dao.AgentUserMapper; |
| | | import com.nq.pojo.AgentUser; |
| | | import com.nq.pojo.GoogleAuthDto; |
| | | import com.nq.pojo.UserStockSubscribe; |
| | | import com.nq.service.IAgentUserService; |
| | | |
| | | import com.nq.service.IUserStockSubscribeService; |
| | | import com.nq.service.impl.GoogleAuthenticator; |
| | | import com.nq.utils.PropertiesUtil; |
| | | |
| | | import com.nq.utils.redis.CookieUtils; |
| | |
| | | |
| | | import javax.servlet.http.HttpSession; |
| | | |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.slf4j.Logger; |
| | | |
| | | import org.slf4j.LoggerFactory; |
| | |
| | | @Autowired |
| | | IUserStockSubscribeService iUserStockSubscribeService; |
| | | |
| | | @Autowired |
| | | AgentUserMapper agentUserMapper; |
| | | |
| | | //代理后台登录 |
| | | @RequestMapping({"login.do"}) |
| | | @ResponseBody |
| | | public ServerResponse login(@RequestParam("agentPhone") String agentPhone, @RequestParam("agentPwd") String agentPwd, @RequestParam(value = "verifyCode", required = false, defaultValue = "") String verifyCode, HttpSession httpSession, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { |
| | | ServerResponse serverResponse = this.iAgentUserService.login(agentPhone, agentPwd, verifyCode, httpServletRequest); |
| | | public ServerResponse login(@RequestParam("agentPhone") String agentPhone, |
| | | @RequestParam("agentPwd") String agentPwd, |
| | | @RequestParam(value = "verifyCode", required = false, defaultValue = "") String verifyCode, |
| | | @RequestParam(value = "googleAuthCode", required = false) Integer googleAuthCode, |
| | | HttpSession httpSession, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { |
| | | ServerResponse serverResponse = this.iAgentUserService.login(agentPhone, agentPwd, verifyCode, googleAuthCode, httpServletRequest); |
| | | String token = RedisConst.getAgentRedisKey(httpSession.getId()); |
| | | if (serverResponse.isSuccess()) { |
| | | String redisSetExResult = RedisShardedPoolUtils.setEx(token, |
| | |
| | | return this.iUserStockSubscribeService.del(id, request); |
| | | } |
| | | |
| | | @RequestMapping({"getLoginGoogleAuthSecret"}) |
| | | @ResponseBody |
| | | public ServerResponse getLoginGoogleAuthSecret(HttpServletRequest request) { |
| | | GoogleAuthDto dto = iAgentUserService.getGoogleAuth(request); |
| | | if (dto == null) { |
| | | return ServerResponse.createByErrorMsg("请先登录"); |
| | | } |
| | | return ServerResponse.createBySuccess(dto); |
| | | } |
| | | |
| | | @RequestMapping({"bindGoogleAuth"}) |
| | | @ResponseBody |
| | | public ServerResponse bindGoogleAuth(@RequestParam("googleAuthCode") String googleAuthCode, |
| | | @RequestParam("secret") String secret, |
| | | HttpServletRequest request) { |
| | | AgentUser currentAgent = iAgentUserService.getCurrentAgent(request); |
| | | if (currentAgent == null) { |
| | | return ServerResponse.createByErrorMsg("请先登录"); |
| | | } |
| | | AgentUser agentUser = agentUserMapper.selectByPrimaryKey(currentAgent.getId()); |
| | | if (agentUser == null) { |
| | | return ServerResponse.createByErrorMsg("当前用户未找到"); |
| | | } |
| | | if (Boolean.TRUE.equals(agentUser.getGoogleAuthBind())) { |
| | | return ServerResponse.createByErrorMsg("谷歌验证码已绑定"); |
| | | } |
| | | if (StringUtils.isBlank(secret) || StringUtils.isBlank(googleAuthCode)) { |
| | | return ServerResponse.createByErrorMsg("参数不能为空"); |
| | | } |
| | | long t = System.currentTimeMillis(); |
| | | GoogleAuthenticator ga = new GoogleAuthenticator(); |
| | | ga.setWindowSize(5); |
| | | boolean userFlag = ga.check_code(secret, Long.valueOf(googleAuthCode), t); |
| | | if (!userFlag) { |
| | | return ServerResponse.createByErrorMsg("谷歌验证码错误"); |
| | | } |
| | | agentUser.setGoogleAuthBind(true); |
| | | agentUser.setGoogleAuthSecret(secret); |
| | | agentUserMapper.updateByPrimaryKeySelective(agentUser); |
| | | return ServerResponse.createBySuccess(); |
| | | } |
| | | |
| | | @RequestMapping({"unbindingGoogleAuth"}) |
| | | @ResponseBody |
| | | public ServerResponse unbindingGoogleAuth(@RequestParam("rootGoogleAuthCode") String rootGoogleAuthCode, |
| | | HttpServletRequest request) { |
| | | AgentUser currentAgent = iAgentUserService.getCurrentAgent(request); |
| | | if (currentAgent == null) { |
| | | return ServerResponse.createByErrorMsg("请先登录"); |
| | | } |
| | | AgentUser agentUser = agentUserMapper.selectByPrimaryKey(currentAgent.getId()); |
| | | if (agentUser == null) { |
| | | return ServerResponse.createByErrorMsg("当前用户未找到"); |
| | | } |
| | | if (!Boolean.TRUE.equals(agentUser.getGoogleAuthBind())) { |
| | | return ServerResponse.createByErrorMsg("谷歌验证码未绑定,无需解绑!"); |
| | | } |
| | | long t = System.currentTimeMillis(); |
| | | GoogleAuthenticator ga = new GoogleAuthenticator(); |
| | | ga.setWindowSize(5); |
| | | boolean flag = ga.check_code(agentUser.getGoogleAuthSecret(), Long.valueOf(rootGoogleAuthCode), t); |
| | | if (!flag) { |
| | | return ServerResponse.createByErrorMsg("谷歌验证码错误"); |
| | | } |
| | | agentUser.setGoogleAuthBind(false); |
| | | agentUser.setGoogleAuthSecret(""); |
| | | agentUserMapper.updateByPrimaryKeySelective(agentUser); |
| | | return ServerResponse.createBySuccess(); |
| | | } |
| | | } |