寻宝自动匹配到未开始的队伍;调整索引

This commit is contained in:
liangtongchuan
2020-11-28 23:12:12 +08:00
parent a247f381d0
commit 38fb02907b
2 changed files with 18 additions and 10 deletions

View File

@@ -144,10 +144,15 @@ export class ComBattleHandler {
let roleId = session.get('roleId');
let roleName = session.get('roleName');
let sid = session.get('sid');
let teamCode = session.get('teamCode');
const { qualityArr } = msg;
let { lv, headHid = 19, topFiveCe = 1000, sHid = 19 } = await RoleModel.findByRoleId(roleId);
const team = await ComBattleTeamModel.getOneTeamByQualityAndSt(qualityArr, COM_TEAM_STATUS.DEFAULT, topFiveCe);
// TODO: 有匹配的队伍还需要重新触发加入
if (team) {
return resResult(STATUS.SUCCESS, {teamCode: team.teamCode});
}
let teamCode = session.get('teamCode');
await setTeamSearchReq(roleId, sid, qualityArr);
let thiz = this;
setTimeout(async () => {
@@ -211,23 +216,21 @@ export class ComBattleHandler {
let roleStatus = new RoleStatus(roleId, roleName, false, isFrd, headHid, sHid, topFiveCe, lv);
const team = await ComBattleTeamModel.addRole(teamCode, roleStatus);
if (!team) {
return resResult(STATUS.COM_BATTLE_CREATE_ERR);
if (!team || team.roleIds.length === 3) {
return resResult(STATUS.COM_BATTLE_JOIN_ERR);
}
let channelService = this.app.get('channelService');
let channel = channelService.getChannel(teamCode, false);
teamStatus.roleIds.push(roleId);
teamStatus.roleStatus.push(roleStatus);
channel.pushMessage('onTeamJoin', {teamInfo: teamStatus});
let users = channel.getMembers();
if (users.indexOf(roleId) === -1) {
channel.add(roleId, sid);
}
channel.pushMessage('onTeamJoin', {teamCode, roleInfo: roleStatus});
teamStatus.roleIds.push(roleId);
teamStatus.roleStatus.push(roleStatus);
return resResult(STATUS.SUCCESS, { teamInfo: {
teamCode, roleStatus: teamStatus.roleStatus, capId: teamStatus.capId, ceLimit: teamStatus.ceLimit
}});
return resResult(STATUS.SUCCESS, { teamInfo: teamStatus});
}
async getTeams(msg: { blueprtIds: Array<number> }, session: BackendSession) {