From 2dda6304029c95e171b2f9e32406eb4600d77ebd Mon Sep 17 00:00:00 2001 From: 44323 <443237572@qq.com> Date: 星期三, 01 十一月 2023 18:57:58 +0800 Subject: [PATCH] 支付会员送券功能补充 运营商权限bug修改 --- cloud-server-competition/src/main/java/com/dsh/competition/service/impl/CompetitionServiceImpl.java | 48 +++++++++++++++++++++++++++++++++--------------- 1 files changed, 33 insertions(+), 15 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 16c106f..d8fa0ea 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 @@ -10,6 +10,7 @@ import com.alipay.api.request.AlipayTradeOrderSettleRequest; import com.alipay.api.request.AlipayTradeRoyaltyRelationBindRequest; import com.alipay.api.response.AlipayTradeOrderSettleResponse; +import com.alipay.api.response.AlipayTradeQueryResponse; import com.alipay.api.response.AlipayTradeRoyaltyRelationBindResponse; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -95,6 +96,10 @@ @Override public List<CompetitionListVo> queryCompetitionList(String cityCode, String content, Integer registerCondition, String heat) throws Exception { List<CompetitionListVo> competitionListVos = this.baseMapper.queryCompetitionList(cityCode, content, registerCondition, heat); + + + + return competitionListVos; } @@ -158,7 +163,17 @@ competitionInfo.setAge(competition.getStartAge() + "-" + competition.getEndAge()); competitionInfo.setProvince(competition.getEntryProvince()); competitionInfo.setCity(competition.getEntryCity()); - competitionInfo.setAddress(competition.getEntryAddress()); + String str = competition.getAddress(); + str = str.substring(str.indexOf("省") + 1); + + // 去掉第一个“市”及之前的字符串 + str = str.substring(str.indexOf("市") + 1); + + // 去掉第一个“区”及之前的字符串 + str = str.substring(str.indexOf("区") + 1); + + + competitionInfo.setAddress(str); competitionInfo.setCashPrice(competition.getCashPrice()); competitionInfo.setPlayPaiCoin(competition.getPlayPaiCoin()); competitionInfo.setClassPrice(competition.getClassPrice()); @@ -224,15 +239,15 @@ if(paymentCompetitionVo.getPayType() == 4){//课程 money = new BigDecimal(competition.getClassPrice()).multiply(new BigDecimal(split.length)).setScale(2, RoundingMode.HALF_EVEN); for (String s : split) { - Participant participant = participantService.getById(s); - Student student = studentClient.queryStudentByPhone(participant.getPhone()); - if(null == student){ - return ResultUtil.error(participant.getName() + "不是学员,无法使用课时支付。"); - } +// Participant participant = participantService.getById(s); +// Student student = studentClient.queryStudentByPhone(participant.getPhone()); +// if(null == student){ +// return ResultUtil.error(participant.getName() + "不是学员,无法使用课时支付。"); +// } // 2.0 Integer integer = coursePackagePaymentClient.queryResidueClassHourById(paymentCompetitionVo.getCoursePaymentId()); if(new BigDecimal(integer).compareTo(new BigDecimal(competition.getClassPrice())) < 0){ - return ResultUtil.error(participant.getName() + "剩余课时不足,无法完成支付。"); + return ResultUtil.error( "剩余课时不足,无法完成支付。"); } } } @@ -282,10 +297,10 @@ } if(paymentCompetitionVo.getPayType() == 4){//课程 for (String s : split) { - Participant participant = participantService.getById(s); - Student student = studentClient.queryStudentByPhone(participant.getPhone()); +// Participant participant = participantService.getById(s); +// Student student = studentClient.queryStudentByPhone(participant.getPhone()); PaymentDeductionClassHour paymentDeductionClassHour = new PaymentDeductionClassHour(); - paymentDeductionClassHour.setId(student.getId()); + paymentDeductionClassHour.setId(Integer.valueOf(s)); paymentDeductionClassHour.setClassHour(competition.getClassPrice()); paymentDeductionClassHour.setCode(code); paymentDeductionClassHour.setCourseId(paymentCompetitionVo.getCoursePaymentId()); @@ -396,17 +411,20 @@ if(paymentCompetition.getPayStatus() == 2){ break; } - ResultUtil<Map<String, String>> resultUtil = payMoneyUtil.queryALIOrder(code); - if(resultUtil.getCode() == 200 && paymentCompetition.getPayStatus() == 1){ + AlipayTradeQueryResponse resultUtil = payMoneyUtil.queryALIOrder(code); + if(resultUtil.getCode().equals("10000") && paymentCompetition.getPayStatus() == 1){ /** * WAIT_BUYER_PAY(交易创建,等待买家付款)、 * TRADE_CLOSED(未付款交易超时关闭,或支付完成后全额退款)、 * TRADE_SUCCESS(交易支付成功)、 * TRADE_FINISHED(交易结束,不可退款) */ - Map<String, String> data1 = resultUtil.getData(); - String s = data1.get("tradeStatus"); - String tradeNo = data1.get("tradeNo"); +// Map<String, String> data1 = resultUtil.getData(); +// String s = data1.get("tradeStatus"); +// String tradeNo = data1.get("tradeNo"); + String tradeNo = resultUtil.getTradeNo(); + String s = resultUtil.getTradeStatus(); + if("TRADE_CLOSED".equals(s) || "TRADE_FINISHED".equals(s) || num == 10){ paymentCompetition.setAppUserId(null); paymentCompetition.setState(3); -- Gitblit v1.7.1