军团活动:修复rpc调用以及其他问题
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user