From a1cadd023734d1e33f6455ec87fb7e2783d808fe Mon Sep 17 00:00:00 2001 From: 44323 <443237572@qq.com> Date: 星期一, 11 三月 2024 16:04:14 +0800 Subject: [PATCH] bug修改 --- cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupServiceImpl.java | 132 ++++++++++++++++++++++++++----------------- 1 files changed, 80 insertions(+), 52 deletions(-) diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupServiceImpl.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupServiceImpl.java index d327581..228103e 100644 --- a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupServiceImpl.java +++ b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupServiceImpl.java @@ -143,16 +143,24 @@ worldCupCompetitor.setParticipantId(id); worldCupCompetitor.setParticipant("blue".equals(type) ? 1 : 2); worldCupCompetitor.setStartTime(new Date()); + //添加参赛奖励 + if(null != worldCup.getParticipationIntegral() && 0 < worldCup.getParticipationIntegral()){ + worldCupCompetitor.setParticipationIntegral(worldCup.getParticipationIntegral()); + AppUser appUser = appUserClient.getAppUser(worldCupCompetitor.getAppUserId()); + appUser.setIntegral(appUser.getIntegral() + worldCup.getParticipationIntegral()); + appUserClient.updateAppUser(appUser); + } + worldCupCompetitorService.save(worldCupCompetitor); ids.add(worldCupCompetitor.getId()); //已参赛 - worldCupPaymentParticipant.setAlreadyEntered(1); +// worldCupPaymentParticipant.setAlreadyEntered(1); worldCupPaymentParticipantService.updateById(worldCupPaymentParticipant); } //2、调起开启游戏的接口。 HashMap<String, String> map = new HashMap<>(); map.put("sign", "0DB011836143EEE2C2E072967C9F4E4B"); - map.put("space_id", tGame.getSiteId() + ""); + map.put("space_id", tGame.getStoreId() + ""); map.put("red_sutu_id", tGame.getRed()); map.put("blue_sutu_id", tGame.getBlue()); map.put("api_url", "http://221.182.45.100:56666/communityWorldCup/base/worldCup/endWorldCupCallback"); @@ -190,10 +198,6 @@ */ @Override public List<WorldCupListVo> getWorldCupList(WorldCupList worldCupList) { - //没有筛选门店,默认使用当前门店 - if(null == worldCupList.getStoreId()){ - worldCupList.setStoreId(worldCupList.getStoreId()); - } List<WorldCupListVo> worldCupList1 = this.baseMapper.getWorldCupList(worldCupList); for (WorldCupListVo worldCupListVo : worldCupList1) { Integer id = Integer.valueOf(worldCupListVo.getId()); @@ -347,6 +351,11 @@ WorldCup worldCup = this.getById(paymentWorldCup.getId()); if(null == worldCup){ return ResultUtil.error("报名数据异常"); + } + WorldCupPayment one = worldCupPaymentService.getOne(new QueryWrapper<WorldCupPayment>().eq("worldCupId", worldCup.getId()) + .eq("appUserId", paymentWorldCup.getUid()).eq("payStatus", 2).eq("state", 1)); + if(null != one){ + return ResultUtil.error("不能重复报名"); } if(null != worldCup.getRegistrationClosingTime() && System.currentTimeMillis() > worldCup.getRegistrationClosingTime().getTime()){ return ResultUtil.error("报名时间已结束,无法完成报名"); @@ -516,7 +525,6 @@ DeductionClassHourList deductionClassHourList = new DeductionClassHourList(); deductionClassHourList.setDeductionClassHourList(list); DeductionClassHourList deductionClassHourList1 = coursePackageOrderStudentClient.deductionClassHour(deductionClassHourList); - List<DeductionClassHour> deductionClassHourList2 = deductionClassHourList1.getDeductionClassHourList(); WorldCupPaymentParticipant worldCupPaymentParticipant = new WorldCupPaymentParticipant(); worldCupPaymentParticipant.setWorldCupId(paymentWorldCup.getId()); @@ -526,7 +534,7 @@ worldCupPaymentParticipant.setParticipantId(id); worldCupPaymentParticipant.setAlreadyEntered(0); worldCupPaymentParticipant.setCreateTime(new Date()); - worldCupPaymentParticipant.setContent(JSON.toJSONString(deductionClassHourList2)); + worldCupPaymentParticipant.setContent(JSON.toJSONString(deductionClassHourList1)); worldCupPaymentParticipantService.save(worldCupPaymentParticipant); } @@ -661,11 +669,17 @@ .eq("worldCupId", id).eq("alreadyEntered", 0)); Set<Long> collect = list.stream().map(WorldCupPaymentParticipant::getWorldCupPaymentId).collect(Collectors.toSet()); for (Long worldCupPaymentId : collect) { - List<WorldCupPaymentParticipant> list1 = worldCupPaymentParticipantService.list(new QueryWrapper<WorldCupPaymentParticipant>() .eq("worldCupPaymentId", worldCupPaymentId).eq("alreadyEntered", 0)); WorldCupPayment worldCupPayment = worldCupPaymentService.getById(worldCupPaymentId); BigDecimal multiply = worldCupPayment.getUnitPrice().multiply(new BigDecimal(list1.size())); + //免费 + if(worldCupPayment.getPayType() == 0){ + worldCupPayment.setRefundOrderNo(""); + worldCupPayment.setRefundTime(new Date()); + worldCupPayment.setPayStatus(3); + worldCupPaymentService.updateById(worldCupPayment); + } //微信支付 if(worldCupPayment.getPayType() == 1){ Map<String, String> map = payMoneyUtil.wxRefund(worldCupPayment.getPayOrderNo(), worldCupPayment.getCode(), @@ -701,58 +715,72 @@ worldCupPayment.setRefundOrderNo(""); worldCupPayment.setPayStatus(3); worldCupPaymentService.updateById(worldCupPayment); - }//课时支付 + } + //课时支付 if(worldCupPayment.getPayType() == 4){ for (WorldCupPaymentParticipant worldCupPaymentParticipant : list1) { - Integer studentId = worldCupPaymentParticipant.getParticipantId();//构建扣减课时数据 String content = worldCupPaymentParticipant.getContent(); - List<DeductionClassHour> list2 = JSON.parseArray(content, DeductionClassHour.class); - - - - - -// Integer classHour = worldCup.getClassHour(); -// for (CoursePackageOrderStudent packageOrderStudent : coursePackageOrderStudent) { -// Integer laveClassHours = packageOrderStudent.getLaveClassHours(); -// -// DeductionClassHour deductionClassHour = new DeductionClassHour(); -// if(classHour.compareTo(laveClassHours) > 0){ -// //不够扣除,轮询直到扣除完 -// classHour = classHour - laveClassHours; -// deductionClassHour.setId(packageOrderStudent.getId()); -// deductionClassHour.setClassHour(laveClassHours); -// deductionClassHour.setStudentId(packageOrderStudent.getStudentId()); -// deductionClassHour.setCoursePackageId(packageOrderStudent.getCoursePackageId()); -// list.add(deductionClassHour); -// }else{ -// //够扣除直接跳出进行下个学员 -// deductionClassHour.setId(packageOrderStudent.getId()); -// deductionClassHour.setClassHour(classHour); -// deductionClassHour.setStudentId(packageOrderStudent.getStudentId()); -// deductionClassHour.setCoursePackageId(packageOrderStudent.getCoursePackageId()); -// list.add(deductionClassHour); -// break; -// } -// } + DeductionClassHourList deductionClassHourList = JSON.parseObject(content, DeductionClassHourList.class); + coursePackageOrderStudentClient.backspaceClassHour(deductionClassHourList); } - - //扣减课时操作 - DeductionClassHourList deductionClassHourList = new DeductionClassHourList(); -// deductionClassHourList.setDeductionClassHourList(list); - coursePackageOrderStudentClient.deductionClassHour(deductionClassHourList); + worldCupPayment.setRefundTime(new Date()); + worldCupPayment.setRefundOrderNo(""); + worldCupPayment.setPayStatus(3); + worldCupPaymentService.updateById(worldCupPayment); } - - } + } - for (WorldCupPaymentParticipant worldCupPaymentParticipant : list) { - - - - + /** + * 定时任务修改状态 + */ + @Override + public void taskUpdateStatus() { + List<WorldCup> worldCups = this.list(new QueryWrapper<WorldCup>().eq("status", 1).last(" and startTime <= now()")); + for (WorldCup worldCup : worldCups) { + worldCup.setStatus(2); } + if(worldCups.size() > 0){ + this.updateBatchById(worldCups); + } + worldCups = this.list(new QueryWrapper<WorldCup>().eq("status", 2).last(" and endTime <= now()")); + for (WorldCup worldCup : worldCups) { + worldCup.setStatus(3); + } + if(worldCups.size() > 0){ + this.updateBatchById(worldCups); + } + } + + /** + * 获取比赛统计列表数据 + * @param worldCupGameStatistics + * @return + */ + @Override + public Map<String, Object> worldCupGameStatistics(WorldCupGameStatistics worldCupGameStatistics) { + Map<String, Object> map = new HashMap<>(); + List<Map<String, Object>> mapList = this.baseMapper.worldCupGameStatistics(worldCupGameStatistics); + for (Map<String, Object> stringObjectMap : mapList) { + Integer id = Integer.valueOf(stringObjectMap.get("id").toString()); + int count = worldCupCompetitorService.count(new QueryWrapper<WorldCupCompetitor>().eq("worldCupId", id)); + stringObjectMap.put("matchTime", count); + + List<WorldCupPayment> list = worldCupPaymentService.list(new QueryWrapper<WorldCupPayment>().eq("worldCupId", id) + .eq("payStatus", 2).eq("state", 1)); + List<Long> collect = list.stream().map(WorldCupPayment::getId).collect(Collectors.toList()); + if(collect.size() == 0){ + stringObjectMap.put("applicants", 0); + }else{ + int count1 = worldCupPaymentParticipantService.getCount(id, collect); + stringObjectMap.put("applicants", count1); + } + } + map.put("rows", mapList); + int count = this.baseMapper.worldCupGameStatisticsCount(worldCupGameStatistics); + map.put("total", count); + return map; } } -- Gitblit v1.7.1