From fe98baa55c34db41b158187f9c1837a269ec169b Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期一, 11 三月 2024 18:28:17 +0800 Subject: [PATCH] 修改bug --- cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/IWorldCupService.java | 7 +++++++ cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupServiceImpl.java | 31 +++++++++++++++++++++++++++++-- cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/controller/WorldCupController.java | 5 ++++- cloud-server-communityWorldCup/src/main/resources/mapper/WorldCupMapper.xml | 9 +++++++++ cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/mapper/WorldCupMapper.java | 7 +++++++ 5 files changed, 56 insertions(+), 3 deletions(-) diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/controller/WorldCupController.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/controller/WorldCupController.java index e0b910f..223f489 100644 --- a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/controller/WorldCupController.java +++ b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/controller/WorldCupController.java @@ -648,7 +648,10 @@ worldCup.setProvinceCode(provinceCode); worldCup.setCity(city.replace("市", "")); worldCup.setCityCode(cityCode); - worldCupService.updateById(worldCup); + WorldCup worldCup1 = worldCupService.getById(worldCup.getId()); + worldCup.setCreateTime(worldCup1.getCreateTime()); + worldCup.setMatchNumber(worldCup1.getMatchNumber()); + worldCupService.updateWorldCupAll(worldCup); return worldCup.getId(); } diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/mapper/WorldCupMapper.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/mapper/WorldCupMapper.java index 663c605..d4e4be6 100644 --- a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/mapper/WorldCupMapper.java +++ b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/mapper/WorldCupMapper.java @@ -60,4 +60,11 @@ int worldCupGameStatisticsCount(@Param("item") WorldCupGameStatistics worldCupGameStatistics); + + + /** + * 修改所有参数 + * @param worldCup + */ + void updateWorldCupAll(@Param("item") WorldCup worldCup); } diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/IWorldCupService.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/IWorldCupService.java index d690f64..518eb82 100644 --- a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/IWorldCupService.java +++ b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/IWorldCupService.java @@ -107,4 +107,11 @@ * @return */ Map<String, Object> worldCupGameStatistics(WorldCupGameStatistics worldCupGameStatistics); + + + /** + * 修改所有参数 + * @param worldCup + */ + void updateWorldCupAll(WorldCup worldCup); } 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 cd2e3db..9c71445 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 @@ -388,11 +388,23 @@ if(System.currentTimeMillis() > worldCup.getEndTime().getTime()){ return ResultUtil.error("世界杯赛事已结束,无法完成报名"); } + + String cupIds = paymentWorldCup.getIds(); + JSONArray jsonArray = JSON.parseArray(cupIds); + List<WorldCupPayment> payments = worldCupPaymentService.list(new QueryWrapper<WorldCupPayment>().eq("worldCupId", worldCup.getId()) + .eq("payStatus", 2).eq("state", 1)); + List<Long> ids = payments.stream().map(WorldCupPayment::getId).collect(Collectors.toList()); + if(ids.size() > 0){ + int count = worldCupPaymentParticipantService.count(new QueryWrapper<WorldCupPaymentParticipant>().eq("worldCupId", worldCup.getId()) + .eq("worldCupPaymentId", ids)); + if((count + jsonArray.size()) >= worldCup.getMatchNumber()){ + 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); @@ -401,6 +413,9 @@ Integer isStudent = jsonObject.getInteger("isStudent"); if(isStudent == 1){ TStudent tStudent = studentClient.queryById(id.intValue()); + if(worldCup.getGender() != 0 && !tStudent.getSex().equals(worldCup.getGender())){ + return ResultUtil.error("此比赛只能是" + (worldCup.getGender() == 1 ? "男" : "女") + "性参加"); + } 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)); @@ -417,6 +432,9 @@ } }else{ Participant participant = participantClient.getParticipant(id); + if(worldCup.getGender() != 0 && !participant.getGender().equals(worldCup.getGender())){ + return ResultUtil.error("此比赛只能是" + (worldCup.getGender() == 1 ? "男" : "女") + "性参加"); + } 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)); @@ -827,4 +845,13 @@ map.put("total", count); return map; } + + /** + * 修改所有参数 + * @param worldCup + */ + @Override + public void updateWorldCupAll(WorldCup worldCup) { + this.baseMapper.updateWorldCupAll(worldCup); + } } diff --git a/cloud-server-communityWorldCup/src/main/resources/mapper/WorldCupMapper.xml b/cloud-server-communityWorldCup/src/main/resources/mapper/WorldCupMapper.xml index b8ffd67..ce40991 100644 --- a/cloud-server-communityWorldCup/src/main/resources/mapper/WorldCupMapper.xml +++ b/cloud-server-communityWorldCup/src/main/resources/mapper/WorldCupMapper.xml @@ -148,4 +148,13 @@ and a.`name` like CONCAT('%', #{item.name}, '%') </if> </select> + + + + <update id="updateWorldCupAll"> + update t_world_cup set name = #{item.name}, startTime = #{item.startTime}, endTime = #{item.endTime}, registrationClosingTime = #{item.registrationClosingTime}, startAge = #{item.startAge}, endAge = #{item.endAge}, + gender = #{item.gender}, payType = #{item.payType}, cash = #{item.cash}, paiCoin = #{item.paiCoin}, classHour = #{item.classHour}, maxPeople = #{item.maxPeople}, basePeople = #{item.basePeople}, participationIntegral = #{item.participationIntegral}, + winIntegral = #{item.winIntegral}, province = #{item.province}, provinceCode = #{item.provinceCode}, city = #{item.city}, cityCode = #{item.cityCode}, address = #{item.address}, lon = #{item.lon}, lat = #{item.lat}, coverImg = #{item.coverImg}, homeBackdropImg = #{item.homeBackdropImg}, + infoImg = #{item.infoImg}, intro = #{item.intro}, content = #{item.content}, status = #{item.status}, createTime = #{item.createTime}, matchNumber = #{item.matchNumber} where id = #{item.id} + </update> </mapper> \ No newline at end of file -- Gitblit v1.7.1