Explorar o código

feat(system): 添加清理系统数据功能

- 在IUserService接口中新增removeUserCacheSystemData方法
- 在UserController中添加/removeUserCacheSystemData POST接口
- 在UserMapper中增加多个删除方法用于清理各类业务数据
- 在UserMapper.xml中配置对应的删除SQL语句
- 在UserServiceImpl中实现removeUserCacheSystemData方法调用各删除操作
fugui001 hai 2 meses
pai
achega
eed9dbc68b

+ 7 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/business/controller/UserController.java

@@ -137,6 +137,13 @@ public class UserController extends BaseController {
     }
 
 
+    /**
+     * 清理系统数据
+     */
+    @PostMapping("/removeUserCacheSystemData")
+    public void removeUserCacheSystemData() {
+         userService.removeUserCacheSystemData();
+    }
 
 
 }

+ 117 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/business/mapper/UserMapper.java

@@ -47,5 +47,122 @@ public interface UserMapper extends BaseMapperPlus<User, UserVo> {
     UserVo selUserPhoneExit(@Param("phone") String phone);
 
 
+    /**
+     * 删除部分
+     */
+    /**
+     * 删除手牌历史记录
+     */
+    @InterceptorIgnore(tenantLine = "true")
+    void deleteHandHistory();
+
+    /**
+     * 删除消息接收者记录
+     */
+    @InterceptorIgnore(tenantLine = "true")
+    void deleteMessageReceivers();
+
+    /**
+     * 删除消息记录
+     */
+    @InterceptorIgnore(tenantLine = "true")
+    void deleteMessage();
+
+    /**
+     * 删除操作日志
+     */
+    @InterceptorIgnore(tenantLine = "true")
+    void deleteOperationLog();
+
+    /**
+     * 删除参与者记录
+     */
+    @InterceptorIgnore(tenantLine = "true")
+    void deleteParticipants();
+
+    /**
+     * 删除支付订单记录
+     */
+    @InterceptorIgnore(tenantLine = "true")
+    void deletePayOrder();
+
+    /**
+     * 删除玩家手牌历史记录
+     */
+    @InterceptorIgnore(tenantLine = "true")
+    void deletePlayerHandHistory();
+
+    /**
+     * 删除玩家物品记录
+     */
+    @InterceptorIgnore(tenantLine = "true")
+    void deletePlayerItems();
+
+    /**
+     * 删除玩家物品日志记录
+     */
+    @InterceptorIgnore(tenantLine = "true")
+    void deletePlayerItemsLog();
+
+    /**
+     * 删除奖品分配项记录
+     */
+    @InterceptorIgnore(tenantLine = "true")
+    void deletePrizeDistributionItems();
+
+    /**
+     * 删除奖品分配记录
+     */
+    @InterceptorIgnore(tenantLine = "true")
+    void deletePrizeDistribution();
+
+    /**
+     * 删除奖励领取记录
+     */
+    @InterceptorIgnore(tenantLine = "true")
+    void deleteRewardClaims();
+
+    /**
+     * 删除奖励领取日志记录
+     */
+    @InterceptorIgnore(tenantLine = "true")
+    void deleteRewardClaimsLog();
+
+    /**
+     * 删除锦标赛盲注结构记录
+     */
+    @InterceptorIgnore(tenantLine = "true")
+    void deleteTournamentBlindStructures();
+
+    /**
+     * 删除锦标赛入场条件记录
+     */
+    @InterceptorIgnore(tenantLine = "true")
+    void deleteTournamentEntryConditions();
+
+    /**
+     * 删除锦标赛记录
+     */
+    @InterceptorIgnore(tenantLine = "true")
+    void deleteTournament();
+
+    /**
+     * 删除用户检查记录
+     */
+    @InterceptorIgnore(tenantLine = "true")
+    void deleteUserCheckRecord();
+
+    /**
+     * 删除用户投诉记录
+     */
+    @InterceptorIgnore(tenantLine = "true")
+    void deleteUserComplaints();
+
+    /**
+     * 删除用户消息状态记录
+     */
+    @InterceptorIgnore(tenantLine = "true")
+    void deleteUserMessageStatus();
+
 
 }

