✨ feat(宝物): 创建宝物逻辑修改
This commit is contained in:
+9
-10
@@ -35,16 +35,16 @@ export default class Artifact extends BaseModel {
|
||||
@prop({ required: true, default: 0 })
|
||||
lv: number; // 强化等级
|
||||
|
||||
@prop({ required: true })
|
||||
@prop({ required: true, default: 0 })
|
||||
quality: number; // 品质 1-5 蓝紫橙红金
|
||||
|
||||
@prop({ required: true })
|
||||
@prop({ required: true, default: 0 })
|
||||
qualityStage: number; // 品质+n,0开始
|
||||
|
||||
@prop({ required: true, default: 0 })
|
||||
hid: number; // 装备的武将
|
||||
|
||||
@prop({ required: true })
|
||||
@prop({ required: false })
|
||||
batchCode: string; // 一键合成批处理
|
||||
|
||||
@prop({ required: true, default: 1 })
|
||||
@@ -70,20 +70,19 @@ export default class Artifact extends BaseModel {
|
||||
const seqId = await CounterModel.getNewCounter(COUNTER.ARTIFACT_ID);
|
||||
|
||||
const doc = new ArtifactModel();
|
||||
const update = Object.assign(doc.toJSON(), seqId, artifactInfo);
|
||||
delete update._id;
|
||||
const artifact: ArtifactModelType = await ArtifactModel.findOneAndUpdate({ seqId }, update, { upsert: true, new: true }).lean();
|
||||
const artifact = Object.assign(doc.toJSON(), {seqId}, artifactInfo);
|
||||
return artifact;
|
||||
}
|
||||
|
||||
public static async createArtifacts(roleId: string, artifactInfos: ArtifactModelUpdate[]) {
|
||||
let result: ArtifactModelType[] = [];
|
||||
let insertInfo: ArtifactModelType[] = [];
|
||||
for (let artifactInfo of artifactInfos) {
|
||||
let artifact = await this.createArtifact(artifactInfo);
|
||||
result.push(artifact);
|
||||
insertInfo.push(artifact);
|
||||
}
|
||||
await RoleModel.increaseArtifact(roleId, result.length);
|
||||
return result;
|
||||
await ArtifactModel.insertMany(insertInfo);
|
||||
await RoleModel.increaseArtifact(roleId, insertInfo.length);
|
||||
return insertInfo;
|
||||
}
|
||||
|
||||
public static async putOnOrOff(roleId: string, seqId: number, hid: number, lv?: number) {
|
||||
|
||||
Reference in New Issue
Block a user