| 
16 | 16 | import org.apache.shiro.authc.UnknownAccountException;  | 
17 | 17 | import org.apache.shiro.authc.UsernamePasswordToken;  | 
18 | 18 | import org.apache.shiro.subject.Subject;  | 
 | 19 | +import org.slf4j.Logger;  | 
 | 20 | +import org.slf4j.LoggerFactory;  | 
19 | 21 | import org.springframework.beans.factory.annotation.Autowired;  | 
20 | 22 | import org.springframework.stereotype.Controller;  | 
21 | 23 | import org.springframework.ui.Model;  | 
@@ -44,6 +46,7 @@ public class UserController {  | 
44 | 46 |     private SysConfigService sysConfigService;  | 
45 | 47 |     @Autowired  | 
46 | 48 |     IRedisService iRedisService;  | 
 | 49 | +    private Logger logger = LoggerFactory.getLogger(UserController.class);  | 
47 | 50 | 
 
  | 
48 | 51 |     @PostMapping("/register")  | 
49 | 52 |     @ResponseBody  | 
@@ -143,6 +146,57 @@ public void run() {  | 
143 | 146 |         return msg;  | 
144 | 147 |     }  | 
145 | 148 | 
 
  | 
 | 149 | +    @PostMapping(value = {"/validateEmail","/wechat/validateEmail"})  | 
 | 150 | +    @ResponseBody  | 
 | 151 | +    public Msg validateEmail(HttpServletRequest httpServletRequest,@RequestParam(value = "data", defaultValue = "") String data) {  | 
 | 152 | +        Msg msg = new Msg();  | 
 | 153 | +        try {  | 
 | 154 | +            JSONObject jsonObj = JSONObject.parseObject(data);  | 
 | 155 | +            String email = jsonObj.getString("email");  | 
 | 156 | +            String towSendEmailCode = jsonObj.getString("towSendEmailCode");  | 
 | 157 | +            Object verifyCodeFortowSendEmail =iRedisService.getValue("verifyCodeFortowSendEmail_"+httpServletRequest.getHeader("verifyCodeFortowSendEmail"));  | 
 | 158 | +            User u = new User();  | 
 | 159 | +            u.setEmail(email);  | 
 | 160 | +            User user = userService.getUsers(u);  | 
 | 161 | +            if(user.getIsok()!=0){  | 
 | 162 | +                msg.setInfo("不知细叶谁裁出,二月春风似剪刀");  | 
 | 163 | +                return msg;  | 
 | 164 | +            }  | 
 | 165 | +            if(null==verifyCodeFortowSendEmail){  | 
 | 166 | +                msg.setCode("4035");  | 
 | 167 | +                msg.setInfo("验证码已失效,请重新弄获取。");  | 
 | 168 | +                return msg;  | 
 | 169 | +            }else if(null==towSendEmailCode){  | 
 | 170 | +                msg.setCode("4036");  | 
 | 171 | +                msg.setInfo("验证码不能为空。");  | 
 | 172 | +                return msg;  | 
 | 173 | +            }  | 
 | 174 | +            if((verifyCodeFortowSendEmail.toString().toLowerCase()).compareTo((towSendEmailCode.toLowerCase()))==0){  | 
 | 175 | +                //注册完发激活链接  | 
 | 176 | +                final Confdata dataJson = confdataService.selectConfdata("config");  | 
 | 177 | +                JSONObject confdata = JSONObject.parseObject(dataJson.getJsondata());  | 
 | 178 | +                EmailConfig emailConfig = emailConfigService.getemail();  | 
 | 179 | +                Thread thread = new Thread() {  | 
 | 180 | +                    public void run() {  | 
 | 181 | +                        Integer a = NewSendEmail.sendEmail(emailConfig,user.getUsername(), user.getUid(), user.getEmail(),confdata);  | 
 | 182 | +                    }  | 
 | 183 | +                };  | 
 | 184 | +                thread.start();  | 
 | 185 | +                msg.setInfo("邮件已发送,请注意查收邮箱尽快激活账户(如果没收到,请检查垃圾邮件)");  | 
 | 186 | +            }else{  | 
 | 187 | +                msg.setCode("110408");  | 
 | 188 | +                msg.setInfo("验证码不正确");  | 
 | 189 | +                return msg;  | 
 | 190 | +            }  | 
 | 191 | + | 
 | 192 | +        }catch (Exception e){  | 
 | 193 | +            logger.error("报错位置:/validateEmail",e);  | 
 | 194 | +            msg.setCode("500");  | 
 | 195 | +            msg.setInfo("邮件发送失败");  | 
 | 196 | +        }  | 
 | 197 | +        return msg;  | 
 | 198 | +    }  | 
 | 199 | + | 
146 | 200 |     @PostMapping("/login")//new  | 
147 | 201 |     @ResponseBody  | 
148 | 202 |     public Msg login(HttpServletRequest httpServletRequest,@RequestParam(value = "data", defaultValue = "") String data) {  | 
@@ -184,7 +238,8 @@ public Msg login(HttpServletRequest httpServletRequest,@RequestParam(value = "da  | 
184 | 238 |                 User user = (User) SecurityUtils.getSubject().getPrincipal();  | 
185 | 239 |                 if(user.getIsok()==0){  | 
186 | 240 |                     msg.setInfo("你的账号暂未激活");  | 
187 |  | -                    msg.setCode("110403");  | 
 | 241 | +                    msg.setData(user.getEmail());  | 
 | 242 | +                    msg.setCode("110402");  | 
188 | 243 |                     return msg;  | 
189 | 244 |                 }  | 
190 | 245 |                 if(user.getIsok()<0){  | 
 | 
0 commit comments