From 998379e6b0e234ab42a06cfe7b79c450d9d1bba1 Mon Sep 17 00:00:00 2001
From: lidongdong <1459917685@qq.com>
Date: 星期一, 20 三月 2023 10:22:19 +0800
Subject: [PATCH] 修改银联退款接口

---
 springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/WxCallbackApi.java |   69 +++++++++++++++++++++++++++++++++-
 1 files changed, 67 insertions(+), 2 deletions(-)

diff --git a/springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/WxCallbackApi.java b/springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/WxCallbackApi.java
index 4e4366b..c1d8751 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/WxCallbackApi.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/WxCallbackApi.java
@@ -12,6 +12,8 @@
 
 import com.panzhihua.applets.umf.MyAESUtil;
 import com.panzhihua.applets.umf.UmfPayUtil;
+import com.panzhihua.applets.unionpay.Refund;
+import com.panzhihua.common.model.dtos.wx.UnionpayCarWash;
 import com.panzhihua.common.model.vos.R;
 import com.panzhihua.common.service.user.UserService;
 import com.panzhihua.common.utlis.DateUtils;
@@ -126,6 +128,7 @@
             e.printStackTrace();
         }
     }
+
     @GetMapping("wxNotifyAll")
     public void payCallbackAll(HttpServletRequest request, HttpServletResponse response) {
         //获取联动发送请求的参数
@@ -166,14 +169,76 @@
         out.flush();
         out.close();
     }
+
+
+    /**
+     * 银联支付回调专用  银联方面只能是有个post
+     * @param request
+     * @param response
+     */
+    @PostMapping("wxNotifyAllUnionpay")
+    public void payCallbackAllUnionpay(HttpServletRequest request, HttpServletResponse response) {
+        //获取联动发送请求的参数
+        String requestParam =  request.getQueryString();
+        log.error("花城洗车请求参数 :" + requestParam);
+        System.out.println("花城洗车请求参数 :" + requestParam);
+        //调用异步通知解析方法
+        UmfService service = new UmfServiceImpl("53461",file);
+        Map respMap = null;
+        try {
+            respMap = service.notifyDataParserMap(requestParam);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        if(respMap.get("error_code").equals("0000")){
+            //调用uu洗车支付成功回调
+            Map map=new HashMap();
+            map.put("orderId",respMap.get("order_id"));
+            HttpClientUtil.sendPostByJson("https://uu-api.imashuo.com/notify/wx/pzh-pay",JSONObject.toJSONString(map),
+                    1,"appid","10000");
+            log.error("花城洗车回调成功 :" + respMap.get("order_id"));
+        }
+        //调用SDK生成返回联动平台字符串,加到CONTENT中
+        String resMetaData = service.responseUMFMap(respMap);
+        response.setContentType("text/html;charset=utf-8");
+        PrintWriter out = null;
+        try {
+            out = response.getWriter();
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+        out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
+        out.println("<HTML>");
+        out.println("<HEAD><META NAME=\"MobilePayPlatform\" CONTENT=\"" + resMetaData + "\" /></HEAD>");
+        out.println("<BODY>");
+        out.println("</BODY>");
+        out.println("</HTML>");
+        out.flush();
+        out.close();
+    }
+
+
     @ApiOperation("uu洗车退款接口")
     @PostMapping("/uuRepay")
-    public R uuRepay(@RequestBody String aesString){
+    public R uuRepay(@RequestBody String aesString)
+    {
         try {
             Map<String, String> aesMap= (Map<String, String>) JSON.parse(aesString);
             String desString=MyAESUtil.Decrypt(aesMap.get("aesString"),"Ryo7M3n8loC5Abcd");
             Map<String,String> desMap= (Map) JSON.parse(desString);
-            Map map=umfPayUtil.repay(desMap.get("orderId"),desMap.get("merdate"), DateUtils.getDateFormatString(new Date(),"yyMMddHHmmss")+"0001",desMap.get("refundAmount"),desMap.get("orgAmount"));
+            Map map=umfPayUtil.repay(desMap.get("orderId"),desMap.get("merdate"), DateUtils.getDateFormatString(new Date(),
+                    "yyMMddHHmmss")+"0001",desMap.get("refundAmount"),desMap.get("orgAmount"));
+
+            if(desMap.get("orderId")!=null)
+            {
+                R r=communityService.queryById(desMap.get("orderId"));
+                UnionpayCarWash wash=(UnionpayCarWash)r.getData();
+                if(wash!=null)
+                {
+                    String re=Refund.sendOrder(wash.getMoney(),wash.getUnionpayOrderId());
+                    map.put("unionpay","退款成功");
+                }
+            }
             return R.ok(map);
         } catch (Exception e) {
             e.printStackTrace();

--
Gitblit v1.7.1