From e539acd414ab58fd412348009e4b5eb7e420cf2e Mon Sep 17 00:00:00 2001 From: xxxx <1962674630@qq.com> Date: Tue, 9 Dec 2025 10:54:56 +0800 Subject: [PATCH] 1 --- .../scoring/ScoreRoomController.java | 8 +- .../scoring/ScoreRoomDetailController.java | 2 +- .../scoring/ScoreRoomUserController.java | 12 +- .../scoring/ScoreUserController.java | 4 +- .../ruoyi/system/domain/ScoreRoomDetail.java | 26 +- .../ruoyi/system/domain/ScoreRoomUser.java | 42 ++- .../system/mapper/ScoreRoomUserMapper.java | 8 + .../ruoyi/system/mapper/ScoreUserMapper.java | 8 + .../system/service/IScoreRoomService.java | 2 +- .../system/service/IScoreRoomUserService.java | 11 +- .../system/service/IScoreUserService.java | 12 +- .../impl/ScoreRoomDetailServiceImpl.java | 2 + .../service/impl/ScoreRoomServiceImpl.java | 16 +- .../impl/ScoreRoomUserServiceImpl.java | 20 +- .../service/impl/ScoreUserServiceImpl.java | 30 +- .../mapper/system/ScoreRoomDetailMapper.xml | 16 +- .../mapper/system/ScoreRoomUserMapper.xml | 56 +++- .../mapper/system/ScoreUserMapper.xml | 9 + scoring/pages/index/singleplay/scoring.vue | 12 + scoring/pages/index/singleplay/singleplay.vue | 297 +++++++++++++++--- 20 files changed, 491 insertions(+), 102 deletions(-) diff --git a/Ruoyi-vue/ruoyi-admin/src/main/java/com/ruoyi/web/controller/scoring/ScoreRoomController.java b/Ruoyi-vue/ruoyi-admin/src/main/java/com/ruoyi/web/controller/scoring/ScoreRoomController.java index e13329c..8854604 100644 --- a/Ruoyi-vue/ruoyi-admin/src/main/java/com/ruoyi/web/controller/scoring/ScoreRoomController.java +++ b/Ruoyi-vue/ruoyi-admin/src/main/java/com/ruoyi/web/controller/scoring/ScoreRoomController.java @@ -77,7 +77,13 @@ public class ScoreRoomController extends BaseController @PostMapping public AjaxResult add(@RequestBody ScoreRoom scoreRoom) { - return toAjax(scoreRoomService.insertScoreRoom(scoreRoom)); + int result = scoreRoomService.insertScoreRoom(scoreRoom); + if (result > 0) { + + return AjaxResult.success("操作成功", scoreRoom); + } else { + return AjaxResult.error("操作失败"); + } } /** diff --git a/Ruoyi-vue/ruoyi-admin/src/main/java/com/ruoyi/web/controller/scoring/ScoreRoomDetailController.java b/Ruoyi-vue/ruoyi-admin/src/main/java/com/ruoyi/web/controller/scoring/ScoreRoomDetailController.java index 88cba5f..926dbf0 100644 --- a/Ruoyi-vue/ruoyi-admin/src/main/java/com/ruoyi/web/controller/scoring/ScoreRoomDetailController.java +++ b/Ruoyi-vue/ruoyi-admin/src/main/java/com/ruoyi/web/controller/scoring/ScoreRoomDetailController.java @@ -28,7 +28,7 @@ import com.ruoyi.common.core.page.TableDataInfo; * @date 2025-10-30 */ @RestController -@RequestMapping("/system/detail") +@RequestMapping("/score/roomdetail") public class ScoreRoomDetailController extends BaseController { @Autowired diff --git a/Ruoyi-vue/ruoyi-admin/src/main/java/com/ruoyi/web/controller/scoring/ScoreRoomUserController.java b/Ruoyi-vue/ruoyi-admin/src/main/java/com/ruoyi/web/controller/scoring/ScoreRoomUserController.java index e95747e..c09a491 100644 --- a/Ruoyi-vue/ruoyi-admin/src/main/java/com/ruoyi/web/controller/scoring/ScoreRoomUserController.java +++ b/Ruoyi-vue/ruoyi-admin/src/main/java/com/ruoyi/web/controller/scoring/ScoreRoomUserController.java @@ -28,7 +28,7 @@ import com.ruoyi.common.core.page.TableDataInfo; * @date 2025-10-30 */ @RestController -@RequestMapping("/system/score/room/user") +@RequestMapping("/score/player") public class ScoreRoomUserController extends BaseController { @Autowired @@ -45,6 +45,13 @@ public class ScoreRoomUserController extends BaseController List list = scoreRoomUserService.selectScoreRoomUserList(scoreRoomUser); return getDataTable(list); } + @GetMapping("/all") + public TableDataInfo all(ScoreRoomUser scoreRoomUser) + { + startPage(); + List list = scoreRoomUserService.selectAllScoreRoomUserList(scoreRoomUser); + return getDataTable(list); + } /** * 导出【请填写功能名称】列表 @@ -77,7 +84,8 @@ public class ScoreRoomUserController extends BaseController @PostMapping public AjaxResult add(@RequestBody ScoreRoomUser scoreRoomUser) { - return toAjax(scoreRoomUserService.insertScoreRoomUser(scoreRoomUser)); + ScoreRoomUser result = scoreRoomUserService.insertScoreRoomUser(scoreRoomUser); + return AjaxResult.success(result); } /** diff --git a/Ruoyi-vue/ruoyi-admin/src/main/java/com/ruoyi/web/controller/scoring/ScoreUserController.java b/Ruoyi-vue/ruoyi-admin/src/main/java/com/ruoyi/web/controller/scoring/ScoreUserController.java index 6bb707d..c88d6c9 100644 --- a/Ruoyi-vue/ruoyi-admin/src/main/java/com/ruoyi/web/controller/scoring/ScoreUserController.java +++ b/Ruoyi-vue/ruoyi-admin/src/main/java/com/ruoyi/web/controller/scoring/ScoreUserController.java @@ -78,7 +78,9 @@ public class ScoreUserController extends BaseController public AjaxResult add(@RequestBody ScoreUser scoreUser) { System.out.println(scoreUser); - return toAjax(scoreUserService.insertScoreUser(scoreUser)); + // 返回包含自增ID的完整用户对象 + ScoreUser result = scoreUserService.insertScoreUser(scoreUser); + return success(result); } /** diff --git a/Ruoyi-vue/ruoyi-system/src/main/java/com/ruoyi/system/domain/ScoreRoomDetail.java b/Ruoyi-vue/ruoyi-system/src/main/java/com/ruoyi/system/domain/ScoreRoomDetail.java index b0f26e8..c4b3bbb 100644 --- a/Ruoyi-vue/ruoyi-system/src/main/java/com/ruoyi/system/domain/ScoreRoomDetail.java +++ b/Ruoyi-vue/ruoyi-system/src/main/java/com/ruoyi/system/domain/ScoreRoomDetail.java @@ -41,13 +41,17 @@ public class ScoreRoomDetail extends BaseEntity @Excel(name = "0 胜 1 负") private Long detailType; - /** 目标玩家id 多人模式给分使用 */ - @Excel(name = "目标玩家id 多人模式给分使用") - private Long getterId; + @Excel(name = "局次") + private Long gameTime; - public void setDetailId(Long detailId) + public void setGameTime(Long gameTime) { - this.detailId = detailId; + this.gameTime = gameTime; + } + + public Long getGameTime() + { + return gameTime; } public Long getDetailId() @@ -104,17 +108,6 @@ public class ScoreRoomDetail extends BaseEntity { return detailType; } - - public void setGetterId(Long getterId) - { - this.getterId = getterId; - } - - public Long getGetterId() - { - return getterId; - } - @Override public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) @@ -124,7 +117,6 @@ public class ScoreRoomDetail extends BaseEntity .append("score", getScore()) .append("createdTime", getCreatedTime()) .append("detailType", getDetailType()) - .append("getterId", getGetterId()) .toString(); } } diff --git a/Ruoyi-vue/ruoyi-system/src/main/java/com/ruoyi/system/domain/ScoreRoomUser.java b/Ruoyi-vue/ruoyi-system/src/main/java/com/ruoyi/system/domain/ScoreRoomUser.java index 319d64a..1c4b3a2 100644 --- a/Ruoyi-vue/ruoyi-system/src/main/java/com/ruoyi/system/domain/ScoreRoomUser.java +++ b/Ruoyi-vue/ruoyi-system/src/main/java/com/ruoyi/system/domain/ScoreRoomUser.java @@ -28,7 +28,7 @@ public class ScoreRoomUser extends BaseEntity /** 得分 */ @Excel(name = "得分") - private Long score; + private Long allscore; /** 三个值 {'user', 'boot', 'business'} */ @Excel(name = "三个值 {'user', 'boot', 'business'}") @@ -42,6 +42,12 @@ public class ScoreRoomUser extends BaseEntity @Excel(name = "玩家头像") private String avatars; + @Excel(name="单局得分") + private Long score; + + @Excel(name="局次") + private Long gameTime; + public void setRoomUserId(Long roomUserId) { this.roomUserId = roomUserId; @@ -72,14 +78,14 @@ public class ScoreRoomUser extends BaseEntity return userId; } - public void setScore(Long score) + public void setAllscore(Long allscore) { - this.score = score; + this.allscore = allscore; } - public Long getScore() + public Long getAllscore() { - return score; + return allscore; } public void setPlayerType(String playerType) @@ -111,6 +117,28 @@ public class ScoreRoomUser extends BaseEntity { return avatars; } + + + public void setScore(Long score) + { + this.score = score; + } + + public Long getScore() + { + return score; + } + + public void setGameTime(Long gameTime) + { + this.gameTime = gameTime; + } + + public Long getGameTime() + { + return gameTime; + } + @Override public String toString() { @@ -118,10 +146,12 @@ public class ScoreRoomUser extends BaseEntity .append("roomUserId", getRoomUserId()) .append("roomId", getRoomId()) .append("userId", getUserId()) - .append("score", getScore()) + .append("allscore", getAllscore()) .append("playerType", getPlayerType()) .append("nickName", getNickName()) .append("avatars", getAvatars()) + .append("score", getScore()) + .append("gameTime", getGameTime()) .toString(); } } diff --git a/Ruoyi-vue/ruoyi-system/src/main/java/com/ruoyi/system/mapper/ScoreRoomUserMapper.java b/Ruoyi-vue/ruoyi-system/src/main/java/com/ruoyi/system/mapper/ScoreRoomUserMapper.java index f5c99b8..ecfb8bf 100644 --- a/Ruoyi-vue/ruoyi-system/src/main/java/com/ruoyi/system/mapper/ScoreRoomUserMapper.java +++ b/Ruoyi-vue/ruoyi-system/src/main/java/com/ruoyi/system/mapper/ScoreRoomUserMapper.java @@ -58,4 +58,12 @@ public interface ScoreRoomUserMapper * @return 结果 */ public int deleteScoreRoomUserByRoomUserIds(Long[] roomUserIds); + + /** + * 查询所有【请填写功能名称】 + * + * @param scoreRoomUser 【请填写功能名称】 + * @return 【请填写功能名称】 + */ + public List selectAllScoreRoomUserList(ScoreRoomUser scoreRoomUser); } diff --git a/Ruoyi-vue/ruoyi-system/src/main/java/com/ruoyi/system/mapper/ScoreUserMapper.java b/Ruoyi-vue/ruoyi-system/src/main/java/com/ruoyi/system/mapper/ScoreUserMapper.java index 9bd837c..10795c8 100644 --- a/Ruoyi-vue/ruoyi-system/src/main/java/com/ruoyi/system/mapper/ScoreUserMapper.java +++ b/Ruoyi-vue/ruoyi-system/src/main/java/com/ruoyi/system/mapper/ScoreUserMapper.java @@ -27,6 +27,14 @@ public interface ScoreUserMapper */ public List selectScoreUserList(ScoreUser scoreUser); + /** + * 查询所有基础信息列表 + * + * @param scoreUser 基础信息 + * @return 基础信息集合 + */ + public List selectAllScoreUserList(ScoreUser scoreUser); + /** * 新增基础信息 * diff --git a/Ruoyi-vue/ruoyi-system/src/main/java/com/ruoyi/system/service/IScoreRoomService.java b/Ruoyi-vue/ruoyi-system/src/main/java/com/ruoyi/system/service/IScoreRoomService.java index b87af94..491406f 100644 --- a/Ruoyi-vue/ruoyi-system/src/main/java/com/ruoyi/system/service/IScoreRoomService.java +++ b/Ruoyi-vue/ruoyi-system/src/main/java/com/ruoyi/system/service/IScoreRoomService.java @@ -29,7 +29,7 @@ public interface IScoreRoomService /** * 新增房间信息 - * + * * @param scoreRoom 房间信息 * @return 结果 */ diff --git a/Ruoyi-vue/ruoyi-system/src/main/java/com/ruoyi/system/service/IScoreRoomUserService.java b/Ruoyi-vue/ruoyi-system/src/main/java/com/ruoyi/system/service/IScoreRoomUserService.java index e9c5c6d..a99841d 100644 --- a/Ruoyi-vue/ruoyi-system/src/main/java/com/ruoyi/system/service/IScoreRoomUserService.java +++ b/Ruoyi-vue/ruoyi-system/src/main/java/com/ruoyi/system/service/IScoreRoomUserService.java @@ -26,14 +26,21 @@ public interface IScoreRoomUserService * @return 【请填写功能名称】集合 */ public List selectScoreRoomUserList(ScoreRoomUser scoreRoomUser); + /** + * 查询所有【请填写功能名称】 + * + * @param scoreRoomUser 【请填写功能名称】 + * @return 【请填写功能名称】 + */ + public List selectAllScoreRoomUserList(ScoreRoomUser scoreRoomUser); /** * 新增【请填写功能名称】 * * @param scoreRoomUser 【请填写功能名称】 - * @return 结果 + * @return 【请填写功能名称】对象 */ - public int insertScoreRoomUser(ScoreRoomUser scoreRoomUser); + public ScoreRoomUser insertScoreRoomUser(ScoreRoomUser scoreRoomUser); /** * 修改【请填写功能名称】 diff --git a/Ruoyi-vue/ruoyi-system/src/main/java/com/ruoyi/system/service/IScoreUserService.java b/Ruoyi-vue/ruoyi-system/src/main/java/com/ruoyi/system/service/IScoreUserService.java index 3c9ce10..66200a2 100644 --- a/Ruoyi-vue/ruoyi-system/src/main/java/com/ruoyi/system/service/IScoreUserService.java +++ b/Ruoyi-vue/ruoyi-system/src/main/java/com/ruoyi/system/service/IScoreUserService.java @@ -26,14 +26,21 @@ public interface IScoreUserService * @return 基础信息集合 */ public List selectScoreUserList(ScoreUser scoreUser); + /** + * 查询所有基础信息 + * + * @param scoreUser 基础信息 + * @return 基础信息集合 + */ + public List selectAllScoreUserList(ScoreUser scoreUser); /** * 新增基础信息 - * + * * @param scoreUser 基础信息 * @return 结果 */ - public int insertScoreUser(ScoreUser scoreUser); + public ScoreUser insertScoreUser(ScoreUser scoreUser); /** * 修改基础信息 @@ -58,4 +65,5 @@ public interface IScoreUserService * @return 结果 */ public int deleteScoreUserByUserId(Long userId); + } diff --git a/Ruoyi-vue/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/ScoreRoomDetailServiceImpl.java b/Ruoyi-vue/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/ScoreRoomDetailServiceImpl.java index 318340e..7e09697 100644 --- a/Ruoyi-vue/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/ScoreRoomDetailServiceImpl.java +++ b/Ruoyi-vue/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/ScoreRoomDetailServiceImpl.java @@ -4,7 +4,9 @@ import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.ruoyi.system.mapper.ScoreRoomDetailMapper; +import com.ruoyi.common.utils.DateUtils; import com.ruoyi.system.domain.ScoreRoomDetail; +import com.ruoyi.system.domain.ScoreUser; import com.ruoyi.system.service.IScoreRoomDetailService; /** diff --git a/Ruoyi-vue/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/ScoreRoomServiceImpl.java b/Ruoyi-vue/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/ScoreRoomServiceImpl.java index cb07638..63d5864 100644 --- a/Ruoyi-vue/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/ScoreRoomServiceImpl.java +++ b/Ruoyi-vue/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/ScoreRoomServiceImpl.java @@ -4,6 +4,7 @@ import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.ruoyi.system.mapper.ScoreRoomMapper; +import com.ruoyi.common.utils.DateUtils; import com.ruoyi.system.domain.ScoreRoom; import com.ruoyi.system.service.IScoreRoomService; @@ -45,14 +46,25 @@ public class ScoreRoomServiceImpl implements IScoreRoomService /** * 新增房间信息 - * + * * @param scoreRoom 房间信息 * @return 结果 */ @Override public int insertScoreRoom(ScoreRoom scoreRoom) { - return scoreRoomMapper.insertScoreRoom(scoreRoom); + // 设置创建时间 + scoreRoom.setCreateTime(DateUtils.getNowDate()); + + // 插入房间信息,MyBatis会自动将自增ID设置到scoreRoom对象的roomId属性中 + int result = scoreRoomMapper.insertScoreRoom(scoreRoom); + + if (result > 0) { + // 返回插入成功的行数 + return result; + } else { + throw new RuntimeException("房间信息插入失败"); + } } /** diff --git a/Ruoyi-vue/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/ScoreRoomUserServiceImpl.java b/Ruoyi-vue/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/ScoreRoomUserServiceImpl.java index 1a1ff45..5c1d9a2 100644 --- a/Ruoyi-vue/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/ScoreRoomUserServiceImpl.java +++ b/Ruoyi-vue/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/ScoreRoomUserServiceImpl.java @@ -42,17 +42,29 @@ public class ScoreRoomUserServiceImpl implements IScoreRoomUserService { return scoreRoomUserMapper.selectScoreRoomUserList(scoreRoomUser); } - + /** + * 查询所有【请填写功能名称】 + * + * @param scoreRoomUser 【请填写功能名称】 + * @return 【请填写功能名称】 + */ + @Override + public List selectAllScoreRoomUserList(ScoreRoomUser scoreRoomUser) + { + return scoreRoomUserMapper.selectAllScoreRoomUserList(scoreRoomUser); + } + /** * 新增【请填写功能名称】 * * @param scoreRoomUser 【请填写功能名称】 - * @return 结果 + * @return 【请填写功能名称】对象 */ @Override - public int insertScoreRoomUser(ScoreRoomUser scoreRoomUser) + public ScoreRoomUser insertScoreRoomUser(ScoreRoomUser scoreRoomUser) { - return scoreRoomUserMapper.insertScoreRoomUser(scoreRoomUser); + scoreRoomUserMapper.insertScoreRoomUser(scoreRoomUser); + return scoreRoomUser; } /** diff --git a/Ruoyi-vue/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/ScoreUserServiceImpl.java b/Ruoyi-vue/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/ScoreUserServiceImpl.java index d91cfaa..44ab0d3 100644 --- a/Ruoyi-vue/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/ScoreUserServiceImpl.java +++ b/Ruoyi-vue/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/ScoreUserServiceImpl.java @@ -17,6 +17,17 @@ import com.ruoyi.system.service.IScoreUserService; @Service public class ScoreUserServiceImpl implements IScoreUserService { + /** + * 查询所有基础信息 + * + * @param scoreUser 基础信息 + * @return 基础信息集合 + */ + @Override + public List selectAllScoreUserList(ScoreUser scoreUser) + { + return scoreUserMapper.selectAllScoreUserList(scoreUser); + } @Autowired private ScoreUserMapper scoreUserMapper; @@ -46,15 +57,28 @@ public class ScoreUserServiceImpl implements IScoreUserService /** * 新增基础信息 - * + * * @param scoreUser 基础信息 * @return 结果 */ @Override - public int insertScoreUser(ScoreUser scoreUser) + public ScoreUser insertScoreUser(ScoreUser scoreUser) { + // 判断当前openId是否已经有值了 + ScoreUser scoreUser1 = scoreUserMapper.selectScoreUserByUserId(scoreUser.getUserId()); + if(scoreUser1 != null) { + throw new RuntimeException("当前openId是否已经有值"); + } scoreUser.setCreateTime(DateUtils.getNowDate()); - return scoreUserMapper.insertScoreUser(scoreUser); + // 插入用户,MyBatis会自动将自增ID设置到user对象的userId属性中 + int result = scoreUserMapper.insertScoreUser(scoreUser); + + if (result > 0) { + // 返回包含自增ID的用户对象 + return scoreUser; + } else { + throw new RuntimeException("用户插入失败"); + } } /** diff --git a/Ruoyi-vue/ruoyi-system/src/main/resources/mapper/system/ScoreRoomDetailMapper.xml b/Ruoyi-vue/ruoyi-system/src/main/resources/mapper/system/ScoreRoomDetailMapper.xml index c02756b..3405f6f 100644 --- a/Ruoyi-vue/ruoyi-system/src/main/resources/mapper/system/ScoreRoomDetailMapper.xml +++ b/Ruoyi-vue/ruoyi-system/src/main/resources/mapper/system/ScoreRoomDetailMapper.xml @@ -11,11 +11,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - + - select detail_id, room_id, user_id, score, created_time, detail_type, getter_id from score_room_detail + select detail_id, room_id, user_id, score, created_time, detail_type, game_time from score_room_detail @@ -43,7 +43,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" score, created_time, detail_type, - getter_id, + game_time, #{roomId}, @@ -51,7 +51,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{score}, #{createdTime}, #{detailType}, - #{getterId}, + #{gameTime}, @@ -63,7 +63,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" score = #{score}, created_time = #{createdTime}, detail_type = #{detailType}, - getter_id = #{getterId}, + game_time = #{gameTime}, where detail_id = #{detailId} @@ -80,10 +80,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - insert into score_room_detail (room_id, user_id, score, created_time, detail_type, getter_id) + insert into score_room_detail (room_id, user_id, score, created_time, detail_type, game_time) values - (#{detail.roomId}, #{detail.userId}, #{detail.score}, #{detail.createdTime}, #{detail.detailType}, #{detail.getterId}) + (#{detail.roomId}, #{detail.userId}, #{detail.score}, #{detail.createdTime}, #{detail.detailType}, #{detail.gameTime}) \ No newline at end of file diff --git a/Ruoyi-vue/ruoyi-system/src/main/resources/mapper/system/ScoreRoomUserMapper.xml b/Ruoyi-vue/ruoyi-system/src/main/resources/mapper/system/ScoreRoomUserMapper.xml index 9038547..822f401 100644 --- a/Ruoyi-vue/ruoyi-system/src/main/resources/mapper/system/ScoreRoomUserMapper.xml +++ b/Ruoyi-vue/ruoyi-system/src/main/resources/mapper/system/ScoreRoomUserMapper.xml @@ -8,22 +8,64 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - + + + + + + + + + + + + + + + SELECT + ru.room_user_id, + ru.room_id, + ru.user_id, + ru.score AS allscore, + ru.player_type, + ru.nick_name, + ru.avatars, + rd.game_time, + rd.score AS detail_score, + rd.detail_id + FROM score_room_user ru + JOIN score_room_detail rd ON ru.user_id = rd.user_id + select room_user_id, room_id, user_id, score, player_type, nick_name, avatars from score_room_user + + + +