后台:增加后台数据库表,修复连接问题

This commit is contained in:
luying
2021-11-23 13:34:53 +08:00
parent 7940e6d09d
commit f69ac140fb
14 changed files with 84 additions and 39 deletions

View File

@@ -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)
}
}

View File

@@ -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
}

View File

@@ -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;

View File

@@ -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)
}
}
/**

View File

@@ -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') {

View File

@@ -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 },
};

View File

@@ -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 = {

View File

@@ -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 },
};

View File

@@ -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> { }

View File

@@ -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;
};

View File

@@ -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>{};

View File

@@ -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

View File

@@ -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>{};

View File

@@ -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);
}