军团活动:诸侯混战露出的接口

This commit is contained in:
luying
2021-03-22 20:51:59 +08:00
parent a56a6cf2f3
commit ecb4b87abc
14 changed files with 550 additions and 87 deletions

View File

@@ -18,6 +18,17 @@ export class Record {
}
export class DamageRecord {
@prop({ required: true })
round: number; // 第几回合
@prop({ required: true })
hid: number; // 造成伤害的武将
@prop({ required: true })
damage: number; // 伤害
}
@index({ code: 1 })
export default class UserGuildActivityRec extends BaseModel {
@@ -54,17 +65,26 @@ export default class UserGuildActivityRec extends BaseModel {
@prop({ required: true, default: 0 })
challengeCnt: number; // 向上累加的挑战次数
// 南蛮入侵字段
@prop({ required: true, type: Number })
heroes: number[]; // 使用的武将
heroes: number[]; // 南蛮&诸侯混战 使用的武将
@prop({ required: true })
score: number; // 个人总军功
score: number; // 个人总军功/个人总伤害
// 南蛮入侵字段
@prop({ required: true, type: Record, _id: false })
record: Record[]; // 个人总军功
// 诸侯混战字段
@prop({ required: true, default: 0 })
challengeTime: number; // cd结束时间
@prop({ required: true, type: DamageRecord, _id: false })
damageRecord: DamageRecord[]; // 城门伤害记录
@prop({ required: true, default: 0 })
cityId: number; // 挑战城池
// 每天一条记录
public static async getRecord(roleId: string, roleName: string, guildCode: string, serverId: number, sourceCode: string, aid: number) {
let today = getTodayZeroDate();
@@ -80,6 +100,14 @@ export default class UserGuildActivityRec extends BaseModel {
return rec;
}
public static async findByRoleId(roleId: string, aid: number) {
let today = getTodayZeroDate();
let rec: UserGuildActivityRecType = await UserGuildActivityRecModel.findOne({ roleId, aid, createdAt: { $gte: today }}).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;
@@ -94,6 +122,15 @@ export default class UserGuildActivityRec extends BaseModel {
return rec;
}
public static async pushCityRecord(code: string, damageRecord: DamageRecord) {
let rec: UserGuildActivityRecType = await UserGuildActivityRecModel.findOneAndUpdate(
{ code },
{ $push: { damageRecord }},
{ new: true }
).lean();
return rec;
}
public static async updateInfo(code: string, update: UserGuildActivityRecUpdateParam) {
let rec: UserGuildActivityRecType = await UserGuildActivityRecModel.findOneAndUpdate({ code }, { $set: update }, { new: true }).lean();
return rec;