武将:抽象武将创建接口

This commit is contained in:
luying
2021-04-23 19:32:02 +08:00
parent 2b246c4bc9
commit 0cd6939f5e
18 changed files with 213 additions and 95 deletions

View File

@@ -156,6 +156,15 @@ export default class Hero extends BaseModel {
return hero;
}
public static async findMapByHidRange(hids: Array<number>, roleId: string, select?: string, getters = false) {
const hero = await HeroModel.findByHidRange(hids, roleId, select, getters);
let map = new Map<number, HeroType>();
for(let h of hero) {
map.set(h.hid, h);
}
return map;
}
public static async findBySeqIdAndRole(seqId: number, roleId: string, lean = true) {
const hero: HeroType = await HeroModel.findOne({ seqId, roleId }).lean(lean);
return hero;
@@ -241,9 +250,9 @@ export default class Hero extends BaseModel {
return result;
}
public static async updateHeroInfo(roleId: string, hid:number, heroUpdate:HeroUpdate, select?: string, lean = true) {
public static async updateHeroInfo(roleId: string, hid:number, heroUpdate:HeroUpdate, select?: string, getters = false) {
delete heroUpdate._id;
let result: HeroType = await HeroModel.findOneAndUpdate({roleId, hid}, {$set:heroUpdate}, {new: true}).select(select).lean(lean);
let result: HeroType = await HeroModel.findOneAndUpdate({roleId, hid}, {$set:heroUpdate}, {new: true}).select(select).lean({ getters });
return result;
}

View File

@@ -92,7 +92,13 @@ export default class UserGacha extends BaseModel {
}
public static async updateInfo(roleId: string, gachaId: number, activityId: number, update: UserGachaParam) {
let rec: UserGachaType = await UserGachaModel.findOneAndUpdate({ roleId, gachaId, activityId }, { $set: update }, { new: true }).lean();
const doc = new UserGachaModel();
const setOnInsert = doc.toJSON();
delete setOnInsert._id;
for(let key in update) {
delete setOnInsert[key];
}
let rec: UserGachaType = await UserGachaModel.findOneAndUpdate({ roleId, gachaId, activityId }, { $set: update, $setOnInsert: setOnInsert }, { new: true, upsert: true }).lean();
return rec;
}