import { COUNTER } from './../consts/consts'; import { CounterModel } from './Counter'; import BaseModel from './BaseModel'; import { index, getModelForClass, prop } from '@typegoose/typegoose'; import User from './User'; /** * 角色字段接口 */ @index({ roleId: 1 }) // @index({ userInfo.uid: 1, serverId: 1 }) export default class Role extends BaseModel { @prop({ required: true }) userInfo: User; @prop({ required: true }) seqId: number; @prop({ required: true }) roleId: string; // 角色 id,生成编码 @prop({ required: true }) roleName: string; // 角色名 @prop({ required: true }) serverType: string; // 服务器类型 @prop({ required: true }) serverId: number; // 区服 id @prop({ required: true }) blocked: boolean; // 是否屏蔽 @prop({ required: true }) code: string; // 邀请码 @prop({ required: true }) exp: number; // 经验值 @prop({ required: true }) lv: number; // 主公等级 @prop({ required: true }) ce: number; // 总战力 @prop({ required: true }) tili: number; // 体力值 @prop({ required: true }) vLv: number; // VIP 等级 @prop({ required: true }) gold: number; // 总金币 paidGold: number; // 支付所得金币 giftGold: number; // 赠送所得金币 totalPay: number; // 总支付金额 totalBuy: number; // 总金币购买 totalCost: number; // 金币总花费 payRecord: [{ // 支付记录 id: string; // 购买项 product id cnt: number; // 购买次数 }]; @prop({ required: true }) consumeGoods: [{ // 消耗品 id: number; // id cnt: number; // 数量 }]; @prop({ required: true }) souls: [{ // 将魂 id: number; // 武将 id cnt: number; // 数量 }]; @prop({ required: true }) pieces: [{ // 装备碎片 id: number; // 装备 id cnt: number; // 数量 }]; @prop({ required: true }) jewels: [{ // 珠宝 id: number; // 待定,也可能是 type + lv cnt: number; // 数量 }]; @prop({ required: true }) warStar: [{ // 关卡星级 id: number; // 关卡 id star: number; // 星级 }]; @prop({ required: true }) loginCnt: number; // 登录次数 @prop({ required: true }) createTime: Date; // 创建时间 @prop({ required: true }) loginTime: Date; // 更新 / 登录时间 } export const RoleModel = getModelForClass(Role);