From 7af0ebd52d0092949dc3156b124aad353e2e19a0 Mon Sep 17 00:00:00 2001 From: winter Date: Thu, 13 Jan 2022 15:41:30 +0800 Subject: [PATCH] fix bug --- .../controller/callback/JinMaoController.java | 26 +++++++++++++++---- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/mallinkCallback/src/main/java/com/iformall/controller/callback/JinMaoController.java b/mallinkCallback/src/main/java/com/iformall/controller/callback/JinMaoController.java index 159ed7594..1000e8f88 100644 --- a/mallinkCallback/src/main/java/com/iformall/controller/callback/JinMaoController.java +++ b/mallinkCallback/src/main/java/com/iformall/controller/callback/JinMaoController.java @@ -1,6 +1,7 @@ package com.iformall.controller.callback; -import com.aliyun.openservices.shade.com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; import com.iformall.controller.base.BaseController; import com.iformall.domain.po.*; import com.iformall.domain.po.base.TenantEntity; @@ -332,10 +333,24 @@ public class JinMaoController extends BaseController { generateResult(response,true,false, null, "参数不能为空Card", null, "参数非法",currentTime); return ; } - String mac = (String)param.get("MAC"); - String serial = (String)param.get("Serial"); + + //{"END":"C","TYPE":"couponorder","ID":"NjM5MDExMTQ4NzI0MTAxMTIwJjIwMjItMDEtMTMgMTU6MjI6NTE="} String _base64CouponOrderId = decodeBase64Url(couponOrderIdStr); - String _decodeCouponOrderId = WxCouponOrderCVo.getDecodeExpiredCouponOrderId(_base64CouponOrderId); + if (StringUtils.isBlank(_base64CouponOrderId)) { + generateResult(response,true,false, null, "参数Card解密失败", null, "参数非法",currentTime); + return ; + } + JSONObject idobject = JSON.parseObject(_base64CouponOrderId); + if (null == idobject) { + generateResult(response,true,false, null, "参数Card解密失败,json转换错误", null, "参数非法",currentTime); + return ; + } + String idstr = idobject.getString("ID"); + if (StringUtils.isBlank(idstr)) { + generateResult(response,true,false, null, "参数Card解密后格式错误,无ID", null, "参数非法",currentTime); + return ; + } + String _decodeCouponOrderId = WxCouponOrderCVo.getDecodeExpiredCouponOrderId(idstr); if (_decodeCouponOrderId.contains(WxCouponOrderCVo.arg)) { String[] decodeids = _decodeCouponOrderId.split(WxCouponOrderCVo.arg); couponOrderIdStr = decodeids[0]; @@ -358,7 +373,8 @@ public class JinMaoController extends BaseController { } try { - + String serial = (String)param.get("Serial"); + String mac = (String)param.get("MAC"); WxCouponOrder couponOrder = wxCouponOrderService.verifyByEquiment(couponOrderId, "789", "null", "闸机扫码核销[Serial:"+serial+",MAC:"+mac+"]"); generateResult(response,false,true, couponOrder.getCouponName(), "核销成功", String.valueOf(couponOrder.getId()), "核销成功",currentTime); return ;