5 files modified
3 files added
| | |
| | | //注册 |
| | | @RequestMapping(value = {"reg.do"}, method = {RequestMethod.POST}) |
| | | @ResponseBody |
| | | public ServerResponse reg(@RequestParam("agentCode") String agentCode, @RequestParam("phone") String phone, @RequestParam(value = "yzmCode", defaultValue = "") String yzmCode, @RequestParam("userPwd") String userPwd, HttpServletRequest httpServletRequest) { |
| | | return this.iUserService.reg(yzmCode, agentCode, phone, userPwd, httpServletRequest); |
| | | public ServerResponse reg(@RequestParam("agentCode") String agentCode, |
| | | @RequestParam("phone") String phone, |
| | | @RequestParam(value = "yzmCode", defaultValue = "") String yzmCode, |
| | | @RequestParam("userPwd") String userPwd, |
| | | @RequestParam("email") String email, |
| | | HttpServletRequest httpServletRequest) { |
| | | return this.iUserService.reg(yzmCode, agentCode, phone, userPwd, email,httpServletRequest); |
| | | } |
| | | |
| | | @RequestMapping(value = {"sendMailCode.do"}, method = {RequestMethod.POST}) |
| | | @ResponseBody |
| | | public ServerResponse sendMailCode(@RequestParam("email") String email) { |
| | | return this.iUserService.sendMailCode(email); |
| | | } |
| | | |
| | | |
| | | //登录 |
| | | @RequestMapping(value = {"login.do"}, method = {RequestMethod.POST}) |
| | | @ResponseBody |
| | |
| | | private String withdrawalPwd; |
| | | private String vaildNumber; |
| | | |
| | | private String email; |
| | | |
| | | /** |
| | | * ifsc |
| | | * */ |
| | | private String ifsc; |
| | | |
| | | } |
| | |
| | | import javax.servlet.http.HttpServletRequest; |
| | | |
| | | public interface IUserService { |
| | | ServerResponse reg(String paramString1, String paramString2, String paramString3, String paramString4, HttpServletRequest paramHttpServletRequest); |
| | | ServerResponse reg(String paramString1, String paramString2, String paramString3, String paramString4,String paramString5, HttpServletRequest paramHttpServletRequest); |
| | | |
| | | ServerResponse login(String paramString1, String paramString2, HttpServletRequest paramHttpServletRequest); |
| | | |
| | |
| | | ServerResponse queryMyOption(String code, HttpServletRequest request); |
| | | |
| | | ServerResponse getMoenyLog(String type,HttpServletRequest request); |
| | | |
| | | ServerResponse sendMailCode(String toMail); |
| | | } |
| | |
| | | import com.nq.pojo.reponse.RUserAssets; |
| | | import com.nq.service.*; |
| | | import com.nq.utils.UserPointUtil; |
| | | import com.nq.utils.email.CodeUtil; |
| | | import com.nq.utils.email.EmailService; |
| | | import com.nq.utils.timeutil.DateTimeUtil; |
| | | import com.nq.utils.PropertiesUtil; |
| | | import com.nq.utils.SymmetricCryptoUtil; |
| | |
| | | import org.slf4j.Logger; |
| | | import org.slf4j.LoggerFactory; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.data.redis.core.StringRedisTemplate; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.util.Assert; |
| | | |
| | | @Service("iUserService") |
| | | public class UserServiceImpl implements IUserService { |
| | |
| | | @Resource |
| | | ApplyLeverMapper applyLeverMapper; |
| | | |
| | | @Autowired |
| | | EmailService emailService; |
| | | @Autowired |
| | | CodeUtil codeUtil; |
| | | @Autowired |
| | | private StringRedisTemplate redisTemplate; |
| | | |
| | | |
| | | public ServerResponse reg(String yzmCode, String agentCode, String phone, String userPwd, HttpServletRequest request) { |
| | | if (StringUtils.isBlank(agentCode) || StringUtils.isBlank(phone) || |
| | | StringUtils.isBlank(userPwd) || StringUtils.isBlank(yzmCode)) { |
| | | public ServerResponse reg(String yzmCode, String agentCode, String phone, String userPwd,String email, HttpServletRequest request) { |
| | | if (StringUtils.isAnyBlank(agentCode,phone,userPwd,yzmCode,email)) { |
| | | return ServerResponse.createByErrorMsg("注册失败。该参数不能为空",request); |
| | | } |
| | | Assert.isTrue(userMapper.selectCount(new LambdaQueryWrapper<User>().eq(User::getEmail,email)) == 0, |
| | | "Registration failed, the mobile mail number has been registered"); |
| | | |
| | | String redisCode = redisTemplate.opsForValue().get(codeUtil.KEY_PREFIX + yzmCode); |
| | | if (redisCode == null || !yzmCode.equals(redisCode)) { |
| | | return ServerResponse.createByErrorMsg("Verification code error"); |
| | | } |
| | | |
| | | String keys = "AliyunSmsCode:" + phone; |
| | | String redis_yzm = RedisShardedPoolUtils.get(keys); |
| | |
| | | user.setAgentName(agentUser.getAgentName()); |
| | | user.setPhone(phone); |
| | | user.setUserPwd(SymmetricCryptoUtil.encryptPassword(userPwd)); |
| | | |
| | | user.setEmail(email); |
| | | |
| | | user.setAccountType(Integer.valueOf(0)); |
| | | user.setIsLock(Integer.valueOf(1)); |
| | |
| | | queryWrapper.eq("user_id",user.getId()); |
| | | return ServerResponse.createBySuccess(mapper.selectList(queryWrapper)); |
| | | } |
| | | @Override |
| | | public ServerResponse sendMailCode(String MailCode) { |
| | | if (MailCode == null || MailCode.equals("")) { |
| | | return ServerResponse.createByErrorMsg("The mobile mail number and password cannot be empty"); |
| | | } |
| | | emailService.sendSimpleMail(MailCode, "barclays register code", codeUtil.generateVerificationCode()); |
| | | return ServerResponse.createBySuccessMsg("send code success!"); |
| | | } |
| | | |
| | | } |
| | | |
| New file |
| | |
| | | package com.nq.utils.email; |
| | | |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.data.redis.core.StringRedisTemplate; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.concurrent.TimeUnit; |
| | | |
| | | @Service |
| | | public class CodeUtil { |
| | | |
| | | //存储时间 |
| | | private static final int EXPIRATION_TIME_IN_MINUTES = 3; |
| | | //键名 |
| | | public static final String KEY_PREFIX ="yzm"; |
| | | @Autowired |
| | | private StringRedisTemplate redisTemplate; |
| | | public String generateVerificationCode() { |
| | | // 生成6位随机数字验证码 |
| | | String code = String.valueOf((int) ((Math.random() * 9 + 1) * 100000)); |
| | | String key = KEY_PREFIX+code; |
| | | redisTemplate.opsForValue().set(key, code, EXPIRATION_TIME_IN_MINUTES, TimeUnit.MINUTES); |
| | | return code; |
| | | } |
| | | |
| | | // 验证验证码是否正确 |
| | | public boolean verifyCode(String userId, String code, String key) { |
| | | key = key + userId; |
| | | String storedCode = redisTemplate.opsForValue().get(key); |
| | | return code.equals(storedCode); |
| | | } |
| | | |
| | | //删除redis中验证码 |
| | | public void deleteCode(String userId, String key) { |
| | | key = key + userId; |
| | | redisTemplate.delete(key); |
| | | } |
| | | |
| | | } |
| New file |
| | |
| | | package com.nq.utils.email; |
| | | |
| | | public interface EmailService { |
| | | /** |
| | | * 发送文本邮件 |
| | | * |
| | | * @param to 收件人 |
| | | * @param subject 主题 |
| | | * @param content 内容 |
| | | */ |
| | | void sendSimpleMail(String to, String subject, String content); |
| | | |
| | | /** |
| | | * 发送HTML邮件 |
| | | * |
| | | * @param to 收件人 |
| | | * @param subject 主题 |
| | | * @param content 内容 |
| | | */ |
| | | public void sendHtmlMail(String to, String subject, String content); |
| | | |
| | | /** |
| | | * 发送带附件的邮件 |
| | | * |
| | | * @param to 收件人 |
| | | * @param subject 主题 |
| | | * @param content 内容 |
| | | * @param filePath 附件 |
| | | */ |
| | | public void sendAttachmentsMail(String to, String subject, String content, String filePath); |
| | | |
| | | } |
| New file |
| | |
| | | package com.nq.utils.email; |
| | | |
| | | import org.slf4j.Logger; |
| | | import org.slf4j.LoggerFactory; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.core.io.FileSystemResource; |
| | | import org.springframework.mail.SimpleMailMessage; |
| | | import org.springframework.mail.javamail.JavaMailSender; |
| | | import org.springframework.mail.javamail.MimeMessageHelper; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.mail.internet.InternetAddress; |
| | | import javax.mail.internet.MimeMessage; |
| | | import java.io.File; |
| | | import java.util.regex.Pattern; |
| | | |
| | | @Service |
| | | public class EmailUtil implements EmailService |
| | | { |
| | | private static final Logger log = LoggerFactory.getLogger(EmailService.class); |
| | | |
| | | |
| | | //Spring Boot 提供了一个发送邮件的简单抽象,使用的是下面这个接口,这里直接注入即可使用 |
| | | @Autowired |
| | | private JavaMailSender mailSender; |
| | | |
| | | // 配置文件中我的谷歌邮箱 |
| | | @Value("${spring.mail.username}") |
| | | private String from; |
| | | |
| | | /** |
| | | * 简单文本邮件 |
| | | * @param to 收件人 |
| | | * @param subject 主题 |
| | | * @param content 内容 |
| | | */ |
| | | @Override |
| | | public void sendSimpleMail(String to, String subject, String content) { |
| | | //创建SimpleMailMessage对象 |
| | | SimpleMailMessage message = new SimpleMailMessage(); |
| | | //邮件发送人 |
| | | message.setFrom(from); |
| | | //邮件接收人 |
| | | message.setTo(to); |
| | | //邮件主题 |
| | | message.setSubject(subject); |
| | | //邮件内容 |
| | | message.setText(content); |
| | | //发送邮件 |
| | | mailSender.send(message); |
| | | } |
| | | |
| | | /** |
| | | * html邮件 |
| | | * @param to 收件人,多个时参数形式 :"xxx@xxx.com,xxx@xxx.com,xxx@xxx.com" |
| | | * @param subject 主题 |
| | | * @param content 内容 |
| | | */ |
| | | @Override |
| | | public void sendHtmlMail(String to, String subject, String content) { |
| | | //获取MimeMessage对象 |
| | | MimeMessage message = mailSender.createMimeMessage(); |
| | | MimeMessageHelper messageHelper; |
| | | try { |
| | | messageHelper = new MimeMessageHelper(message, true); |
| | | //邮件发送人 |
| | | messageHelper.setFrom(from); |
| | | //邮件接收人,设置多个收件人地址 |
| | | InternetAddress[] internetAddressTo = InternetAddress.parse(to); |
| | | messageHelper.setTo(internetAddressTo); |
| | | //messageHelper.setTo(to); |
| | | //邮件主题 |
| | | message.setSubject(subject); |
| | | //邮件内容,html格式 |
| | | messageHelper.setText(content, true); |
| | | //发送 |
| | | mailSender.send(message); |
| | | //日志信息 |
| | | log.info("邮件已经发送。"); |
| | | } catch (Exception e) { |
| | | log.error("发送邮件时发生异常!", e); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 带附件的邮件 |
| | | * @param to 收件人 |
| | | * @param subject 主题 |
| | | * @param content 内容 |
| | | * @param filePath 附件 |
| | | */ |
| | | @Override |
| | | public void sendAttachmentsMail(String to, String subject, String content, String filePath) { |
| | | MimeMessage message = mailSender.createMimeMessage(); |
| | | try { |
| | | MimeMessageHelper helper = new MimeMessageHelper(message, true); |
| | | helper.setFrom(from); |
| | | helper.setTo(to); |
| | | helper.setSubject(subject); |
| | | helper.setText(content, true); |
| | | |
| | | FileSystemResource file = new FileSystemResource(new File(filePath)); |
| | | String fileName = filePath.substring(filePath.lastIndexOf(File.separator)); |
| | | helper.addAttachment(fileName, file); |
| | | mailSender.send(message); |
| | | //日志信息 |
| | | log.info("邮件已经发送。"); |
| | | } catch (Exception e) { |
| | | log.error("发送邮件时发生异常!", e); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 验证邮箱格式 |
| | | * @param email |
| | | * @return |
| | | */ |
| | | public boolean isEmail(String email) { |
| | | if (email == null || email.length() < 1 || email.length() > 256) { |
| | | return false; |
| | | } |
| | | Pattern pattern = Pattern.compile("^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$"); |
| | | return pattern.matcher(email).matches(); |
| | | } |
| | | |
| | | } |
| | |
| | | |
| | | |
| | | |
| | | #????? |
| | | news.main.url=http://eminfo.eastmoney.com |
| | | spring.main.allow-circular-references=true |
| | | |
| | | spring.mail.host=smtp.gmail.com |
| | | # ???????? |
| | | spring.mail.port=587 |
| | | # ???????????? |
| | | spring.mail.username=barclays5510@gmail.com |
| | | # ???????????????????????????? |
| | | spring.mail.password=nppwibbarixvbnqk |
| | | # ??TLS?? |
| | | spring.mail.properties.mail.smtp.starttls.enable=true |
| | | # ?????????? |
| | | spring.mail.properties.mail.smtp.auth=true |
| | | # ?????? |
| | | spring.mail.properties.mail.transport.protocol=smtp |
| | | |
| | | properties.mail.smtp.socketFactory.class: javax.net.ssl.SSLSocketFactory |
| | | |
| | | |
| | | |