后台添加装备时可以选择武将穿上
This commit is contained in:
@@ -2,6 +2,7 @@ import BaseModel from './BaseModel';
|
||||
import { index, getModelForClass, prop, DocumentType, modelOptions } from '@typegoose/typegoose';
|
||||
import { COUNTER } from '../consts';
|
||||
import { CounterModel } from './Counter';
|
||||
import { HeroModel } from './Hero';
|
||||
|
||||
export class RandSe {
|
||||
@prop({ required: true })
|
||||
@@ -48,7 +49,7 @@ export default class Equip extends BaseModel {
|
||||
id: number; // 装备 id
|
||||
@prop({ required: true })
|
||||
name: string; // 装备名称
|
||||
@prop({ required: false })
|
||||
@prop({ required: false, default: 0 })
|
||||
hid: number; // 装备此装备的武将 id
|
||||
@prop({ required: false, default: 0 })
|
||||
ePlaceId: number; // 武将装备的部位
|
||||
@@ -77,12 +78,18 @@ export default class Equip extends BaseModel {
|
||||
return equip;
|
||||
}
|
||||
|
||||
public static async createEquip(equipInfo: {roleId: string, roleName: string, id: number, name: string, quality: number, suitId: number, ePlaceId: number, randSe: RandSe[], randRange: number, holes: Holes[]}, lean = true) {
|
||||
public static async createEquip(equipInfo: {roleId: string, roleName: string, id: number, name: string, quality: number, suitId: number, ePlaceId: number, randSe: RandSe[], randRange: number, holes: Holes[], hid?: number}, lean = true) {
|
||||
const seqId = await CounterModel.getNewCounter(COUNTER.EID);
|
||||
|
||||
const doc = new EquipModel();
|
||||
const update = Object.assign(doc.toJSON(), seqId, equipInfo);
|
||||
const equip: EquipType = await EquipModel.findOneAndUpdate({ seqId }, update, {upsert: true, new: true}).lean(lean);
|
||||
if(equipInfo.hid > 0) {
|
||||
await HeroModel.findOneAndUpdate(
|
||||
{ roleId: equipInfo.roleId, hid: equipInfo.hid, 'ePlace.id': 1 },
|
||||
{$set: {'ePlace.$.equip': equip._id}},
|
||||
{new: true}).lean(lean);
|
||||
}
|
||||
return equip;
|
||||
}
|
||||
|
||||
|
||||
@@ -152,7 +152,7 @@ export default class Hero extends BaseModel {
|
||||
{$set: {'ePlace.$.equip': equipId}},
|
||||
{new: true}).lean(lean);
|
||||
if (hero) {
|
||||
await Equip.putOn(hero.hid, equipId);
|
||||
await Equip.putOn(hero.hid, equipId);
|
||||
}
|
||||
return hero;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user