邮箱-后台-登录验证码
This commit is contained in:
@@ -18,8 +18,10 @@ import com.accompany.common.utils.BlankUtil;
|
||||
import com.accompany.common.utils.DateTimeUtil;
|
||||
import com.accompany.common.utils.RandomUtil;
|
||||
import com.accompany.common.utils.StringUtils;
|
||||
import com.accompany.core.exception.AdminServiceException;
|
||||
import com.accompany.core.service.SysConfService;
|
||||
import com.accompany.core.util.MD5;
|
||||
import com.accompany.email.service.EmailService;
|
||||
import com.accompany.sms.service.SmsService;
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
@@ -48,6 +50,8 @@ public class AdminUserService extends BaseService {
|
||||
|
||||
@Autowired
|
||||
private AdminLoginRecordMapper adminLoginRecordMapper;
|
||||
@Autowired
|
||||
private EmailService emailService;
|
||||
|
||||
|
||||
/**
|
||||
@@ -154,6 +158,7 @@ public class AdminUserService extends BaseService {
|
||||
return adminUserMapper.deleteByPrimaryKey(id);
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
public BusiResult<Void> sendSmsCode(String account, String realIpAddress) {
|
||||
logger.info("getUserByName");
|
||||
AdminUser adminUser = getUserByName(account);
|
||||
@@ -192,6 +197,23 @@ public class AdminUserService extends BaseService {
|
||||
setUseOldSmsCode(account, smsCode);
|
||||
}
|
||||
|
||||
public void sendEmailCode(String account, String realIpAddress) {
|
||||
logger.info("getUserByName");
|
||||
AdminUser adminUser = getUserByName(account);
|
||||
if (adminUser == null) {
|
||||
jedisService.setex(RedisKey.admin_account_not_exist.getKey(account), 10, account);
|
||||
throw new AdminServiceException(BusiStatus.USERNOTEXISTS);
|
||||
}
|
||||
if (BlankUtil.isBlank(adminUser.getEmail())) {
|
||||
throw new AdminServiceException(BusiStatus.ADMIN_EMAIL_NO_BIND);
|
||||
}
|
||||
String code = String.format("%d", RandomUtil.getFiveRandomNumber());
|
||||
DeviceInfo deviceInfo = new DeviceInfo();
|
||||
deviceInfo.setApp("admin");
|
||||
emailService.sendEmailCode(adminUser.getEmail(), SmsTypeEnum.SUPER_ADMIN_LOGIN.value, deviceInfo, realIpAddress, code, false);
|
||||
saveSmsCode(adminUser, code, realIpAddress);
|
||||
}
|
||||
|
||||
private void setUseOldSmsCode(String account, String smsCode) {
|
||||
String key = RedisKey.admin_use_old_sms_code.getKey(account);
|
||||
if (!jedisService.exits(key)) {
|
||||
@@ -358,4 +380,5 @@ public class AdminUserService extends BaseService {
|
||||
}
|
||||
return adminUsers.stream().collect(Collectors.toMap(AdminUser::getId, au->au));
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -204,4 +204,25 @@ public class LoginController extends BaseController {
|
||||
}
|
||||
return adminUserService.sendSmsCode(account, realIpAddress);
|
||||
}
|
||||
|
||||
@RequestMapping("/login/sendEmailCode")
|
||||
@ResponseBody
|
||||
public BusiResult<Void> sendEmailCode(String account, HttpServletRequest request) {
|
||||
String realIpAddress = IPUtils.getRealIpAddress(request);
|
||||
logger.info("admin getEmailCode account:{},ip:{}", account, realIpAddress);
|
||||
if (BlankUtil.isBlank(accountFilter(account))) {
|
||||
return new BusiResult<>(BusiStatus.ALERT_PARAMETER_ILLEGAL);
|
||||
}
|
||||
if (jedisService.exits(RedisKey.admin_account_not_exist.getKey(account))) {
|
||||
return new BusiResult<>(BusiStatus.USERNOTEXISTS);
|
||||
}
|
||||
if (jedisService.exits(RedisKey.admin_sent_sms.getKey(account))) {
|
||||
return new BusiResult<>(BusiStatus.SMS_NOT_EXPIRED3);
|
||||
}
|
||||
if (adminUserService.checkSendCodeLimit(account)) {
|
||||
return new BusiResult<>(BusiStatus.EMAIL_SENDING_FREQUENCY_TOO_HIGH);
|
||||
}
|
||||
adminUserService.sendEmailCode(account, realIpAddress);
|
||||
return BusiResult.success();
|
||||
}
|
||||
}
|
||||
|
@@ -357,6 +357,7 @@ public enum BusiStatus {
|
||||
|
||||
PHONE_NO_BIND(30001, "未綁定手機號"),
|
||||
ADMIN_PHONE_NO_BIND(30001, "您未綁定手機號,請聯繫管理員"),
|
||||
ADMIN_EMAIL_NO_BIND(30001, "您未綁定邮箱,請聯繫管理員"),
|
||||
USER_NO_CERTIFY(30002, "未實名認證"),
|
||||
FANS_COUNT_INSUFFICIENT(30003, "粉絲數量不達標"),
|
||||
SKILL_NO_ACTIVATE(30004, "當前標籤未激活"),
|
||||
@@ -393,6 +394,7 @@ public enum BusiStatus {
|
||||
|
||||
|
||||
SMS_SENDING_FREQUENCY_TOO_HIGH(200390, "短信發送頻率過高,請稍後再試"),
|
||||
EMAIL_SENDING_FREQUENCY_TOO_HIGH(200390, "邮件验证码發送頻率過高,請稍後再試"),
|
||||
|
||||
NOT_SUPER_USER(18004, "非超級管理員"),
|
||||
SUPER_USER_DISALLOW_OPEN_ROOM(18005, "超級管理員不允許開房"),
|
||||
|
Reference in New Issue
Block a user