From ab20715db09a5e4888c19702f5f73ecdc4e55f15 Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期三, 06 三月 2024 11:38:55 +0800 Subject: [PATCH] 添加方法 --- cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupServiceImpl.java | 141 +++++++++++++++++++++++++++++----------------- 1 files changed, 88 insertions(+), 53 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 30e792b..108fc02 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,6 +143,14 @@ 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()); //已参赛 @@ -348,7 +356,7 @@ if(null == worldCup){ return ResultUtil.error("报名数据异常"); } - if(System.currentTimeMillis() > worldCup.getRegistrationClosingTime().getTime()){ + if(null != worldCup.getRegistrationClosingTime() && System.currentTimeMillis() > worldCup.getRegistrationClosingTime().getTime()){ return ResultUtil.error("报名时间已结束,无法完成报名"); } if(System.currentTimeMillis() > worldCup.getEndTime().getTime()){ @@ -364,18 +372,18 @@ Integer isStudent = jsonObject.getInteger("isStudent"); if(isStudent == 1){ TStudent tStudent = studentClient.queryById(id); - if(worldCup.getStartAge() > Integer.valueOf(sdf.format(tStudent.getBirthday()))){ + if(worldCup.getStartAge() > (Integer.valueOf(sdf.format(new Date())) - Integer.valueOf(sdf.format(tStudent.getBirthday())))){ return ResultUtil.error("【" + tStudent.getName() + "】年龄不符合要求"); } - if(worldCup.getEndAge() < Integer.valueOf(sdf.format(tStudent.getBirthday()))){ + if(worldCup.getEndAge() < (Integer.valueOf(sdf.format(new Date())) - Integer.valueOf(sdf.format(tStudent.getBirthday())))){ return ResultUtil.error("【" + tStudent.getName() + "】年龄不符合要求"); } }else{ Participant participant = participantClient.getParticipant(id); - if(worldCup.getStartAge() > Integer.valueOf(sdf.format(participant.getBirthday()))){ + if(worldCup.getStartAge() > (Integer.valueOf(sdf.format(new Date())) - Integer.valueOf(sdf.format(participant.getBirthday())))){ return ResultUtil.error("【" + participant.getName() + "】年龄不符合要求"); } - if(worldCup.getEndAge() < Integer.valueOf(sdf.format(participant.getBirthday()))){ + if(worldCup.getEndAge() < (Integer.valueOf(sdf.format(new Date())) - Integer.valueOf(sdf.format(participant.getBirthday())))){ return ResultUtil.error("【" + participant.getName() + "】年龄不符合要求"); } } @@ -411,7 +419,8 @@ worldCupPayment.setEntrant(paymentWorldCup.getIds()); int num = JSON.parseArray(paymentWorldCup.getIds()).size(); //不免费 - if(worldCup.getPayType() != 0){ + String payType1 = worldCup.getPayType().split(",")[0]; + if(!"0".equals(payType1)){ Integer payType = paymentWorldCup.getPayType(); //微信 if(payType == 1){ @@ -515,7 +524,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()); @@ -525,7 +533,7 @@ worldCupPaymentParticipant.setParticipantId(id); worldCupPaymentParticipant.setAlreadyEntered(0); worldCupPaymentParticipant.setCreateTime(new Date()); - worldCupPaymentParticipant.setContent(JSON.toJSONString(deductionClassHourList2)); + worldCupPaymentParticipant.setContent(JSON.toJSONString(deductionClassHourList1)); worldCupPaymentParticipantService.save(worldCupPaymentParticipant); } @@ -534,6 +542,24 @@ worldCupPayment.setPayTime(new Date()); worldCupPayment.setUnitPrice(worldCupPayment.getAmount().divide(new BigDecimal(num))); worldCupPaymentService.save(worldCupPayment); + + //添加报名明细 + for (int i = 0; i < jsonArray.size(); i++) { + JSONObject jsonObject = jsonArray.getJSONObject(i); + Integer id = jsonObject.getInteger("id"); + //是否是学员(0=否,1=是) + Integer isStudent = jsonObject.getInteger("isStudent"); + + WorldCupPaymentParticipant worldCupPaymentParticipant = new WorldCupPaymentParticipant(); + worldCupPaymentParticipant.setWorldCupId(paymentWorldCup.getId()); + worldCupPaymentParticipant.setWorldCupPaymentId(worldCupPayment.getId()); + worldCupPaymentParticipant.setAppUserId(paymentWorldCup.getUid()); + worldCupPaymentParticipant.setParticipantType(isStudent == 0 ? 2 : 1); + worldCupPaymentParticipant.setParticipantId(id); + worldCupPaymentParticipant.setAlreadyEntered(0); + worldCupPaymentParticipantService.save(worldCupPaymentParticipant); + } + return ResultUtil.success(); } }else{ @@ -606,6 +632,33 @@ /** + * 获取比赛管理列表数据 + * @param worldCupListAll + * @return + */ + @Override + public Map<String, Object> getWorldCupListAll(WorldCupListAll worldCupListAll) { + Map<String, Object> map = new HashMap<>(); + List<Map<String, Object>> list = this.baseMapper.getWorldCupListAll(worldCupListAll); + for (Map<String, Object> map1 : list) { + String maxPeople = map1.get("maxPeople").toString(); + Integer id = Integer.valueOf(map1.get("id").toString()); + List<WorldCupPayment> lists = worldCupPaymentService.list(new QueryWrapper<WorldCupPayment>().eq("worldCupId", id).eq("payStatus", 2).eq("state", 1)); + List<Long> collect = lists.stream().map(WorldCupPayment::getId).collect(Collectors.toList()); + Integer count = 0; + if(collect.size() > 0){ + count = worldCupPaymentParticipantService.count(new QueryWrapper<WorldCupPaymentParticipant>().in("worldCupPaymentId", collect)); + } + map1.put("maxPeople", maxPeople + " - " + count); + } + Integer count = this.baseMapper.getWorldCupListAllCount(worldCupListAll); + map.put("rows", list); + map.put("total", count); + return map; + } + + + /** * 取消赛事后退还费用 * @param id */ @@ -615,7 +668,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); @@ -655,58 +707,41 @@ 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); + } } } -- Gitblit v1.7.1