+ 5 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/business/service/IUserService.java

@@ -93,4 +93,9 @@ public interface IUserService {
     R<Void> updateUserPhone(UserBo bo);
 
 
+    /**
+     * 清理数据库数据
+     */
+    void removeUserCacheSystemData();
+
 }

+ 24 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/business/service/impl/UserServiceImpl.java

@@ -496,6 +496,30 @@ public class UserServiceImpl implements IUserService {
         return R.ok();
     }
 
+    @Override
+    public void removeUserCacheSystemData() {
+        // 调用UserDeleteMapper执行各种删除操作
+        baseMapper.deleteHandHistory();
+        baseMapper.deleteMessageReceivers();
+        baseMapper.deleteMessage();
+        baseMapper.deleteOperationLog();
+        baseMapper.deleteParticipants();
+        baseMapper.deletePayOrder();
+        baseMapper.deletePlayerHandHistory();
+        baseMapper.deletePlayerItems();
+        baseMapper.deletePlayerItemsLog();
+        baseMapper.deletePrizeDistributionItems();
+        baseMapper.deletePrizeDistribution();
+        baseMapper.deleteRewardClaims();
+        baseMapper.deleteRewardClaimsLog();
+        baseMapper.deleteTournamentBlindStructures();
+        baseMapper.deleteTournamentEntryConditions();
+        baseMapper.deleteTournament();
+        baseMapper.deleteUserCheckRecord();
+        baseMapper.deleteUserComplaints();
+        baseMapper.deleteUserMessageStatus();
+    }
+
     public boolean verifyCode(String email, String phone, String inputCode) {
         String target = (email != null ? email : phone);
         String storedCode = codeStore.get(target);

+ 80 - 0
ruoyi-modules/ruoyi-system/src/main/resources/mapper/business/UserMapper.xml

@@ -300,4 +300,84 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             FROM user a  where a.phone=#{phone} and a.del_flag=0
     </select>
 
+
+
+    <delete id="deleteHandHistory">
+        DELETE FROM hand_history
+    </delete>
+
+    <delete id="deleteMessageReceivers">
+        DELETE FROM message_receivers
+    </delete>
+
+    <delete id="deleteMessage">
+        DELETE FROM messages
+    </delete>
+
+    <delete id="deleteOperationLog">
+        DELETE FROM operation_log
+    </delete>
+
+    <delete id="deleteParticipants">
+        DELETE FROM participants
+    </delete>
+
+    <delete id="deletePayOrder">
+        DELETE FROM pay_order
+    </delete>
+
+    <delete id="deletePlayerHandHistory">
+        DELETE FROM player_hand_history
+    </delete>
+
+    <delete id="deletePlayerItems">
+        DELETE FROM player_items
+    </delete>
+
+    <delete id="deletePlayerItemsLog">
+        DELETE FROM players_items_log
+    </delete>
+
+    <delete id="deletePrizeDistributionItems">
+        DELETE FROM prize_distribution_items
+    </delete>
+
+    <delete id="deletePrizeDistribution">
+        DELETE FROM prize_distribution
+    </delete>
+
+    <delete id="deleteRewardClaims">
+        DELETE FROM reward_claims
+    </delete>
+
+    <delete id="deleteRewardClaimsLog">
+        DELETE FROM reward_claims_log
+    </delete>
+
+    <delete id="deleteTournamentBlindStructures">
+        DELETE FROM tournament_blind_structures
+    </delete>
+
+    <delete id="deleteTournamentEntryConditions">
+        DELETE FROM tournament_entry_conditions
+    </delete>
+
+    <delete id="deleteTournament">
+        DELETE FROM tournaments
+    </delete>
+
+    <delete id="deleteUserCheckRecord">
+        DELETE FROM user_check_record
+    </delete>
+
+    <delete id="deleteUserComplaints">
+        DELETE FROM user_complaints
+    </delete>
+
+    <delete id="deleteUserMessageStatus">
+        DELETE FROM user_message_status
+    </delete>
+
+
+
 </mapper>