init
This commit is contained in:
+16
-3
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user