From 7fe6d026bcc8f993ce76437d01607e591cc671fe Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期六, 25 十一月 2023 17:20:02 +0800 Subject: [PATCH] 重写课包支付和排课逻辑 --- cloud-server-account/src/main/java/com/dsh/account/service/impl/VipPaymentServiceImpl.java | 64 ++++++++++++++++--------------- 1 files changed, 33 insertions(+), 31 deletions(-) diff --git a/cloud-server-account/src/main/java/com/dsh/account/service/impl/VipPaymentServiceImpl.java b/cloud-server-account/src/main/java/com/dsh/account/service/impl/VipPaymentServiceImpl.java index a1b9533..f7b58aa 100644 --- a/cloud-server-account/src/main/java/com/dsh/account/service/impl/VipPaymentServiceImpl.java +++ b/cloud-server-account/src/main/java/com/dsh/account/service/impl/VipPaymentServiceImpl.java @@ -47,6 +47,7 @@ /** * 购买年度会员 + * * @param uid * @return * @throws Exception @@ -61,10 +62,10 @@ vipPayment.setPayStatus(1); vipPayment.setState(1); this.baseMapper.insert(vipPayment); - if(payType == 1){//微信 + if (payType == 1) {//微信 return weixinpay(vipPayment); } - if(payType == 2){//支付宝 + if (payType == 2) {//支付宝 return alipay(vipPayment); } return ResultUtil.success(); @@ -73,26 +74,27 @@ /** * 微信 + * * @param vipPayment * @return * @throws Exception */ - public ResultUtil weixinpay(VipPayment vipPayment) throws Exception{ + public ResultUtil weixinpay(VipPayment vipPayment) throws Exception { String code = vipPayment.getCode(); ResultUtil weixinpay = payMoneyUtil.weixinpay("购买年度会员", "", code, vipPayment.getAmount().toString(), "/base/appUser/addVipPaymentWeChatCallback", "APP", ""); - if(weixinpay.getCode() == 200){ + if (weixinpay.getCode() == 200) { new Thread(new Runnable() { @Override public void run() { try { int num = 1; int wait = 0; - while (num <= 10){ + while (num <= 10) { int min = 5000; wait += (min * num); VipPayment vipPayment1 = VipPaymentServiceImpl.this.getOne(new QueryWrapper<VipPayment>().eq("code", code)); - if(vipPayment1.getPayStatus() == 2){ + if (vipPayment1.getPayStatus() == 2) { return; } /** @@ -106,24 +108,24 @@ * ACCEPT--已接收,等待扣款 */ ResultUtil<Map<String, String>> resultUtil = payMoneyUtil.queryWXOrder(code, ""); - if(resultUtil.getCode() == 200){ + if (resultUtil.getCode() == 200) { Map<String, String> map = resultUtil.getData(); String trade_type = map.get("trade_type"); String trade_state = map.get("trade_state"); String transaction_id = map.get("transaction_id"); - if("REFUND".equals(trade_state) || "NOTPAY".equals(trade_state) || "CLOSED".equals(trade_state) || "REVOKED".equals(trade_state) || "PAYERROR".equals(trade_state)){ + if ("REFUND".equals(trade_state) || "NOTPAY".equals(trade_state) || "CLOSED".equals(trade_state) || "REVOKED".equals(trade_state) || "PAYERROR".equals(trade_state)) { vipPayment1.setState(3); VipPaymentServiceImpl.this.updateById(vipPayment1); return; } - if("SUCCESS".equals(trade_state)){ + if ("SUCCESS".equals(trade_state)) { vipPayment1.setPayStatus(2); vipPayment1.setPayTime(new Date()); vipPayment1.setOrderNumber(transaction_id); VipPaymentServiceImpl.this.updateById(vipPayment1); TAppUser appUser = appUserService.getById(vipPayment1.getAppUserId()); Date vipEndTime = appUser.getVipEndTime(); - if(null == vipEndTime){ + if (null == vipEndTime) { vipEndTime = new Date(); } Calendar calendar = Calendar.getInstance(); @@ -137,20 +139,20 @@ redisUtil.setStrValue("VIP_P_" + vipPayment1.getAppUserId(), JSON.toJSONString(longs), 3600); return; } - if("USERPAYING".equals(trade_state) || "ACCEPT".equals(trade_state)){ + if ("USERPAYING".equals(trade_state) || "ACCEPT".equals(trade_state)) { Thread.sleep(wait); num++; } - }else{ + } else { Thread.sleep(wait); num++; } - if(10 == num){ + if (10 == num) { vipPayment1.setState(3); VipPaymentServiceImpl.this.updateById(vipPayment1); } } - }catch (Exception e){ + } catch (Exception e) { e.printStackTrace(); } } @@ -162,26 +164,27 @@ /** * 支付宝 + * * @param vipPayment * @return * @throws Exception */ - public ResultUtil alipay(VipPayment vipPayment) throws Exception{ + public ResultUtil alipay(VipPayment vipPayment) throws Exception { String code = vipPayment.getCode(); - ResultUtil alipay = payMoneyUtil.alipay("购买年度会员", "购买年度会员", vipPayment.getAppUserId()+"", code, vipPayment.getAmount().toString(), + ResultUtil alipay = payMoneyUtil.alipay("购买年度会员", "购买年度会员", vipPayment.getAppUserId() + "", code, vipPayment.getAmount().toString(), "/base/appUser/addVipPaymentAliCallback"); - if(alipay.getCode() == 200){ + if (alipay.getCode() == 200) { new Thread(new Runnable() { @Override public void run() { try { int num = 1; int wait = 0; - while (num <= 10){ + while (num <= 10) { int min = 5000; wait += (min * num); VipPayment vipPayment1 = VipPaymentServiceImpl.this.getOne(new QueryWrapper<VipPayment>().eq("code", code)); - if(vipPayment1.getPayStatus() != 1){ + if (vipPayment1.getPayStatus() != 1) { return; } @@ -194,20 +197,20 @@ */ AlipayTradeQueryResponse resultUtil = payMoneyUtil.queryALIOrder(code); - if(resultUtil.getCode().equals("10000")){ + if (resultUtil.getCode().equals("10000")) { // Map<String, String> map = resultUtil.getData(); // String tradeStatus = map.get("tradeStatus"); // String tradeNo = map.get("tradeNo"); String tradeNo = resultUtil.getTradeNo(); String tradeStatus = resultUtil.getTradeStatus(); - System.out.println("ssssss"+tradeStatus); - if("TRADE_CLOSED".equals(tradeStatus) || "TRADE_FINISHED".equals(tradeStatus)){ + System.out.println("ssssss" + tradeStatus); + if ("TRADE_CLOSED".equals(tradeStatus) || "TRADE_FINISHED".equals(tradeStatus)) { vipPayment1.setState(3); VipPaymentServiceImpl.this.updateById(vipPayment1); return; } - if("TRADE_SUCCESS".equals(tradeStatus)){ + if ("TRADE_SUCCESS".equals(tradeStatus)) { vipPayment1.setPayStatus(2); vipPayment1.setPayTime(new Date()); vipPayment1.setOrderNumber(tradeNo); @@ -216,7 +219,7 @@ TAppUser appUser = appUserService.getById(vipPayment1.getAppUserId()); Date vipEndTime = appUser.getVipEndTime(); appUser.setIsVip(1); - if(null == vipEndTime){ + if (null == vipEndTime) { vipEndTime = new Date(); } Calendar calendar = Calendar.getInstance(); @@ -229,20 +232,20 @@ redisUtil.setStrValue("VIP_P_" + vipPayment1.getAppUserId(), JSON.toJSONString(longs), 3600); return; } - if("WAIT_BUYER_PAY".equals(tradeStatus)){ + if ("WAIT_BUYER_PAY".equals(tradeStatus)) { Thread.sleep(wait); num++; } - }else{ + } else { Thread.sleep(wait); num++; } - if(10 == num){ + if (10 == num) { vipPayment1.setState(3); VipPaymentServiceImpl.this.updateById(vipPayment1); } } - }catch (Exception e){ + } catch (Exception e) { e.printStackTrace(); } } @@ -252,10 +255,9 @@ } - - /** * 购买年度会员支付回调处理 + * * @param code * @param orderNumber * @throws Exception @@ -263,7 +265,7 @@ @Override public synchronized ResultUtil addVipPaymentCallback(String code, String orderNumber) throws Exception { VipPayment vipPayment1 = VipPaymentServiceImpl.this.getOne(new QueryWrapper<VipPayment>().eq("code", code)); - if(vipPayment1.getPayStatus() == 2){ + if (vipPayment1.getPayStatus() == 2) { return ResultUtil.success(); } vipPayment1.setPayStatus(2); -- Gitblit v1.7.1