军团活动:修复rpc调用以及其他问题

This commit is contained in:
luying
2021-03-19 18:25:58 +08:00
parent 7324556852
commit f7627f85d1
23 changed files with 351 additions and 109 deletions

View File

@@ -62,11 +62,11 @@ export default class UserGuildActivityRec extends BaseModel {
@prop({ required: true })
score: number; // 个人总军功
@prop({ required: true, type: Record })
@prop({ required: true, type: Record, _id: false })
record: Record[]; // 个人总军功
// 每天一条记录
public static async getRecord(roleId: string, roleName: string, guildCode: string, serverId: number, sourceCode: string, heroes: number[], aid: number) {
public static async getRecord(roleId: string, roleName: string, guildCode: string, serverId: number, sourceCode: string, aid: number) {
let today = getTodayZeroDate();
let docs = new UserGuildActivityRecModel();
let code = genCode(10);
@@ -76,14 +76,17 @@ export default class UserGuildActivityRec extends BaseModel {
{ roleId, sourceCode, createdAt: { $gte: today }},
{ $setOnInsert: update },
{new: true, upsert: true}).lean();
if(heroes.length > 0 && rec) {
rec = await UserGuildActivityRecModel.findOneAndUpdate( { code: rec.code}, { $push: { heroes: { $each: heroes}}, $inc: { challengeCnt: 1 }}, {new: true}).lean();
}
return rec;
}
public static async incChallengeCnt(code: string, heroes: number[], inc: number = 1 ) {
let rec = await UserGuildActivityRecModel.findOneAndUpdate( { code}, { $push: { heroes: { $each: heroes}}, $inc: { challengeCnt: inc }}, {new: true}).lean();
return rec;
}
public static async pushRecord(code: string, records: Record[]) {
let rec: UserGuildActivityRec = await UserGuildActivityRecModel.findOneAndUpdate(
let rec: UserGuildActivityRecType = await UserGuildActivityRecModel.findOneAndUpdate(
{ code },
{ $push: { record: { $each: records } } },
{ new: true }
@@ -92,7 +95,14 @@ export default class UserGuildActivityRec extends BaseModel {
}
public static async updateInfo(code: string, update: UserGuildActivityRecUpdateParam) {
let rec: UserGuildActivityRec = await UserGuildActivityRecModel.findOneAndUpdate({ code }, { $set: update }, { new: true }).lean();
let rec: UserGuildActivityRecType = await UserGuildActivityRecModel.findOneAndUpdate({ code }, { $set: update }, { new: true }).lean();
return rec;
}
public static async updateInfoByRoleId(roleId: string, update: UserGuildActivityRecUpdateParam) {
let today = getTodayZeroDate();
let rec: UserGuildActivityRecType = await UserGuildActivityRecModel.findOneAndUpdate(
{ roleId, createdAt: { $gte: today } }, { $set: update }, { new: true }).lean();
return rec;
}
}