|
@@ -21,6 +21,7 @@ import org.springframework.web.bind.annotation.RestController;
|
|
|
|
|
|
import java.util.Date;
|
|
import java.util.Date;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
|
+import java.util.regex.Pattern;
|
|
|
|
|
|
/**
|
|
/**
|
|
* <p>
|
|
* <p>
|
|
@@ -38,105 +39,161 @@ public class TMessageCodeController {
|
|
TAdminService tAdminService;
|
|
TAdminService tAdminService;
|
|
@Autowired
|
|
@Autowired
|
|
TMessageCodeService tMessageCodeService;
|
|
TMessageCodeService tMessageCodeService;
|
|
|
|
+
|
|
@ApiOperation(value = "发送注册验证码")
|
|
@ApiOperation(value = "发送注册验证码")
|
|
@PostMapping("/sentRegisterCode")
|
|
@PostMapping("/sentRegisterCode")
|
|
- public ResponseModel<?> sentRegisterCode(String ifForeign,String phoneOrEmail) {
|
|
|
|
- if(ifForeign.equals("0")){
|
|
|
|
- if(StringUtils.isEmpty(phoneOrEmail)){
|
|
|
|
- return R.fail(ResponseCodesEnum.A0100,"手机号为空!");
|
|
|
|
|
|
+ public ResponseModel<?> sentRegisterCode(String ifForeign, String phoneOrEmail) {
|
|
|
|
+ // 如果是国内
|
|
|
|
+ if (ifForeign.equals("0")) {
|
|
|
|
+ if (StringUtils.isEmpty(phoneOrEmail)) {
|
|
|
|
+ // 说明参数为空
|
|
|
|
+ return R.fail(ResponseCodesEnum.A0100, "手机号或邮箱为空!");
|
|
}
|
|
}
|
|
- //检测是否已有手机号注册
|
|
|
|
- LambdaQueryWrapper<TAdmin> query = Wrappers.lambdaQuery();
|
|
|
|
- query.eq(TAdmin::getPhone,phoneOrEmail);
|
|
|
|
- List<TAdmin> list = tAdminService.list(query);
|
|
|
|
- if(list.size()>0){
|
|
|
|
- return R.fail(ResponseCodesEnum.A0202,"用户手机号已存在");
|
|
|
|
|
|
+ // 定义国内手机号和邮箱的正则表达式
|
|
|
|
+ String phoneReg = "^1[3-9]\\d{9}$";
|
|
|
|
+ String emailReg = "^[a-zA-Z0-9_-]+([a-zA-Z0-9_.-]*[a-zA-Z0-9])*@[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)+$";
|
|
|
|
+
|
|
|
|
+ // 判断 phoneOrEmail 是手机号还是邮箱
|
|
|
|
+ if (Pattern.matches(phoneReg, phoneOrEmail)) {
|
|
|
|
+ System.out.println("这是一个手机号");
|
|
|
|
+ //检测是否已有手机号注册
|
|
|
|
+ LambdaQueryWrapper<TAdmin> query = Wrappers.lambdaQuery();
|
|
|
|
+ query.eq(TAdmin::getPhone, phoneOrEmail);
|
|
|
|
+ List<TAdmin> list = tAdminService.list(query);
|
|
|
|
+ if (list.size() > 0) {
|
|
|
|
+ return R.fail(ResponseCodesEnum.A0202, "用户手机号已存在");
|
|
|
|
+ }
|
|
|
|
+ //国内发送短信
|
|
|
|
+ String result = tMessageCodeService.sentMessage("0", phoneOrEmail);
|
|
|
|
+ return R.ok(result);
|
|
|
|
+ } else if (Pattern.matches(emailReg, phoneOrEmail)) {
|
|
|
|
+ System.out.println("这是一个邮箱地址");
|
|
|
|
+ // 检测是否已有邮箱注册
|
|
|
|
+ LambdaQueryWrapper<TAdmin> query = Wrappers.lambdaQuery();
|
|
|
|
+ query.eq(TAdmin::getEmail, phoneOrEmail);
|
|
|
|
+ List<TAdmin> list = tAdminService.list(query);
|
|
|
|
+ if (list.size() > 0) {
|
|
|
|
+ return R.fail(ResponseCodesEnum.A0207, "用户邮箱已存在");
|
|
|
|
+ }
|
|
|
|
+ String result = tMessageCodeService.sentEmail("0", phoneOrEmail);
|
|
|
|
+ return R.ok(result);
|
|
|
|
+ } else {
|
|
|
|
+ System.out.println("不是有效的手机号或邮箱地址");
|
|
|
|
+ return R.fail(ResponseCodesEnum.A0100, "不是有效的手机号或邮箱地址");
|
|
}
|
|
}
|
|
- //国内发送短信
|
|
|
|
- String result = tMessageCodeService.sentMessage("0", phoneOrEmail);
|
|
|
|
- return R.ok(result);
|
|
|
|
- }else {
|
|
|
|
- if(StringUtils.isEmpty(phoneOrEmail)){
|
|
|
|
- return R.fail(ResponseCodesEnum.A0100,"邮箱为空!");
|
|
|
|
|
|
+ } else {
|
|
|
|
+ // 海外
|
|
|
|
+ if (StringUtils.isEmpty(phoneOrEmail)) {
|
|
|
|
+ return R.fail(ResponseCodesEnum.A0100, "邮箱为空!");
|
|
}
|
|
}
|
|
//检测是否已有邮箱注册
|
|
//检测是否已有邮箱注册
|
|
LambdaQueryWrapper<TAdmin> query = Wrappers.lambdaQuery();
|
|
LambdaQueryWrapper<TAdmin> query = Wrappers.lambdaQuery();
|
|
- query.eq(TAdmin::getEmail,phoneOrEmail);
|
|
|
|
|
|
+ query.eq(TAdmin::getEmail, phoneOrEmail);
|
|
List<TAdmin> list = tAdminService.list(query);
|
|
List<TAdmin> list = tAdminService.list(query);
|
|
- if(list.size()>0){
|
|
|
|
- return R.fail(ResponseCodesEnum.A0207,"用户邮箱已存在");
|
|
|
|
|
|
+ if (list.size() > 0) {
|
|
|
|
+ return R.fail(ResponseCodesEnum.A0207, "用户邮箱已存在");
|
|
}
|
|
}
|
|
//国外发邮件
|
|
//国外发邮件
|
|
- String result = tMessageCodeService.sentEmail("0",phoneOrEmail);
|
|
|
|
|
|
+ String result = tMessageCodeService.sentEmail("0", phoneOrEmail);
|
|
return R.ok(result);
|
|
return R.ok(result);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+
|
|
@ApiOperation(value = "发送忘记密码验证码")
|
|
@ApiOperation(value = "发送忘记密码验证码")
|
|
@PostMapping("/sentForgetCode")
|
|
@PostMapping("/sentForgetCode")
|
|
- public ResponseModel<?> sentForgetCode(String ifForeign,String username,String phoneOrEmail) {
|
|
|
|
- if(StringUtils.isEmpty(username)){
|
|
|
|
- return R.fail(ResponseCodesEnum.A0100,"用户名为空!");
|
|
|
|
|
|
+ public ResponseModel<?> sentForgetCode(String ifForeign, String username, String phoneOrEmail) {
|
|
|
|
+ if (StringUtils.isEmpty(username)) {
|
|
|
|
+ return R.fail(ResponseCodesEnum.A0100, "用户名为空!");
|
|
}
|
|
}
|
|
- if(ifForeign.equals("0")){
|
|
|
|
- if(StringUtils.isEmpty(phoneOrEmail)){
|
|
|
|
- return R.fail(ResponseCodesEnum.A0100,"手机号为空!");
|
|
|
|
|
|
+ // 如果是国内
|
|
|
|
+ if (ifForeign.equals("0")) {
|
|
|
|
+ if (StringUtils.isEmpty(phoneOrEmail)) {
|
|
|
|
+ return R.fail(ResponseCodesEnum.A0100, "手机号为空!");
|
|
}
|
|
}
|
|
- //检测是否已有手机号注册
|
|
|
|
- LambdaQueryWrapper<TAdmin> query = Wrappers.lambdaQuery();
|
|
|
|
- query.eq(TAdmin::getPhone,phoneOrEmail);
|
|
|
|
- query.eq(TAdmin::getUsername,username);
|
|
|
|
- List<TAdmin> list = tAdminService.list(query);
|
|
|
|
- if(list.size()<=0){
|
|
|
|
- return R.fail(ResponseCodesEnum.A0001,"登录名或手机号出错");
|
|
|
|
|
|
+ // 定义国内手机号和邮箱的正则表达式
|
|
|
|
+ String phoneReg = "^1[3-9]\\d{9}$";
|
|
|
|
+ String emailReg = "^[a-zA-Z0-9_-]+([a-zA-Z0-9_.-]*[a-zA-Z0-9])*@[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)+$";
|
|
|
|
+
|
|
|
|
+ // 判断 phoneOrEmail 是手机号还是邮箱
|
|
|
|
+ if (Pattern.matches(phoneReg, phoneOrEmail)) {
|
|
|
|
+ System.out.println("忘记密码 >>> 这是一个手机号");
|
|
|
|
+ //检测是否已有手机号注册
|
|
|
|
+ LambdaQueryWrapper<TAdmin> query = Wrappers.lambdaQuery();
|
|
|
|
+ query.eq(TAdmin::getPhone, phoneOrEmail);
|
|
|
|
+ query.eq(TAdmin::getUsername, username);
|
|
|
|
+ List<TAdmin> list = tAdminService.list(query);
|
|
|
|
+ if (list.size() <= 0) { // 说明手机未注册
|
|
|
|
+ return R.fail(ResponseCodesEnum.A0001, "登录名或手机号出错");
|
|
|
|
+ }
|
|
|
|
+ //国内发送短信
|
|
|
|
+ String result = tMessageCodeService.sentMessage("1", phoneOrEmail);
|
|
|
|
+ return R.ok(result);
|
|
|
|
+ } else if (Pattern.matches(emailReg, phoneOrEmail)) {
|
|
|
|
+ System.out.println("忘记密码 >>> 这是一个邮箱地址");
|
|
|
|
+ //检测是否已有邮箱注册
|
|
|
|
+ LambdaQueryWrapper<TAdmin> query = Wrappers.lambdaQuery();
|
|
|
|
+ query.eq(TAdmin::getEmail, phoneOrEmail);
|
|
|
|
+ query.eq(TAdmin::getUsername, username);
|
|
|
|
+ List<TAdmin> list = tAdminService.list(query);
|
|
|
|
+ if (list.size() <= 0) { // 邮箱未注册
|
|
|
|
+ return R.fail(ResponseCodesEnum.A0001, "登录名或邮箱出错");
|
|
|
|
+ }
|
|
|
|
+ //国外发邮件
|
|
|
|
+ String result = tMessageCodeService.sentEmail("1", phoneOrEmail);
|
|
|
|
+ return R.ok(result);
|
|
|
|
+ } else {
|
|
|
|
+ System.out.println("忘记密码 >>> 不是有效的手机号或邮箱地址");
|
|
|
|
+ return R.fail(ResponseCodesEnum.A0001, "非有效的手机号或邮箱地址");
|
|
}
|
|
}
|
|
- //国内发送短信
|
|
|
|
- String result = tMessageCodeService.sentMessage("1", phoneOrEmail);
|
|
|
|
- return R.ok(result);
|
|
|
|
- }else {
|
|
|
|
- if(StringUtils.isEmpty(phoneOrEmail)){
|
|
|
|
- return R.fail(ResponseCodesEnum.A0100,"邮箱为空!");
|
|
|
|
|
|
+ } else {
|
|
|
|
+ if (StringUtils.isEmpty(phoneOrEmail)) {
|
|
|
|
+ return R.fail(ResponseCodesEnum.A0100, "邮箱为空!");
|
|
}
|
|
}
|
|
//检测是否已有邮箱注册
|
|
//检测是否已有邮箱注册
|
|
LambdaQueryWrapper<TAdmin> query = Wrappers.lambdaQuery();
|
|
LambdaQueryWrapper<TAdmin> query = Wrappers.lambdaQuery();
|
|
- query.eq(TAdmin::getEmail,phoneOrEmail);
|
|
|
|
- query.eq(TAdmin::getUsername,username);
|
|
|
|
|
|
+ query.eq(TAdmin::getEmail, phoneOrEmail);
|
|
|
|
+ query.eq(TAdmin::getUsername, username);
|
|
List<TAdmin> list = tAdminService.list(query);
|
|
List<TAdmin> list = tAdminService.list(query);
|
|
- if(list.size()<=0){
|
|
|
|
- return R.fail(ResponseCodesEnum.A0001,"登录名或邮箱出错");
|
|
|
|
|
|
+ if (list.size() <= 0) {
|
|
|
|
+ return R.fail(ResponseCodesEnum.A0001, "登录名或邮箱出错");
|
|
}
|
|
}
|
|
//国外发邮件
|
|
//国外发邮件
|
|
- String result = tMessageCodeService.sentEmail("1",phoneOrEmail);
|
|
|
|
|
|
+ String result = tMessageCodeService.sentEmail("1", phoneOrEmail);
|
|
return R.ok(result);
|
|
return R.ok(result);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+
|
|
@ApiOperation(value = "校验验证码")
|
|
@ApiOperation(value = "校验验证码")
|
|
@PostMapping("/checkForgetCode")
|
|
@PostMapping("/checkForgetCode")
|
|
- public ResponseModel<?> checkForgetCode(String ifForeign,String code,String phoneOrEmail) {
|
|
|
|
- if(StringUtils.isEmpty(code)){
|
|
|
|
- return R.fail(ResponseCodesEnum.A0100,"验证码为空!");
|
|
|
|
|
|
+ public ResponseModel<?> checkForgetCode(String ifForeign, String code, String phoneOrEmail) {
|
|
|
|
+ if (StringUtils.isEmpty(code)) {
|
|
|
|
+ return R.fail(ResponseCodesEnum.A0100, "验证码为空!");
|
|
}
|
|
}
|
|
LambdaQueryWrapper<TMessageCode> query2 = Wrappers.lambdaQuery();
|
|
LambdaQueryWrapper<TMessageCode> query2 = Wrappers.lambdaQuery();
|
|
- if(ifForeign.equals("0")){
|
|
|
|
- query2.eq(TMessageCode::getPhone,phoneOrEmail);
|
|
|
|
- }else {
|
|
|
|
- query2.eq(TMessageCode::getPhone,phoneOrEmail);
|
|
|
|
|
|
+ if (ifForeign.equals("0")) {
|
|
|
|
+ query2.eq(TMessageCode::getPhone, phoneOrEmail);
|
|
|
|
+ } else {
|
|
|
|
+ query2.eq(TMessageCode::getPhone, phoneOrEmail);
|
|
}
|
|
}
|
|
- query2.eq(TMessageCode::getType,"1");//1,忘记密码验证码
|
|
|
|
- query2.eq(TMessageCode::getStatus,"0");
|
|
|
|
|
|
+ query2.eq(TMessageCode::getType, "1");//1,忘记密码验证码
|
|
|
|
+ query2.eq(TMessageCode::getStatus, "0");
|
|
List<TMessageCode> messageCodeList = tMessageCodeService.list(query2);
|
|
List<TMessageCode> messageCodeList = tMessageCodeService.list(query2);
|
|
- if(messageCodeList.size()>0){
|
|
|
|
|
|
+ if (messageCodeList.size() > 0) {
|
|
TMessageCode tMessageCode = messageCodeList.get(messageCodeList.size() - 1);
|
|
TMessageCode tMessageCode = messageCodeList.get(messageCodeList.size() - 1);
|
|
- if(!tMessageCode.getCode().equals(code)){
|
|
|
|
- return R.fail(ResponseCodesEnum.A0002,"验证码错误");
|
|
|
|
- }else {
|
|
|
|
|
|
+ if (!tMessageCode.getCode().equals(code)) {
|
|
|
|
+ return R.fail(ResponseCodesEnum.A0002, "验证码错误");
|
|
|
|
+ } else {
|
|
tMessageCode.setStatus("1");
|
|
tMessageCode.setStatus("1");
|
|
tMessageCode.setModifyDate(new Date());
|
|
tMessageCode.setModifyDate(new Date());
|
|
tMessageCodeService.saveOrUpdate(tMessageCode);
|
|
tMessageCodeService.saveOrUpdate(tMessageCode);
|
|
return R.ok();
|
|
return R.ok();
|
|
}
|
|
}
|
|
- }else {
|
|
|
|
- return R.fail(ResponseCodesEnum.A0002,"没有找到验证码");
|
|
|
|
|
|
+ } else {
|
|
|
|
+ return R.fail(ResponseCodesEnum.A0002, "没有找到验证码");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+
|
|
}
|
|
}
|
|
|
|
|