| | |
| | | |
| | | /** |
| | | * 查询社区世界杯收入--管理后台 |
| | | * @param storeId |
| | | * @return |
| | | */ |
| | | @ResponseBody |
| | |
| | | @ApiImplicitParam(name = "id", value = "列表中的id", required = true, dataType = "Long"), |
| | | @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") |
| | | }) |
| | | public ResultUtil cancelMyWorldCup(Long id){ |
| | | public ResultUtil cancelMyWorldCup(Long id) throws Exception { |
| | | return worldCupPaymentService.cancelMyWorldCup(id); |
| | | } |
| | | |
| | |
| | | */ |
| | | @ResponseBody |
| | | @PostMapping("/worldCup/cancelWorldCupRefund") |
| | | public void cancelWorldCupRefund(@RequestBody Integer id){ |
| | | public void cancelWorldCupRefund(@RequestBody Integer id) throws Exception { |
| | | worldCupService.cancelWorldCupRefund(id); |
| | | } |
| | | |
| | |
| | | out.close(); |
| | | } |
| | | } |
| | | /** |
| | | * 取消赛事后微信退款回调微信V3回调 |
| | | * @param request |
| | | * @param response |
| | | */ |
| | | @ResponseBody |
| | | @PostMapping("/base/worldCup/wxRefundWorldCupCallback1") |
| | | public void wxRefundWorldCupCallback1(HttpServletRequest request, HttpServletResponse response){ |
| | | try { |
| | | System.err.println("微信回调"); |
| | | System.err.println("请求" + request); |
| | | BufferedReader reader = request.getReader(); |
| | | String string1 = reader.toString(); |
| | | System.err.println("请求reader" + string1); |
| | | StringBuilder requestBody = new StringBuilder(); |
| | | String line; |
| | | while ((line = reader.readLine()) != null) { |
| | | requestBody.append(line); |
| | | } |
| | | System.err.println("全部请求体" + requestBody); |
| | | JSONObject jsonObject = JSONObject.parseObject(requestBody.toString()); |
| | | JSONObject resource = jsonObject.getJSONObject("resource"); |
| | | |
| | | AesUtil aesUtil = new AesUtil(WxV3PayConfig.apiV3Key.getBytes(StandardCharsets.UTF_8)); |
| | | String decryptedData = aesUtil.decryptToString(resource.getString("associated_data").getBytes(StandardCharsets.UTF_8), resource.getString("nonce").getBytes(StandardCharsets.UTF_8), |
| | | resource.getString("ciphertext")); |
| | | System.err.println("微信解密的字符串信息" + decryptedData); |
| | | JSONObject jsonInfo = (JSONObject) JSONObject.parse(decryptedData); |
| | | String code = jsonInfo.getString("out_trade_no"); |
| | | String transaction_id = jsonInfo.getString("transaction_id"); |
| | | String refund_status = jsonInfo.getString("refund_status"); |
| | | String out_refund_no = jsonInfo.getString("out_refund_no"); |
| | | if (refund_status.equals("SUCCESS")) { |
| | | WorldCupPayment worldCupPayment = worldCupPaymentService.getOne(new QueryWrapper<WorldCupPayment>().eq("code", out_refund_no)); |
| | | worldCupPayment.setRefundOrderNo(code); |
| | | worldCupPayment.setRefundTime(new Date()); |
| | | worldCupPayment.setPayStatus(3); |
| | | worldCupPayment.setWorldCupId(null); |
| | | worldCupPaymentService.updateById(worldCupPayment); |
| | | PrintWriter out = response.getWriter(); |
| | | out.write("SUCCESS"); |
| | | out.flush(); |
| | | out.close(); |
| | | } |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | |
| | | |
| | | /** |