| | |
| | | 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()); |
| | | //已参赛 |
| | |
| | | //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"); |
| | |
| | | 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()){ |
| | |
| | | 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() + "】年龄不符合要求"); |
| | | } |
| | | } |
| | |
| | | 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){ |
| | |
| | | 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()); |
| | |
| | | worldCupPaymentParticipant.setParticipantId(id); |
| | | worldCupPaymentParticipant.setAlreadyEntered(0); |
| | | worldCupPaymentParticipant.setCreateTime(new Date()); |
| | | worldCupPaymentParticipant.setContent(JSON.toJSONString(deductionClassHourList2)); |
| | | worldCupPaymentParticipant.setContent(JSON.toJSONString(deductionClassHourList1)); |
| | | worldCupPaymentParticipantService.save(worldCupPaymentParticipant); |
| | | } |
| | | |
| | |
| | | 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{ |
| | |
| | | |
| | | |
| | | /** |
| | | * 获取比赛管理列表数据 |
| | | * @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 |
| | | */ |
| | |
| | | .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); |
| | |
| | | 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); |
| | | } |
| | | } |
| | | } |