import * as _ from "underscore" import { MongoBaseModel } from "cgserver"; import { MongoBaseService } from "cgserver"; export class TableModel extends MongoBaseModel { table_id:number=0 process:number=0//0:未开始,1:已经开始,2:已经结束 create_data:string=""//创建的table相关参数字符串化 create_user_data:string=""//创建者的相关参数字符串化 server_name:string=""//所在游戏的名称 game_host:string=""//所在游戏的ip game_port:number=0//所在游戏的port game_code:number=0//服务器唯一编码 recored_id:number=-1 expireAt:number=Date.now()+365*34*60*60*1000 } export let GTableSer:TableService = null class TableService extends MongoBaseService { constructor() { super("table",TableModel) this.createIndex( { "expireAt": 1 }, { expireAfterSeconds: 0 } ) } async getNewTableId() { let table_id = _.random(100000,999999) let table_model = await GTableSer.get(null,{table_id:table_id}) while(table_model) { table_id = _.random(100000,999999) table_model = await GTableSer.get(null,{table_id:table_id}) } return table_id } endAutoRemove(table_id:number,seconds:number,record_id=-1) { let model = { process:2, record_id:record_id, expireAt:Date.now()+seconds*1000 } this.updateOne(model,{table_id:table_id}) } } GTableSer = new TableService()