修改代码格式;
数据库查询加 lean 判断; 其它内容微调。
This commit is contained in:
@@ -3,68 +3,72 @@ import BaseModel from './BaseModel';
|
||||
import { index, getModelForClass, prop } from '@typegoose/typegoose';
|
||||
|
||||
class ServerInfo {
|
||||
@prop({ required: true})
|
||||
name: string;
|
||||
@prop({ required: true })
|
||||
name: string;
|
||||
|
||||
@prop({ required: true})
|
||||
host: string;
|
||||
@prop({ required: true })
|
||||
host: string;
|
||||
|
||||
@prop({ required: false})
|
||||
port: number;
|
||||
@prop({ required: false })
|
||||
port: number;
|
||||
|
||||
@prop({ required: true})
|
||||
status: number;
|
||||
@prop({ required: true })
|
||||
status: number;
|
||||
|
||||
@prop({ required: true})
|
||||
createTime: Date;
|
||||
@prop({ required: true })
|
||||
createTime: Date;
|
||||
|
||||
@prop({ required: true})
|
||||
serverType: string;
|
||||
@prop({ required: true })
|
||||
serverType: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* 用户字段接口
|
||||
* 游戏字段接口
|
||||
*/
|
||||
@index({ id: 1 })
|
||||
export default class Game extends BaseModel {
|
||||
|
||||
@prop({ required: true})
|
||||
@prop({ required: true })
|
||||
id: number;
|
||||
|
||||
@prop({ required: true})
|
||||
@prop({ required: true })
|
||||
name: string;
|
||||
|
||||
@prop({ required: true})
|
||||
@prop({ required: true })
|
||||
nameEn: string;
|
||||
|
||||
@prop({ required: true})
|
||||
@prop({ required: true })
|
||||
des: string;
|
||||
|
||||
@prop({ required: true})
|
||||
@prop({ required: true })
|
||||
serverList: Array<ServerInfo>;
|
||||
|
||||
@prop({ required: true})
|
||||
@prop({ required: true })
|
||||
iconUrl: string;
|
||||
|
||||
@prop({ required: true})
|
||||
@prop({ required: true })
|
||||
version: string;
|
||||
|
||||
@prop({ required: true})
|
||||
@prop({ required: true })
|
||||
versionCode: number;
|
||||
|
||||
public static async getServerListByType(serverType: string) {
|
||||
let game = await GameModel.findOne().lean();
|
||||
if (!game) {
|
||||
const serverInfo: ServerInfo = {name: '常山少年', host: 'pinus_test.trgame.cn', port: 3014, status: 1, createTime: new Date(), serverType: 'official'};
|
||||
const iconUrl = `https://download.tgamebox.cn/avatar/${APP_ID}/1.png`;
|
||||
game = await GameModel.findOneAndUpdate({}, {id: 1, name: '赵云传', nameEn: 'zyz', des: '牛逼的战棋', iconUrl, version: '0.0.1', versionCode: 1, $push: {serverList: serverInfo}}, {upsert: true, new: true}).lean();
|
||||
}
|
||||
let serverList: Array<ServerInfo> = game ? game.serverList : [];
|
||||
serverList = serverList.filter(item => { return item.serverType === serverType; })
|
||||
return serverList;
|
||||
let game = await GameModel.findOne().lean();
|
||||
if (!game) {
|
||||
const serverInfo: ServerInfo = { name: '常山少年', host: 'pinus_test.trgame.cn', port: 3014, status: 1, createTime: new Date(), serverType: 'official' };
|
||||
const iconUrl = `https://download.tgamebox.cn/avatar/${APP_ID}/1.png`;
|
||||
game = await GameModel.findOneAndUpdate(
|
||||
{},
|
||||
{ id: 1, name: '赵云传', nameEn: 'zyz', des: '牛逼的战棋', iconUrl, version: '0.0.1', versionCode: 1, $push: { serverList: serverInfo } },
|
||||
{ upsert: true, new: true },
|
||||
).lean();
|
||||
}
|
||||
console.log(serverType, game);
|
||||
let serverList: Array<ServerInfo> = game ? game.serverList : [];
|
||||
serverList = serverList.filter(item => { return item.serverType === serverType; });
|
||||
console.log(serverType, serverList);
|
||||
return serverList;
|
||||
}
|
||||
|
||||
//#endregion
|
||||
}
|
||||
|
||||
export const GameModel = getModelForClass(Game);
|
||||
export const GameModel = getModelForClass(Game);
|
||||
|
||||
Reference in New Issue
Block a user