sdk:添加获取服务器列表、本地屏蔽词库

This commit is contained in:
luying
2021-11-18 16:06:05 +08:00
parent 18c256ba2b
commit 624aa2b5f1
15 changed files with 59596 additions and 36 deletions
+9 -1
View File
@@ -1,5 +1,5 @@
import { Controller } from 'egg';
import { GetGuildInfoByUserParam, GuildNameCallBackParam, PayCallback37Data, RoleNameCallBackParam } from '../domain/sdk';
import { GetGuildInfoByUserParam, GetServerListParam, GuildNameCallBackParam, PayCallback37Data, RoleNameCallBackParam } from '../domain/sdk';
export default class SdkController extends Controller {
@@ -32,4 +32,12 @@ export default class SdkController extends Controller {
ctx.body = await ctx.service.sdk.getGuildByUser(params);
return;
}
public async getServerList() {
const { ctx } = this;
const params = new GetServerListParam(ctx.method == 'GET'? ctx.query: ctx.request.body);
ctx.body = await ctx.service.sdk.getServerList(params);
return;
}
}
+2 -1
View File
@@ -30,5 +30,6 @@ export default (app: Application) => {
router.get('/cb/treatusername', controller.sdk.treatRoleName);
router.get('/cb/treatguildname', controller.sdk.treatGuildName);
router.get('/cb/getguildbyuser', controller.sdk.getGuildByUser);
router.get('/cb/getserverlist', controller.sdk.getServerList);
router.post('/cb/getserverlist', controller.sdk.getServerList);
};
+57 -5
View File
@@ -1,9 +1,9 @@
import { Service } from 'egg';
import { REDIS_KEY, PAY_37_CALLBACK_CODE, SDK_37_CONST, ORDER_STATE, SDK_37_TREAT_CODE } from '@consts';
import { GetGuildInfoByUserParam, GuildNameCallBackParam, PayCallback37Data, RoleNameCallBackParam } from '../domain/sdk';
import { REDIS_KEY, PAY_37_CALLBACK_CODE, SDK_37_CONST, ORDER_STATE, SDK_37_TREAT_CODE, SERVER_STATUS } from '@consts';
import { GetGuildInfoByUserParam, GetServerListParam, GuildNameCallBackParam, PayCallback37Data, RoleNameCallBackParam } from '../domain/sdk';
import { RedisClient } from 'redis';
import { get37Md5Sign, get37PostMd5Sign, getChannelId, getRedisSubChannel } from '../pubUtils/sdkUtil';
import { get37GetServerMd5Sign, get37Md5SignA, get37Md5SignB, getChannelId, getRedisSubChannel } from '../pubUtils/sdkUtil';
import { UserOrderModel } from '@db/UserOrder';
import { nowSeconds } from 'app/pubUtils/timeUtil';
import { RoleModel } from '@db/Role';
@@ -12,6 +12,8 @@ import { resResult } from 'app/pubUtils/util';
import { UserModel } from '@db/User';
import { UserGuildModel } from '@db/UserGuild';
import { GuildModel } from '@db/Guild';
import { ServerlistModel } from '@db/Serverlist';
import moment = require('moment');
/**
* Test Service
@@ -19,7 +21,7 @@ import { GuildModel } from '@db/Guild';
export default class Sdk extends Service {
public check37Sign(params: PayCallback37Data) {
let sign = get37Md5Sign(params.getBody(), SDK_37_CONST.PAY_KEY);
let sign = get37Md5SignA(params.getBody(), SDK_37_CONST.PAY_KEY);
console.log('******37Sign', sign);
return sign == params.sign;
}
@@ -87,7 +89,7 @@ export default class Sdk extends Service {
public check37WordsSign(params: RoleNameCallBackParam|GuildNameCallBackParam|GetGuildInfoByUserParam) {
let sign = get37PostMd5Sign(params.getBody(), SDK_37_CONST.CHAT_KEY);
let sign = get37Md5SignB(params.getBody(), SDK_37_CONST.CHAT_KEY);
console.log('******37Sign', sign);
return sign == params.sign;
}
@@ -206,4 +208,54 @@ export default class Sdk extends Service {
return resResult(check, []);
}
private valiedateGetServerList(params:GetServerListParam) {
if(!params.checkParams()) return SDK_37_TREAT_CODE.WRONG_PARAMS;
if(params.gid != SDK_37_CONST.GAME_ID) return SDK_37_TREAT_CODE.WRONG_PARAMS
let sign = get37GetServerMd5Sign(params, SDK_37_CONST.LOGIN_KEY);
if(sign != params.sign) return SDK_37_TREAT_CODE.SIGN_ERR;
if(nowSeconds() - params.time > 15 * 60) {
return SDK_37_TREAT_CODE.TIME_IS_EXPIRED;
}
return SDK_37_TREAT_CODE.SUCCESS;
}
public async getServerList(params:GetServerListParam) {
let validate = this.valiedateGetServerList(params);
if(validate.code != SDK_37_TREAT_CODE.SUCCESS.code) {
return {
state: 0,
data: null,
msg: resResult(validate).msg
}
}
let servers = await ServerlistModel.getAllServerList();
let data = servers.map(server => {
let statue = 0;
switch(server.status) {
case SERVER_STATUS.MAINTENANCE:
statue = 0; break;
case SERVER_STATUS.WILL_OPEN:
statue = 1; break;
case SERVER_STATUS.NEW:
case SERVER_STATUS.HOT:
statue = 2; break;
}
return {
dsid: server.id,
dsname: server.name,
start_time: moment(server.openTime, 'YYYY-MM-DD HH:mm:ss'),
statue
}
})
return {
state: 1,
data,
msg: '成功'
}
}
}