Commit 70fc6c3b by 彭祥礼

新增正则验证管理和修改发送验证码校检验证码

parent afa6b0c1
...@@ -9,7 +9,6 @@ import com.winsun.bean.*; ...@@ -9,7 +9,6 @@ import com.winsun.bean.*;
import com.winsun.constant.Constant; import com.winsun.constant.Constant;
import com.winsun.constant.OrderStatus; import com.winsun.constant.OrderStatus;
import com.winsun.mapper.*; import com.winsun.mapper.*;
import com.winsun.smsUtils.SendSmsAndMail;
import com.winsun.utils.BeanUtil; import com.winsun.utils.BeanUtil;
import com.winsun.utils.MD5Utils; import com.winsun.utils.MD5Utils;
import com.winsun.utils.MyBatisPlusUpdateUtils; import com.winsun.utils.MyBatisPlusUpdateUtils;
...@@ -34,7 +33,6 @@ import org.springframework.web.bind.annotation.*; ...@@ -34,7 +33,6 @@ import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.UnsupportedEncodingException; import java.io.UnsupportedEncodingException;
import java.net.URLEncoder; import java.net.URLEncoder;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
...@@ -54,6 +52,8 @@ public class RongHeController { ...@@ -54,6 +52,8 @@ public class RongHeController {
@Autowired @Autowired
private ProductMapper productMapper; private ProductMapper productMapper;
@Autowired @Autowired
private HhrUserMapper hhrUserMapper;
@Autowired
private SchoolMapper schoolMapper; private SchoolMapper schoolMapper;
@Autowired @Autowired
private UserSchoolMapper userSchoolMapper; private UserSchoolMapper userSchoolMapper;
...@@ -69,38 +69,6 @@ public class RongHeController { ...@@ -69,38 +69,6 @@ public class RongHeController {
private OrderHistoryMapper historyMapper; private OrderHistoryMapper historyMapper;
@Autowired @Autowired
private SysUserMapper sysUserMapper; private SysUserMapper sysUserMapper;
private static String verifyCode = "";
@ResponseBody
@RequestMapping(value = "rhSendCodes", method = RequestMethod.POST)
public ResponseData<Map<String, Object>> rhSendCodes(String phone,HttpServletRequest request) {
Map<String, Object> map = new HashMap<>();
HttpSession session = request.getSession();
//随机生成六位数字验证码
String vCode = String.valueOf((int) (Math.random() * 900000 + 100000));
//第一次发送验证码
/*session.setAttribute("currentDate", System.currentTimeMillis());//Session放入当前系统时间
long currentDate = (Long) session.getAttribute("currentDate");
Long date = (Long) session.getAttribute("date");
//12小时内若发送验证码,currentDate的值则变成当前系统时间替换第一次发送验证码存入的时间,
// 并获取第一次的date相减,两次验证码发送时间相隔不超过一分钟,不允许持续发送
if (date != null && currentDate - date < 1000 * 60 * 60 * 12) {
map.put("errorState", "验证码发送未超过12小时");
map.put("verifyCode", session.getAttribute("verifyCode"));
return ResponseData.success(map);
}
session.setAttribute("date", System.currentTimeMillis());//Session放入当前系统时间
session.setAttribute("phoneNum", phone);//Session放入手机号码
session.setAttribute("verifyCode", vCode);//Session放入验证码*/
if("".equals(verifyCode)){
SendSmsAndMail.sendSms(phone,vCode+"","7");
verifyCode = vCode;
}
log.info(verifyCode);
map.put("verifyCode", verifyCode);
map.put("success", "验证码已发送");
return ResponseData.success(map);
}
/** /**
* 跟据合伙人id查找融合套餐信息 * 跟据合伙人id查找融合套餐信息
...@@ -109,7 +77,7 @@ public class RongHeController { ...@@ -109,7 +77,7 @@ public class RongHeController {
* @return * @return
*/ */
@RequestMapping("/rhData") @RequestMapping("/rhData")
public ResponseData<Map<String, Object>> getRhData(@RequestParam("hhrId") String hhrId) { public ResponseData<Map<String, Object>> getRhData(@RequestParam("hhrId") String hhrId,@RequestParam("phone") String phone) {
//空,直接返回 //空,直接返回
if (StringUtils.isEmpty(hhrId)) { if (StringUtils.isEmpty(hhrId)) {
return ResponseData.error("请输入合伙人id"); return ResponseData.error("请输入合伙人id");
...@@ -124,9 +92,11 @@ public class RongHeController { ...@@ -124,9 +92,11 @@ public class RongHeController {
Product product = productMapper.selectById(bandproductId); Product product = productMapper.selectById(bandproductId);
UniversityInfo universityInfo = universityInfoMapper.selectById(product.getUniversityId()); UniversityInfo universityInfo = universityInfoMapper.selectById(product.getUniversityId());
Map<String, Object> objMap = new HashMap<>(); Map<String, Object> objMap = new HashMap<>();
objMap.put("product", product); objMap.put("product", product);
objMap.put("universityInfo", universityInfo); objMap.put("universityInfo", universityInfo);
return ResponseData.success(objMap); return ResponseData.success(objMap);
} }
......
package com.winsun.controller;
import com.winsun.auth.core.common.model.ResponseData;
import com.winsun.smsUtils.SendSmsAndMail;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import java.util.Map;
import java.util.concurrent.TimeUnit;
/**
* @Author xiangli
* @Date 2020/4/21
* @Version 1.0
*/
@Slf4j
@RestController
@RequestMapping("/codesManager")
public class codeManagerController {
@Autowired
@Qualifier("redisStringTemplate")
private RedisTemplate redisTemplate;
@ResponseBody
@RequestMapping(value = "sendCodes", method = RequestMethod.POST)
public ResponseData<Map<String, Object>> checkStudent(String phone) {
// 生成6位随机数
String s = String.valueOf((int) ((Math.random() * 9 + 1) * 100000));
log.info("验证码:" + s);
//MessageUtil.sent(packageUpgrade.getAccNbr(),"4","您获取的验证码为:"+s+",半小时内有效。");
redisTemplate.opsForValue().set(phone, s, 240, TimeUnit.MINUTES);
String codes = SendSmsAndMail.sendSms(phone,s+"","7");
return ResponseData.success(null, "已发送验证码到手机,验证码:" + s);
}
@ResponseBody
@RequestMapping(value = "checkCodes", method = RequestMethod.POST)
public ResponseData<Map<String, Object>> checkCodes(String phone, String codes) {
if(!StringUtils.isNotEmpty(phone)){
return ResponseData.error("手机号不正确!");
}
if(!StringUtils.isNotEmpty(codes)){
return ResponseData.error("验证码不能为空!");
}
String ver = null;
try {
ver = redisTemplate.opsForValue().get(phone).toString();
} catch (NullPointerException n) {
return ResponseData.error("验证码已失效,请发送验证码!");
}
if(ver.equals(codes)){
return ResponseData.success();
}
return ResponseData.error( "验证码错误" );
}
}
package com.winsun.bean;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;
import lombok.Data;
import java.io.Serializable;
/**
* 正则表信息
*/
@Data
@TableName("hhr_zzpz_manage")
public class Regular implements Serializable {
private static final long serialVersionUID = 7294543915332122916L;
/**
* 主键
*/
@TableId(value = "id", type = IdType.AUTO)
private int id;
/**
*
*/
@TableField(value = "regular")
private String regular;
/**
*
*/
@TableField(value = "tips")
private String tips;
/**
*
*/
@TableField(value = "placeholder")
private String placeholder;
/**
*
*/
@TableField(value = "name")
private String name;
/**
*
*/
@TableField(value = "is_Show")
private String isShow;
}
package com.winsun.mapper;
import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.winsun.bean.Regular;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Component;
@Mapper
@Component
public interface RegularMapper extends BaseMapper<Regular> {
}
...@@ -24,8 +24,6 @@ import org.springframework.web.bind.annotation.RequestMethod; ...@@ -24,8 +24,6 @@ import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import java.io.FileOutputStream;
import java.io.IOException;
import java.text.DateFormat; import java.text.DateFormat;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.*; import java.util.*;
...@@ -144,7 +142,7 @@ public class PackageNewClothes { ...@@ -144,7 +142,7 @@ public class PackageNewClothes {
, @RequestParam("customerName") String customerName, @RequestParam("partner") String partner , @RequestParam("customerName") String customerName, @RequestParam("partner") String partner
, @RequestParam(value = "idCardzs") String idCardzs, @RequestParam(value = "idCardz") String idCardz, @RequestParam(value = "idCardf") String idCardf , @RequestParam(value = "idCardzs") String idCardzs, @RequestParam(value = "idCardz") String idCardz, @RequestParam(value = "idCardf") String idCardf
, @RequestParam(value = "remarks", required = false) String remarks, @RequestParam(value = "kapin") String kapin , @RequestParam(value = "remarks", required = false) String remarks, @RequestParam(value = "kapin") String kapin
, @RequestParam(value = "idCard") String idCard, @RequestParam(value = "userSchool") String userSchool) { , @RequestParam(value = "idCard") String idCard, @RequestParam(value = "userSchool") String userSchool,@RequestParam(value = "isFromRh") String isFromRh) {
if (contactNumber.length() != 11) { if (contactNumber.length() != 11) {
return ResponseData.error("联系号码有误,请重新输入"); return ResponseData.error("联系号码有误,请重新输入");
} }
...@@ -212,6 +210,10 @@ public class PackageNewClothes { ...@@ -212,6 +210,10 @@ public class PackageNewClothes {
if (insert == 1) { if (insert == 1) {
appMapper.inserOrderHis(id, "资料已提交", date, customerName); appMapper.inserOrderHis(id, "资料已提交", date, customerName);
if(StringUtils.isNotEmpty(isFromRh)){
String resMsg = "该订单是由融合进来下单";
//SendSmsAndMail.sendSms(contactNumber, resMsg, "2");
}
return ResponseData.success(id); return ResponseData.success(id);
} }
return ResponseData.error("开卡失败!"); return ResponseData.error("开卡失败!");
...@@ -245,7 +247,7 @@ public class PackageNewClothes { ...@@ -245,7 +247,7 @@ public class PackageNewClothes {
, @RequestParam(value = "parentName") String parentName, @RequestParam(value = "idCardf") String idCardf , @RequestParam(value = "parentName") String parentName, @RequestParam(value = "idCardf") String idCardf
, @RequestParam(value = "remarks", required = false) String remarks, @RequestParam(value = "kapin") String kapin , @RequestParam(value = "remarks", required = false) String remarks, @RequestParam(value = "kapin") String kapin
, @RequestParam(value = "idCard") String idCard, @RequestParam(value = "studentNumber") String studentNumber , @RequestParam(value = "idCard") String idCard, @RequestParam(value = "studentNumber") String studentNumber
, @RequestParam(value = "userSchool") String userSchool) { , @RequestParam(value = "userSchool") String userSchool, @RequestParam(value = "isFromRh") String isFromRh) {
if (contactNumber.length() != 11) { if (contactNumber.length() != 11) {
return ResponseData.error("联系号码有误,请重新输入"); return ResponseData.error("联系号码有误,请重新输入");
...@@ -315,6 +317,10 @@ public class PackageNewClothes { ...@@ -315,6 +317,10 @@ public class PackageNewClothes {
// MessageUtil.sent(contactNumber,"4",""); // MessageUtil.sent(contactNumber,"4","");
if (insert == 1) { if (insert == 1) {
appMapper.inserOrderHis(id, "资料已提交", date, customerName); appMapper.inserOrderHis(id, "资料已提交", date, customerName);
if(StringUtils.isNotEmpty(isFromRh)){
String resMsg = "该订单是由融合进来下单";
//SendSmsAndMail.sendSms(contactNumber, resMsg, "2");
}
return ResponseData.success(id); return ResponseData.success(id);
} }
return ResponseData.error("开卡失败!"); return ResponseData.error("开卡失败!");
...@@ -342,7 +348,7 @@ public class PackageNewClothes { ...@@ -342,7 +348,7 @@ public class PackageNewClothes {
, @RequestParam("studentCard") String studentCard, @RequestParam("cardId") String cardId, @RequestParam(value = "addRess", required = false) String addRess , @RequestParam("studentCard") String studentCard, @RequestParam("cardId") String cardId, @RequestParam(value = "addRess", required = false) String addRess
, @RequestParam("customerName") String customerName, @RequestParam("partner") String partner, @RequestParam("businessNumber") String businessNumber , @RequestParam("customerName") String customerName, @RequestParam("partner") String partner, @RequestParam("businessNumber") String businessNumber
, @RequestParam(value = "remarks", required = false) String remarks, @RequestParam(value = "kapin") String kapin , @RequestParam(value = "remarks", required = false) String remarks, @RequestParam(value = "kapin") String kapin
, @RequestParam(value = "idCard") String idCard, @RequestParam(value = "userSchool") String userSchool) { , @RequestParam(value = "idCard") String idCard, @RequestParam(value = "userSchool") String userSchool, @RequestParam(value = "isFromRh") String isFromRh) {
if (contactNumber.length() != 11) { if (contactNumber.length() != 11) {
return ResponseData.error("联系号码有误,请重新输入"); return ResponseData.error("联系号码有误,请重新输入");
} }
...@@ -435,6 +441,10 @@ public class PackageNewClothes { ...@@ -435,6 +441,10 @@ public class PackageNewClothes {
if (insert == 1) { if (insert == 1) {
appMapper.inserOrderHis(id, "资料提交成功,等待上传证件", date, customerName); appMapper.inserOrderHis(id, "资料提交成功,等待上传证件", date, customerName);
if(StringUtils.isNotEmpty(isFromRh)){
String resMsg = "该订单是由融合进来下单";
//SendSmsAndMail.sendSms(contactNumber, resMsg, "2");
}
return ResponseData.success(map.get("orderCode").toString()); return ResponseData.success(map.get("orderCode").toString());
} }
return ResponseData.error("开卡失败!"); return ResponseData.error("开卡失败!");
......
...@@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.mapper.Wrapper; ...@@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.mapper.Wrapper;
import com.winsun.auth.core.common.model.ResponseData; import com.winsun.auth.core.common.model.ResponseData;
import com.winsun.bean.*; import com.winsun.bean.*;
import com.winsun.mapper.*; import com.winsun.mapper.*;
import com.winsun.smsUtils.SendSmsAndMail;
import com.winsun.utils.MD5Utils; import com.winsun.utils.MD5Utils;
import com.winsun.utils.ProduceIdUtil; import com.winsun.utils.ProduceIdUtil;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
...@@ -59,7 +58,6 @@ public class StartSelectController { ...@@ -59,7 +58,6 @@ public class StartSelectController {
@Autowired @Autowired
private UniversityInfoMapper universityInfoMapper; private UniversityInfoMapper universityInfoMapper;
@RequestMapping("/findStartData") @RequestMapping("/findStartData")
public ResponseData<Map<String, Object>> findStartData(@RequestParam("id") String id){ public ResponseData<Map<String, Object>> findStartData(@RequestParam("id") String id){
if (StringUtils.isEmpty(id)){ if (StringUtils.isEmpty(id)){
...@@ -102,17 +100,6 @@ public class StartSelectController { ...@@ -102,17 +100,6 @@ public class StartSelectController {
return ResponseData.success(studentMap.get(0),"验证通过"); return ResponseData.success(studentMap.get(0),"验证通过");
} }
@ResponseBody
@RequestMapping(value = "bysSendCodes", method = RequestMethod.POST)
public ResponseData<Map<String, Object>> checkStudent(String phone) {
Map<String, Object> codeMap = new HashMap<>();
// 生成6位随机数
int random = (int)((Math.random()*9+1)*100000);
String codes = SendSmsAndMail.sendSms(phone,random+"","7");
codeMap.put("codes",random+"");
return ResponseData.success(codeMap);
}
/** /**
* 手机端主页面,带参数进入手机端主页 * 手机端主页面,带参数进入手机端主页
* 对订单进去保存和提交订单到智能平台上 * 对订单进去保存和提交订单到智能平台上
......
package com.winsun.controller;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.enums.SqlLike;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.winsun.auth.core.annotion.Permission;
import com.winsun.auth.core.base.controller.BaseController;
import com.winsun.auth.core.common.model.ResponseData;
import com.winsun.auth.core.shiro.ShiroUser;
import com.winsun.bean.Regular;
import com.winsun.mapper.RegularMapper;
import com.winsun.utils.MyBatisPlusUpdateUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 正则校检
* @Author: xiangli
* @Date:
*/
@Slf4j
@RestController
@RequestMapping("/regular")
public class regularController extends BaseController {
@Autowired
private RegularMapper regularMapper;
/**
* 正则添加
*
* @param regular 添加对象json字符串
* @return
*/
@Permission(menuname = "添加正则信息", value = "insert", method = RequestMethod.POST)
public ResponseData<String> insertProduct(@RequestParam("regular") String regular) {
ShiroUser user = getShiroUser();
if (!user.getRoleNames().stream().anyMatch(roleName -> StringUtils.equalsAny(roleName, "超级管理员"))) {
return ResponseData.error("无数据权限");
}
Regular pro = JSON.parseObject(regular, Regular.class);
regularMapper.insert(pro);
return ResponseData.success("添加成功!");
}
/**
* 正则删除
*
* @param id 需要删除的id
* @return
*/
@Permission(menuname = "删除正则信息", value = "delete", method = RequestMethod.POST)
public ResponseData<String> deleteProduct(@RequestParam(name="id", required = false) String id,@RequestParam(name="isShow", required = false) String isShow) {
ShiroUser user = getShiroUser();
if (!user.getRoleNames().stream().anyMatch(roleName -> StringUtils.equalsAny(roleName, "超级管理员"))) {
return ResponseData.error("无数据权限");
}
Wrapper wrapper = new EntityWrapper<>();
wrapper.eq("id", id);
Map<String, Object> dataMapping = new HashMap<>();
dataMapping.put("is_Show", isShow);
regularMapper.updateForSet(MyBatisPlusUpdateUtils.toUpdateSet(dataMapping), wrapper);
return ResponseData.success("操作成功!");
}
/**
* 正则信息编辑
*
* @param regular 编辑对象json字符串
* @return
*/
@Permission(menuname = "修改正则信息", value = "update", method = RequestMethod.POST)
public ResponseData<String> updateProduct(@RequestParam("regular") String regular) {
ShiroUser user = getShiroUser();
if (!user.getRoleNames().stream().anyMatch(roleName -> StringUtils.equalsAny(roleName, "超级管理员"))) {
return ResponseData.error("无数据权限");
}
Regular pro = JSON.parseObject(regular, Regular.class);
Wrapper wrapper = new EntityWrapper<>();
wrapper.eq("id", pro.getId());
Map<String, Object> dataMapping = new HashMap<>();
dataMapping.put("name", pro.getName());
dataMapping.put("regular", pro.getRegular());
dataMapping.put("tips", pro.getTips());
dataMapping.put("placeholder", pro.getPlaceholder());
dataMapping.put("is_Show", pro.getIsShow());
regularMapper.updateForSet(MyBatisPlusUpdateUtils.toUpdateSet(dataMapping), wrapper);
return ResponseData.success("修改成功!");
}
/**
* 正则查詢展示
*
* @param name 正则名称
* @param pageSize
* @return
*/
@Permission(menuname = "查询正则信息", value = "list", method = RequestMethod.POST)
public ResponseData<Page<Regular>> listProduct(@RequestParam(name = "name", required = false) String name,
@RequestParam(name = "pageNo") int pageNo, @RequestParam(name = "pageSize") int pageSize) {
ShiroUser user = getShiroUser();
if (!user.getRoleNames().stream().anyMatch(roleName -> StringUtils.equalsAny(roleName, "超级管理员"))) {
return ResponseData.error("无数据权限");
}
Wrapper<Regular> wrapper = new EntityWrapper();
wrapper.like(StringUtils.isNotBlank(name), "name", name, SqlLike.DEFAULT);
Page<Regular> page = new Page<>(pageNo, pageSize);
List<Regular> regulars = regularMapper.selectPage(page, wrapper);
page.setRecords(regulars);
return ResponseData.success(page, "查询成功!");
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment