|
|
@@ -1576,4 +1576,36 @@ public class FsUserServiceImpl implements IFsUserService {
|
|
|
return fsUserMapper.selectFsUserListByPhone(phone);
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 自动解除被误封禁的用户(status=0且remark为null)
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public int autoUnbanMistakenlyDisabledUsers() {
|
|
|
+ try {
|
|
|
+ // 查询所有status=0且remark为null的用户
|
|
|
+ List<FsUser> disabledUsers = fsUserMapper.selectMistakenlyDisabledUsers();
|
|
|
+
|
|
|
+ if (disabledUsers == null || disabledUsers.isEmpty()) {
|
|
|
+ logger.info("自动解除封禁定时任务:未发现需要解除的用户");
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ String[] userIds = disabledUsers.stream()
|
|
|
+ .map(user -> String.valueOf(user.getUserId()))
|
|
|
+ .toArray(String[]::new);
|
|
|
+
|
|
|
+ // 批量更新:设置status=1,remark="自动解除封禁"
|
|
|
+ int count = fsUserMapper.autoUnbanMistakenlyDisabledUsers();
|
|
|
+
|
|
|
+ logger.info("自动解除封禁定时任务:成功解除 {} 个用户的封禁状态,用户ID: {}",
|
|
|
+ count, String.join(", ", userIds));
|
|
|
+
|
|
|
+ return count;
|
|
|
+ } catch (Exception e) {
|
|
|
+ logger.error("自动解除封禁定时任务执行失败:{}", e.getMessage(), e);
|
|
|
+ throw e;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
}
|