From f25005e032ca124b0f6627a7192a034f08e680c9 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期二, 12 三月 2024 14:16:02 +0800
Subject: [PATCH] 修改bug

---
 cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/controller/WorldCupController.java |   18 +++++++++
 cloud-server-management/src/main/java/com/dsh/course/feignClient/communityWorldCup/WorldCupClient.java    |    8 ++++
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/WorldCupController.java |    5 ++
 cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java              |    1 
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/RefereeController.java  |    8 ++++
 cloud-server-account/src/main/java/com/dsh/account/controller/RefereeController.java                      |   15 +++++++
 cloud-server-management/src/main/webapp/static/modular/system/worldCup/registeredPersonnel.js             |    2 
 cloud-server-management/src/main/java/com/dsh/course/feignClient/account/RefereeClient.java               |    9 ++++
 8 files changed, 65 insertions(+), 1 deletions(-)

diff --git a/cloud-server-account/src/main/java/com/dsh/account/controller/RefereeController.java b/cloud-server-account/src/main/java/com/dsh/account/controller/RefereeController.java
index 7f90a0c..c80395f 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/controller/RefereeController.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/controller/RefereeController.java
@@ -1,5 +1,6 @@
 package com.dsh.account.controller;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.dsh.account.entity.Referee;
 import com.dsh.account.model.RefereeList;
@@ -60,6 +61,20 @@
     public Referee getRefereeById(@RequestBody Integer id){
         return refereeService.getById(id);
     }
+    
+    
+    /**
+     * 根据电话号码查询
+     * @param phone
+     * @return
+     */
+    @PostMapping("/referee/getRefereeByPhone")
+    public Referee getRefereeByPhone(String phone){
+        return refereeService.getOne(new QueryWrapper<Referee>()
+                .eq("phone", phone).ne("state", 3));
+    }
+    
+    
 
 
     /**
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java b/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java
index 1a576bf..85c9a57 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java
@@ -1547,6 +1547,7 @@
         List<Map<String, Object>> mapList = new ArrayList<>();
         LambdaQueryWrapper<UserPointsMerchandise> userPointsMerchandiseLambdaQueryWrapper = new LambdaQueryWrapper<>();
         userPointsMerchandiseLambdaQueryWrapper.eq(UserPointsMerchandise::getPointsMerchandiseId, pointMercharsPayedVo.getId());
+        userPointsMerchandiseLambdaQueryWrapper.eq(UserPointsMerchandise::getPayStatus, 2).eq(UserPointsMerchandise::getState, 1);
         if (ToolUtil.isNotEmpty(pointMercharsPayedVo.getStatus())) {
             userPointsMerchandiseLambdaQueryWrapper.eq(UserPointsMerchandise::getStatus, pointMercharsPayedVo.getStatus());
         }
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 223f489..ffb7485 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
@@ -831,4 +831,22 @@
     public Map<String, Object> userGameRecordList(@RequestBody UserGameRecordList userGameRecordList){
         return worldCupCompetitorService.userGameRecordList(userGameRecordList);
     }
+    
+    
+    /**
+     * 获取已报名人数
+     * @param worldCupId
+     * @return
+     */
+    @ResponseBody
+    @PostMapping("/worldCup/getRegisteredNumber")
+    public int getRegisteredNumber(@RequestBody Integer worldCupId){
+        List<WorldCupPayment> list = worldCupPaymentService.list(new QueryWrapper<WorldCupPayment>().eq("worldCupId", worldCupId)
+                .eq("payStatus", 2).eq("state", 1));
+        List<Long> collect = list.stream().map(WorldCupPayment::getId).collect(Collectors.toList());
+        if(collect.size() == 0){
+            return 0;
+        }
+        return worldCupPaymentParticipantService.getCount(worldCupId, collect);
+    }
 }
diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/account/RefereeClient.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/account/RefereeClient.java
index ee55510..064d082 100644
--- a/cloud-server-management/src/main/java/com/dsh/course/feignClient/account/RefereeClient.java
+++ b/cloud-server-management/src/main/java/com/dsh/course/feignClient/account/RefereeClient.java
@@ -39,6 +39,15 @@
      */
     @PostMapping("/referee/getRefereeById")
     Referee getRefereeById(Integer id);
