机器人自动发包 优化
This commit is contained in:
@@ -7,6 +7,7 @@ import com.tailbet.model.entity.User;
|
||||
import com.tailbet.mapper.DrawRecordMapper;
|
||||
import com.tailbet.mapper.DigitWhiteMapper;
|
||||
import com.tailbet.mapper.GameRoundMapper;
|
||||
import com.tailbet.mapper.GroupMemberMapper;
|
||||
import com.tailbet.mapper.PendingTaskMapper;
|
||||
import com.tailbet.mapper.RedPacketMapper;
|
||||
import com.tailbet.mapper.RedPacketRecvMapper;
|
||||
@@ -14,6 +15,7 @@ import com.tailbet.mapper.SysConfigMapper;
|
||||
import com.tailbet.mapper.UserMapper;
|
||||
import com.tailbet.model.entity.DigitWhite;
|
||||
import com.tailbet.model.entity.DrawRecord;
|
||||
import com.tailbet.model.entity.GroupMember;
|
||||
import com.tailbet.model.entity.RedPacketRecv;
|
||||
import com.tailbet.model.entity.SysConfig;
|
||||
import com.tailbet.model.entity.PendingTask;
|
||||
@@ -34,6 +36,7 @@ import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 游戏定时任务
|
||||
@@ -51,6 +54,7 @@ public class GameJob {
|
||||
private final UserMapper userMapper;
|
||||
private final DigitWhiteMapper digitWhiteMapper;
|
||||
private final PendingTaskMapper pendingTaskMapper;
|
||||
private final GroupMemberMapper groupMemberMapper;
|
||||
private final IGameService gameService;
|
||||
private final IRedPacketService redPacketService;
|
||||
private final IFakeUserService fakeUserService;
|
||||
@@ -498,13 +502,28 @@ public class GameJob {
|
||||
|
||||
// 即使未设置目标尾数,机器人也会发包(由RedPacketService按随机金额处理)
|
||||
|
||||
// 查找机器人账号
|
||||
// 从本群成员中查找机器人账号
|
||||
List<Long> memberIds = groupMemberMapper.selectList(
|
||||
new LambdaQueryWrapper<GroupMember>()
|
||||
.eq(GroupMember::getGroupId, groupId)
|
||||
.select(GroupMember::getUserId))
|
||||
.stream()
|
||||
.map(GroupMember::getUserId)
|
||||
.collect(Collectors.toList());
|
||||
|
||||
if (memberIds.isEmpty()) {
|
||||
log.warn("群{}无成员,机器人跳过发包", groupId);
|
||||
return;
|
||||
}
|
||||
|
||||
User bot = userMapper.selectOne(new LambdaQueryWrapper<User>()
|
||||
.in(User::getId, memberIds)
|
||||
.eq(User::getIsBot, 1)
|
||||
.eq(User::getStatus, 1)
|
||||
.last("LIMIT 1"));
|
||||
|
||||
if (bot == null) {
|
||||
log.error("未找到机器人账号");
|
||||
log.warn("群{}成员中无可用机器人账号,跳过发包", groupId);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user