From c036557db88c6297b9a626a892dce35c14ab8ee5 Mon Sep 17 00:00:00 2001 From: nickchange <126672920+nickchange@users.noreply.github.com> Date: 星期四, 09 十一月 2023 18:30:31 +0800 Subject: [PATCH] 11.6 --- cloud-server-competition/src/main/java/com/dsh/competition/service/impl/CompetitionServiceImpl.java | 73 ++++++++++++++++++++++++++---------- 1 files changed, 53 insertions(+), 20 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 385c6c4..25847f2 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,13 @@ @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); + + for (CompetitionListVo competitionListVo : competitionListVos) { + Integer counts = this.baseMapper.counts(competitionListVo.getId()); + competitionListVo.setHeat(competitionListVo.getHeat()+counts); + } + + return competitionListVos; } @@ -119,13 +127,23 @@ // 2.0 ArrayList<Map<String,Object>> objects = new ArrayList<>(); if(null != competition.getStoreId()){ - String storeId = competition.getStoreId(); for (String s : storeId.split(",")) { HashMap<String, Object> map = new HashMap<>(); Store store = storeClient.queryStoreById(Integer.valueOf(s)); map.put("name",store.getName()); - map.put("address",store.getAddress()); + + + String str = store.getAddress(); + str = str.substring(str.indexOf("省") + 1); + + // 去掉第一个“市”及之前的字符串 + str = str.substring(str.indexOf("市") + 1); + + // 去掉第一个“区”及之前的字符串 + str = str.substring(str.indexOf("区") + 1); + + map.put("address",str); map.put("storeLon",store.getLon()); map.put("storeLat",store.getLat()); map.put("storeCoverDrawing",store.getCoverDrawing()); @@ -143,11 +161,22 @@ competitionInfo.setRegisterEndTime(sdf.format(competition.getRegisterEndTime())); competitionInfo.setStartTime(sdf.format(competition.getStartTime())); + competitionInfo.setIsReal(competition.getRealName()); competitionInfo.setEndTime(sdf.format(competition.getEndTime())); competitionInfo.setAge(competition.getStartAge() + "-" + competition.getEndAge()); - competitionInfo.setProvince(competition.getEntryProvince()); - competitionInfo.setCity(competition.getEntryCity()); - competitionInfo.setAddress(competition.getEntryAddress()); + competitionInfo.setProvince(competition.getProvince()); + competitionInfo.setCity(competition.getCity()); + 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()); @@ -213,15 +242,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( "剩余课时不足,无法完成支付。"); } } } @@ -266,18 +295,19 @@ paymentCompetition.setPayOrderNo(""); paymentCompetitionService.updateById(paymentCompetition); - competition.setApplicantsNumber(competition.getApplicantsNumber() + 1); +// competition.setApplicantsNumber(competition.getApplicantsNumber() + 1); this.updateById(competition); } 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()); + paymentDeductionClassHour.setUid(uid); coursePackagePaymentClient.paymentDeductionClassHour(paymentDeductionClassHour); } paymentCompetition = paymentCompetitionService.getById(paymentCompetition.getId()); @@ -385,17 +415,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