军团活动:诸侯混战露出的接口
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user