Commit f5807ce8 by 伍思炜

宽带下单时多媒体账号与密码的填写规则修改

parent c89a14ea
...@@ -4,13 +4,13 @@ import com.alibaba.fastjson.JSONArray; ...@@ -4,13 +4,13 @@ import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper; import com.baomidou.mybatisplus.mapper.Wrapper;
import com.winsun.utils.CheckPwd;
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.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.outSideSystem.IntelligenceSendOrder; import com.winsun.outSideSystem.IntelligenceSendOrder;
import com.winsun.smsUtils.StringUtil;
import com.winsun.utils.*; import com.winsun.utils.*;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
...@@ -36,6 +36,7 @@ import javax.servlet.http.HttpServletResponse; ...@@ -36,6 +36,7 @@ import javax.servlet.http.HttpServletResponse;
import java.net.URLEncoder; import java.net.URLEncoder;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.*; import java.util.*;
import java.util.regex.Pattern;
/** /**
* 单宽办理接口 * 单宽办理接口
...@@ -78,6 +79,7 @@ public class DankuanController { ...@@ -78,6 +79,7 @@ public class DankuanController {
@Autowired @Autowired
private IntelligenceSendOrder intelligenceSendOrder; private IntelligenceSendOrder intelligenceSendOrder;
/** /**
* 查询单宽办理接口 * 查询单宽办理接口
* *
...@@ -99,7 +101,7 @@ public class DankuanController { ...@@ -99,7 +101,7 @@ public class DankuanController {
return ResponseData.success(product); return ResponseData.success(product);
} }
@RequestMapping(value = "/selectUniversity",method = {RequestMethod.GET, RequestMethod.POST}) @RequestMapping(value = "/selectUniversity", method = {RequestMethod.GET, RequestMethod.POST})
public ResponseData<UniversityInfo> selectUniversity(@RequestParam("universityId") String universityId) { public ResponseData<UniversityInfo> selectUniversity(@RequestParam("universityId") String universityId) {
UniversityInfo universityInfo = universityInfoMapper.selectById(universityId); UniversityInfo universityInfo = universityInfoMapper.selectById(universityId);
return ResponseData.success(universityInfo); return ResponseData.success(universityInfo);
...@@ -111,7 +113,7 @@ public class DankuanController { ...@@ -111,7 +113,7 @@ public class DankuanController {
* @return * @return
*/ */
@PostMapping("/createProductOrder") @PostMapping("/createProductOrder")
public ResponseData<Object> createProductOrder(HttpServletRequest request,HttpServletRequest response){ public ResponseData<Object> createProductOrder(HttpServletRequest request, HttpServletRequest response) {
String orderName = request.getParameter("orderName"); String orderName = request.getParameter("orderName");
String orderPhone = request.getParameter("orderPhone"); String orderPhone = request.getParameter("orderPhone");
String orderNumber = request.getParameter("orderNumber"); String orderNumber = request.getParameter("orderNumber");
...@@ -129,27 +131,47 @@ public class DankuanController { ...@@ -129,27 +131,47 @@ public class DankuanController {
String campus = request.getParameter("campus"); String campus = request.getParameter("campus");
if(sell != null && StringUtils.isNumeric(sell)){ if (sell != null && StringUtils.isNumeric(sell)) {
}else { } else {
sell = ""; sell = "";
} }
if (StringUtils.isNotBlank(orderCustomerAccount)) {
String orderCustomerAccounts = orderCustomerAccount.split("@")[0];
if (!orderPhone.equals(orderCustomerAccounts)) {
Pattern iphoneVerification = Pattern.compile("^[1][3|4|5|6|7|8|9][0-9]{9}$");
if (!iphoneVerification.matcher(orderCustomerAccounts).matches()) {
return ResponseData.error("多媒体账号请填写为手机号");
}
}
} else {
return ResponseData.error("多媒体账号不能为空");
}
if (StringUtils.isNotBlank(orderCustomerPwd)) {
if (!CheckPwd.checkPassword(orderCustomerPwd)) {
return ResponseData.error("多媒体账号的密码必须为8~12位的数字加字母组合");
}
} else {
return ResponseData.error("多媒体账号的密码不能为空");
}
String filePath = ""; String filePath = "";
String orderSeq = RandomUtil.RandomNumber(20); String orderSeq = RandomUtil.RandomNumber(20);
try{ try {
String uuid = UUID.randomUUID().toString(); String uuid = UUID.randomUUID().toString();
boolean boo1 = redisLockUtil.redisLock(orderNumber,uuid,10); boolean boo1 = redisLockUtil.redisLock(orderNumber, uuid, 10);
boolean boo2 = redisLockUtil.redisLock(orderCustomerAccount,uuid,10); boolean boo2 = redisLockUtil.redisLock(orderCustomerAccount, uuid, 10);
if(!boo1 || !boo2){ if (!boo1 || !boo2) {
return ResponseData.error("重复下单!"); return ResponseData.error("重复下单!");
} }
if(StringUtils.isBlank(imgUrl)){ if (StringUtils.isBlank(imgUrl)) {
return ResponseData.error("签名失败!"); return ResponseData.error("签名失败!");
} }
if(StringUtils.isNotBlank(imgUrl)){ if (StringUtils.isNotBlank(imgUrl)) {
filePath = PicturesUtil.uploadPictures(imgUrl, orderSeq,"signImg"); filePath = PicturesUtil.uploadPictures(imgUrl, orderSeq, "signImg");
} }
OrderView orderV = new OrderView(); OrderView orderV = new OrderView();
...@@ -174,8 +196,8 @@ public class DankuanController { ...@@ -174,8 +196,8 @@ public class DankuanController {
/** /**
* 广美用来判断校区 * 广美用来判断校区
*/ */
if (StringUtils.isNotBlank(productId) && "84".equals(productId)){ if (StringUtils.isNotBlank(productId) && "84".equals(productId)) {
if (StringUtils.isNotBlank(campus) && "1".equals(campus)){ if (StringUtils.isNotBlank(campus) && "1".equals(campus)) {
orderView.setOrderRegion("海珠区"); orderView.setOrderRegion("海珠区");
} }
} }
...@@ -185,10 +207,10 @@ public class DankuanController { ...@@ -185,10 +207,10 @@ public class DankuanController {
} else { } else {
orderView.setIPay("1"); orderView.setIPay("1");
} }
if(product.getProductIntroductionPic3().equals("1")){ if (product.getProductIntroductionPic3().equals("1")) {
// 现金支付 // 现金支付
orderView.setCustomerId("xjzf"); // 接入商 orderView.setCustomerId("xjzf"); // 接入商
}else { } else {
orderView.setCustomerId("xyzxyql"); // 接入商 orderView.setCustomerId("xyzxyql"); // 接入商
} }
if (StringUtils.isBlank((String) orderCustomerStudentId)) { if (StringUtils.isBlank((String) orderCustomerStudentId)) {
...@@ -206,13 +228,13 @@ public class DankuanController { ...@@ -206,13 +228,13 @@ public class DankuanController {
Integer insert = orderViewMapper.insert(orderView); Integer insert = orderViewMapper.insert(orderView);
if (webOrderAmount.equals("0") || product.getProductIntroductionPic3().equals("1")) { if (webOrderAmount.equals("0") || product.getProductIntroductionPic3().equals("1")) {
res = createOrder(productId,orderView, partner,filePath,"未下单",sell); res = createOrder(productId, orderView, partner, filePath, "未下单", sell);
Map<String,Object> map = orderMapper.selectKdOrder(orderSeq); Map<String, Object> map = orderMapper.selectKdOrder(orderSeq);
intelligenceSendOrder.singleBroadSendOrder(map); intelligenceSendOrder.singleBroadSendOrder(map);
Order order =(Order) res.getData(); Order order = (Order) res.getData();
orderV.setOrderRf2(order.getId()); orderV.setOrderRf2(order.getId());
}else { } else {
res = createOrder(productId,orderView, partner,filePath,"未支付",sell); res = createOrder(productId, orderView, partner, filePath, "未支付", sell);
} }
if (!res.isSuccess()) { if (!res.isSuccess()) {
return ResponseData.error("下单失败,请检查套餐设置!"); return ResponseData.error("下单失败,请检查套餐设置!");
...@@ -225,10 +247,10 @@ public class DankuanController { ...@@ -225,10 +247,10 @@ public class DankuanController {
return ResponseData.success(orderV, "订单提交完成!"); return ResponseData.success(orderV, "订单提交完成!");
} }
return ResponseData.error("提交失败!"); return ResponseData.error("提交失败!");
}catch (Exception e){ } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
return ResponseData.error("下单失败,请检查套餐设置!"); return ResponseData.error("下单失败,请检查套餐设置!");
}finally { } finally {
redisTemplate.delete(orderNumber); redisTemplate.delete(orderNumber);
redisTemplate.delete(orderCustomerAccount); redisTemplate.delete(orderCustomerAccount);
} }
...@@ -236,14 +258,15 @@ public class DankuanController { ...@@ -236,14 +258,15 @@ public class DankuanController {
/** /**
* 0元调用 创建order * 0元调用 创建order
*
* @param orderView * @param orderView
* @param userId * @param userId
* @return * @return
* @throws Exception * @throws Exception
*/ */
public ResponseData<Object> createOrder(String productId, OrderView orderView, String userId,String filePath,String orderStatus,String sell){ public ResponseData<Object> createOrder(String productId, OrderView orderView, String userId, String filePath, String orderStatus, String sell) {
Order order = new Order(); Order order = new Order();
try{ try {
String uuid = UUID.randomUUID().toString(); String uuid = UUID.randomUUID().toString();
String id = uuid.split("-")[0] + uuid.split("-")[1]; String id = uuid.split("-")[0] + uuid.split("-")[1];
...@@ -272,24 +295,24 @@ public class DankuanController { ...@@ -272,24 +295,24 @@ public class DankuanController {
String schoolId = appMapper.selectSchoolId(userId); String schoolId = appMapper.selectSchoolId(userId);
School school = schoolMapper.selectById(schoolId); School school = schoolMapper.selectById(schoolId);
order.setHehuorenSchool(school.getSchoolName()); order.setHehuorenSchool(school.getSchoolName());
order.setHehuorenName(sysUser.getName()+sell); order.setHehuorenName(sysUser.getName() + sell);
order.setHehuorenArea(school.getSubName()); order.setHehuorenArea(school.getSubName());
order.setSignImg(filePath); order.setSignImg(filePath);
List<String> userId1 = appMapper.selectsupervisorBySchool(schoolId); List<String> userId1 = appMapper.selectsupervisorBySchool(schoolId);
if (userId1 != null && userId1.size() != 0) { if (userId1 != null && userId1.size() != 0) {
for (String data:userId1){ for (String data : userId1) {
try{ try {
Wrapper<HhrUser> userWrapper = new EntityWrapper<>(); Wrapper<HhrUser> userWrapper = new EntityWrapper<>();
userWrapper.eq("id",data); userWrapper.eq("id", data);
userWrapper.eq("position","总经理"); userWrapper.eq("position", "总经理");
List<HhrUser> hhrUsers = hhrUserMapper.selectList(userWrapper); List<HhrUser> hhrUsers = hhrUserMapper.selectList(userWrapper);
if(hhrUsers != null && hhrUsers.size()==1){ if (hhrUsers != null && hhrUsers.size() == 1) {
SysUser user = sysUserMapper.selectById(hhrUsers.get(0).getId()); SysUser user = sysUserMapper.selectById(hhrUsers.get(0).getId());
order.setSupervisorName(user.getName()); order.setSupervisorName(user.getName());
} }
}catch (Exception e){ } catch (Exception e) {
log.error("查询督导失败:"+e.getMessage(),e); log.error("查询督导失败:" + e.getMessage(), e);
} }
} }
} }
...@@ -303,7 +326,7 @@ public class DankuanController { ...@@ -303,7 +326,7 @@ public class DankuanController {
// uiWrapper.eq("university_id", product.getUniversityId()); // uiWrapper.eq("university_id", product.getUniversityId());
// Map<String, Object> schoolMap = universityInfoMapper.selectMaps(uiWrapper).get(0); // Map<String, Object> schoolMap = universityInfoMapper.selectMaps(uiWrapper).get(0);
orderMapper.insert(order); orderMapper.insert(order);
}catch (Exception e){ } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
Wrapper<OrderView> wrapper = new EntityWrapper<>(); Wrapper<OrderView> wrapper = new EntityWrapper<>();
wrapper.eq(StringUtils.isNotBlank(orderView.getOrderSeq().toString()), "orderSeq", orderView.getOrderSeq().toString()); wrapper.eq(StringUtils.isNotBlank(orderView.getOrderSeq().toString()), "orderSeq", orderView.getOrderSeq().toString());
...@@ -480,15 +503,15 @@ public class DankuanController { ...@@ -480,15 +503,15 @@ public class DankuanController {
public ResponseData<Object> toPaymentPlatformPage(@RequestParam("orderSeq") String orderSeq, @RequestParam("ipay") String ipay, @RequestParam("userId") String userId, HttpServletRequest request, HttpServletResponse response) { public ResponseData<Object> toPaymentPlatformPage(@RequestParam("orderSeq") String orderSeq, @RequestParam("ipay") String ipay, @RequestParam("userId") String userId, HttpServletRequest request, HttpServletResponse response) {
String uuid = UUID.randomUUID().toString(); String uuid = UUID.randomUUID().toString();
try { try {
boolean boo1 = redisLockUtil.redisLock(orderSeq,uuid,10); boolean boo1 = redisLockUtil.redisLock(orderSeq, uuid, 10);
if(!boo1){ if (!boo1) {
return ResponseData.error("已在支付中"); return ResponseData.error("已在支付中");
} }
String result = JsoupMethodZhifu(orderSeq, ipay, userId, request, response); String result = JsoupMethodZhifu(orderSeq, ipay, userId, request, response);
return ResponseData.success(result); return ResponseData.success(result);
}catch (Exception e){ } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
}finally { } finally {
redisLockUtil.deleteLock(orderSeq); redisLockUtil.deleteLock(orderSeq);
} }
return ResponseData.error("支付失败!若已支付请实名认证,未支付请稍后尝试支付。"); return ResponseData.error("支付失败!若已支付请实名认证,未支付请稍后尝试支付。");
...@@ -499,7 +522,7 @@ public class DankuanController { ...@@ -499,7 +522,7 @@ public class DankuanController {
* @Description:支付请求 * @Description:支付请求
*/ */
public String JsoupMethodZhifu(String orderSeq, String ipay, String userId, public String JsoupMethodZhifu(String orderSeq, String ipay, String userId,
HttpServletRequest request, HttpServletResponse response) throws Exception { HttpServletRequest request, HttpServletResponse response) throws Exception {
log.info("----------首先发送支付请求接口----------"); log.info("----------首先发送支付请求接口----------");
//查询订单信息 //查询订单信息
String uuid = UUID.randomUUID().toString(); String uuid = UUID.randomUUID().toString();
...@@ -534,14 +557,14 @@ public class DankuanController { ...@@ -534,14 +557,14 @@ public class DankuanController {
/** /**
* 测试后提交代码要恢复正式环境地址 * 测试后提交代码要恢复正式环境地址
*/ */
// String MERCHANTURL = "https://dx.dianyuanjiangli.com/mobile/#/hhr/kdyToSuccessPage?kdId=" + orderSeq; //String MERCHANTURL = "https://dx.dianyuanjiangli.com/mobile/#/hhr/kdyToSuccessPage?kdId=" + orderSeq;
String MERCHANTURL = "https://dx.dianyuanjiangli.com/mobile/#/hhr/kdyToSuccessPage/" + orderSeq; String MERCHANTURL = "https://dx.dianyuanjiangli.com/mobile/#/hhr/kdyToSuccessPage/" + orderSeq;
map.put("MERCHANTURL", MERCHANTURL); map.put("MERCHANTURL", MERCHANTURL);
//单宽回调后端接口地址 //单宽回调后端接口地址
// 正式环境 // 正式环境
map.put("BACKDROPURL", "https://dx.dianyuanjiangli.com/app/ciop/dankuan/toSubmisOrderPreser"); map.put("BACKDROPURL", "https://dx.dianyuanjiangli.com/app/ciop/dankuan/toSubmisOrderPreser");
//测试地址 //测试地址
// map.put("BACKDROPURL", "http://3715zj2369.qicp.vip/ciop/dankuan/toSubmisOrderPreser"); // map.put("BACKDROPURL", "http://3715zj2369.qicp.vip/ciop/dankuan/toSubmisOrderPreser");
String str = "ORDERSEQ=" + orderView.getOrderSeq() + "&ORDERDATE=" + ft.format(orderdate) + "&ORDERAMOUNT=" + orderView.getWebOrderAmount() + "&KEY=" + Constant.APPK;//商户标识 String str = "ORDERSEQ=" + orderView.getOrderSeq() + "&ORDERDATE=" + ft.format(orderdate) + "&ORDERAMOUNT=" + orderView.getWebOrderAmount() + "&KEY=" + Constant.APPK;//商户标识
......
...@@ -35,6 +35,7 @@ import java.net.URLEncoder; ...@@ -35,6 +35,7 @@ import java.net.URLEncoder;
import java.text.ParseException; import java.text.ParseException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.*; import java.util.*;
import java.util.regex.Pattern;
/** /**
* 融合办理接口 * 融合办理接口
...@@ -170,6 +171,27 @@ public class RongHeController { ...@@ -170,6 +171,27 @@ public class RongHeController {
}else { }else {
sell = ""; sell = "";
} }
if (StringUtils.isNotBlank(orderCustomerAccount)) {
String orderCustomerAccounts = orderCustomerAccount.split("@")[0];
if (!orderPhone.equals(orderCustomerAccounts)) {
Pattern iphoneVerification = Pattern.compile("^[1][3|4|5|6|7|8|9][0-9]{9}$");
if (!iphoneVerification.matcher(orderCustomerAccounts).matches()) {
return ResponseData.error("多媒体账号请填写为手机号");
}
}
} else {
return ResponseData.error("多媒体账号不能为空");
}
if (StringUtils.isNotBlank(orderCustomerPwd)) {
if (!CheckPwd.checkPassword(orderCustomerPwd)) {
return ResponseData.error("多媒体账号的密码必须为8~12位的数字加字母组合");
}
} else {
return ResponseData.error("多媒体账号的密码不能为空");
}
String imgUrl = request.getParameter("imgUrl"); String imgUrl = request.getParameter("imgUrl");
String filePath = ""; String filePath = "";
String orderSeq = RandomUtil.RandomNumber(20); String orderSeq = RandomUtil.RandomNumber(20);
...@@ -214,9 +236,10 @@ public class RongHeController { ...@@ -214,9 +236,10 @@ public class RongHeController {
orderView.setOrderUniversityName(product.getProductUniversity()); // 学校 orderView.setOrderUniversityName(product.getProductUniversity()); // 学校
orderView.setOrderRegion(product.getProductRegion()); // 区域 orderView.setOrderRegion(product.getProductRegion()); // 区域
/**
* 广美用来判断校区 /*
*/ 广美用来判断校区
*/
if (StringUtils.isNotBlank(productId) && "84".equals(productId)){ if (StringUtils.isNotBlank(productId) && "84".equals(productId)){
if (StringUtils.isNotBlank(campus) && "1".equals(campus)){ if (StringUtils.isNotBlank(campus) && "1".equals(campus)){
orderView.setOrderRegion("海珠区"); orderView.setOrderRegion("海珠区");
......
package com.winsun.utils;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class CheckPwd {
/**
* 验证多媒体密码
* @param new_password
* @return
*/
public static boolean checkPassword(String new_password) {
if (new_password.length() < 8 || new_password.length() > 12) {
//密码格式错误
return false;
} else {
int passNumber = 0;
Pattern pattern1 = Pattern.compile("(?=.*[-._/!@#$%^*]).{8,12}");
Matcher m1 = pattern1.matcher(new_password);
if (m1.matches()) {
return false;
}
Pattern pattern2 = Pattern.compile("(?=.*\\d).{8,12}");
Matcher m2 = pattern2.matcher(new_password);
if (m2.matches()) {
passNumber++;
}
Pattern pattern3 = Pattern.compile("(?=.*[a-z]).{8,12}");
Matcher m3 = pattern3.matcher(new_password);
if (m3.matches()) {
passNumber++;
}
Pattern pattern4 = Pattern.compile("(?=.*[A-Z]).{8,12}");
Matcher m4 = pattern4.matcher(new_password);
if (m4.matches()) {
passNumber++;
}
if (passNumber < 2) {
//密码格式错误
return false;
}
if (!new_password.matches("^[0-9a-zA-Z]{8,12}$")) {
return false;
}
if (new_password.contains("&")) {
return false;
}
}
return true;
}
}
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