镇念塔调整

This commit is contained in:
luying
2020-11-04 20:12:54 +08:00
parent 4effd85f2a
commit 6020037aa6
17 changed files with 844 additions and 511 deletions
+19 -7
View File
@@ -35,8 +35,9 @@ export default class TowerRecord extends BaseModel {
public static async createRecord(towerInfo: {roleId: string, lv: number, warStatus: Array<WarStatus>}, lean = true) {
const recDoc = new TowerRecordModel();
const update = Object.assign(towerInfo, recDoc.toJSON());
const update = Object.assign(recDoc.toJSON(), towerInfo );
const { roleId, lv } = towerInfo;
console.log(JSON.stringify(towerInfo))
let rec = await TowerRecordModel.findOneAndUpdate({roleId, lv}, {$set: update}, {upsert: true, new: true}).lean(lean);
return rec;
}
@@ -51,12 +52,23 @@ export default class TowerRecord extends BaseModel {
* @param lean
*/
public static async updateRecord(roleId: string, lv: number, battleCode: string, warId: number, heroes: Array<number>, inc: number, lean = true) {
const rec = await TowerRecordModel.findOneAndUpdate(
{roleId, lv, 'warStatus.warId': warId},
{$set: {'warStatus.$.status': true, 'warStatus.$.battleCode': battleCode, passed: inc === 1 ? true : false}, $push: {heroes: {$each: heroes}}},
{new: true, upsert: true}
).lean(lean);
return rec;
let tower = await TowerRecordModel.findOne({roleId, lv, 'warStatus.warId': warId});
if(tower) {
const rec = await TowerRecordModel.findOneAndUpdate(
{roleId, lv, 'warStatus.warId': warId},
{$set: {'warStatus.$.status': true, 'warStatus.$.battleCode': battleCode, passed: inc === 1 ? true : false}, $push: {heroes: {$each: heroes}}},
{new: true, upsert: true}
).lean(lean);
return rec;
} else {
let warStatus = [{warId, status: true,battleCode, passed: inc === 1 ? true : false}];
const rec = await TowerRecordModel.findOneAndUpdate(
{roleId, lv},
{ $push: {heroes: {$each: heroes}, warStatus: {$each: warStatus}}},
{new: true, upsert: true}
).lean(lean);
return rec;
}
}