后台:增加后台数据库表,修复连接问题
This commit is contained in:
@@ -48,18 +48,28 @@ export default class FooBoot implements IBoot {
|
|||||||
|
|
||||||
public async connectDB(app: Application) {
|
public async connectDB(app: Application) {
|
||||||
const { url, options } = app.config.mongoose
|
const { url, options } = app.config.mongoose
|
||||||
if (url) {
|
try {
|
||||||
const connection = await mongoose.connect(url, options)
|
if (url) {
|
||||||
app.context.connection = connection
|
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) {
|
public async connectGMDB(app: Application) {
|
||||||
const { url, options } = app.config.gmmongoose
|
const { url, options } = app.config.gmmongoose
|
||||||
if (url) {
|
try {
|
||||||
const connection = await mongoose.createConnection(url, options)
|
if (url) {
|
||||||
app.context.connectionGM = connection;
|
const connection = await mongoose.createConnection(url, options)
|
||||||
loadGmDb(connection);
|
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() {
|
public async getDicRMB() {
|
||||||
const { ctx } = this;
|
const { ctx } = this;
|
||||||
ctx.body = await ctx.service.game.getDicRmb();
|
ctx.body = await ctx.service.game.getDicRmb();
|
||||||
|
console.log('******', ctx.body)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ module.exports = () => {
|
|||||||
try{
|
try{
|
||||||
await next();
|
await next();
|
||||||
} catch(e) {
|
} 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;
|
throw e;
|
||||||
}
|
}
|
||||||
const resBody = ctx.body;
|
const resBody = ctx.body;
|
||||||
|
|||||||
@@ -14,23 +14,30 @@ export default class GMUsers extends Service {
|
|||||||
* 后台账号登录
|
* 后台账号登录
|
||||||
*/
|
*/
|
||||||
public async login(username: string, password: string) {
|
public async login(username: string, password: string) {
|
||||||
const {ctx} = this;
|
console.log('******', username, password)
|
||||||
let token = ctx.service.utils.genCode(256);
|
try {
|
||||||
let user = await GMUserModel.login(username, password, token);
|
const {ctx} = this;
|
||||||
|
let token = ctx.service.utils.genCode(256);
|
||||||
if(!user) {
|
let user = await GMUserModel.login(username, password, token);
|
||||||
return ctx.service.utils.resResult(STATUS.GM_ERR_PASSWORD);
|
|
||||||
}
|
console.log('******', user)
|
||||||
let userGroups = await GMUserGroupModel.getUserGroupByUid(user.uid, 1);
|
if(!user) {
|
||||||
let group = new Array();
|
return ctx.service.utils.resResult(STATUS.GM_ERR_PASSWORD);
|
||||||
for(let userGroup of userGroups) {
|
|
||||||
let g = await GMGroupModel.getGroupById(userGroup.groupId);
|
|
||||||
if(g) group.push(g.group);
|
|
||||||
}
|
}
|
||||||
|
let userGroups = await GMUserGroupModel.getUserGroupByUid(user.uid, 1);
|
||||||
return ctx.service.utils.resResult(STATUS.SUCCESS, {
|
let group = new Array();
|
||||||
...user, group, token
|
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) {
|
public log(level: 'DEBUG'|'INFO'|'WARN'| 'ERROR', message: string) {
|
||||||
const log = this.app.loggers.get('linkLogger');
|
const log = this.app.loggers.get('linkLogger');
|
||||||
|
|
||||||
|
console.log(message);
|
||||||
if(level == 'DEBUG') {
|
if(level == 'DEBUG') {
|
||||||
log.error(`${message}`);
|
log.error(`${message}`);
|
||||||
} else if (level == 'INFO') {
|
} else if (level == 'INFO') {
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ export default (appInfo: EggAppInfo) => {
|
|||||||
// add your special config in here
|
// add your special config in here
|
||||||
|
|
||||||
config.mongoose = {
|
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 },
|
options: { useNewUrlParser: true, useUnifiedTopology: true },
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ export default (appInfo: EggAppInfo) => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
config.mongoose = {
|
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 },
|
options: { useNewUrlParser: true, useUnifiedTopology: true },
|
||||||
};
|
};
|
||||||
config.gmmongoose = {
|
config.gmmongoose = {
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ export default (appInfo: EggAppInfo) => {
|
|||||||
// add your special config in here
|
// add your special config in here
|
||||||
|
|
||||||
config.mongoose = {
|
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 },
|
options: { useNewUrlParser: true, useUnifiedTopology: true },
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import BaseModel from './BaseModel';
|
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 { COUNTER } from './../consts';
|
||||||
import { CounterModel } from './Counter';
|
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> { }
|
export interface ApiType extends Pick<DocumentType<Api>, keyof Api> { }
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import { COUNTER } from './../consts';
|
import { COUNTER } from './../consts';
|
||||||
import { CounterModel } from './Counter';
|
import { CounterModel } from './Counter';
|
||||||
import BaseModel from './BaseModel';
|
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用户组接口
|
* 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>{
|
export interface GMGroupType extends Pick<DocumentType<GMGroup>, keyof GMGroup>{
|
||||||
id: number;
|
id: number;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import BaseModel from './BaseModel';
|
import BaseModel from './BaseModel';
|
||||||
import { index, getModelForClass, prop, DocumentType } from '@typegoose/typegoose';
|
import { index, getModelForClass, prop, DocumentType, ReturnModelType, mongoose } from '@typegoose/typegoose';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* GM用户组接口
|
* 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>{};
|
export interface GMRecordType extends Pick<DocumentType<GMRecord>, keyof GMRecord>{};
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
import { COUNTER } from './../consts';
|
import { COUNTER } from './../consts';
|
||||||
import { CounterModel } from './Counter';
|
import { CounterModel } from './Counter';
|
||||||
import BaseModel from './BaseModel';
|
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 bcrypt = require('bcrypt');
|
||||||
const SALT_WORK_FACTOR = 5
|
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) {
|
export function loadGMUserModel(connect: mongoose.Connection) {
|
||||||
GMUserModel = getModelForClass(GMUser, {
|
GMUserModel = getModelForClass(GMUser, {
|
||||||
existingConnection: connect
|
existingConnection: connect
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import BaseModel from './BaseModel';
|
import BaseModel from './BaseModel';
|
||||||
import { index, getModelForClass, prop, DocumentType } from '@typegoose/typegoose';
|
import { index, getModelForClass, prop, DocumentType, ReturnModelType, mongoose } from '@typegoose/typegoose';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* GM账号和用户组关系接口
|
* 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>{};
|
export interface GMUserGroupType extends Pick<DocumentType<GMUserGroup>, keyof GMUserGroup>{};
|
||||||
@@ -1,6 +1,14 @@
|
|||||||
import { mongoose } from "@typegoose/typegoose";
|
import { mongoose } from "@typegoose/typegoose";
|
||||||
|
import { loadApiModel } from "./Api";
|
||||||
|
import { loadGMGroupModel } from "./GMGroup";
|
||||||
|
import { loadGMRecordModel } from "./GMRecord";
|
||||||
import { loadGMUserModel } from './GMUser'
|
import { loadGMUserModel } from './GMUser'
|
||||||
|
import { loadGMUserGroupModel } from "./GMUserGroup";
|
||||||
|
|
||||||
export function loadGmDb(connect: mongoose.Connection) {
|
export function loadGmDb(connect: mongoose.Connection) {
|
||||||
|
loadApiModel(connect);
|
||||||
|
loadGMGroupModel(connect);
|
||||||
loadGMUserModel(connect);
|
loadGMUserModel(connect);
|
||||||
|
loadGMUserGroupModel(connect);
|
||||||
|
loadGMRecordModel(connect);
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user