lidongdong
2023-03-20 998379e6b0e234ab42a06cfe7b79c450d9d1bba1
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();