修复:修复世界频道,装备bug,军团刷新bug,抽卡心愿单bug
This commit is contained in:
@@ -155,9 +155,11 @@ export class GachaHandler {
|
|||||||
|
|
||||||
for (let { hid } of hope) {
|
for (let { hid } of hope) {
|
||||||
let dicHero = gameData.hero.get(hid);
|
let dicHero = gameData.hero.get(hid);
|
||||||
if (!dicHero) return resResult(STATUS.DIC_DATA_NOT_FOUND);
|
if(hid != 0) {
|
||||||
if (hid != 0 && dicHero.quality != HERO_QUALITY_TYPE.GOLD) {
|
if (!dicHero) return resResult(STATUS.DIC_DATA_NOT_FOUND);
|
||||||
return resResult(STATUS.GACHA_HOPE_NOT_GOLD);
|
if (hid != 0 && dicHero.quality != HERO_QUALITY_TYPE.GOLD) {
|
||||||
|
return resResult(STATUS.GACHA_HOPE_NOT_GOLD);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
let userGacha = await UserGachaModel.updateInfo(roleId, gachaId, 0, { hope: hope.map(cur => { return { ...cur, hasGet: false } }) })
|
let userGacha = await UserGachaModel.updateInfo(roleId, gachaId, 0, { hope: hope.map(cur => { return { ...cur, hasGet: false } }) })
|
||||||
|
|||||||
@@ -88,7 +88,7 @@ export class ChatHandler {
|
|||||||
const serverId = session.get('serverId');
|
const serverId = session.get('serverId');
|
||||||
const guildCode = session.get('guildCode');
|
const guildCode = session.get('guildCode');
|
||||||
const funcs: number[] = session.get('funcs');
|
const funcs: number[] = session.get('funcs');
|
||||||
const sid = session.get('guildCode');
|
const sid = session.get('sid');
|
||||||
let channelId = '';
|
let channelId = '';
|
||||||
if (channel === CHANNEL_PREFIX.WORLD) channelId = `${serverId}`;
|
if (channel === CHANNEL_PREFIX.WORLD) channelId = `${serverId}`;
|
||||||
if (channel === CHANNEL_PREFIX.GUILD) channelId = guildCode;
|
if (channel === CHANNEL_PREFIX.GUILD) channelId = guildCode;
|
||||||
|
|||||||
@@ -134,10 +134,13 @@ export default class UserGuild extends BaseModel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static async createUserGuild(guildCode: string, role: RoleType, isLeader: boolean) {
|
public static async createUserGuild(guildCode: string, role: RoleType, isLeader: boolean) {
|
||||||
|
const lastGuild = await UserGuildModel.findMyLastGuild(role.roleId);
|
||||||
|
let { receiveBoxs = [], donateCnt = 0, receivedActive = [] } = lastGuild||{};
|
||||||
|
|
||||||
const doc = new UserGuildModel();
|
const doc = new UserGuildModel();
|
||||||
let job = isLeader? GUILD_JOB.DAJIANGJUN: GUILD_JOB.SHIBING;
|
let job = isLeader? GUILD_JOB.DAJIANGJUN: GUILD_JOB.SHIBING;
|
||||||
let auth = isLeader? GUILD_AUTH.LEADER: GUILD_AUTH.MEMBER;
|
let auth = isLeader? GUILD_AUTH.LEADER: GUILD_AUTH.MEMBER;
|
||||||
const update = Object.assign(doc.toJSON(), { guildCode, roleId: role.roleId, role: role._id, job, auth });
|
const update = Object.assign(doc.toJSON(), { guildCode, roleId: role.roleId, role: role._id, job, auth, receiveBoxs, donateCnt, receivedActive });
|
||||||
delete update._id;
|
delete update._id;
|
||||||
const result: UserGuildType = await UserGuildModel.findOneAndUpdate({ roleId: role.roleId, guildCode, status: USER_GUILD_STATUS.ON }, update, { upsert: true, new: true })
|
const result: UserGuildType = await UserGuildModel.findOneAndUpdate({ roleId: role.roleId, guildCode, status: USER_GUILD_STATUS.ON }, update, { upsert: true, new: true })
|
||||||
.select('activeDaily activeRecord activeWeekly activeUpdateTime job auth receivedActive')
|
.select('activeDaily activeRecord activeWeekly activeUpdateTime job auth receivedActive')
|
||||||
@@ -146,6 +149,11 @@ export default class UserGuild extends BaseModel {
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static async findMyLastGuild(roleId: string) {
|
||||||
|
const userGuild = await UserGuildModel.findOne({ roleId, status: { $ne: USER_GUILD_STATUS.ON } }).sort({ updatedAt: -1 }).lean();
|
||||||
|
return userGuild;
|
||||||
|
}
|
||||||
|
|
||||||
public static async dismiss(guildCode: string) {
|
public static async dismiss(guildCode: string) {
|
||||||
const result = await UserGuildModel.updateMany({ guildCode }, { status: USER_GUILD_STATUS.DISMISSED });
|
const result = await UserGuildModel.updateMany({ guildCode }, { status: USER_GUILD_STATUS.DISMISSED });
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user