后台:增加后台数据库表,修复连接问题
This commit is contained in:
@@ -48,18 +48,28 @@ export default class FooBoot implements IBoot {
|
||||
|
||||
public async connectDB(app: Application) {
|
||||
const { url, options } = app.config.mongoose
|
||||
if (url) {
|
||||
const connection = await mongoose.connect(url, options)
|
||||
app.context.connection = connection
|
||||
try {
|
||||
if (url) {
|
||||
const connection = await mongoose.connect(url, options)
|
||||
console.log('******connectDB suc', url, options)
|
||||
app.context.connection = connection
|
||||
}
|
||||
} catch(e) {
|
||||
console.log(e)
|
||||
}
|
||||
}
|
||||
|
||||
public async connectGMDB(app: Application) {
|
||||
const { url, options } = app.config.gmmongoose
|
||||
if (url) {
|
||||
const connection = await mongoose.createConnection(url, options)
|
||||
app.context.connectionGM = connection;
|
||||
loadGmDb(connection);
|
||||
try {
|
||||
if (url) {
|
||||
const connection = await mongoose.createConnection(url, options)
|
||||
app.context.connectionGM = connection;
|
||||
loadGmDb(connection);
|
||||
console.log('******connectGMDB suc', url, options)
|
||||
}
|
||||
} catch(e) {
|
||||
console.log(e)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -138,6 +138,7 @@ export default class GameController extends Controller {
|
||||
public async getDicRMB() {
|
||||
const { ctx } = this;
|
||||
ctx.body = await ctx.service.game.getDicRmb();
|
||||
console.log('******', ctx.body)
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ module.exports = () => {
|
||||
try{
|
||||
await next();
|
||||
} catch(e) {
|
||||
ctx.service.utils.log('ERROR', `[${ctx.request.url}] [${ctx.logcode}] err: ${e.stack}`);
|
||||
ctx.service.utils.log('ERROR', `[${ctx.request.url}] [${ctx.logcode}] err: ${(<Error>e).stack}`);
|
||||
throw e;
|
||||
}
|
||||
const resBody = ctx.body;
|
||||
|
||||
@@ -14,23 +14,30 @@ export default class GMUsers extends Service {
|
||||
* 后台账号登录
|
||||
*/
|
||||
public async login(username: string, password: string) {
|
||||
const {ctx} = this;
|
||||
let token = ctx.service.utils.genCode(256);
|
||||
let user = await GMUserModel.login(username, password, token);
|
||||
|
||||
if(!user) {
|
||||
return ctx.service.utils.resResult(STATUS.GM_ERR_PASSWORD);
|
||||
}
|
||||
let userGroups = await GMUserGroupModel.getUserGroupByUid(user.uid, 1);
|
||||
let group = new Array();
|
||||
for(let userGroup of userGroups) {
|
||||
let g = await GMGroupModel.getGroupById(userGroup.groupId);
|
||||
if(g) group.push(g.group);
|
||||
console.log('******', username, password)
|
||||
try {
|
||||
const {ctx} = this;
|
||||
let token = ctx.service.utils.genCode(256);
|
||||
let user = await GMUserModel.login(username, password, token);
|
||||
|
||||
console.log('******', user)
|
||||
if(!user) {
|
||||
return ctx.service.utils.resResult(STATUS.GM_ERR_PASSWORD);
|
||||
}
|
||||
|
||||
return ctx.service.utils.resResult(STATUS.SUCCESS, {
|
||||
...user, group, token
|
||||
});
|
||||
let userGroups = await GMUserGroupModel.getUserGroupByUid(user.uid, 1);
|
||||
let group = new Array();
|
||||
for(let userGroup of userGroups) {
|
||||
let g = await GMGroupModel.getGroupById(userGroup.groupId);
|
||||
if(g) group.push(g.group);
|
||||
}
|
||||
console.log('******', group, token)
|
||||
|
||||
return ctx.service.utils.resResult(STATUS.SUCCESS, {
|
||||
...user, group, token
|
||||
});
|
||||
}catch(e) {
|
||||
console.log(e)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -61,6 +61,7 @@ export default class Utils extends Service {
|
||||
public log(level: 'DEBUG'|'INFO'|'WARN'| 'ERROR', message: string) {
|
||||
const log = this.app.loggers.get('linkLogger');
|
||||
|
||||
console.log(message);
|
||||
if(level == 'DEBUG') {
|
||||
log.error(`${message}`);
|
||||
} else if (level == 'INFO') {
|
||||
|
||||
@@ -7,7 +7,7 @@ export default (appInfo: EggAppInfo) => {
|
||||
// add your special config in here
|
||||
|
||||
config.mongoose = {
|
||||
url: 'mongodb://dbop:zyzDev2021@dds-8vb5c74ba4263da41.mongodb.zhangbei.rds.aliyuncs.com:3717,dds-8vb5c74ba4263da42.mongodb.zhangbei.rds.aliyuncs.com:3717/zyz?replicaSet=mgset-506991391', // 内网
|
||||
url: 'mongodb://dbop:zyzDev2021@dds-8vb5c74ba4263da41.mongodb.zhangbei.rds.aliyuncs.com:3717,dds-8vb5c74ba4263da42.mongodb.zhangbei.rds.aliyuncs.com:3717,dds-8vb5c74ba4263da43.mongodb.zhangbei.rds.aliyuncs.com:3717/zyz?readPreference=secondary&replicaSet=mgset-506991391', // 内网
|
||||
options: { useNewUrlParser: true, useUnifiedTopology: true },
|
||||
};
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@ export default (appInfo: EggAppInfo) => {
|
||||
};
|
||||
|
||||
config.mongoose = {
|
||||
url: 'mongodb://dbop:zyzdbopbantu@dds-8vbdb47c6fb58a541.mongodb.zhangbei.rds.aliyuncs.com:3717,dds-8vbdb47c6fb58a542.mongodb.zhangbei.rds.aliyuncs.com:3717/zyz?replicaSet=mgset-500808098', // 内网
|
||||
url: 'mongodb://dbop:zyzDev2021@dds-8vb5c74ba4263da41.mongodb.zhangbei.rds.aliyuncs.com:3717,dds-8vb5c74ba4263da42.mongodb.zhangbei.rds.aliyuncs.com:3717,dds-8vb5c74ba4263da43.mongodb.zhangbei.rds.aliyuncs.com:3717/zyz?readPreference=secondary&replicaSet=mgset-506991391', // 内网
|
||||
options: { useNewUrlParser: true, useUnifiedTopology: true },
|
||||
};
|
||||
config.gmmongoose = {
|
||||
|
||||
@@ -7,7 +7,7 @@ export default (appInfo: EggAppInfo) => {
|
||||
// add your special config in here
|
||||
|
||||
config.mongoose = {
|
||||
url: 'mongodb://dbop:zyzDev2021@dds-8vb5c74ba4263da41.mongodb.zhangbei.rds.aliyuncs.com:3717,dds-8vb5c74ba4263da42.mongodb.zhangbei.rds.aliyuncs.com:3717/zyz?replicaSet=mgset-506991391', // 内网
|
||||
url: 'mongodb://dbop:zyzDev2021@dds-8vb5c74ba4263da41.mongodb.zhangbei.rds.aliyuncs.com:3717,dds-8vb5c74ba4263da42.mongodb.zhangbei.rds.aliyuncs.com:3717,dds-8vb5c74ba4263da43.mongodb.zhangbei.rds.aliyuncs.com:3717/zyz?readPreference=secondary&replicaSet=mgset-506991391', // 内网
|
||||
options: { useNewUrlParser: true, useUnifiedTopology: true },
|
||||
};
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import BaseModel from './BaseModel';
|
||||
import { index, getModelForClass, prop, DocumentType } from '@typegoose/typegoose';
|
||||
import { index, getModelForClass, prop, DocumentType, mongoose, ReturnModelType } from '@typegoose/typegoose';
|
||||
import { COUNTER } from './../consts';
|
||||
import { CounterModel } from './Counter';
|
||||
|
||||
@@ -38,6 +38,10 @@ export default class Api extends BaseModel {
|
||||
|
||||
}
|
||||
|
||||
export const ApiModel = getModelForClass(Api);
|
||||
|
||||
export let ApiModel: ReturnModelType<typeof Api, {}>;
|
||||
export function loadApiModel(connect: mongoose.Connection) {
|
||||
ApiModel = getModelForClass(Api, {
|
||||
existingConnection: connect
|
||||
});
|
||||
}
|
||||
export interface ApiType extends Pick<DocumentType<Api>, keyof Api> { }
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { COUNTER } from './../consts';
|
||||
import { CounterModel } from './Counter';
|
||||
import BaseModel from './BaseModel';
|
||||
import { index, getModelForClass, prop, DocumentType, modelOptions } from '@typegoose/typegoose';
|
||||
import { index, getModelForClass, prop, DocumentType, modelOptions, ReturnModelType, mongoose } from '@typegoose/typegoose';
|
||||
|
||||
/**
|
||||
* GM用户组接口
|
||||
@@ -74,8 +74,12 @@ export default class GMGroup extends BaseModel {
|
||||
|
||||
}
|
||||
|
||||
export const GMGroupModel = getModelForClass(GMGroup);
|
||||
|
||||
export let GMGroupModel: ReturnModelType<typeof GMGroup, {}>;
|
||||
export function loadGMGroupModel(connect: mongoose.Connection) {
|
||||
GMGroupModel = getModelForClass(GMGroup, {
|
||||
existingConnection: connect
|
||||
});
|
||||
}
|
||||
export interface GMGroupType extends Pick<DocumentType<GMGroup>, keyof GMGroup>{
|
||||
id: number;
|
||||
};
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import BaseModel from './BaseModel';
|
||||
import { index, getModelForClass, prop, DocumentType } from '@typegoose/typegoose';
|
||||
import { index, getModelForClass, prop, DocumentType, ReturnModelType, mongoose } from '@typegoose/typegoose';
|
||||
|
||||
/**
|
||||
* GM用户组接口
|
||||
@@ -28,6 +28,11 @@ export default class GMRecord extends BaseModel {
|
||||
|
||||
}
|
||||
|
||||
export const GMRecordModel = getModelForClass(GMRecord);
|
||||
export let GMRecordModel: ReturnModelType<typeof GMRecord, {}>;
|
||||
export function loadGMRecordModel(connect: mongoose.Connection) {
|
||||
GMRecordModel = getModelForClass(GMRecord, {
|
||||
existingConnection: connect
|
||||
});
|
||||
}
|
||||
|
||||
export interface GMRecordType extends Pick<DocumentType<GMRecord>, keyof GMRecord>{};
|
||||
@@ -1,7 +1,7 @@
|
||||
import { COUNTER } from './../consts';
|
||||
import { CounterModel } from './Counter';
|
||||
import BaseModel from './BaseModel';
|
||||
import { index, getModelForClass, prop, DocumentType, mongoose } from '@typegoose/typegoose';
|
||||
import { index, getModelForClass, prop, DocumentType, mongoose, ReturnModelType } from '@typegoose/typegoose';
|
||||
const bcrypt = require('bcrypt');
|
||||
const SALT_WORK_FACTOR = 5
|
||||
|
||||
@@ -85,7 +85,7 @@ export default class GMUser extends BaseModel {
|
||||
}
|
||||
}
|
||||
|
||||
export let GMUserModel;
|
||||
export let GMUserModel: ReturnModelType<typeof GMUser, {}>;
|
||||
export function loadGMUserModel(connect: mongoose.Connection) {
|
||||
GMUserModel = getModelForClass(GMUser, {
|
||||
existingConnection: connect
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import BaseModel from './BaseModel';
|
||||
import { index, getModelForClass, prop, DocumentType } from '@typegoose/typegoose';
|
||||
import { index, getModelForClass, prop, DocumentType, ReturnModelType, mongoose } from '@typegoose/typegoose';
|
||||
|
||||
/**
|
||||
* GM账号和用户组关系接口
|
||||
@@ -32,6 +32,11 @@ export default class GMUserGroup extends BaseModel {
|
||||
}
|
||||
}
|
||||
|
||||
export const GMUserGroupModel = getModelForClass(GMUserGroup);
|
||||
export let GMUserGroupModel: ReturnModelType<typeof GMUserGroup, {}>;
|
||||
export function loadGMUserGroupModel(connect: mongoose.Connection) {
|
||||
GMUserGroupModel = getModelForClass(GMUserGroup, {
|
||||
existingConnection: connect
|
||||
});
|
||||
}
|
||||
|
||||
export interface GMUserGroupType extends Pick<DocumentType<GMUserGroup>, keyof GMUserGroup>{};
|
||||
@@ -1,6 +1,14 @@
|
||||
import { mongoose } from "@typegoose/typegoose";
|
||||
import { loadApiModel } from "./Api";
|
||||
import { loadGMGroupModel } from "./GMGroup";
|
||||
import { loadGMRecordModel } from "./GMRecord";
|
||||
import { loadGMUserModel } from './GMUser'
|
||||
import { loadGMUserGroupModel } from "./GMUserGroup";
|
||||
|
||||
export function loadGmDb(connect: mongoose.Connection) {
|
||||
loadApiModel(connect);
|
||||
loadGMGroupModel(connect);
|
||||
loadGMUserModel(connect);
|
||||
loadGMUserGroupModel(connect);
|
||||
loadGMRecordModel(connect);
|
||||
}
|
||||
Reference in New Issue
Block a user