|
@@ -254,6 +254,51 @@ public class RegUserApiController {
|
|
|
return messageResult;
|
|
|
}
|
|
|
|
|
|
+ @PostMapping("getVerifyCodeByTeacher")
|
|
|
+ @ApiOperation(value = "获取短信验证码教师端(公开接口)")
|
|
|
+ public MessageResult<Map> getVerifyCodeByTeacher(String telephone) {
|
|
|
+ MessageResult<Map> messageResult = new MessageResult<>();
|
|
|
+
|
|
|
+ try {
|
|
|
+ String key = "SMS_" + telephone;
|
|
|
+
|
|
|
+ RegUser regUser = regUserService.findByPhone(telephone);
|
|
|
+
|
|
|
+ if (regUser != null && regUser.getUserType().contains("2")) {
|
|
|
+ //教师
|
|
|
+ } else {
|
|
|
+ throw new Exception("该手机号未注册!");
|
|
|
+ }
|
|
|
+
|
|
|
+ //1分钟限制
|
|
|
+ boolean repeat = valueOperations.setIfAbsent("out_" + telephone,true,1, TimeUnit.MINUTES);
|
|
|
+ if(!repeat){
|
|
|
+ throw new Exception("操作过于频繁!");
|
|
|
+ }
|
|
|
+
|
|
|
+ String verifyCode = (String) valueOperations.get(key);
|
|
|
+
|
|
|
+ if (StringUtils.isEmpty(verifyCode)) {
|
|
|
+ verifyCode = SMSUtil.generateNumberString(6);
|
|
|
+ JSONObject verifyCodeJSON = new JSONObject();
|
|
|
+ verifyCodeJSON.put("code", verifyCode);
|
|
|
+
|
|
|
+ messageResult = SMSUtil.send(telephone, "SMS_49390047", verifyCodeJSON.toString());
|
|
|
+
|
|
|
+ //设置当前用户的验证码,5分钟内有效
|
|
|
+ valueOperations.set(key, verifyCode, 10, TimeUnit.MINUTES);
|
|
|
+ }
|
|
|
+
|
|
|
+ messageResult.setResult(true);
|
|
|
+ messageResult.setCode(200);
|
|
|
+ } catch (Exception ex) {
|
|
|
+ log.error(ex.getMessage());
|
|
|
+ messageResult.setResult(false);
|
|
|
+ messageResult.setMessage(ex.getMessage());
|
|
|
+ }
|
|
|
+
|
|
|
+ return messageResult;
|
|
|
+ }
|
|
|
|
|
|
@PostMapping("validateCode")
|
|
|
@ApiOperation(value = "验证短信验证码(公开接口)")
|