4 Комити fc2713b295 ... ec30cf3ea2

Аутор SHA1 Порука Датум
  zhou ec30cf3ea2 feat(game): 新增无权限查询参赛队员列表方法 пре 1 недеља
  zhou e6421fef1b feat(game-event): 添加数据权限控制的数据查询方法 пре 1 недеља
  zhou 2b73fde505 feat(game-event): 优化二维码数据生成逻辑 пре 1 недеља
  zhou 1baa96aea8 feat(game): 修改运动员身份标识字段为编号 пре 2 недеља
21 измењених фајлова са 433 додато и 184 уклоњено
  1. 11 0
      ruoyi-common/ruoyi-common-satoken/src/main/java/org/dromara/common/satoken/handler/SaTokenExceptionHandler.java
  2. 1 1
      ruoyi-modules/ruoyi-game-event/src/main/java/org/dromara/system/domain/vo/app/PhysicalDeviceVo.java
  3. 1 1
      ruoyi-modules/ruoyi-game-event/src/main/java/org/dromara/system/domain/vo/app/PhysicalTestVo.java
  4. 30 0
      ruoyi-modules/ruoyi-game-event/src/main/java/org/dromara/system/mapper/AdviceMapper.java
  5. 24 0
      ruoyi-modules/ruoyi-game-event/src/main/java/org/dromara/system/mapper/GameAthleteMapper.java
  6. 28 0
      ruoyi-modules/ruoyi-game-event/src/main/java/org/dromara/system/mapper/GameEventConfigMapper.java
  7. 28 0
      ruoyi-modules/ruoyi-game-event/src/main/java/org/dromara/system/mapper/GameEventGroupMapper.java
  8. 29 58
      ruoyi-modules/ruoyi-game-event/src/main/java/org/dromara/system/mapper/GameEventMapper.java
  9. 33 0
      ruoyi-modules/ruoyi-game-event/src/main/java/org/dromara/system/mapper/GameEventProjectMapper.java
  10. 27 0
      ruoyi-modules/ruoyi-game-event/src/main/java/org/dromara/system/mapper/GameRefereeMapper.java
  11. 31 0
      ruoyi-modules/ruoyi-game-event/src/main/java/org/dromara/system/mapper/GameTeamMapper.java
  12. 7 0
      ruoyi-modules/ruoyi-game-event/src/main/java/org/dromara/system/service/IGameAthleteService.java
  13. 4 2
      ruoyi-modules/ruoyi-game-event/src/main/java/org/dromara/system/service/impl/AdviceServiceImpl.java
  14. 58 2
      ruoyi-modules/ruoyi-game-event/src/main/java/org/dromara/system/service/impl/GameAthleteServiceImpl.java
  15. 4 2
      ruoyi-modules/ruoyi-game-event/src/main/java/org/dromara/system/service/impl/GameEventConfigServiceImpl.java
  16. 5 3
      ruoyi-modules/ruoyi-game-event/src/main/java/org/dromara/system/service/impl/GameEventGroupServiceImpl.java
  17. 8 4
      ruoyi-modules/ruoyi-game-event/src/main/java/org/dromara/system/service/impl/GameEventProjectServiceImpl.java
  18. 93 103
      ruoyi-modules/ruoyi-game-event/src/main/java/org/dromara/system/service/impl/GameEventServiceImpl.java
  19. 4 2
      ruoyi-modules/ruoyi-game-event/src/main/java/org/dromara/system/service/impl/GameRefereeServiceImpl.java
  20. 3 2
      ruoyi-modules/ruoyi-game-event/src/main/java/org/dromara/system/service/impl/GameTeamServiceImpl.java
  21. 4 4
      ruoyi-modules/ruoyi-game-event/src/main/java/org/dromara/system/service/impl/app/PhysicalTestServiceImpl.java

+ 11 - 0
ruoyi-common/ruoyi-common-satoken/src/main/java/org/dromara/common/satoken/handler/SaTokenExceptionHandler.java

@@ -3,6 +3,7 @@ package org.dromara.common.satoken.handler;
 import cn.dev33.satoken.exception.NotLoginException;
 import cn.dev33.satoken.exception.NotPermissionException;
 import cn.dev33.satoken.exception.NotRoleException;
+import cn.dev33.satoken.exception.SaTokenContextException;
 import cn.hutool.http.HttpStatus;
 import jakarta.servlet.http.HttpServletRequest;
 import lombok.extern.slf4j.Slf4j;
@@ -49,4 +50,14 @@ public class SaTokenExceptionHandler {
         return R.fail(HttpStatus.HTTP_UNAUTHORIZED, "认证失败,无法访问系统资源");
     }
 
+    /**
+     * SaToken上下文异常
+     */
+    @ExceptionHandler(SaTokenContextException.class)
+    public R<Void> handleSaTokenContextException(SaTokenContextException e, HttpServletRequest request) {
+        String requestURI = request.getRequestURI();
+        log.error("请求地址'{}',SaToken上下文异常'{}'", requestURI, e.getMessage());
+        return R.fail(HttpStatus.HTTP_INTERNAL_ERROR, "系统内部错误,请稍后重试");
+    }
+
 }

+ 1 - 1
ruoyi-modules/ruoyi-game-event/src/main/java/org/dromara/system/domain/vo/app/PhysicalDeviceVo.java

