From 6991cbaa00ae943982db3a83279ddc52c8ec45ed Mon Sep 17 00:00:00 2001 From: wangw <1594593906@qq.com> Date: Mon, 20 May 2024 16:15:03 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E5=9B=A2=E8=B4=AD=E5=8D=B7=E6=94=AF?= =?UTF-8?q?=E4=BB=98=E5=9B=9E=E8=B0=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/NotifyController.java | 47 ++++++++++++------- .../cashierservice/service/PayService.java | 2 +- 2 files changed, 31 insertions(+), 18 deletions(-) diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/controller/NotifyController.java b/src/main/java/com/chaozhanggui/system/cashierservice/controller/NotifyController.java index 3dbb336..ee05bf0 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/controller/NotifyController.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/controller/NotifyController.java @@ -6,6 +6,7 @@ import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; import com.chaozhanggui.system.cashierservice.interceptor.RequestWrapper; import com.chaozhanggui.system.cashierservice.service.PayService; +import com.fasterxml.jackson.databind.ObjectMapper; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.CrossOrigin; @@ -14,6 +15,8 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.servlet.http.HttpServletRequest; +import java.io.IOException; +import java.util.HashMap; import java.util.Map; import java.util.Random; @@ -24,32 +27,30 @@ import java.util.Random; public class NotifyController { - - @Autowired PayService payService; @RequestMapping("memberInCallBack") - public String memberInCallBack(HttpServletRequest request){ + public String memberInCallBack(HttpServletRequest request) { - Map map= getParameterMap(request); - log.info("回调返回信息:{}",JSONUtil.toJsonStr(map)); - if(ObjectUtil.isNotEmpty(map)&&map.containsKey("code")&&"200".equals(map.get("code")+"")){ - JSONObject object=JSONUtil.parseObj(map.get("data")); - if(ObjectUtil.isNotEmpty(object)&&object.containsKey("status")&&"1".equals(object.getStr("status"))){ - String orderNo=object.getStr("orderNumber"); - String channelTradeNo=object.getStr("channelTradeNo"); - return payService.minsuccess(orderNo,channelTradeNo); + Map map = getParameterMap(request); + log.info("回调返回信息:{}", JSONUtil.toJsonStr(map)); + if (ObjectUtil.isNotEmpty(map) && map.containsKey("code") && "200".equals(map.get("code") + "")) { + JSONObject object = JSONUtil.parseObj(map.get("data")); + if (ObjectUtil.isNotEmpty(object) && object.containsKey("status") && "1".equals(object.getStr("status"))) { + String orderNo = object.getStr("orderNumber"); + String channelTradeNo = object.getStr("channelTradeNo"); + return payService.minsuccess(orderNo, channelTradeNo); } } return null; } @RequestMapping("fstmemberInCallBack") - public String fstmemberInCallBack(HttpServletRequest request){ - Map map= getParameterMap(request); - log.info("fstmemberInCallBack回调返回信息:{}",JSONUtil.toJsonStr(map)); + public String fstmemberInCallBack(HttpServletRequest request) { + Map map = getParameterMap(request); + log.info("fstmemberInCallBack回调返回信息:{}", JSONUtil.toJsonStr(map)); return null; @@ -72,8 +73,8 @@ public class NotifyController { return null; } - @RequestMapping("notifyCallBackGroup") - public String notifyCallBackGroup(HttpServletRequest request){ + @RequestMapping("notifyCallBackGroupYsk") + public String notifyCallBackGroupYsk(HttpServletRequest request){ Map map= getParameterMap(request); log.info("团购卷回调返回信息:{}",JSONUtil.toJsonStr(map)); if(ObjectUtil.isNotEmpty(map)&&map.containsKey("code")&&"200".equals(map.get("code")+"")){ @@ -83,10 +84,22 @@ public class NotifyController { return payService.callBackGroupPay(orderNo); } } - return null; } + @RequestMapping("notifyCallBackGroup") + public String notifyCallBackGroup(HttpServletRequest request) { + Map map = getParameterMap(request); + log.info("团购卷回调返回信息:{}", JSONUtil.toJsonStr(map)); + if (ObjectUtil.isNotEmpty(map) && map.containsKey("code") && "000000".equals(map.get("code") + "")) { + JSONObject object = JSONUtil.parseObj(map.get("bizData")); + if (ObjectUtil.isNotEmpty(object) && object.containsKey("state") && "TRADE_SUCCESS".equals(object.getStr("state"))) { + String orderNo = object.getStr("payOrderId"); + return payService.callBackGroupPay(orderNo); + } + } + return null; + } private Map getParameterMap(HttpServletRequest request) { diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/service/PayService.java b/src/main/java/com/chaozhanggui/system/cashierservice/service/PayService.java index 653ddc4..b499e3f 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/service/PayService.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/service/PayService.java @@ -340,7 +340,7 @@ public class PayService { req.setTimestamp(System.currentTimeMillis()); req.setIp(ip); req.setMercOrderNo(orderInfo.getOrderNo()); - req.setNotifyUrl(callBackGroupurl); + req.setNotifyUrl(callBackGroupurl+"Ysk"); req.setPayAmt(payment.getAmount().setScale(2, BigDecimal.ROUND_DOWN).toPlainString()); if (payType.equals("wechatPay")) { req.setPayType("03"); From 30ee2b1b8671252afac833781b38145f87a656d7 Mon Sep 17 00:00:00 2001 From: wangw <1594593906@qq.com> Date: Mon, 20 May 2024 16:24:43 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E5=9B=A2=E8=B4=AD=E5=8D=B7=E5=9B=9E?= =?UTF-8?q?=E8=B0=83=20=E6=94=AF=E4=BB=98=E6=97=B6=E9=97=B4=E5=9B=9E?= =?UTF-8?q?=E5=A1=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/cashierservice/controller/NotifyController.java | 7 +++++-- .../system/cashierservice/service/PayService.java | 3 ++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/controller/NotifyController.java b/src/main/java/com/chaozhanggui/system/cashierservice/controller/NotifyController.java index ee05bf0..eb208cd 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/controller/NotifyController.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/controller/NotifyController.java @@ -6,6 +6,7 @@ import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; import com.chaozhanggui.system.cashierservice.interceptor.RequestWrapper; import com.chaozhanggui.system.cashierservice.service.PayService; +import com.chaozhanggui.system.cashierservice.util.DateUtils; import com.fasterxml.jackson.databind.ObjectMapper; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -16,6 +17,7 @@ import org.springframework.web.bind.annotation.RestController; import javax.servlet.http.HttpServletRequest; import java.io.IOException; +import java.util.Date; import java.util.HashMap; import java.util.Map; import java.util.Random; @@ -81,7 +83,8 @@ public class NotifyController { JSONObject object=JSONUtil.parseObj(map.get("data")); if(ObjectUtil.isNotEmpty(object)&&object.containsKey("status")&&"1".equals(object.getStr("status"))){ String orderNo=object.getStr("orderNumber"); - return payService.callBackGroupPay(orderNo); + String payTime = object.getStr("payTime"); + return payService.callBackGroupPay(orderNo,payTime); } } return null; @@ -95,7 +98,7 @@ public class NotifyController { JSONObject object = JSONUtil.parseObj(map.get("bizData")); if (ObjectUtil.isNotEmpty(object) && object.containsKey("state") && "TRADE_SUCCESS".equals(object.getStr("state"))) { String orderNo = object.getStr("payOrderId"); - return payService.callBackGroupPay(orderNo); + return payService.callBackGroupPay(orderNo, DateUtils.getTime(new Date())); } } return null; diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/service/PayService.java b/src/main/java/com/chaozhanggui/system/cashierservice/service/PayService.java index b499e3f..e87725d 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/service/PayService.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/service/PayService.java @@ -764,7 +764,7 @@ public class PayService { } @Transactional(rollbackFor = Exception.class) - public String callBackGroupPay(String payOrderNO) { + public String callBackGroupPay(String payOrderNO,String payTime) { TbGroupOrderInfo orderInfo = tbGroupOrderInfoMapper.selectByPayOrderNo(payOrderNO); if (ObjectUtil.isEmpty(orderInfo)) { return "订单信息不存在"; @@ -782,6 +782,7 @@ public class PayService { //修改主单状态 orderInfo.setStatus("unused"); orderInfo.setPayAmount(orderInfo.getOrderAmount()); + orderInfo.setPayTime(DateUtils.fomatDateTime(payTime)); tbGroupOrderInfoMapper.update(orderInfo); return "SUCCESS"; }else {