+    
+    
+    /**
+     * 根据电话号码查询
+     * @param phone
+     * @return
+     */
+    @PostMapping("/referee/getRefereeByPhone")
+    Referee getRefereeByPhone(String phone);
 
 
     /**
diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/communityWorldCup/WorldCupClient.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/communityWorldCup/WorldCupClient.java
index 73913f5..59dbee3 100644
--- a/cloud-server-management/src/main/java/com/dsh/course/feignClient/communityWorldCup/WorldCupClient.java
+++ b/cloud-server-management/src/main/java/com/dsh/course/feignClient/communityWorldCup/WorldCupClient.java
@@ -121,4 +121,12 @@
      */
     @PostMapping("/worldCup/userGameRecordList")
     Map<String, Object> userGameRecordList(UserGameRecordList userGameRecordList);
+    
+    /**
+     * 获取已报名人数
+     * @param id
+     * @return
+     */
+    @PostMapping("/worldCup/getRegisteredNumber")
+    int getRegisteredNumber(Integer worldCupId);
 }
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/RefereeController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/RefereeController.java
index feaf9b9..627a049 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/RefereeController.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/RefereeController.java
@@ -64,6 +64,10 @@
     @ResponseBody
     @PostMapping("/addReferee")
     public ResultUtil addReferee(Referee referee){
+        Referee refereeByPhone = refereeClient.getRefereeByPhone(referee.getPhone());
+        if(null != refereeByPhone){
+            return ResultUtil.error("电话号码已使用");
+        }
         Region region = regionService.getOne(new QueryWrapper<Region>().eq("code", referee.getProvinceCode()));
         referee.setProvince(region.getName());
         region = regionService.getOne(new QueryWrapper<Region>().eq("code", referee.getCityCode()));
@@ -101,6 +105,10 @@
     @ResponseBody
     @PostMapping("/editReferee")
     public ResultUtil editReferee(Referee referee){
+        Referee refereeByPhone = refereeClient.getRefereeByPhone(referee.getPhone());
+        if(null != refereeByPhone && !referee.getId().equals(refereeByPhone.getId())){
+            return ResultUtil.error("电话号码已使用");
+        }
         Region region = regionService.getOne(new QueryWrapper<Region>().eq("code", referee.getProvinceCode()));
         referee.setProvince(region.getName());
         region = regionService.getOne(new QueryWrapper<Region>().eq("code", referee.getCityCode()));
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/WorldCupController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/WorldCupController.java
index 4249541..44a299b 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/WorldCupController.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/WorldCupController.java
@@ -199,6 +199,11 @@
         if(worldCup1.getStartTime().before(DateUtil.getDate())){
             return ResultUtil.error("赛事已开始,不能编辑");
         }
+        Integer maxPeople = worldCup1.getMaxPeople();
+        int registeredNumber = worldCupClient.getRegisteredNumber(worldCup.getId());
+        if(maxPeople.compareTo(registeredNumber) < 0){
+            return ResultUtil.error("报名人数不能小于已报名人数");
+        }
         if(worldCup.getStartTime().before(new Date())){
             worldCup.setStatus(2);
         }else{
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/worldCup/registeredPersonnel.js b/cloud-server-management/src/main/webapp/static/modular/system/worldCup/registeredPersonnel.js
index c9f7d6f..e425834 100644
--- a/cloud-server-management/src/main/webapp/static/modular/system/worldCup/registeredPersonnel.js
+++ b/cloud-server-management/src/main/webapp/static/modular/system/worldCup/registeredPersonnel.js
@@ -21,7 +21,7 @@
         {title: '身份证号', field: 'idcard', visible: true, align: 'center', valign: 'middle'},
         {title: '二维码', field: '', visible: true, align: 'center', valign: 'middle',
             formatter:function (data, item) {
-                return '<a href="#" onclick="RegisteredPersonnel.openQRCode(' + item.id + ', ' + item.isStudent + ',\'' + item.name + '\')">二维码</a>'
+                return '<a href="#" onclick="RegisteredPersonnel.openQRCode(' + item.id + ', ' + item.isStudent + ',\'' + item.name + '\')">查看</a>'
             }
         },
         {title: '状态', field: 'state', visible: true, align: 'center', valign: 'middle',

--
Gitblit v1.7.1