| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- package nju.seec.helper.service.impl;
- import nju.seec.helper.service.CodeService;
- import nju.seec.helper.util.Consts;
- import nju.seec.helper.util.MailUtils;
- import nju.seec.helper.util.RedisCacheUtils;
- import nju.seec.helper.util.SmsUtils;
- import org.springframework.stereotype.Service;
- import java.util.Random;
- import java.util.concurrent.TimeUnit;
- /**
- * @author cst
- */
- @Service
- public class CodeServiceImpl implements CodeService {
- private static final int MAIL_CODE_LIVING_MINUTES = 5;
- private static final int PHONE_CODE_LIVING_MINUTES = 5;
- private final MailUtils mailUtils;
- private final SmsUtils smsUtils;
- private final RedisCacheUtils cacheUtils;
- public CodeServiceImpl(MailUtils mailUtils, SmsUtils smsUtils, RedisCacheUtils cacheUtils) {
- this.mailUtils = mailUtils;
- this.smsUtils = smsUtils;
- this.cacheUtils = cacheUtils;
- }
- @Override
- public void sendEmailCode(String email) {
- String code = getSixBitsCode();
- mailUtils.sendSimpleMailMessage(String.format("您的验证码:%s,%d分钟内有效,请勿泄漏于他人!", code, MAIL_CODE_LIVING_MINUTES), email);
- cacheUtils.set(Consts.EMAIL_CACHE_NAME, email, code, MAIL_CODE_LIVING_MINUTES, TimeUnit.MINUTES);
- }
- private String getSixBitsCode() {
- return String.valueOf(new Random().nextInt(900000) + 100000);
- }
- @Override
- public void sendPhoneCode(String phone) {
- String code = getSixBitsCode();
- smsUtils.sendSmsCode(phone, code);
- cacheUtils.set(Consts.PHONE_CACHE_NAME, phone, code, PHONE_CODE_LIVING_MINUTES, TimeUnit.MINUTES);
- }
- }
|