From 9486766c806fe1d9e082b2fd02ea1cc558f1b443 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期四, 08 五月 2025 09:21:57 +0800 Subject: [PATCH] bug修改 --- cloud-server-competition/src/main/java/com/dsh/competition/service/impl/CompetitionServiceImpl.java | 46 ++++++++++++---------------------------------- 1 files changed, 12 insertions(+), 34 deletions(-) diff --git a/cloud-server-competition/src/main/java/com/dsh/competition/service/impl/CompetitionServiceImpl.java b/cloud-server-competition/src/main/java/com/dsh/competition/service/impl/CompetitionServiceImpl.java index 413b0f5..419ea78 100644 --- a/cloud-server-competition/src/main/java/com/dsh/competition/service/impl/CompetitionServiceImpl.java +++ b/cloud-server-competition/src/main/java/com/dsh/competition/service/impl/CompetitionServiceImpl.java @@ -420,31 +420,7 @@ Competition competition = cttService.getById(paymentCompetition.getCompetitionId()); competition.setApplicantsNumber(competition.getApplicantsNumber() + 1); cttService.updateById(competition); - if (operatorId!=null && operatorId!=0){ - // 休眠两分钟后再调用分账接口 避免提示订单正在处理中 - Thread.sleep(120000); - // 根据运营商id获取对应运营商分账比例 返回格式: 微信分账比例,支付宝分账比例 - String proportionByOperatorId = storeClient.getProportionByOperatorId(operatorId); - String[] split = proportionByOperatorId.split(","); - String s1 = split[0]; - if (!s1.equals("未设置")){ - BigDecimal bigDecimal = new BigDecimal(s1); - // 分账比例 - BigDecimal bigDecimal1 = bigDecimal.divide(new BigDecimal(100)).setScale(2); - // 微信商户号 - String s2 = storeClient.getmerchantNumberByOperatorId(operatorId); - String nonce_str = UUIDUtil.getRandomCode(16); - paymentCompetition.setFenzhangOrderNo(nonce_str); - ResultUtil fenzhang = payMoneyUtil.fenzhang(transaction_id, money.multiply(bigDecimal1), s2,nonce_str); - if (!fenzhang.getCode().equals(500)){ - System.err.println("分账失败 原因是:"+fenzhang.getMsg()); - }else{ - paymentCompetition.setFenzhangNo(fenzhang.getMsg()); - paymentCompetition.setFenzhangAmount(money.multiply(bigDecimal1)); - paymentCompetitionService.updateById(paymentCompetition); - } - } - } + break; } if ("USERPAYING".equals(s) || "NOTPAY".equals(s)) { @@ -705,16 +681,18 @@ public void moneyOut() throws AlipayApiException { Date date = new Date(); List<Competition> list = competitionService.list(new QueryWrapper<Competition>().lt("endTime",date).ne("isOut",1)); - List<Integer> coms = new ArrayList<>(); - for (Competition competition : list) { - coms.add(competition.getId()); - competition.setIsOut(1); + if(list.size() > 0){ + List<Integer> coms = new ArrayList<>(); + for (Competition competition : list) { + coms.add(competition.getId()); + competition.setIsOut(1); + } + List<PaymentCompetition> pays = paymentCompetitionService.list(new QueryWrapper<PaymentCompetition>().in("competitionId", coms)); + for (PaymentCompetition pay : pays) { + moneyOut(pay.getPayOrderNo(),pay.getPayOrderNo(),pay.getCode()); + } + competitionService.updateBatchById(list); } - List<PaymentCompetition> pays = paymentCompetitionService.list(new QueryWrapper<PaymentCompetition>().in("competitionId", coms)); - for (PaymentCompetition pay : pays) { - moneyOut(pay.getPayOrderNo(),pay.getPayOrderNo(),pay.getCode()); - } - competitionService.updateBatchById(list); } -- Gitblit v1.7.1