This commit is contained in:
luying
2020-12-16 20:49:06 +08:00
parent 05955f77bb
commit e77da03476
3 changed files with 79 additions and 17 deletions
+16 -3
View File
@@ -22,6 +22,19 @@ class Skin {
enable: boolean;
}
class EPlace {
@prop({ required: true })
id: number;
@prop({ ref: Equip, type: mongoose.Schema.Types.ObjectId })
equip: Ref<Equip>;
@prop({ required: true })
lv: number;
@prop({ required: true })
refineLv: number;
@prop({ required: true })
refineCount: number;
}
interface heroUpdate {
exp?: number;
lv?: number;
@@ -95,8 +108,8 @@ export default class Hero extends BaseModel {
@prop({ required: true, type: Skin, default: [] })
skins: Skin[]; // 皮肤
@prop({ ref: Equip, type: mongoose.Schema.Types.ObjectId })
equips: Ref<Equip>[]; // 武将装备引用数组
@prop({ required: true, type: EPlace, default:[] })
ePlact: EPlace[]; // 武将装备引用数组
public static async findByRole(roleId: string, lean = true) {
const heros: HeroType[] = await HeroModel.find({ roleId }).populate('equips').lean(lean);
@@ -129,7 +142,7 @@ export default class Hero extends BaseModel {
const seqId = await CounterModel.getNewCounter(COUNTER.HID)||-1;
const update = Object.assign(doc.toJSON(), heroInfo, {seqId});
delete update._id;
const hero: HeroType = await HeroModel.findOneAndUpdate({roleId: heroInfo.roleId, hid: heroInfo.hid}, update, {upsert: true, new: true}).select('hid hName lv exp star starStage colorStar colorStarStage quality job jobStage conections favour favourLv skins equips ce ceAttr').lean(lean);
const hero: HeroType = await HeroModel.findOneAndUpdate({roleId: heroInfo.roleId, hid: heroInfo.hid}, update, {upsert: true, new: true}).select('seqId hid hName lv exp star starStage colorStar colorStarStage quality job jobStage conections favour favourLv skins equips ce ceAttr').lean(lean);
return hero;
}