| | |
| | | import com.ruoyi.system.api.feignClient.SysUserClient; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import javax.annotation.Resource; |
| | |
| | | |
| | | /** |
| | | * <p> |
| | | * 微信回调 |
| | | * 微信回调 |
| | | * </p> |
| | | * |
| | | * @author 无关风月 |
| | |
| | | private WechatPayService wechatPayService; |
| | | @Resource |
| | | private TServicePayService servicePayService; |
| | | |
| | | @ResponseBody |
| | | @PostMapping("/integralCallback") |
| | | public void integralCallback(HttpServletRequest request, HttpServletResponse response){ |
| | | System.err.println("积分充值回调"); |
| | | PayResult payResult= null; |
| | | try { |
| | | payResult = wechatPayService.processNotify(request); |
| | | } catch (Exception e) { |
| | | throw new RuntimeException(e); |
| | | public R integralCallback(HttpServletRequest request, String r2_OrderNo) { |
| | | // System.err.println("积分充值回调"); |
| | | // PayResult payResult= null; |
| | | // try { |
| | | // payResult = wechatPayService.processNotify(request); |
| | | // } catch (Exception e) { |
| | | // throw new RuntimeException(e); |
| | | // } |
| | | System.err.println("======积分充值回调"); |
| | | System.err.println("======积分充值回调单号" + r2_OrderNo); |
| | | System.err.println("请求" + request.getParameterMap()); |
| | | Map<String, String[]> parameterMap = request.getParameterMap(); |
| | | String r6Status = request.getParameter("r6_Status"); |
| | | if (org.springframework.util.StringUtils.hasLength(r6Status)) { |
| | | if (r6Status.equals("101")) { |
| | | return R.fail("支付失败"); |
| | | } |
| | | } |
| | | IntegralPay integralPay = integralPayService.lambdaQuery().eq(IntegralPay::getCode, payResult.getOrderNumber()).one(); |
| | | if (integralPay != null && integralPay.getPayStatus() == 1){ |
| | | // 循环打印 |
| | | for (Map.Entry<String, String[]> entry : parameterMap.entrySet()) { |
| | | String key = entry.getKey(); |
| | | String[] values = entry.getValue(); |
| | | for (String value : values) { |
| | | System.err.println("======回调开始" + key + ":" + value); |
| | | } |
| | | } |
| | | IntegralPay integralPay = integralPayService.lambdaQuery().eq(IntegralPay::getCode, r2_OrderNo).one(); |
| | | if (integralPay != null && integralPay.getPayStatus() == 1) { |
| | | SysUser data = sysUserClient.getSysUser(integralPay.getUserId()).getData(); |
| | | integralPay.setPayStatus(2); |
| | | integralPay.setPayTime(LocalDateTime.now()); |
| | | integralPay.setOrderNumber(payResult.getTransactionId()); |
| | | // integralPay.setOrderNumber(payResult.getTransactionId()); |
| | | integralPayService.updateById(integralPay); |
| | | IntegralRecord integralRecord = new IntegralRecord(); |
| | | integralRecord.setPayId(integralPay.getId()); |
| | |
| | | integralRecord.setDelFlag(0); |
| | | integralRecord.setCreateTime(LocalDateTime.now()); |
| | | integralRecordService.save(integralRecord); |
| | | data.setIntegral(data.getIntegral()+integralPay.getIntegralCount()); |
| | | data.setIntegral(data.getIntegral() + integralPay.getIntegralCount()); |
| | | sysUserClient.updateSysUser(data); |
| | | return R.ok(null, "success"); |
| | | } |
| | | response.setStatus(200); |
| | | PrintWriter out = null; |
| | | try { |
| | | out = response.getWriter(); |
| | | } catch (IOException e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | | out.println("success"); |
| | | out.flush(); |
| | | out.close(); |
| | | return R.ok(null, "error"); |
| | | |
| | | } |
| | | |
| | | @ResponseBody |
| | | @PostMapping("/serviceCallback") |
| | | public void serviceCallback(HttpServletRequest request, HttpServletResponse response){ |
| | | public void serviceCallback(HttpServletRequest request, HttpServletResponse response) { |
| | | System.err.println("服务费缴纳回调"); |
| | | PayResult payResult= null; |
| | | PayResult payResult = null; |
| | | try { |
| | | payResult = wechatPayService.processNotify(request); |
| | | } catch (Exception e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | | ServicePay servicePay = servicePayService.lambdaQuery().eq(ServicePay::getCode, payResult.getOrderNumber()).one(); |
| | | if (servicePay != null && servicePay.getPayStatus() == 1){ |
| | | if (servicePay != null && servicePay.getPayStatus() == 1) { |
| | | servicePay.setPayStatus(2); |
| | | ServicePay servicePayBefore = servicePayService.lambdaQuery() |
| | | .eq(ServicePay::getUserId, servicePay.getUserId()) |
| | | .eq(ServicePay::getPayStatus,2) |
| | | .eq(ServicePay::getPayStatus, 2) |
| | | .orderByDesc(ServicePay::getCreateTime) |
| | | .last("limit 1") |
| | | .one(); |
| | | if (servicePayBefore!=null){ |
| | | if (servicePayBefore != null) { |
| | | servicePay.setEndTime(servicePayBefore.getEndTime().plusDays(365)); |
| | | }else{ |
| | | } else { |
| | | servicePay.setEndTime(LocalDateTime.now().plusDays(365)); |
| | | |
| | | } |
| | |
| | | servicePay.setOrderNumber(payResult.getTransactionId()); |
| | | servicePayService.updateById(servicePay); |
| | | } |
| | | response.setStatus(200); |
| | | PrintWriter out = null; |
| | | try { |
| | | out = response.getWriter(); |
| | | } catch (IOException e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | | out.println("success"); |
| | | out.flush(); |
| | | out.close(); |
| | | response.setStatus(200); |
| | | PrintWriter out = null; |
| | | try { |
| | | out = response.getWriter(); |
| | | } catch (IOException e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | | out.println("success"); |
| | | out.flush(); |
| | | out.close(); |
| | | } |
| | | |
| | | |
| | | |
| | | } |