拍卖行:获取活动参加者的接口
This commit is contained in:
@@ -2,7 +2,7 @@ import BaseModel from './BaseModel';
|
||||
import { index, getModelForClass, prop, DocumentType } from '@typegoose/typegoose';
|
||||
import { getTodayZeroDate } from '../pubUtils/timeUtil';
|
||||
|
||||
@index({ code: 1 })
|
||||
@index({ serverId: 1, cityId: 1, createdAt: 1 })
|
||||
export default class GuildActivityCity extends BaseModel {
|
||||
|
||||
@prop({ required: true })
|
||||
|
||||
@@ -3,6 +3,7 @@ import { index, getModelForClass, prop, DocumentType, Ref } from '@typegoose/typ
|
||||
import { ItemReward } from '../domain/dbGeneral';
|
||||
import { getTodayZeroDate } from '../pubUtils/timeUtil';
|
||||
import { genCode } from '../pubUtils/util';
|
||||
import { Member } from '../domain/battleField/guildActivity'
|
||||
|
||||
|
||||
@index({ code: 1 })
|
||||
@@ -20,6 +21,9 @@ export default class GuildActivityRecord extends BaseModel {
|
||||
@prop({ required: true })
|
||||
aid: number; // 军团活动id
|
||||
|
||||
@prop({ required: true })
|
||||
auctionType: number; // 转为拍卖行的类型
|
||||
|
||||
@prop({ required: true, default: false })
|
||||
isSuccess: boolean; // 是否胜利
|
||||
|
||||
@@ -29,8 +33,8 @@ export default class GuildActivityRecord extends BaseModel {
|
||||
@prop({ required: true })
|
||||
rank: number; // 最终排名
|
||||
|
||||
@prop({ required: true, type: String, default: [] })
|
||||
members: string[]; // 参与活动的团员的roleId列表
|
||||
@prop({ required: true, type: Member, default: [], _id: false })
|
||||
members: Member[]; // 参与活动的团员的roleId列表
|
||||
|
||||
@prop({ required: true, default: 0 })
|
||||
memberCnt: number; // 参加的团员的数量
|
||||
@@ -83,6 +87,11 @@ export default class GuildActivityRecord extends BaseModel {
|
||||
{ $set: update }, { new: true }).lean();
|
||||
return rec;
|
||||
}
|
||||
|
||||
public static async findBySourceCode(guildCode: string, sourceType: number, sourceCode: string) {
|
||||
const rec = await GuildActivityRecordModel.findOne({ guildCode, auctionType: sourceType, code: sourceCode }).select('members').lean();
|
||||
return rec;
|
||||
}
|
||||
}
|
||||
|
||||
export const GuildActivityRecordModel = getModelForClass(GuildActivityRecord);
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import { GUILDACTIVITY } from "../../pubUtils/dicParam";
|
||||
import { SimpleGuildRankParam, SimpleRoleRankParam } from '../rank'
|
||||
import { prop } from "@typegoose/typegoose";
|
||||
|
||||
export class GateMembersRec {
|
||||
roleId: string;
|
||||
@@ -14,7 +15,7 @@ export class GateMembersRec {
|
||||
|
||||
export class GateActivityObject {
|
||||
private gateHp: Map<string, number> = new Map(); // 城门血条,每个军团有一条血条 guildCode => hp
|
||||
private members: Map<string, Array<string>> = new Map(); // 每个军团参与的成员 guildCode => [roleId]
|
||||
private members: Map<string, Array<Member>> = new Map(); // 每个军团参与的成员 guildCode => [roleId]
|
||||
private membersRecord: Map<string, GateMembersRec> = new Map(); // 每个成员的回合数和敌军数,防刷 recCode => GateMembersRec
|
||||
private guilds: Map<number, string[]> = new Map(); // 参加的所有军团 server => [guildCode]
|
||||
|
||||
@@ -45,14 +46,14 @@ export class GateActivityObject {
|
||||
return this.guilds;
|
||||
}
|
||||
|
||||
public pushMembers(guildCode: string, serverId: number, roleId: string) {
|
||||
public pushMembers(guildCode: string, serverId: number, roleId: string, job: number) {
|
||||
|
||||
if(this.members.has(guildCode)) {
|
||||
this.members.get(guildCode).push(roleId);
|
||||
this.members.get(guildCode).push({ roleId, job });
|
||||
} else {
|
||||
let arr = new Array<string>();
|
||||
arr.push(roleId);
|
||||
this.members.set(guildCode, [roleId]);
|
||||
this.members.set(guildCode, [{ roleId, job }]);
|
||||
}
|
||||
if(this.guilds.has(serverId)) {
|
||||
let arr = this.guilds.get(serverId);
|
||||
@@ -92,4 +93,11 @@ export interface GuildGateRankParam {
|
||||
myGuildRank: SimpleGuildRankParam,
|
||||
memberRank: SimpleRoleRankParam[],
|
||||
myMemberRank?: SimpleRoleRankParam
|
||||
}
|
||||
|
||||
export class Member {
|
||||
@prop({required: true})
|
||||
roleId: string; // 玩家id
|
||||
@prop({required: true})
|
||||
job: number; // 在军团的职位
|
||||
}
|
||||
Reference in New Issue
Block a user