军团:动态
This commit is contained in:
@@ -7,10 +7,21 @@ export enum GUILD_STRUCTURE {
|
||||
TRAIN = 4, // 练兵场
|
||||
DONATE = 5, // 捐献所
|
||||
WISH_POOL = 6, // 许愿池
|
||||
SHOP = 7, // 商店
|
||||
STORE = 7, // 商店
|
||||
END
|
||||
}
|
||||
|
||||
// 建筑名
|
||||
export const GUILD_STRUCTURE_NAME = new Map([
|
||||
[ GUILD_STRUCTURE.ARMY_CENTER, '中军大帐'],
|
||||
[ GUILD_STRUCTURE.EQUIP_PRODUCE, '炼器堂'],
|
||||
[ GUILD_STRUCTURE.BOSS, '演武台'],
|
||||
[ GUILD_STRUCTURE.TRAIN, '练兵场'],
|
||||
[ GUILD_STRUCTURE.DONATE, '捐献所'],
|
||||
[ GUILD_STRUCTURE.WISH_POOL, '许愿池'],
|
||||
[ GUILD_STRUCTURE.STORE, '商店']
|
||||
])
|
||||
|
||||
// 权限
|
||||
export enum GUILD_AUTH {
|
||||
LEADER = 1, // 团长
|
||||
@@ -88,4 +99,19 @@ export enum GUILD_APPLY_STATUS {
|
||||
export enum GUILD_APPLY_TYPE {
|
||||
APPLY = 1, // 申请
|
||||
INVITE = 2 // 邀请
|
||||
}
|
||||
|
||||
// 公会动态id
|
||||
export enum GUILD_REC_TYPE {
|
||||
JOIN_GUILD = 1, // 加入军团 roleName
|
||||
QUIT_GUILD = 2, // 离开军团 roleName
|
||||
SET_MANAGER = 3, // 提升管理 roleName
|
||||
STRUCTURE_UP = 4, // 建筑物升级 structureName lv
|
||||
EQUIP_PRODUCE = 5, // 装备碎片研发 lvmin lvmax quality
|
||||
BOSS_END = 6, // 演武台击杀boss bossName
|
||||
BOSS_START = 7, // 演武台boss 开启 bossName
|
||||
TRAIN_END = 8, // 练兵场压制 warName
|
||||
TRAIN_START = 9, // 练兵场开启 warName
|
||||
SET_LEADER = 10, // 转让团长 guildName roleName
|
||||
IMPEACH = 11, // 弹劾 roleName roleName
|
||||
}
|
||||
45
shared/db/GuildRec.ts
Normal file
45
shared/db/GuildRec.ts
Normal file
@@ -0,0 +1,45 @@
|
||||
import BaseModel from './BaseModel';
|
||||
import { index, getModelForClass, prop, DocumentType } from '@typegoose/typegoose';
|
||||
import { genCode } from '../pubUtils/util';
|
||||
import { GUILD_REC_TYPE } from '../consts';
|
||||
import { nowSeconds } from '../pubUtils/timeUtil';
|
||||
|
||||
@index({ guildCode: 1 })
|
||||
export default class GuildRec extends BaseModel {
|
||||
|
||||
@prop({ required: true })
|
||||
recCode: string;
|
||||
|
||||
@prop({ required: true, select: false })
|
||||
roleId: string;
|
||||
|
||||
@prop({ required: true, select: false })
|
||||
guildCode: string;
|
||||
|
||||
@prop({ required: true, default: GUILD_REC_TYPE.JOIN_GUILD, enum: GUILD_REC_TYPE })
|
||||
type: number;
|
||||
|
||||
@prop({ required: true, type: String, default: [] })
|
||||
params: string[];
|
||||
|
||||
@prop({ required: true, default: nowSeconds() })
|
||||
createTime: number;
|
||||
|
||||
public static async createGuildRec(roleId: string, guildCode: string, type: number, params: string[]) {
|
||||
const doc = new GuildRecModel();
|
||||
const update = Object.assign(doc.toJSON(), { roleId, guildCode, type, params });
|
||||
delete update._id;
|
||||
const recCode = genCode(10);
|
||||
const result: GuildRecType = await GuildRecModel.findOneAndUpdate({ recCode }, params, { upsert: true, new: true }).lean();
|
||||
return result;
|
||||
}
|
||||
|
||||
public static async getGuildRec(guildCode: string) {
|
||||
const result: GuildRecType[] = await GuildRecModel.find({ guildCode }).lean();
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
export const GuildRecModel = getModelForClass(GuildRec);
|
||||
|
||||
export interface GuildRecType extends Pick<DocumentType<GuildRec>, keyof GuildRec> { };
|
||||
Reference in New Issue
Block a user