登录过滤器

This commit is contained in:
wangw 2024-05-15 09:42:42 +08:00
parent 6de9614473
commit 0ebfa2795d
4 changed files with 72 additions and 61 deletions

View File

@ -34,21 +34,22 @@ public class LoginFilter implements Filter {
*/ */
private static final List<String> NOT_LOGIN_URL = Arrays.asList( private static final List<String> NOT_LOGIN_URL = Arrays.asList(
// 忽略静态资源 // 忽略静态资源
// "css/**", "css/**",
// "js/**", "js/**",
// "cashierService/phoneValidateCode",//验证码 "cashierService/websocket/table/**",//websocket
// "cashierService/tbPlatformDict",//获取菜单 "cashierService/phoneValidateCode",//验证码
// "cashierService/location/**",//高德 获取行政区域 "cashierService/tbPlatformDict",//获取菜单
// "cashierService/home/homePageUp",//首页上半 "cashierService/location/**",//高德 获取行政区域
// "cashierService/home",//首页 "cashierService/home/homePageUp",//首页上半
// "cashierService/home",//首页
// "cashierService/distirict/**",//首页其它接口
// "cashierService/login/**",//登录部分接口不校验 "cashierService/distirict/**",//首页其它接口
// "cashierService/notify/**",//登录部分接口不校验 "cashierService/login/**",//登录部分接口不校验
// "cashierService/product/queryShopIdByTableCode", "cashierService/notify/**",//登录部分接口不校验
// "cashierService/product/queryProduct", "cashierService/product/queryShopIdByTableCode",
// "cashierService/product/productInfo", "cashierService/product/queryProduct",
// "notify/**"//登录部分接口不校验 "cashierService/product/productInfo",
"notify/**"//登录部分接口不校验
); );
@Autowired @Autowired
@ -72,7 +73,7 @@ public class LoginFilter implements Filter {
String url = request.getRequestURI(); String url = request.getRequestURI();
// 不需要授权的接口直接访问的地址 // 不需要授权的接口直接访问的地址
if (!containsUrl(NOT_LOGIN_URL, url)) { if (containsUrl(NOT_LOGIN_URL, url)) {
chain.doFilter(req, resp); chain.doFilter(req, resp);
return; return;
} }

View File

@ -37,17 +37,25 @@ public class PayController {
* @return * @return
*/ */
@RequestMapping("orderPay") @RequestMapping("orderPay")
public Result pay(HttpServletRequest request, @RequestHeader String token, @RequestBody Map<String, String> map) { public Result pay(HttpServletRequest request, @RequestHeader String environment,@RequestHeader String token, @RequestBody Map<String, String> map) {
if (ObjectUtil.isEmpty(map) || map.size() <= 0 || !map.containsKey("orderId") || ObjectUtil.isEmpty(map.get("orderId"))) { if (ObjectUtil.isEmpty(map) || map.size() <= 0 || !map.containsKey("orderId") || ObjectUtil.isEmpty(map.get("orderId"))) {
return Result.fail("订单号不允许为空"); return Result.fail("订单号不允许为空");
} }
String orderId = map.get("orderId").toString(); String orderId = map.get("orderId").toString();
String userId = TokenUtil.parseParamFromToken(token).getString("userId"); String orderType = map.get("orderType").toString();
String payType = map.get("payType").toString();
String userId="";
if(environment.equals("wx")){
userId = TokenUtil.parseParamFromToken(token).getString("openId");
}else {
userId = TokenUtil.parseParamFromToken(token).getString("userId");
}
log.info("订单支付 orderId:{},orderType:{},payType={},userId:{}",orderId,orderType,payType,userId);
try { try {
if(orderId.startsWith("GP")){ if(StringUtils.isNotBlank(orderType) && orderType.equals("group")){
return payService.groupOrderPay(orderId, map.get("payType"), userId, IpUtil.getIpAddr(request)); return payService.groupOrderPay(orderId, payType, userId, IpUtil.getIpAddr(request));
}else { }else {
return payService.payOrder(userId, orderId, map.get("payType"), IpUtil.getIpAddr(request)); return payService.payOrder(userId, orderId, payType, IpUtil.getIpAddr(request));
} }
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();

View File

@ -216,7 +216,7 @@ public class PayService {
public Result groupOrderPay(String orderId, String payType, String userId, String ip) { public Result groupOrderPay(String orderId, String payType, String userId, String ip) {
TbGroupOrderInfo orderInfo = tbGroupOrderInfoMapper.queryById(Integer.valueOf(orderId)); TbGroupOrderInfo orderInfo = tbGroupOrderInfoMapper.queryById(Integer.valueOf(orderId));
if (!"unpaid".equals(orderInfo.getStatus()) && !"paying".equals(orderInfo.getStatus())) { if (!"unpaid".equals(orderInfo.getStatus())) {
return Result.fail("订单状态异常,不允许支付"); return Result.fail("订单状态异常,不允许支付");
} }
@ -292,12 +292,12 @@ public class PayService {
ResponseEntity<String> response = restTemplate.postForEntity(url.concat("trans/pay"), req, String.class); ResponseEntity<String> response = restTemplate.postForEntity(url.concat("trans/pay"), req, String.class);
if (response.getStatusCodeValue() == 200 && ObjectUtil.isNotEmpty(response.getBody())) { if (response.getStatusCodeValue() == 200 && ObjectUtil.isNotEmpty(response.getBody())) {
JSONObject object = JSONObject.parseObject(response.getBody()); JSONObject object = JSONObject.parseObject(response.getBody());
log.info("团购卷支付响应:{}",object);
if (object.get("code").equals("0")) { if (object.get("code").equals("0")) {
payment.setTradeNumber(object.getJSONObject("data").get("orderNumber").toString()); payment.setTradeNumber(object.getJSONObject("data").get("orderNumber").toString());
payment.setUpdatedAt(System.currentTimeMillis()); payment.setUpdatedAt(System.currentTimeMillis());
tbOrderPaymentMapper.updateByPrimaryKeySelective(payment); tbOrderPaymentMapper.updateByPrimaryKeySelective(payment);
orderInfo.setPayType(payType); orderInfo.setPayType(payType);
orderInfo.setStatus("paying");
orderInfo.setPayOrderNo(payment.getTradeNumber()); orderInfo.setPayOrderNo(payment.getTradeNumber());
tbGroupOrderInfoMapper.update(orderInfo); tbGroupOrderInfoMapper.update(orderInfo);
JSONObject jsonObject1 = new JSONObject(); JSONObject jsonObject1 = new JSONObject();
@ -625,7 +625,7 @@ public class PayService {
return "订单信息不存在"; return "订单信息不存在";
} }
if ("paying".equals(orderInfo.getStatus())) { if ("unpaid".equals(orderInfo.getStatus())) {
for (int i = 0; i < orderInfo.getNumber(); i++) { for (int i = 0; i < orderInfo.getNumber(); i++) {
TbGroupOrderCoupon groupOrderCoupon = new TbGroupOrderCoupon(); TbGroupOrderCoupon groupOrderCoupon = new TbGroupOrderCoupon();
groupOrderCoupon.setOrderId(orderInfo.getId()); groupOrderCoupon.setOrderId(orderInfo.getId());
@ -639,6 +639,8 @@ public class PayService {
orderInfo.setPayAmount(orderInfo.getOrderAmount()); orderInfo.setPayAmount(orderInfo.getOrderAmount());
tbGroupOrderInfoMapper.update(orderInfo); tbGroupOrderInfoMapper.update(orderInfo);
return "SUCCESS"; return "SUCCESS";
}else {
log.error("支付回调异常,订单状态为{}",orderInfo);
} }
return null; return null;
} }
@ -752,47 +754,47 @@ public class PayService {
} }
public static void main(String[] args) { // public static void main(String[] args) {
//
RestTemplate restTemplate1 = new RestTemplate(); // RestTemplate restTemplate1 = new RestTemplate();
JSONObject param = new JSONObject(); // JSONObject param = new JSONObject();
//
String priv = "MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoGBAIqNqTqhN8zE7eFZnwKcyBTENce2wdAtl/gaDHNuNVgg33dS27Jx0fKl9QSHXyzyxbAdG8F94niYbRBstrMymFRjuO72jH+rIH62Ym1k7l8JSLVK2dKHXt8lHDaQGUP10q0EEocnDQ9cL93oBNG1ttsV6vOAu1TPvRK9TGihRAe1AgMBAAECgYBmI8KCl0DkcrSOsRvYuC2DqZWf8el1B3eFjeZp3e/zVOCIPYv6Q5ArWg6DVSxjnWEA0KSagqvGjU+xkQMqnXzPcPMhsIS+1wyR/pP+pwiatO2ioHaQpEqHg9eXhxrgA477/xuKVw9zl5GNqaIgd++2NDXnqLh0Y6OR73f0OB5eDQJBAPihEm+UWLOam/Q/k2+k4Lm2dvxJTBur1fslBiJpgMhgcz/PlwRwpL7aPD0AuPv0NqLouuoTiKpq9icnUv12tgsCQQCOqTANw0IErCHUNdinjXewmG3ui1j9XgM41rSn5ZeTrPL4GhZc2zbS/pZT4PBKUL6NLGkfPHmw4rOmNL/Xc5E/AkBqAwQBX5eSvVHSC2mqKPtJNGv3lqlFAzfyJg8/jQzEY5vAkZsq4Xzdg+A7gptdkvvY6rMIK9wSDhl3CGVyfbORAkA1N+g1OiHmnFACWhP4bU25EyPvWQxZeDi7e1zpRTzGWj5JT3IIMb7B9zcdE0yQbI6pG2gbvvOmiOt7lTH7raEBAkBas2gugvR3f0aGqQcqMpyM627pyRppQ2h58/7KBylP3oR2BReqMUcXeiJ8TuBXzbRXpeVQ0DWOva5CWZJmBMdz"; // String priv = "MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoGBAIqNqTqhN8zE7eFZnwKcyBTENce2wdAtl/gaDHNuNVgg33dS27Jx0fKl9QSHXyzyxbAdG8F94niYbRBstrMymFRjuO72jH+rIH62Ym1k7l8JSLVK2dKHXt8lHDaQGUP10q0EEocnDQ9cL93oBNG1ttsV6vOAu1TPvRK9TGihRAe1AgMBAAECgYBmI8KCl0DkcrSOsRvYuC2DqZWf8el1B3eFjeZp3e/zVOCIPYv6Q5ArWg6DVSxjnWEA0KSagqvGjU+xkQMqnXzPcPMhsIS+1wyR/pP+pwiatO2ioHaQpEqHg9eXhxrgA477/xuKVw9zl5GNqaIgd++2NDXnqLh0Y6OR73f0OB5eDQJBAPihEm+UWLOam/Q/k2+k4Lm2dvxJTBur1fslBiJpgMhgcz/PlwRwpL7aPD0AuPv0NqLouuoTiKpq9icnUv12tgsCQQCOqTANw0IErCHUNdinjXewmG3ui1j9XgM41rSn5ZeTrPL4GhZc2zbS/pZT4PBKUL6NLGkfPHmw4rOmNL/Xc5E/AkBqAwQBX5eSvVHSC2mqKPtJNGv3lqlFAzfyJg8/jQzEY5vAkZsq4Xzdg+A7gptdkvvY6rMIK9wSDhl3CGVyfbORAkA1N+g1OiHmnFACWhP4bU25EyPvWQxZeDi7e1zpRTzGWj5JT3IIMb7B9zcdE0yQbI6pG2gbvvOmiOt7lTH7raEBAkBas2gugvR3f0aGqQcqMpyM627pyRppQ2h58/7KBylP3oR2BReqMUcXeiJ8TuBXzbRXpeVQ0DWOva5CWZJmBMdz";
//
PayReq req = new PayReq(); // PayReq req = new PayReq();
//
req.setAppId("M8002023120892f1e4"); // req.setAppId("M8002023120892f1e4");
req.setTimestamp(System.currentTimeMillis());
req.setIp("127.0.0.1");
req.setMercOrderNo(System.currentTimeMillis() + "");
req.setNotifyUrl("https");
req.setPayAmt("0.01");
req.setPayType("03");
req.setPayWay("WXZF");
req.setSubject("ddd");
req.setUserId("or1l864NBOoJZhC5x_yeziZ26j6c");
Map<String, Object> map = BeanUtil.transBeanMap(req);
req.setSign(MD5Util.encrypt(map, priv, true));
ResponseEntity<String> response = restTemplate1.postForEntity("https://gatewaytestapi.sxczgkj.cn/gate-service/trans/pay", req, String.class);
// TradeQueryReq req=new TradeQueryReq();
// req.setAppId("M800202305094c170c");
// req.setTimestamp(System.currentTimeMillis()); // req.setTimestamp(System.currentTimeMillis());
// req.setOrderNumber("SXF_W_MERC_20240205182102491"); // req.setIp("127.0.0.1");
// Map<String,Object> map= BeanUtil.transBeanMap(req); // req.setMercOrderNo(System.currentTimeMillis() + "");
// req.setNotifyUrl("https");
// req.setPayAmt("0.01");
// req.setPayType("03");
// req.setPayWay("WXZF");
// req.setSubject("ddd");
// req.setUserId("or1l864NBOoJZhC5x_yeziZ26j6c");
// //
// req.setSign(MD5Util.encrypt(map,priv,true)); // Map<String, Object> map = BeanUtil.transBeanMap(req);
// //
// ResponseEntity<String> response= restTemplate1.postForEntity("https://gateway.api.sxczgkj.cn/gate-service/merchantOrder/tradeQuery",req,String.class); // req.setSign(MD5Util.encrypt(map, priv, true));
// //
// //
System.out.println(">>>>>>>>>>>>>>>" + response.getBody()); // ResponseEntity<String> response = restTemplate1.postForEntity("https://gatewaytestapi.sxczgkj.cn/gate-service/trans/pay", req, String.class);
} //
//
//// TradeQueryReq req=new TradeQueryReq();
//// req.setAppId("M800202305094c170c");
//// req.setTimestamp(System.currentTimeMillis());
//// req.setOrderNumber("SXF_W_MERC_20240205182102491");
//// Map<String,Object> map= BeanUtil.transBeanMap(req);
////
//// req.setSign(MD5Util.encrypt(map,priv,true));
////
//// ResponseEntity<String> response= restTemplate1.postForEntity("https://gateway.api.sxczgkj.cn/gate-service/merchantOrder/tradeQuery",req,String.class);
////
////
// System.out.println(">>>>>>>>>>>>>>>" + response.getBody());
// }
} }

View File

@ -42,7 +42,7 @@
select select
<include refid="Child_Column_List"/> <include refid="Child_Column_List"/>
from sys_dict from sys_dict
where dict_id = #{dictId} and status =1 where rele_id = #{dictId} and status =1
order by sort order by sort
</select> </select>
</mapper> </mapper>