puzhibing
2024-03-08 7501140cf637fef9629a80202907ed067c8a5a06
cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupServiceImpl.java
@@ -131,7 +131,7 @@
        List<Long> ids = new ArrayList<>();
        for (int i = 0; i < jsonArray.size(); i++) {
            JSONObject jsonObject = jsonArray.getJSONObject(i);
            Integer id = jsonObject.getInteger("id");
            Long id = jsonObject.getLong("id");
            Integer participantType = jsonObject.getInteger("participantType");
            String type = jsonObject.getString("type");
            WorldCupCompetitor worldCupCompetitor = new WorldCupCompetitor();
@@ -155,7 +155,7 @@
            ids.add(worldCupCompetitor.getId());
            //已参赛
//            worldCupPaymentParticipant.setAlreadyEntered(1);
            worldCupPaymentParticipantService.updateById(worldCupPaymentParticipant);
//            worldCupPaymentParticipantService.updateById(worldCupPaymentParticipant);
        }
        //2、调起开启游戏的接口。
        HashMap<String, String> map = new HashMap<>();
@@ -265,6 +265,14 @@
            int count = worldCupPaymentParticipantService.count(new QueryWrapper<WorldCupPaymentParticipant>().in("worldCupPaymentId", collect));
            heat += count;
        }
        String infoImg = worldCupInfo.getInfoImg();
        JSONArray jsonArray1 = JSON.parseArray(infoImg);
        String imgs = "";
        for (int i = 0; i < jsonArray1.size(); i++) {
            String url = jsonArray1.getJSONObject(i).getString("url");
            imgs += url + ",";
        }
        worldCupInfo.setInfoImg(imgs.substring(0,imgs.length() - 1));
        worldCupInfo.setHeat(heat);
        ArrayList<Map<String, Object>> objects = new ArrayList<>();
        for (WorldCupStore worldCupStore : worldCupStores) {
@@ -306,8 +314,14 @@
    @Override
    public CheckPaymentMethodVo checkPaymentMethod(CheckPaymentMethod checkPaymentMethod) {
        WorldCup worldCup = this.getById(checkPaymentMethod.getId());
        JSONArray jsonArray = JSON.parseArray(checkPaymentMethod.getIds());
        String[] split = worldCup.getPayType().split(",");
        CheckPaymentMethodVo checkPaymentMethodVo = new CheckPaymentMethodVo();
        if(split.length == 1 && "0".equals(split[0])){
            checkPaymentMethodVo.setPaiCoin(0);
            checkPaymentMethodVo.setClassHour(0);
            return checkPaymentMethodVo;
        }
        JSONArray jsonArray = JSON.parseArray(checkPaymentMethod.getIds());
        AppUser appUser = appUserClient.getAppUser(checkPaymentMethod.getUid());
        BigDecimal multiply = new BigDecimal(jsonArray.size()).multiply(new BigDecimal(worldCup.getPaiCoin()));
        if(appUser.getPlayPaiCoins() < multiply.intValue()){
@@ -352,27 +366,33 @@
        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("报名时间已结束,无法完成报名");
        }
        if(System.currentTimeMillis() > worldCup.getEndTime().getTime()){
            return ResultUtil.error("世界杯赛事已结束,无法完成报名");
        }
        List<WorldCupPayment> list = worldCupPaymentService.list(new QueryWrapper<WorldCupPayment>().eq("worldCupId", worldCup.getId()).eq("appUserId", paymentWorldCup.getUid())
                .eq("payStatus", 2).eq("state", 1));
        List<Long> collect = list.stream().map(WorldCupPayment::getId).collect(Collectors.toList());
        String ids = paymentWorldCup.getIds();
        JSONArray jsonArray = JSON.parseArray(ids);
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy");
        for (int i = 0; i < jsonArray.size(); i++) {
            JSONObject jsonObject = jsonArray.getJSONObject(i);
            Integer id = jsonObject.getInteger("id");
            Long id = jsonObject.getLong("id");
            //是否是学员(0=否,1=是)
            Integer isStudent = jsonObject.getInteger("isStudent");
            if(isStudent == 1){
                TStudent tStudent = studentClient.queryById(id);
                TStudent tStudent = studentClient.queryById(id.intValue());
                if(collect.size() > 0){
                    WorldCupPaymentParticipant one = worldCupPaymentParticipantService.getOne(new QueryWrapper<WorldCupPaymentParticipant>().eq("worldCupId", worldCup.getId())
                            .eq("participantId", id).eq("participantType", isStudent == 0 ? 2 : 1).in("worldCupPaymentId", collect));
                    if(null != one){
                        return ResultUtil.error("【" + tStudent.getName() + "】已报过名了");
                    }
                }
                if(worldCup.getStartAge() > (Integer.valueOf(sdf.format(new Date())) - Integer.valueOf(sdf.format(tStudent.getBirthday())))){
                    return ResultUtil.error("【" + tStudent.getName() + "】年龄不符合要求");
                }
@@ -381,6 +401,14 @@
                }
            }else{
                Participant participant = participantClient.getParticipant(id);
                if(collect.size() > 0){
                    WorldCupPaymentParticipant one = worldCupPaymentParticipantService.getOne(new QueryWrapper<WorldCupPaymentParticipant>().eq("worldCupId", worldCup.getId())
                            .eq("participantId", id).eq("participantType", isStudent == 0 ? 2 : 1).in("worldCupPaymentId", collect));
                    if(null != one){
                        return ResultUtil.error("【" + participant.getName() + "】已报过名了");
                    }
                }
                if(worldCup.getStartAge() > (Integer.valueOf(sdf.format(new Date())) - Integer.valueOf(sdf.format(participant.getBirthday())))){
                    return ResultUtil.error("【" + participant.getName() + "】年龄不符合要求");
                }
@@ -460,7 +488,7 @@
                JSONArray jsonArray = JSON.parseArray(ids);
                for (int i = 0; i < jsonArray.size(); i++) {
                    JSONObject jsonObject = jsonArray.getJSONObject(i);
                    Integer id = jsonObject.getInteger("id");
                    Long id = jsonObject.getLong("id");
                    //是否是学员(0=否,1=是)
                    Integer isStudent = jsonObject.getInteger("isStudent");
@@ -484,13 +512,13 @@
                List<DeductionClassHour> list = new ArrayList<>();
                for (int i = 0; i < jsonArray.size(); i++) {
                    JSONObject jsonObject = jsonArray.getJSONObject(i);
                    Integer id = jsonObject.getInteger("id");
                    Long id = jsonObject.getLong("id");
                    //是否是学员(0=否,1=是)
                    Integer isStudent = jsonObject.getInteger("isStudent");
                    if(0 == isStudent){
                        return ResultUtil.error("非学员无法使用课时报名");
                    }
                    List<CoursePackageOrderStudent> coursePackageOrderStudent = coursePackageOrderStudentClient.getCoursePackageOrderStudent(id);
                    List<CoursePackageOrderStudent> coursePackageOrderStudent = coursePackageOrderStudentClient.getCoursePackageOrderStudent(id.intValue());
                    int sum = coursePackageOrderStudent.stream().mapToInt(CoursePackageOrderStudent::getLaveClassHours).sum();
                    if(sum < worldCup.getClassHour()){
                        return ResultUtil.error("报名失败,课时不足,请续课!");
@@ -547,7 +575,7 @@
                //添加报名明细
                for (int i = 0; i < jsonArray.size(); i++) {
                    JSONObject jsonObject = jsonArray.getJSONObject(i);
                    Integer id = jsonObject.getInteger("id");
                    Long id = jsonObject.getLong("id");
                    //是否是学员(0=否,1=是)
                    Integer isStudent = jsonObject.getInteger("isStudent");
@@ -576,7 +604,7 @@
            JSONArray jsonArray = JSON.parseArray(ids);
            for (int i = 0; i < jsonArray.size(); i++) {
                JSONObject jsonObject = jsonArray.getJSONObject(i);
                Integer id = jsonObject.getInteger("id");
                Long id = jsonObject.getLong("id");
                //是否是学员(0=否,1=是)
                Integer isStudent = jsonObject.getInteger("isStudent");
@@ -614,7 +642,7 @@
        JSONArray jsonArray = JSON.parseArray(ids);
        for (int i = 0; i < jsonArray.size(); i++) {
            JSONObject jsonObject = jsonArray.getJSONObject(i);
            Integer id = jsonObject.getInteger("id");
            Long id = jsonObject.getLong("id");
            //是否是学员(0=否,1=是)
            Integer isStudent = jsonObject.getInteger("isStudent");