| | |
| | | paymentRecharge.setNotifyUrl(getOrderTime()); |
| | | paymentRecharge.setPayInfo(payResponse.toString()); |
| | | paymentRechargeService.save(paymentRecharge); |
| | | |
| | | UserRecharge userRecharge = new UserRecharge(); |
| | | userRecharge.setUserId(user.getId()); |
| | | userRecharge.setNickName(user.getRealName()); |
| | | userRecharge.setAgentId(user.getAgentId()); |
| | | userRecharge.setOrderSn(params.get("out_trade_no")); |
| | | userRecharge.setPayChannel("Payment 1"); |
| | | userRecharge.setPayAmt(amount); |
| | | userRecharge.setAddTime(new Date()); |
| | | userRecharge.setPayTime(new Date()); |
| | | userRecharge.setOrderStatus(Integer.valueOf(0)); |
| | | userRecharge.setPayId(1); |
| | | userRechargeMapper.insert(userRecharge); |
| | | return ServerResponse.createBySuccess(payResponse.getData().getUrl()); |
| | | } |
| | | |
| | |
| | | PrintWriter pw = response.getWriter(); |
| | | |
| | | PaymentRecharge paymentRecharge = paymentRechargeService.getOne(new LambdaQueryWrapper<>(PaymentRecharge.class) |
| | | .eq(PaymentRecharge::getMchOrderNo, vo.getOut_trade_no()) |
| | | .eq(PaymentRecharge::getOrderNo,vo.getOut_trade_no()) |
| | | .eq(PaymentRecharge::getStatus,1) |
| | | .last("limit 1") |
| | | ); |
| | | |
| | | if(!vo.getStatus().equals("payin_ing")){ |
| | | log.error("充值2回调交易中:"+vo.toString()); |
| | | return; |
| | | } |
| | | |
| | | if(!vo.getStatus().equals("payin_fail")){ |
| | | paymentRecharge.setStatus(2); |
| | | paymentRecharge.setAmount(new BigDecimal(vo.getAccount_fee())); |
| | | paymentRecharge.setPayInfo(vo.toString()); |
| | | paymentRechargeService.updateById(paymentRecharge); |
| | | log.error("充值回调失败:"+vo.toString()); |
| | | return; |
| | | } |
| | | |
| | | if(ObjectUtils.isEmpty(paymentRecharge)){ |
| | | log.info("未找到充值订单"); |
| | | pw.print("error 未找到充值订单"); |
| | | return; |
| | | } |
| | | UserRecharge userRecharge = userRechargeMapper.selectOne(new LambdaQueryWrapper<>(UserRecharge.class) |
| | | .eq(UserRecharge::getOrderSn, paymentRecharge.getOrderNo()) |
| | | .eq(UserRecharge::getOrderStatus, 0).last(" limit 1")); |
| | | if(ObjectUtils.isEmpty(userRecharge)){ |
| | | log.info("未找到充值记录订单"); |
| | | pw.print("error 未找到充值订单"); |
| | | return; |
| | | } |
| | | |
| | | if(vo.getStatus().equals("payin_ing")){ |
| | | log.error("充值2回调交易中:"+vo.toString()); |
| | | return; |
| | | }else if(vo.getStatus().equals("payin_fail")){ |
| | | paymentRecharge.setStatus(2); |
| | | paymentRecharge.setAmount(new BigDecimal(vo.getAccount_fee())); |
| | | paymentRecharge.setPayInfo(vo.toString()); |
| | | paymentRechargeService.updateById(paymentRecharge); |
| | | userRecharge.setOrderStatus(2); |
| | | userRechargeMapper.updateById(userRecharge); |
| | | log.error("充值回调失败:"+vo.toString()); |
| | | return; |
| | | }else if(!vo.getStatus().equals("payin_fail") && !vo.getStatus().equals("payin_ing") && !vo.getStatus().equals("payin_success")){ |
| | | log.error("充值回调失败----未知状态:"+vo.toString()); |
| | | return; |
| | | } |
| | | |
| | | UserAssets userAssets = userAssetsMapper.selectOne(new LambdaQueryWrapper<>(UserAssets.class) |
| | | .eq(UserAssets::getUserId, paymentRecharge.getUserId()) |
| | | .eq(UserAssets::getAccectType, "IN") |
| | |
| | | paymentRecharge.setPayInfo(vo.toString()); |
| | | paymentRechargeService.updateById(paymentRecharge); |
| | | } |
| | | |
| | | userRecharge.setOrderStatus(1); |
| | | userRechargeMapper.updateById(userRecharge); |
| | | |
| | | log.info("充值回调----完成"); |
| | | pw.print("success"); |
| | | pw.flush(); |