From 228c40ba253e57a10abb435afb6889c8ed27ec55 Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期四, 07 三月 2024 11:11:24 +0800 Subject: [PATCH] Merge branch '2.0' of http://120.76.84.145:10101/gitblit/r/java/PlayPai into 2.0 --- cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupServiceImpl.java | 121 ++++++++++++++++++++++++---------------- 1 files changed, 73 insertions(+), 48 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..c68b323 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"); @@ -348,6 +356,11 @@ 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 +529,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 +538,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,7 +673,6 @@ .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); @@ -701,58 +712,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