@@ -15,7 +15,7 @@ public class PhysicalDeviceVo{
 
     @Data
     public static class Record{
-        //学号-映射运动员身份证
+        //学号-映射运动员
         private String stuNo;
         //学生姓名--运动员姓名
         private String name;

+ 1 - 1
ruoyi-modules/ruoyi-game-event/src/main/java/org/dromara/system/domain/vo/app/PhysicalTestVo.java

@@ -13,7 +13,7 @@ public class PhysicalTestVo {
     //项目key
     @JsonProperty("testkey")
     private String testKey;
-    //对应学生身份证
+    //对应学生
     @JsonProperty("user_id")
     private String userId;
     //学生姓名

+ 30 - 0
ruoyi-modules/ruoyi-game-event/src/main/java/org/dromara/system/mapper/AdviceMapper.java

@@ -1,8 +1,17 @@
 package org.dromara.system.mapper;
 
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.apache.ibatis.annotations.Mapper;
+import org.dromara.common.mybatis.annotation.DataColumn;
+import org.dromara.common.mybatis.annotation.DataPermission;
 import org.dromara.system.domain.Advice;
+import org.dromara.system.domain.GameEventGroup;
 import org.dromara.system.domain.vo.AdviceVo;
 import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
+import org.dromara.system.domain.vo.GameEventGroupVo;
+
+import java.util.List;
 
 /**
  * 用户反馈建议Mapper接口
@@ -10,6 +19,27 @@ import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
  * @author wenkai
  * @date 2025-08-18
  */
+@Mapper
 public interface AdviceMapper extends BaseMapperPlus<Advice, AdviceVo> {
+    /**
+     * 分页查询队伍列表,并进行数据权限控制
+     */
+    @DataPermission({
+        @DataColumn(key = "deptName", value = "create_dept"),
+        @DataColumn(key = "userName", value = "create_by")
+    })
+    default Page<AdviceVo> selectPageAdviceList(Page<Advice> page, Wrapper<Advice> queryWrapper) {
+        return this.selectVoPage(page, queryWrapper);
+    }
 
+    /**
+     * 获取队伍列表,并进行数据权限控制
+     */
+    @DataPermission({
+        @DataColumn(key = "deptName", value = "create_dept"),
+        @DataColumn(key = "userName", value = "create_by")
+    })
+    default List<AdviceVo> selectAdviceList(Wrapper<Advice> queryWrapper) {
+        return this.selectVoList(queryWrapper);
+    }
 }

+ 24 - 0
ruoyi-modules/ruoyi-game-event/src/main/java/org/dromara/system/mapper/GameAthleteMapper.java

@@ -1,12 +1,18 @@
 package org.dromara.system.mapper;
 
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
+import org.dromara.common.mybatis.annotation.DataColumn;
+import org.dromara.common.mybatis.annotation.DataPermission;
 import org.dromara.system.domain.GameAthlete;
+import org.dromara.system.domain.GameEventProject;
 import org.dromara.system.domain.bo.GameAthleteBo;
 import org.dromara.system.domain.vo.GameAthleteVo;
 import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
+import org.dromara.system.domain.vo.GameEventProjectVo;
 
 import java.util.Collection;
 import java.util.List;
@@ -20,6 +26,24 @@ import java.util.Map;
  */
 @Mapper
 public interface GameAthleteMapper extends BaseMapperPlus<GameAthlete, GameAthleteVo> {
+    /**
+     * 分页查询运动员列表
+     */
+    @DataPermission({
+        @DataColumn(key = "deptName", value = "create_dept"),
+        @DataColumn(key = "userName", value = "create_by")
+    })
+    default Page<GameAthleteVo> selectPageAthleteList(Page<GameAthlete> page, Wrapper<GameAthlete> queryWrapper) {
+        return this.selectVoPage(page, queryWrapper);
+    }
+
+    @DataPermission({
+        @DataColumn(key = "deptName", value = "create_dept"),
+        @DataColumn(key = "userName", value = "create_by")
+    })
+    default List<GameAthleteVo> selectAthleteList(Wrapper<GameAthlete> queryWrapper) {
+        return this.selectVoList(queryWrapper);
+    }
 
     @Select("select * from game_athlete where user_id = #{userId} AND del_flag = '0'")
     GameAthlete selectByUserId(Long userId);

+ 28 - 0
ruoyi-modules/ruoyi-game-event/src/main/java/org/dromara/system/mapper/GameEventConfigMapper.java

@@ -1,8 +1,16 @@
 package org.dromara.system.mapper;
 
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.dromara.common.mybatis.annotation.DataColumn;
+import org.dromara.common.mybatis.annotation.DataPermission;
 import org.dromara.system.domain.GameEventConfig;
+import org.dromara.system.domain.GameReferee;
 import org.dromara.system.domain.vo.GameEventConfigVo;
 import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
+import org.dromara.system.domain.vo.GameRefereeVo;
+
+import java.util.List;
 
 /**
  * 赛事配置Mapper接口
@@ -11,5 +19,25 @@ import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
  * @date 2025-07-30
  */
 public interface GameEventConfigMapper extends BaseMapperPlus<GameEventConfig, GameEventConfigVo> {
+    /**
+     * 分页查询队伍列表,并进行数据权限控制
+     */
+    @DataPermission({
+        @DataColumn(key = "deptName", value = "create_dept"),
+        @DataColumn(key = "userName", value = "create_by")
+    })
+    default Page<GameEventConfigVo> selectPageEventConfigList(Page<GameEventConfig> page, Wrapper<GameEventConfig> queryWrapper) {
+        return this.selectVoPage(page, queryWrapper);
+    }
 
+    /**
+     * 获取队伍列表,并进行数据权限控制
+     */
+    @DataPermission({
+        @DataColumn(key = "deptName", value = "create_dept"),
+        @DataColumn(key = "userName", value = "create_by")
+    })
+    default List<GameEventConfigVo> selectEventConfigList(Wrapper<GameEventConfig> queryWrapper) {
+        return this.selectVoList(queryWrapper);
+    }
 }

+ 28 - 0
ruoyi-modules/ruoyi-game-event/src/main/java/org/dromara/system/mapper/GameEventGroupMapper.java

@@ -1,9 +1,17 @@
 package org.dromara.system.mapper;
 
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import org.apache.ibatis.annotations.Mapper;
+import org.dromara.common.mybatis.annotation.DataColumn;
+import org.dromara.common.mybatis.annotation.DataPermission;
 import org.dromara.system.domain.GameEventGroup;
+import org.dromara.system.domain.GameReferee;
 import org.dromara.system.domain.vo.GameEventGroupVo;
 import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
+import org.dromara.system.domain.vo.GameRefereeVo;
+
+import java.util.List;
 
 /**
  * 赛事分组Mapper接口
@@ -13,5 +21,25 @@ import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
  */
 @Mapper
 public interface GameEventGroupMapper extends BaseMapperPlus<GameEventGroup, GameEventGroupVo> {
+    /**
+     * 分页查询队伍列表,并进行数据权限控制
+     */
+    @DataPermission({
+        @DataColumn(key = "deptName", value = "create_dept"),
+        @DataColumn(key = "userName", value = "create_by")
+    })
+    default Page<GameEventGroupVo> selectPageEventGroupList(Page<GameEventGroup> page, Wrapper<GameEventGroup> queryWrapper) {
+        return this.selectVoPage(page, queryWrapper);
+    }
 
+    /**
+     * 获取队伍列表,并进行数据权限控制
+     */
+    @DataPermission({
+        @DataColumn(key = "deptName", value = "create_dept"),
+        @DataColumn(key = "userName", value = "create_by")
+    })
+    default List<GameEventGroupVo> selectEventGroupList(Wrapper<GameEventGroup> queryWrapper) {
+        return this.selectVoList(queryWrapper);
+    }
 }

+ 29 - 58
ruoyi-modules/ruoyi-game-event/src/main/java/org/dromara/system/mapper/GameEventMapper.java

@@ -22,62 +22,33 @@ import java.util.List;
 @Mapper
 public interface GameEventMapper extends BaseMapperPlus<GameEvent, GameEventVo> {
 
-//    /**
-//     * 分页查询赛事列表,并进行数据权限控制
-//     * 注意:如果赛事表没有部门字段,需要根据业务需求调整
-//     * 例如:如果赛事通过创建人关联,可以使用 userName 来控制
-//     * 如果赛事通过部门关联,可以使用 deptName 来控制
-//     *
-//     * @param page         分页参数
-//     * @param queryWrapper 查询条件
-//     * @return 分页的赛事信息
-//     */
-//    @DataPermission({
-//        @DataColumn(key = "deptName", value = "create_dept"),
-//        @DataColumn(key = "userName", value = "create_by")
-//    })
-//    default Page<GameEventVo> selectPageEventList(Page<GameEvent> page, Wrapper<GameEvent> queryWrapper) {
-//        return this.selectVoPage(page, queryWrapper);
-//    }
-//
-//    /**
-//     * 查询赛事列表,并进行数据权限控制
-//     *
-//     * @param queryWrapper 查询条件
-//     * @return 赛事信息集合
-//     */
-//    @DataPermission({
-//        @DataColumn(key = "deptName", value = "create_dept"),
-//        @DataColumn(key = "userName", value = "create_by")
-//    })
-//    default List<GameEventVo> selectEventList(Wrapper<GameEvent> queryWrapper) {
-//        return this.selectVoList(queryWrapper);
-//    }
-//
-//    /**
-//     * 更新赛事数据,并进行数据权限控制
-//     *
-//     * @param event         要更新的赛事实体
-//     * @param updateWrapper 更新条件封装器
-//     * @return 更新操作影响的行数
-//     */
-//    @Override
-//    @DataPermission({
-//        @DataColumn(key = "deptName", value = "create_dept"),
-//        @DataColumn(key = "userName", value = "create_by")
-//    })
-//    int update(@Param(Constants.ENTITY) GameEvent event, @Param(Constants.WRAPPER) Wrapper<GameEvent> updateWrapper);
-//
-//    /**
-//     * 根据ID更新赛事数据,并进行数据权限控制
-//     *
-//     * @param event 要更新的赛事实体
-//     * @return 更新操作影响的行数
-//     */
-//    @Override
-//    @DataPermission({
-//        @DataColumn(key = "deptName", value = "create_dept"),
-//        @DataColumn(key = "userName", value = "create_by")
-//    })
-//    int updateById(@Param(Constants.ENTITY) GameEvent event);
+   /**
+    * 分页查询赛事列表,并进行数据权限控制
+    *
+    * @param page         分页参数
+    * @param queryWrapper 查询条件
+    * @return 分页的赛事信息
+    */
+   @DataPermission({
+       @DataColumn(key = "deptName", value = "create_dept"),
+       @DataColumn(key = "userName", value = "create_by")
+   })
+   default Page<GameEventVo> selectPageEventList(Page<GameEvent> page, Wrapper<GameEvent> queryWrapper) {
+       return this.selectVoPage(page, queryWrapper);
+   }
+
+   /**
+    * 查询赛事列表,并进行数据权限控制
+    *
+    * @param queryWrapper 查询条件
+    * @return 赛事信息集合
+    */
+   @DataPermission({
+       @DataColumn(key = "deptName", value = "create_dept"),
+       @DataColumn(key = "userName", value = "create_by")
+   })
+   default List<GameEventVo> selectEventList(Wrapper<GameEvent> queryWrapper) {
+       return this.selectVoList(queryWrapper);
+   }
+
 }

+ 33 - 0
ruoyi-modules/ruoyi-game-event/src/main/java/org/dromara/system/mapper/GameEventProjectMapper.java

@@ -1,10 +1,16 @@
 package org.dromara.system.mapper;
 
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import org.apache.ibatis.annotations.Mapper;
+import org.dromara.common.mybatis.annotation.DataColumn;
+import org.dromara.common.mybatis.annotation.DataPermission;
 import org.dromara.system.domain.GameEventProject;
 import org.dromara.system.domain.vo.GameEventProjectVo;
 import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
 
+import java.util.List;
+
 /**
  * 赛事项目Mapper接口
  *
@@ -13,5 +19,32 @@ import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
  */
 @Mapper
 public interface GameEventProjectMapper extends BaseMapperPlus<GameEventProject, GameEventProjectVo> {
+    /**
+     * 分页查询项目列表,并进行数据权限控制
+     *
+     * @param page         分页参数
+     * @param queryWrapper 查询条件
+     * @return 分页的赛事信息
+     */
+    @DataPermission({
+        @DataColumn(key = "deptName", value = "create_dept"),
+        @DataColumn(key = "userName", value = "create_by")
+    })
+    default Page<GameEventProjectVo> selectPageEventProjectList(Page<GameEventProject> page, Wrapper<GameEventProject> queryWrapper) {
+        return this.selectVoPage(page, queryWrapper);
+    }
 
+    /**
+     * 获取项目列表,并进行数据权限控制
+     *
+     * @param queryWrapper 筛选条件
+     * @return 项目列表
+     */
+    @DataPermission({
+        @DataColumn(key = "deptName", value = "create_dept"),
+        @DataColumn(key = "userName", value = "create_by")
+    })
+    default List<GameEventProjectVo> selectEventProjectList(Wrapper<GameEventProject> queryWrapper) {
+        return this.selectVoList(queryWrapper);
+    }
 }

+ 27 - 0
ruoyi-modules/ruoyi-game-event/src/main/java/org/dromara/system/mapper/GameRefereeMapper.java

@@ -1,12 +1,18 @@
 package org.dromara.system.mapper;
 
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
+import org.dromara.common.mybatis.annotation.DataColumn;
+import org.dromara.common.mybatis.annotation.DataPermission;
 import org.dromara.system.domain.GameReferee;
+import org.dromara.system.domain.GameTeam;
 import org.dromara.system.domain.bo.GameRefereeBo;
 import org.dromara.system.domain.vo.GameRefereeVo;
 import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
 import org.apache.ibatis.annotations.Mapper;
+import org.dromara.system.domain.vo.GameTeamVo;
 
 import java.util.Collection;
 import java.util.List;
@@ -19,6 +25,27 @@ import java.util.List;
  */
 @Mapper
 public interface GameRefereeMapper extends BaseMapperPlus<GameReferee, GameRefereeVo> {
+    /**
+     * 分页查询队伍列表,并进行数据权限控制
+     */
+    @DataPermission({
+        @DataColumn(key = "deptName", value = "create_dept"),
+        @DataColumn(key = "userName", value = "create_by")
+    })
+    default Page<GameRefereeVo> selectPageRefereeList(Page<GameReferee> page, Wrapper<GameReferee> queryWrapper) {
+        return this.selectVoPage(page, queryWrapper);
+    }
+
+    /**
+     * 获取队伍列表,并进行数据权限控制
+     */
+    @DataPermission({
+        @DataColumn(key = "deptName", value = "create_dept"),
+        @DataColumn(key = "userName", value = "create_by")
+    })
+    default List<GameRefereeVo> selectRefereeList(Wrapper<GameReferee> queryWrapper) {
+        return this.selectVoList(queryWrapper);
+    }
 
     /**
      * 根据项目id列表查询裁判(批量查询)

+ 31 - 0
ruoyi-modules/ruoyi-game-event/src/main/java/org/dromara/system/mapper/GameTeamMapper.java

@@ -1,9 +1,15 @@
 package org.dromara.system.mapper;
 
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Select;
+import org.dromara.common.mybatis.annotation.DataColumn;
+import org.dromara.common.mybatis.annotation.DataPermission;
+import org.dromara.system.domain.GameEventProject;
 import org.dromara.system.domain.GameTeam;
 import org.dromara.system.domain.bo.GameTeamBo;
+import org.dromara.system.domain.vo.GameEventProjectVo;
 import org.dromara.system.domain.vo.GameTeamVo;
 import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
 
@@ -18,6 +24,27 @@ import java.util.List;
  */
 @Mapper
 public interface GameTeamMapper extends BaseMapperPlus<GameTeam, GameTeamVo> {
+    /**
+     * 分页查询队伍列表,并进行数据权限控制
+     */
+    @DataPermission({
+        @DataColumn(key = "deptName", value = "create_dept"),
+        @DataColumn(key = "userName", value = "create_by")
+    })
+    default Page<GameTeamVo> selectPageTeamList(Page<GameTeam> page, Wrapper<GameTeam> queryWrapper) {
+        return this.selectVoPage(page, queryWrapper);
+    }
+
+    /**
+     * 获取队伍列表,并进行数据权限控制
+     */
+    @DataPermission({
+        @DataColumn(key = "deptName", value = "create_dept"),
+        @DataColumn(key = "userName", value = "create_by")
+    })
+    default List<GameTeamVo> selectTeamList(Wrapper<GameTeam> queryWrapper) {
+        return this.selectVoList(queryWrapper);
+    }
 
     @Select("""
                 SELECT * FROM game_team
@@ -54,5 +81,9 @@ public interface GameTeamMapper extends BaseMapperPlus<GameTeam, GameTeamVo> {
      * @param bo 查询条件
      * @return 队伍列表
      */
+    @DataPermission({
+        @DataColumn(key = "deptName", value = "create_dept"),
+        @DataColumn(key = "userName", value = "create_by")
+    })
     List<GameTeamVo> selectVoListWithGroupName(GameTeamBo bo);
 }

+ 7 - 0
ruoyi-modules/ruoyi-game-event/src/main/java/org/dromara/system/service/IGameAthleteService.java

@@ -52,6 +52,13 @@ public interface IGameAthleteService {
      * @return 参赛队员列表
      */
     List<GameAthleteVo> queryList(GameAthleteBo bo);
+    /**
+     * 没有使用数据权限的查询参赛队员列表方法
+     *
+     * @param bo 查询条件
+     * @return 参赛队员列表
+     */
+    List<GameAthleteVo> queryListNoPermission(GameAthleteBo bo);
 
     List<GameAthleteVo> exportData(GameAthleteBo bo);
 

+ 4 - 2
ruoyi-modules/ruoyi-game-event/src/main/java/org/dromara/system/service/impl/AdviceServiceImpl.java

@@ -63,7 +63,8 @@ public class AdviceServiceImpl implements IAdviceService {
         Long defaultEventId = Long.valueOf(cacheObject.toString());
         bo.setEventId(defaultEventId);
         LambdaQueryWrapper<Advice> lqw = buildQueryWrapper(bo);
-        Page<AdviceVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
+//        Page<AdviceVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
+        Page<AdviceVo> result = baseMapper.selectPageAdviceList(pageQuery.build(), lqw);
         //提前查询出队伍id和name的映射并缓存
         Set<Long> ids = result.getRecords()
             .stream()
@@ -86,7 +87,8 @@ public class AdviceServiceImpl implements IAdviceService {
     @Override
     public List<AdviceVo> queryList(AdviceBo bo) {
         LambdaQueryWrapper<Advice> lqw = buildQueryWrapper(bo);
-        return baseMapper.selectVoList(lqw);
+//        return baseMapper.selectVoList(lqw);
+        return baseMapper.selectAdviceList(lqw);
     }
 
     private LambdaQueryWrapper<Advice> buildQueryWrapper(AdviceBo bo) {

+ 58 - 2
ruoyi-modules/ruoyi-game-event/src/main/java/org/dromara/system/service/impl/GameAthleteServiceImpl.java

@@ -194,7 +194,8 @@ public class GameAthleteServiceImpl implements IGameAthleteService {
             }
         }
         LambdaQueryWrapper<GameAthlete> lqw = buildQueryWrapper(bo);
-        Page<GameAthleteVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
+//        Page<GameAthleteVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
+        Page<GameAthleteVo> result = baseMapper.selectPageAthleteList(pageQuery.build(), lqw);
         result.getRecords().stream()
             .map(vo -> {
                 Optional.ofNullable(vo.getProjectValue())
@@ -238,7 +239,7 @@ public class GameAthleteServiceImpl implements IGameAthleteService {
                     });
                 return vo;
             })
-            .collect(Collectors.toList());  // 收集结果
+            .toList();  // 收集结果
         return TableDataInfo.build(result);
     }
 
@@ -259,7 +260,62 @@ public class GameAthleteServiceImpl implements IGameAthleteService {
             }
         }
         LambdaQueryWrapper<GameAthlete> lqw = buildQueryWrapper(bo);
+//        List<GameAthleteVo> athleteList = baseMapper.selectVoList(lqw);
+        List<GameAthleteVo> athleteList = baseMapper.selectAthleteList(lqw);
+        athleteList.forEach(vo -> {
+            Optional.ofNullable(vo.getProjectValue())
+                .filter(StringUtils::isNotBlank)
+                .ifPresent(projectValue -> {
+                    log.debug("解析运动员 {} 的项目数据 - projectValue: {}", vo.getName(), projectValue);
+                    try {
+                        List<Long> projects = JSONUtil.toList(projectValue, Long.class);
+                        vo.setProjectList(projects);
+                        log.debug("解析成功 - 运动员: {}, 项目列表: {}", vo.getName(), projects);
+                    } catch (Exception e) {
+                        log.error("解析项目数据失败 - 运动员: {}, projectValue: {}, 错误: {}", vo.getName(), projectValue, e.getMessage());
+                        vo.setProjectList(new ArrayList<>());
+                    }
+                });
+            Optional.ofNullable(vo.getEventId())
+                .filter(ObjectUtil::isNotEmpty)
+                .ifPresent(eventId -> {
+                    GameEventVo gameEventVo = gameEventService.queryById(vo.getEventId());
+                    if (gameEventVo != null) {
+                        vo.setEventName(gameEventVo.getEventName());
+                    } else {
+                        log.warn("赛事ID {} 对应的赛事信息不存在", eventId);
+                        vo.setEventName("未知赛事");
+                    }
+                });
+            Optional.ofNullable(vo.getTeamId())
+                .filter(ObjectUtil::isNotEmpty)
+                .ifPresent(teamId -> {
+                    GameTeamVo gameTeamVo = gameTeamService.queryById(vo.getTeamId());
+                    if (gameTeamVo != null) {
+                        vo.setTeamName(gameTeamVo.getTeamName());
+                    } else {
+                        log.warn("队伍ID {} 对应的队伍信息不存在", teamId);
+                        vo.setTeamName("未知队伍");
+                    }
+                });
+        });
+
+        return athleteList;
+    }
+
+    @Override
+    public List<GameAthleteVo> queryListNoPermission(GameAthleteBo bo) {
+        if (bo.getEventId() == null) {
+            Object cacheObject = RedisUtils.getCacheObject(GameEventConstant.DEFAULT_EVENT_ID);
+            if (cacheObject instanceof Integer) {
+                bo.setEventId(((Integer) cacheObject).longValue());  // 显式转换为 Long 类型
+            } else if (cacheObject instanceof Long) {
+                bo.setEventId((Long) cacheObject);
+            }
+        }
+        LambdaQueryWrapper<GameAthlete> lqw = buildQueryWrapper(bo);
         List<GameAthleteVo> athleteList = baseMapper.selectVoList(lqw);
+//        List<GameAthleteVo> athleteList = baseMapper.selectAthleteList(lqw);
         athleteList.forEach(vo -> {
             Optional.ofNullable(vo.getProjectValue())
                 .filter(StringUtils::isNotBlank)

+ 4 - 2
ruoyi-modules/ruoyi-game-event/src/main/java/org/dromara/system/service/impl/GameEventConfigServiceImpl.java

@@ -64,7 +64,8 @@ public class GameEventConfigServiceImpl implements IGameEventConfigService {
             }
         }
         LambdaQueryWrapper<GameEventConfig> lqw = buildQueryWrapper(bo);
-        Page<GameEventConfigVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
+//        Page<GameEventConfigVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
+        Page<GameEventConfigVo> result = baseMapper.selectPageEventConfigList(pageQuery.build(), lqw);
         return TableDataInfo.build(result);
     }
 
@@ -85,7 +86,8 @@ public class GameEventConfigServiceImpl implements IGameEventConfigService {
             }
         }
         LambdaQueryWrapper<GameEventConfig> lqw = buildQueryWrapper(bo);
-        return baseMapper.selectVoList(lqw);
+//        return baseMapper.selectVoList(lqw);
+        return baseMapper.selectEventConfigList(lqw);
     }
 
     private LambdaQueryWrapper<GameEventConfig> buildQueryWrapper(GameEventConfigBo bo) {

+ 5 - 3
ruoyi-modules/ruoyi-game-event/src/main/java/org/dromara/system/service/impl/GameEventGroupServiceImpl.java

@@ -113,7 +113,8 @@ public class GameEventGroupServiceImpl implements IGameEventGroupService {
             }
         }
         LambdaQueryWrapper<GameEventGroup> lqw = buildQueryWrapper(bo);
-        Page<GameEventGroupVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
+//        Page<GameEventGroupVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
+        Page<GameEventGroupVo> result = baseMapper.selectPageEventGroupList(pageQuery.build(), lqw);
         result.getRecords().stream()
             .map(vo -> {
                 Optional.ofNullable(vo.getProjectList())
@@ -131,7 +132,7 @@ public class GameEventGroupServiceImpl implements IGameEventGroupService {
                     });
                 return vo;
             })
-            .collect(Collectors.toList());  // 收集结果
+            .toList();  // 收集结果
         return TableDataInfo.build(result);
     }
 
@@ -152,7 +153,8 @@ public class GameEventGroupServiceImpl implements IGameEventGroupService {
             }
         }
         LambdaQueryWrapper<GameEventGroup> lqw = buildQueryWrapper(bo);
-        return baseMapper.selectVoList(lqw);
+//        return baseMapper.selectVoList(lqw);
+        return baseMapper.selectEventGroupList(lqw);
     }
 
     private LambdaQueryWrapper<GameEventGroup> buildQueryWrapper(GameEventGroupBo bo) {

+ 8 - 4
ruoyi-modules/ruoyi-game-event/src/main/java/org/dromara/system/service/impl/GameEventProjectServiceImpl.java

@@ -108,7 +108,8 @@ public class GameEventProjectServiceImpl implements IGameEventProjectService {
             }
         }
         LambdaQueryWrapper<GameEventProject> lqw = buildQueryWrapper(bo);
-        Page<GameEventProjectVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
+//        Page<GameEventProjectVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
+        Page<GameEventProjectVo> result = baseMapper.selectPageEventProjectList(pageQuery.build(), lqw);
 
         // 使用 forEach 直接修改原对象
         result.getRecords()
@@ -148,7 +149,8 @@ public class GameEventProjectServiceImpl implements IGameEventProjectService {
 
         // 构建查询条件,排除默认赛事ID
         LambdaQueryWrapper<GameEventProject> lqw = buildQueryWrapperForProjectLibrary(bo, defaultEventID);
-        Page<GameEventProjectVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
+//        Page<GameEventProjectVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
+        Page<GameEventProjectVo> result = baseMapper.selectPageEventProjectList(pageQuery.build(), lqw);
 
         // 处理记录
         result.getRecords().forEach(record -> {
@@ -192,7 +194,8 @@ public class GameEventProjectServiceImpl implements IGameEventProjectService {
             }
         }
         LambdaQueryWrapper<GameEventProject> lqw = buildQueryWrapper(bo);
-        List<GameEventProjectVo> list = baseMapper.selectVoList(lqw);
+//        List<GameEventProjectVo> list = baseMapper.selectVoList(lqw);
+        List<GameEventProjectVo> list = baseMapper.selectEventProjectList(lqw);
         list.forEach(vo -> {
             Optional.ofNullable(vo.getEventId())
                 .filter(ObjectUtil::isNotEmpty)
@@ -555,7 +558,8 @@ public class GameEventProjectServiceImpl implements IGameEventProjectService {
         if (CollectionUtils.isEmpty(projectIds)) {
             return Collections.emptyList();
         }
-        return this.baseMapper.selectVoList(
+//        return this.baseMapper.selectVoList(
+        return this.baseMapper.selectEventProjectList(
             new LambdaQueryWrapper<GameEventProject>()
                 .eq(GameEventProject::getEventId, eventId)
                 .in(GameEventProject::getProjectId, projectIds)

+ 93 - 103
ruoyi-modules/ruoyi-game-event/src/main/java/org/dromara/system/service/impl/GameEventServiceImpl.java

@@ -35,12 +35,14 @@ import org.dromara.common.json.utils.JsonUtils;
 import org.dromara.common.mybatis.core.page.PageQuery;
 import org.dromara.common.mybatis.core.page.TableDataInfo;
 import org.dromara.common.redis.utils.RedisUtils;
+import org.dromara.system.domain.GameAthlete;
 import org.dromara.system.domain.GameEvent;
 import org.dromara.system.domain.GameEventGroup;
 import org.dromara.system.domain.PdfEntry;
 import org.dromara.system.domain.bo.*;
 import org.dromara.system.domain.constant.GameEventConstant;
 import org.dromara.system.domain.vo.*;
+import org.dromara.system.mapper.GameAthleteMapper;
 import org.dromara.system.mapper.GameEventMapper;
 import org.dromara.system.config.FileUploadConfig;
 import org.dromara.system.service.*;
@@ -168,9 +170,9 @@ public class GameEventServiceImpl implements IGameEventService {
     @Override
     public TableDataInfo<GameEventVo> queryPageList(GameEventBo bo, PageQuery pageQuery) {
         LambdaQueryWrapper<GameEvent> lqw = buildQueryWrapper(bo);
-        Page<GameEventVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
+        // Page<GameEventVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
         // 使用带数据权限注解的方法
-//        Page<GameEventVo> result = baseMapper.selectPageEventList(pageQuery.build(), lqw);
+       Page<GameEventVo> result = baseMapper.selectPageEventList(pageQuery.build(), lqw);
         return TableDataInfo.build(result);
     }
 
@@ -184,8 +186,8 @@ public class GameEventServiceImpl implements IGameEventService {
     public List<GameEventVo> queryList(GameEventBo bo) {
         LambdaQueryWrapper<GameEvent> lqw = buildQueryWrapper(bo);
         // 使用带数据权限注解的方法
-//        return baseMapper.selectEventList(lqw);
-        return baseMapper.selectVoList(lqw);
+       return baseMapper.selectEventList(lqw);
+        // return baseMapper.selectVoList(lqw);
     }
 
     private LambdaQueryWrapper<GameEvent> buildQueryWrapper(GameEventBo bo) {
@@ -250,9 +252,6 @@ public class GameEventServiceImpl implements IGameEventService {
             // 构建scene参数,包含赛事ID
             String scene = "eventId=" + gameEvent.getEventId();
 
-            // 页面路径,实际使用时需要替换为真实路径
-//            String page = "pages/index/index";
-
             // 调用微信接口生成小程序码
             byte[] qrCodeBytes = getWxaCodeUnlimit(accessToken, scene, page);
             if (qrCodeBytes == null) {
@@ -1179,36 +1178,41 @@ public class GameEventServiceImpl implements IGameEventService {
      */
     @NotNull
     private static String getQrDataStr(String eventName, String groupName, Map<Long, String> teamNameMap, Map<Long, String> projectMap, GameAthleteVo athlete) {
-        //处理参加项目
-        StringBuilder joinProject = new StringBuilder();
-        StringJoiner joiner = new StringJoiner("、"); // 指定分隔符
-        athlete.getProjectList().forEach(projectId -> {
-            String projectName = projectMap.getOrDefault(Long.valueOf(projectId),"");
-            if (projectName != null) {
-                joiner.add(projectName);
-            }
-        });
-
-        // 生成二维码
-        String qrData = String.format(
-            """
-                    {
-                        赛事名称:%s,
-                        运动员序号:%d,
-                        运动员编号:%s,
-                        参与项目:%s,
-                        队伍名称:%s,
-                        运动员姓名:%s,
-                        性别:%s,
-                        年龄:%d
-                        组别:%s
-                    }
-                """,
-            eventName, athlete.getAthleteId(), athlete.getAthleteCode(),
-            joinProject, teamNameMap.getOrDefault(athlete.getTeamId(),""), athlete.getName(),
-            athlete.getGender(), athlete.getAge(), groupName
-        );
-        return qrData;
+        try {
+            // 处理参加项目
+            StringJoiner joiner = new StringJoiner("、"); // 指定分隔符
+            athlete.getProjectList().forEach(projectId -> {
+                String projectName = projectMap.getOrDefault(Long.valueOf(projectId),"");
+                if (projectName != null && !projectName.isEmpty()) {
+                    joiner.add(projectName);
+                }
+            });
+            String xiangmu = joiner.toString();
+
+            // 获取运动员姓名并进行URL编码
+            String encodedName = java.net.URLEncoder.encode(athlete.getName(), "UTF-8");
+
+            // 获取赛事ID(从athlete对象中获取)
+            Long shId = athlete.getEventId();
+
+            // 生成符合要求格式的URL查询参数字符串
+            String qrData = String.format(
+                "id=%s&name=%s&gender=%s&shId=%d&shName=%s&dwName=%s&xiangmu=%s",
+                athlete.getAthleteCode(), // 队员号码(唯一ID)
+                encodedName, // 队员姓名(URL编码)
+                athlete.getGender(), // 性别
+                shId, // 赛事ID
+                eventName, // 赛事名称
+                teamNameMap.getOrDefault(athlete.getTeamId(), ""), // 队伍名称
+                xiangmu // 参与项目
+            );
+
+            return qrData;
+        } catch (Exception e) {
+            // 如果编码失败,返回基本信息
+            log.error("生成二维码数据失败(编码失败): {}", e.getMessage(), e);
+            return String.format("id=%s&name=%s", athlete.getAthleteCode(), athlete.getName());
+        }
     }
 
     // 工具方法:添加文本
@@ -1829,7 +1833,7 @@ public class GameEventServiceImpl implements IGameEventService {
             // 查询运动员数据
             GameAthleteBo gameAthleteBo = new GameAthleteBo();
             gameAthleteBo.setEventId(eventId);
-            List<GameAthleteVo> athleteVoList = gameAthleteService.queryList(gameAthleteBo);
+            List<GameAthleteVo> athleteVoList = gameAthleteService.queryListNoPermission(gameAthleteBo);
 
             if (CollectionUtil.isEmpty(athleteVoList)) {
                 gameBibTaskService.updateTaskStatus(taskId, "3", "当前赛事没有队员数据");
@@ -2043,72 +2047,58 @@ public class GameEventServiceImpl implements IGameEventService {
      * 生成二维码数据
      */
     private String generateQRCodeData(GameAthleteVo athlete) {
-        StringBuilder joinProject = new StringBuilder();
-        StringJoiner joiner = new StringJoiner(",");
-
-        // 添加调试日志
-        log.debug("生成二维码数据 - 运动员: {}, projectValue: {}, projectList: {}",
-            athlete.getName(), athlete.getProjectValue(), athlete.getProjectList());
-
-        // 检查projectList是否为null或空
-        if (athlete.getProjectList() == null || athlete.getProjectList().isEmpty()) {
-            log.warn("运动员 {} 的参与项目列表为空,projectValue: {}", athlete.getName(), athlete.getProjectValue());
-            return String.format(
-                """
-                    {
-                        赛事名称:%s,
-                        号码:%s,
-                        姓名:%s,
-                        性别:%s,
-                        年龄:%d
-                        队伍名称:%s,
-                        参与项目:无项目,
-                    }
-                """,
-                athlete.getEventName(),
-                athlete.getAthleteCode(),
-                athlete.getName(),
-                athlete.getGender(),
-                athlete.getAge(),
-                athlete.getTeamName() != null ? athlete.getTeamName() : "未知队伍");
-        }
-
-        Map<Long, String> projectMap = gameEventProjectService.queryNameByEventIdAndProjectIds(athlete.getEventId(), athlete.getProjectList());
-        log.debug("项目映射结果: {}", projectMap);
-
-        // 添加额外的null检查
-        if (projectMap == null) {
-            log.warn("项目映射结果为空,返回空字符串,逻辑上不可能为空,如果有空项目,应该在运动员表中删除");
-            projectMap = new HashMap<>();
-        }
-
-        for (Long projectId : athlete.getProjectList()) {
-            String projectName = projectMap.get(projectId) != null ? projectMap.get(projectId).toString() : "未知项目";
-            joiner.add(projectName);
-        }
-
-        String projectNames = joiner.toString();
-        log.debug("最终项目名称: {}", projectNames);
-
-        return String.format(
-            """
-                {
-                    赛事名称:%s,
-                    号码:%s,
-                    姓名:%s,
-                    性别:%s,
-                    年龄:%d
-                    队伍名称:%s,
-                    参与项目:%s,
+        try {
+            // 添加调试日志
+            log.debug("生成二维码数据 - 运动员: {}, projectValue: {}, projectList: {}",
+                athlete.getName(), athlete.getProjectValue(), athlete.getProjectList());
+
+            // 处理参加项目
+            StringJoiner joiner = new StringJoiner("、"); // 指定分隔符
+            if (athlete.getProjectList() != null && !athlete.getProjectList().isEmpty()) {
+                Map<Long, String> projectMap = gameEventProjectService.queryNameByEventIdAndProjectIds(athlete.getEventId(), athlete.getProjectList());
+                log.debug("项目映射结果: {}", projectMap);
+
+                // 添加额外的null检查
+                if (projectMap == null) {
+                    log.warn("项目映射结果为空,返回空字符串,逻辑上不可能为空,如果有空项目,应该在运动员表中删除");
+                    projectMap = new HashMap<>();
+                }
+
+                for (Long projectId : athlete.getProjectList()) {
+                    String projectName = projectMap.getOrDefault(projectId, "未知项目");
+                    joiner.add(projectName);
                 }
-            """,
-            athlete.getEventName(),
-            athlete.getAthleteCode(),
-            athlete.getName(),
-            athlete.getGender(),
-            athlete.getAge(),
-            athlete.getTeamName() != null ? athlete.getTeamName() : "未知队伍",
-            projectNames);
+            }
+            String xiangmu = joiner.toString();
+
+            // 获取运动员姓名并进行URL编码
+            String encodedName = java.net.URLEncoder.encode(athlete.getName(), "UTF-8");
+
+            // 获取赛事ID(从athlete对象中获取)
+            Long shId = athlete.getEventId();
+
+            // 获取赛事名称和队伍名称
+            String shName = athlete.getEventName();
+            String dwName = athlete.getTeamName() != null ? athlete.getTeamName() : "未知队伍";
+
+            // 生成符合要求格式的URL查询参数字符串
+            String qrData = String.format(
+                "id=%s&name=%s&gender=%s&shId=%d&shName=%s&dwName=%s&xiangmu=%s",
+                athlete.getAthleteCode(), // 队员号码(唯一ID)
+                encodedName, // 队员姓名(URL编码)
+                athlete.getGender(), // 性别
+                shId, // 赛事ID
+                shName, // 赛事名称
+                dwName, // 队伍名称
+                xiangmu // 参与项目
+            );
+
+            return qrData;
+        } catch (Exception e) {
+            // 如果编码失败,返回基本信息
+            log.error("生成二维码数据失败(编码失败): {}", e.getMessage(), e);
+            return String.format("id=%s&name=%s", athlete.getAthleteCode(), athlete.getName());
+        }
     }
 
     /**

+ 4 - 2
ruoyi-modules/ruoyi-game-event/src/main/java/org/dromara/system/service/impl/GameRefereeServiceImpl.java

@@ -82,7 +82,8 @@ public class GameRefereeServiceImpl implements IGameRefereeService {
             }
         }
         LambdaQueryWrapper<GameReferee> lqw = buildQueryWrapper(bo);
-        Page<GameRefereeVo> result = gameRefereeMapper.selectVoPage(pageQuery.build(), lqw);
+//        Page<GameRefereeVo> result = gameRefereeMapper.selectVoPage(pageQuery.build(), lqw);
+        Page<GameRefereeVo> result = gameRefereeMapper.selectPageRefereeList(pageQuery.build(), lqw);
         result.getRecords().forEach(vo -> {
             if (vo.getProjectList() != null) {
                 vo.setProjectList2(JSONUtil.toList(vo.getProjectList(), Long.class));
@@ -108,7 +109,8 @@ public class GameRefereeServiceImpl implements IGameRefereeService {
             }
         }
         LambdaQueryWrapper<GameReferee> lqw = buildQueryWrapper(bo);
-        List<GameRefereeVo> list = gameRefereeMapper.selectVoList(lqw);
+//        List<GameRefereeVo> list = gameRefereeMapper.selectVoList(lqw);
+        List<GameRefereeVo> list = gameRefereeMapper.selectRefereeList(lqw);
         list.forEach(vo -> {
             if (vo.getProjectList() != null) {
                 vo.setProjectList2(JSONUtil.toList(vo.getProjectList(), Long.class));

+ 3 - 2
ruoyi-modules/ruoyi-game-event/src/main/java/org/dromara/system/service/impl/GameTeamServiceImpl.java

@@ -88,7 +88,8 @@ public class GameTeamServiceImpl implements IGameTeamService {
             }
         }
         LambdaQueryWrapper<GameTeam> lqw = buildQueryWrapper(bo);
-        Page<GameTeamVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
+//        Page<GameTeamVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
+        Page<GameTeamVo> result = baseMapper.selectPageTeamList(pageQuery.build(), lqw);
         // 查询领队和队员列表
         result.getRecords().stream()
             .map(vo -> {
@@ -134,7 +135,7 @@ public class GameTeamServiceImpl implements IGameTeamService {
                     });
                 return vo;
             })
-            .collect(Collectors.toList());  // 收集结果
+            .toList();  // 收集结果
         return TableDataInfo.build(result);
     }
 

+ 4 - 4
ruoyi-modules/ruoyi-game-event/src/main/java/org/dromara/system/service/impl/app/PhysicalTestServiceImpl.java

@@ -154,7 +154,7 @@ public class PhysicalTestServiceImpl implements IPhysicalTestService {
         // 根据身份证号查找运动员
         LambdaQueryWrapper<GameAthlete> athleteWrapper = Wrappers.lambdaQuery(GameAthlete.class)
             .eq(GameAthlete::getEventId, eventId)
-            .eq(GameAthlete::getIdCard, result.getUserId())
+            .eq(GameAthlete::getAthleteCode, result.getUserId())
             .eq(GameAthlete::getDelFlag, "0");
 
         GameAthlete existingAthlete = athleteMapper.selectOne(athleteWrapper);
@@ -174,7 +174,7 @@ public class PhysicalTestServiceImpl implements IPhysicalTestService {
             log.info("创建新运动员: name={}, idCard={}", result.getName(), result.getUserId());
             GameAthleteBo newAthlete = new GameAthleteBo();
             newAthlete.setEventId(eventId);
-            newAthlete.setIdCard(result.getUserId());
+            newAthlete.setAthleteCode(result.getUserId());
             newAthlete.setName(result.getName());
             // 初始化项目列表并添加项目ID
             newAthlete.setProjectList(new ArrayList<>());
@@ -270,7 +270,7 @@ public class PhysicalTestServiceImpl implements IPhysicalTestService {
         // 根据stuNo作为身份证号查找运动员
         LambdaQueryWrapper<GameAthlete> athleteWrapper = Wrappers.lambdaQuery(GameAthlete.class)
             .eq(GameAthlete::getEventId, eventId)
-            .eq(GameAthlete::getIdCard, record.getStuNo())
+            .eq(GameAthlete::getAthleteCode, record.getStuNo())
             .eq(GameAthlete::getDelFlag, "0");
 
         GameAthlete existingAthlete = athleteMapper.selectOne(athleteWrapper);
@@ -290,7 +290,7 @@ public class PhysicalTestServiceImpl implements IPhysicalTestService {
             log.info("创建新运动员: name={}, stuNo={}", record.getName(), record.getStuNo());
             GameAthleteBo newAthlete = new GameAthleteBo();
             newAthlete.setEventId(eventId);
-            newAthlete.setIdCard(record.getStuNo()); // stuNo映射到IdCard
+            newAthlete.setAthleteCode(record.getStuNo()); // stuNo映射到编号
             newAthlete.setName(record.getName()); // name映射到name
             // 初始化项目列表并添加项目ID
             newAthlete.setProjectList(new ArrayList<>());