feat(副将): 设置副将

This commit is contained in:
luying
2022-12-08 15:36:55 +08:00
parent bdbac4b085
commit b684307818
12 changed files with 92 additions and 8 deletions
+7 -3
View File
@@ -56,7 +56,7 @@ export default class LadderMatch extends BaseModel {
public static async findByRoleIdAndInclude(roleId: string) {
const result: LadderMatchType = await LadderMatchModel.findOne({ roleId })
.populate('role', 'roleId roleName head frame spine heads frames spines title lv updatedAt')
.populate('defense.heroes.hero', 'hid skinId quality star colorStar lv skins job')
.populate('defense.heroes.hero', 'hid skinId quality star colorStar lv skins job subHid')
.lean();
return result;
}
@@ -78,7 +78,7 @@ export default class LadderMatch extends BaseModel {
public static async updateByRoleIdAndInclude(roleId: string, params: LadderUpdateInter) {
const defense: LadderMatchType = await LadderMatchModel.findOneAndUpdate({ roleId }, { $set: params}, { new: true })
.populate('role', 'roleId roleName head frame spine heads frames spines title lv updatedAt')
.populate('defense.heroes.hero', 'hid skinId quality star colorStar lv skins job')
.populate('defense.heroes.hero', 'hid skinId quality star colorStar lv skins job subHid')
.lean();
return defense;
}
@@ -98,7 +98,7 @@ export default class LadderMatch extends BaseModel {
public static async lock(serverId: number, roleId: string, rank: number) {
const defense: LadderMatchType = await LadderMatchModel.findOneAndUpdate({ serverId, roleId, rank, locked: 0 }, { $set: { locked: 1 }}, { new: true })
.populate('role', 'roleId roleName head frame spine heads frames spines title lv updatedAt')
.populate('defense.heroes.hero', 'hid skinId quality star colorStar lv skins job')
.populate('defense.heroes.hero', 'hid skinId quality star colorStar lv skins job subHid')
.lean();
return defense;
}
@@ -154,6 +154,10 @@ export default class LadderMatch extends BaseModel {
{ arrayFilters: [{"t.actorId": hid}] }).lean();
return rec
}
public static async removeBySub(roleId: string, subHid: number) {
await LadderMatchModel.updateMany({ roleId, hasDefense: true }, { $pull: { 'defense.heroes': { actorId: subHid } } });
}
}
export const LadderMatchModel = getModelForClass(LadderMatch);