lidongdong
2023-08-24 8c0b5b30e5200e7bd45aa34507c3623e17fcce91
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.Query;
import com.panzhihua.applets.unionpay.QueryEntiy;
import com.panzhihua.applets.unionpay.Refund;
import com.panzhihua.common.model.dtos.wx.UnionpayCarWash;
import com.panzhihua.common.model.vos.R;
@@ -172,49 +174,52 @@
    /**
     * 银联支付回调专用  银联方面只能是有个post
     * @param request
     * @param response
     */
    @PostMapping("wxNotifyAllUnionpay")
    public void payCallbackAllUnionpay(HttpServletRequest request, HttpServletResponse response) {
    public void payCallbackAllUnionpay(@RequestParam("merOrderId") String merOrderId, HttpServletResponse response)
    {
        //获取联动发送请求的参数
        String requestParam =  request.getQueryString();
        log.error("花城洗车请求参数 :" + requestParam);
        log.error("花城洗车请求参数request :" + request.toString());
        log.error("花城洗车请求参数 :" + merOrderId);
        log.error("花城洗车请求参数response :" + response.toString());
        //调用异步通知解析方法
//        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();
        String content=Query.query(merOrderId);
        QueryEntiy queryEntiy=JSONObject.parseObject(content,QueryEntiy.class);
        log.error("花城洗车请求参数queryEntiy :" + queryEntiy.toString());
        if(queryEntiy.getErrCode().equals("SUCCESS"))
        {
            //查询银联单号对应的洗车单号
            R r=communityService.carWashById(merOrderId);
            if(r.getCode()==200)
            {
                HashMap unionpayCarWash= (HashMap) r.getData();
                //调用uu洗车支付成功回调
                Map map=new HashMap();
                map.put("orderId",unionpayCarWash.get("carWashId"));
                HttpClientUtil.sendPostByJson("https://uu-api.imashuo.com/notify/wx/pzh-pay",JSONObject.toJSONString(map),
                        1,"appid","10000");
                log.error("花城洗车回调成功 :" + queryEntiy.getMerOrderId()+" : 洗车号"
                        +unionpayCarWash.get("carWashId")+" : 银联号"+unionpayCarWash.get("unionpayOrderId"));
            }
        }
        //调用SDK生成返回联动平台字符串,加到CONTENT中
        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=\"" + content + "\" /></HEAD>");
        out.println("<BODY>");
        out.println("</BODY>");
        out.println("</HTML>");
        out.flush();
        out.close();
    }
@@ -232,11 +237,17 @@
            if(desMap.get("orderId")!=null)
            {
                R r=communityService.queryById(desMap.get("orderId"));
                UnionpayCarWash wash=(UnionpayCarWash)r.getData();
                if(wash!=null)
                if(r.getCode()==200)
                {
                    String re=Refund.sendOrder(wash.getMoney(),wash.getUnionpayOrderId());
                    map.put("unionpay","退款成功");
                    HashMap wash= (HashMap) r.getData();
                    if(wash!=null)
                    {
                        String re=Refund.sendOrder(wash.get("money").toString(),
                                wash.get("unionpayOrderId").toString());
                        map.put("unionpay","退款成功");
                        log.error("花城洗车银联退款成功 :" + re);
                    }
                }
            }
            return R.ok(map);