package com.example.homework2.service;
import com.alibaba.fastjson.JSONObject;
import com.example.homework2.controller.sendemailController;
import com.example.homework2.dao.AyUserDao;
import com.example.homework2.model.User;
import com.example.homework2.util.Common;
import com.zhenzi.sms.ZhenziSmsClient;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import java.util.Random;
@Service
public class SendJunkPhoneServiceImpl implements SendJunkPhoneService{
@Resource
AyUserDao ayUserDao;
private String code;
private Date sendTime;
private static final Logger logger = LogManager.getLogger(sendemailController.class);
//短信平台相关参数
//这个不用改
private String apiUrl = "https://sms_developer.zhenzikj.com";
//榛子云系统上获取
private String appId = "110277";
private String appSecret = "838b7f61-50ea-474e-8ea8-95a6d41a86b9";
/* 实现点击登录按钮后改变验证码的值*/
private String tmp;
/**
*计算两个日期的分钟差
*/
public static int getMinute(Date fromDate, Date toDate) {
return (int) (toDate.getTime() - fromDate.getTime()) / (60 * 1000);
}
public boolean sendJunkPhone(String stuphone){
try {
JSONObject json = null;
//随机生成验证码
code = String.valueOf(new Random().nextInt(999999));
tmp = code;
//将验证码通过榛子云接口发送至手机
ZhenziSmsClient client = new ZhenziSmsClient(apiUrl, appId, appSecret);
Map<String, Object> params = new HashMap<String, Object>();
//前台输入的手机号
params.put("number", stuphone);
//这个模板id对应的是榛子云个人中心的模板id
params.put("templateId", 7161);
String[] templateParams = new String[2];
templateParams[0] = code;
templateParams[1] = "1";
params.put("templateParams", templateParams);
String result = client.send(params);
sendTime = new Date();
System.out.println(result);
json = JSONObject.parseObject(result);
} catch (Exception e) {
return Boolean.FALSE;
}
return Boolean.TRUE;
}
public String checkzhAndyzmofPhone(String stuphone, String phoneyzm){
String retStr="";
Date date = new Date();
/* 手机验证码相同*/
if (phoneyzm.equals(code)) {
/* 验证码是否超过1分钟*/
if (getMinute(sendTime,date) > 1){
retStr = "document.getElementById(\"tipofyzm1\").innerHTML = \"验证码已过期\";";
}else{
/* 判断邮箱是否存在数据库*/
User u = ayUserDao.finduserbystuphone(stuphone);
/* 不存在*/
if (u == null) {
while(true){
code = String.valueOf(new Random().nextInt(999999));
if (!(code.equals(tmp))) {
break;
}
}
retStr = "document.getElementById(\"tipofmop\").innerHTML = \"手机号不存在\";";
} else {
retStr = "成功";
}
}
}else{
/* retStr = "alert('验证码错误!')"; */
retStr = "document.getElementById(\"tipofyzm1\").innerHTML = \"验证码错误\";";
}
return retStr;
}
public String checkzhAndyzmofPhone2(String stuphone, String phoneyzm, String resetpwd2){
String retStr="";
Date date = new Date();
/* 手机验证码相同*/
if (phoneyzm.equals(code)) {
/* 验证码是否超过1分钟*/
if (getMinute(sendTime,date) > 1){
retStr = "document.getElementById(\"tipofyzm2\").innerHTML = \"验证码已过期\";";
}else{
/* 判断邮箱是否存在数据库*/
User u = ayUserDao.finduserbystuphone(stuphone);
/* 不存在*/
if (u == null) {
while(true){
code = String.valueOf(new Random().nextInt(999999));
if (!(code.equals(tmp))) {
break;
}
}
retStr = "document.getElementById(\"tipofmop2\").innerHTML = \"手机号不存在\";";
} else {
retStr = "成功";
resetpwd2 = Common.EncoderByMd5(resetpwd2.toString(),"密码登录功能实现");
ayUserDao.updatepwdbystuphone(stuphone, resetpwd2);
}
}
}else{
/* retStr = "alert('验证码错误!')"; */
retStr = "document.getElementById(\"tipofyzm2\").innerHTML = \"验证码错误\";";
}
return retStr;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
Spring Boot实现人脸识别等多种登录方式.zip
共194个文件
xml:95个
java:22个
class:21个
需积分: 47 16 下载量 3 浏览量
2021-11-16
23:01:39
上传
评论 2
收藏 1.98MB ZIP 举报
温馨提示
用到百度智能云的人脸识别,Mybatis等技术
资源详情
资源评论
资源推荐
收起资源包目录
Spring Boot实现人脸识别等多种登录方式.zip (194个子文件)
SendJunkMailServiceImpl.class 5KB
SendJunkPhoneServiceImpl.class 5KB
sendemailController.class 3KB
faceregisterController.class 3KB
sendphoneController.class 2KB
FaceUtils.class 2KB
faceloginController.class 2KB
registerServiceImpl.class 2KB
UserController.class 2KB
UserServiceImpl.class 2KB
Common.class 1KB
registerController.class 1KB
User.class 1KB
choose.class 1KB
AyUserDao.class 1KB
Homework2Application.class 758B
Homework2ApplicationTests.class 556B
SendJunkPhoneService.class 496B
SendJunkMailService.class 480B
registerService.class 340B
UserService.class 247B
mvnw.cmd 6KB
layui.css 78KB
layui.css 78KB
layer.css 14KB
layer.css 14KB
choose.css 7KB
choose.css 7KB
laydate.css 7KB
laydate.css 7KB
code.css 1KB
code.css 1KB
iconfont.eot 46KB
iconfont.eot 46KB
loading-0.gif 6KB
loading-0.gif 6KB
loading-2.gif 2KB
loading-2.gif 2KB
loading-1.gif 701B
loading-1.gif 701B
.gitignore 395B
.gitignore 184B
choose.html 17KB
choose.html 17KB
register.html 4KB
register.html 3KB
login.html 3KB
login.html 3KB
main.html 552B
main.html 552B
homework2.iml 10KB
maven-wrapper.jar 50KB
SendJunkPhoneServiceImpl.java 5KB
SendJunkMailServiceImpl.java 5KB
MavenWrapperDownloader.java 5KB
sendemailController.java 3KB
faceregisterController.java 2KB
sendphoneController.java 2KB
FaceUtils.java 1KB
faceloginController.java 1KB
UserController.java 1KB
registerController.java 1KB
AyUserDao.java 1KB
registerServiceImpl.java 986B
UserServiceImpl.java 985B
Common.java 888B
User.java 825B
choose.java 767B
Homework2Application.java 332B
SendJunkPhoneService.java 300B
SendJunkMailService.java 282B
Homework2ApplicationTests.java 225B
registerService.java 174B
UserService.java 162B
layui.js 284KB
layui.js 284KB
jquery.min.js 95KB
jquery.min.js 95KB
choose.js 3KB
choose.js 3KB
HELP.md 893B
mvnw 10KB
img_4.png 544KB
img_4.png 544KB
icon.png 11KB
icon.png 11KB
icon-ext.png 6KB
icon-ext.png 6KB
application.properties 833B
application.properties 806B
maven-wrapper.properties 218B
iconfont.svg 299KB
iconfont.svg 299KB
iconfont.ttf 45KB
iconfont.ttf 45KB
iconfont.woff 30KB
iconfont.woff 30KB
iconfont.woff2 25KB
iconfont.woff2 25KB
uiDesigner.xml 9KB
共 194 条
- 1
- 2
weixin_52371612132
- 粉丝: 3
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于matlab实现对表面肌电信号进行归一化处理,并对归一化后的图形显示 .rar
- 基于matlab实现单级倒立摆的 T-S 模型 包括 LMI 程序源码
- 图书管理系统(struts+hibernate+spring+ext).rar
- 基于matlab实现此压缩包包含语音信号处理中的语音变声代码加音频.rar
- STM32使用PWM驱动舵机并通过OLED显示
- 基于matlab实现车辆路径规划;遗传算法;matlab代码.rar
- 图书管理系统(struts+hibernate+spring)130225.rar
- 基于matlab实现采用标量衍射理论,实现菲涅尔衍射和夫琅禾费衍射,对光波的波前传播和数字全息的应用有帮助.rar
- JavaScript版去除链表重复元素
- 微信小程序项目-功德木鱼(带设置面板-自定义文字、可选字体颜色、可选木鱼样式)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0