| | |
| | | |
| | | // 查询基本信息,包含区域信息 |
| | | String sql = """ |
| | | SELECT ap.id as ap_id, ap.description as ap_description, ap.activity_id, ap.region_id, |
| | | SELECT ap.id as ap_id, ap.description as ap_description, ap.activity_id, ap.region_id, ap.stage_id, |
| | | ap.project_name, ap.feedback, ap.state as ap_state, |
| | | p.id as player_id, p.name as player_name, p.phone, p.description as player_desc, |
| | | p.gender, u.birthday, p.education, p.introduction, u.id as user_id, |
| | |
| | | response.setState(0); |
| | | } |
| | | response.setActivityName(row.get("activity_name") != null ? row.get("activity_name").toString() : ""); |
| | | |
| | | // 设置阶段ID |
| | | Object stageIdObj = row.get("stage_id"); |
| | | if (stageIdObj != null) { |
| | | if (stageIdObj instanceof Number) { |
| | | response.setStageId(((Number) stageIdObj).longValue()); |
| | | } else { |
| | | log.warn("阶段ID类型不匹配: {}, 类型: {}", stageIdObj, stageIdObj.getClass().getName()); |
| | | response.setStageId(Long.valueOf(stageIdObj.toString())); |
| | | } |
| | | } else { |
| | | response.setStageId(null); |
| | | } |
| | | |
| | | // 构建学员信息 |
| | | PlayerInfoResponse playerInfo = new PlayerInfoResponse(); |
| | |
| | | log.info("找到区域信息: {}", regionInfo.getName()); |
| | | } |
| | | |
| | | // 查询用户头像(使用USER_AVATAR关联到用户) |
| | | // 构建用户信息对象,包含头像 |
| | | Object userIdObj = row.get("user_id"); |
| | | log.info("调试:从查询结果中获取的user_id: {}", userIdObj); |
| | | if (userIdObj != null) { |
| | |
| | | } |
| | | log.info("调试:解析后的userId: {}", userId); |
| | | |
| | | // 创建PlayerUserInfo对象 |
| | | PlayerUserInfoResponse userInfo = new PlayerUserInfoResponse(); |
| | | userInfo.setUserId(userId); |
| | | userInfo.setName(row.get("user_name") != null ? row.get("user_name").toString() : ""); |
| | | userInfo.setPhone(row.get("user_phone") != null ? row.get("user_phone").toString() : ""); |
| | | |
| | | // 查询用户头像 |
| | | List<Media> avatarMedias = mediaRepository.findByTargetTypeAndTargetIdAndState( |
| | | MediaTargetType.USER_AVATAR.getValue(), userId, 1); |
| | | log.info("调试:查询到的头像媒体数量: {}", avatarMedias.size()); |
| | | if (!avatarMedias.isEmpty()) { |
| | | Media avatar = avatarMedias.get(0); |
| | | String avatarUrl = buildFullMediaUrl(avatar.getPath()); |
| | | playerInfo.setAvatarUrl(avatarUrl); |
| | | // 设置avatar对象 |
| | | playerInfo.setAvatar(convertToMediaResponse(avatar)); |
| | | userInfo.setAvatarUrl(avatarUrl); |
| | | userInfo.setAvatar(convertToMediaResponse(avatar)); |
| | | log.info("找到用户头像: {}", avatarUrl); |
| | | } else { |
| | | log.info("调试:未找到用户头像,userId: {}, targetType: {}", userId, MediaTargetType.USER_AVATAR.getValue()); |
| | | } |
| | | |
| | | playerInfo.setUserInfo(userInfo); |
| | | } else { |
| | | log.warn("调试:user_id为null"); |
| | | } |
| | | |
| | | response.setPlayerInfo(playerInfo); |
| | | |
| | | // 查询提交的资料(使用枚举常量表示参赛报名资料类型) |
| | |
| | | SubmissionMediaResponse response = new SubmissionMediaResponse(); |
| | | response.setId(media.getId()); |
| | | response.setName(media.getName()); |
| | | response.setPath(media.getPath()); |
| | | response.setUrl(buildFullMediaUrl(media.getPath())); |
| | | response.setFullUrl(buildFullMediaUrl(media.getPath())); |
| | | response.setFullThumbUrl(buildFullMediaUrl(media.getThumbPath())); |
| | | response.setFileExt(media.getFileExt()); |
| | | response.setFileSize(media.getFileSize() != null ? media.getFileSize().longValue() : null); |
| | | response.setMediaType(media.getMediaType()); |