one version

This commit is contained in:
2025-12-01 12:13:03 +08:00
parent 0520603957
commit 80b00d9e5d
37 changed files with 790 additions and 205 deletions

View File

@@ -2,6 +2,7 @@ package com.ruoyi.system.mapper;
import java.util.List;
import com.ruoyi.system.domain.ScoreRoomDetail;
import org.apache.ibatis.annotations.Param;
/**
* 【请填写功能名称】Mapper接口
@@ -30,10 +31,10 @@ public interface ScoreRoomDetailMapper
/**
* 新增【请填写功能名称】
*
* @param scoreRoomDetail 【请填写功能名称】
* @param scoreRoomDetails 【请填写功能名称】
* @return 结果
*/
public int insertScoreRoomDetail(ScoreRoomDetail scoreRoomDetail);
public int insertScoreRoomDetail(@Param("scoreRoomDetails") List<ScoreRoomDetail> scoreRoomDetails);
/**
* 修改【请填写功能名称】

View File

@@ -2,7 +2,7 @@ package com.ruoyi.system.mapper;
import java.util.List;
import com.ruoyi.system.domain.ScoreRoomUser;
import io.lettuce.core.dynamic.annotation.Param;
import org.apache.ibatis.annotations.Param;
/**
* 【请填写功能名称】Mapper接口
@@ -31,7 +31,7 @@ public interface ScoreRoomUserMapper
public ScoreRoomUser selectScoreRoomUserPrescore(@Param("userId") Long UserId, @Param("roomId")Long RoomId);
public ScoreRoomUser selectScoreRoomUserPrescore(@Param("userId") Long UserId, @Param("roomId") Long RoomId);
/**
@@ -51,7 +51,7 @@ public interface ScoreRoomUserMapper
*/
public int insertScoreRoomUser(ScoreRoomUser scoreRoomUser);
public List<ScoreRoomUser> updateScoreRoomUser(@Param("list") List<ScoreRoomUser> scoreRoomUser);
public int updateScoreRoomUser(@Param("scoreRoomUsers") List<ScoreRoomUser> scoreRoomUsers);
/**
* 删除【请填写功能名称】

View File

@@ -30,10 +30,10 @@ public interface IScoreRoomDetailService
/**
* 新增【请填写功能名称】
*
* @param scoreRoomDetail 【请填写功能名称】
* @param scoreRoomDetails 【请填写功能名称】
* @return 结果
*/
public int insertScoreRoomDetail(ScoreRoomDetail scoreRoomDetail);
public int insertScoreRoomDetail(List<ScoreRoomDetail> scoreRoomDetails);
/**
* 修改【请填写功能名称】

View File

@@ -54,7 +54,7 @@ public interface IScoreRoomUserService
public int insertScoreRoomUser(ScoreRoomUser scoreRoomUser);
public List<ScoreRoomUser> updateScoreRoomUser(List<ScoreRoomUser> scoreRoomUsers);
public int updateScoreRoomUser(List<ScoreRoomUser> scoreRoomUsers);
/**
* 批量删除【请填写功能名称】

View File

@@ -46,13 +46,13 @@ public class ScoreRoomDetailServiceImpl implements IScoreRoomDetailService
/**
* 新增【请填写功能名称】
*
* @param scoreRoomDetail 【请填写功能名称】
* @param scoreRoomDetails 【请填写功能名称】
* @return 结果
*/
@Override
public int insertScoreRoomDetail(ScoreRoomDetail scoreRoomDetail)
public int insertScoreRoomDetail(List<ScoreRoomDetail> scoreRoomDetails)
{
return scoreRoomDetailMapper.insertScoreRoomDetail(scoreRoomDetail);
return scoreRoomDetailMapper.insertScoreRoomDetail(scoreRoomDetails);
}
/**

View File

@@ -64,6 +64,8 @@ public class ScoreRoomServiceImpl implements IScoreRoomService
@Override
public int insertScoreRoom(ScoreRoom scoreRoom)
{
// List<ScoreRoom> newRoom = scoreRoomMapper.selectScoreRoomList(scoreRoom);
return scoreRoomMapper.insertScoreRoom(scoreRoom);
}

View File

@@ -86,7 +86,7 @@ public class ScoreRoomUserServiceImpl implements IScoreRoomUserService
@Override
public List<ScoreRoomUser> updateScoreRoomUser(List<ScoreRoomUser> scoreRoomUsers)
public int updateScoreRoomUser(List<ScoreRoomUser> scoreRoomUsers)
{
List<ScoreRoomUser> updatedUsers = new ArrayList<>();
@@ -114,7 +114,7 @@ public class ScoreRoomUserServiceImpl implements IScoreRoomUserService
// 使用现有记录进行更新
userToUpdate = existingUser;
userToUpdate.setTotalScore(newTotalScore);
userToUpdate.setUpdateTime(new Date());
return userToUpdate;
}

View File

@@ -35,26 +35,35 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
where detail_id = #{detailId}
</select>
<insert id="insertScoreRoomDetail" parameterType="ScoreRoomDetail" useGeneratedKeys="true" keyProperty="detailId">
insert into score_room_detail
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="roomId != null">room_id,</if>
<if test="userId != null">user_id,</if>
<if test="score != null">score,</if>
<if test="createdTime != null">created_time,</if>
<if test="detailType != null">detail_type,</if>
<if test="getterId != null">getter_id,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="roomId != null">#{roomId},</if>
<if test="userId != null">#{userId},</if>
<if test="score != null">#{score},</if>
<if test="createdTime != null">#{createdTime},</if>
<if test="detailType != null">#{detailType},</if>
<if test="getterId != null">#{getterId},</if>
</trim>
<!-- <insert id="insertScoreRoomDetail" useGeneratedKeys="true" keyProperty="detailId">-->
<!-- insert into score_room_detail-->
<!-- <trim prefix="(" suffix=")" suffixOverrides=",">-->
<!-- <if test="roomId != null">room_id,</if>-->
<!-- <if test="userId != null">user_id,</if>-->
<!-- <if test="score != null">score,</if>-->
<!-- <if test="createdTime != null">created_time,</if>-->
<!-- <if test="detailType != null">detail_type,</if>-->
<!-- <if test="getterId != null">getter_id,</if>-->
<!-- </trim>-->
<!-- <trim prefix="values (" suffix=")" suffixOverrides=",">-->
<!-- <if test="roomId != null">#{roomId},</if>-->
<!-- <if test="userId != null">#{userId},</if>-->
<!-- <if test="score != null">#{score},</if>-->
<!-- <if test="createdTime != null">#{createdTime},</if>-->
<!-- <if test="detailType != null">#{detailType},</if>-->
<!-- <if test="getterId != null">#{getterId},</if>-->
<!-- </trim>-->
<!-- </insert>-->
<insert id="insertScoreRoomDetail" useGeneratedKeys="true" keyProperty="detailId">
INSERT INTO score_room_detail (room_id, user_id, detail_score, game_time)
VALUES
<foreach collection="scoreRoomDetails" item="item" separator=",">
(#{item.roomId}, #{item.userId}, #{item.detailScore}, #{item.gameTime})
</foreach>
</insert>
<update id="updateScoreRoomDetail" parameterType="ScoreRoomDetail">
update score_room_detail
<trim prefix="SET" suffixOverrides=",">

View File

@@ -36,8 +36,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</select>
<select id="selectScoreRoomUserPrescore" resultMap="ScoreRoomUserResult">
<include refid="selectScoreRoomUserVo"/>
where room_id = #{roomId} and user_id = #{userId}
select room_id, user_id, score from score_room_user
where room_id = #{roomId} AND user_id = #{userId}
</select>
@@ -69,15 +69,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</insert>
<update id="updateScoreRoomUser">
<foreach collection="list" item="item" index="index" separator=";">
update score_room_user
<trim prefix="SET" suffixOverrides=",">
<if test="item.totalScore != null">score = #{item.totalScore},</if>
<if test="item.playerType != null">player_type = #{item.playerType},</if>
<if test="item.nickName != null">nick_name = #{item.nickName},</if>
<if test="item.avatars != null">avatars = #{item.avatars},</if>
</trim>
where room_id = #{item.roomId} AND user_id = #{item.userId}
UPDATE score_room_user
SET
score = CASE
<foreach collection="scoreRoomUsers" item="item">
WHEN room_id = #{item.roomId} AND user_id = #{item.userId} THEN #{item.totalScore}
</foreach>
ELSE score
END
<!-- 如果需要更新其他字段可以继续添加类似的CASE WHEN结构 -->
WHERE (room_id, user_id) IN
<foreach collection="scoreRoomUsers" item="item" separator="," open="(" close=")">
(#{item.roomId}, #{item.userId})
</foreach>
</update>