✨ feat(活动): 37通用对接接口
This commit is contained in:
@@ -28,6 +28,7 @@ export enum SDK_37_CONST {
|
||||
LOGIN_KEY = '3PerD)H!JdTC_pEUnZl8vXKgasj5;7Q~', // 登录KEY
|
||||
PAY_KEY = '0;_Zy.qodXCF8NGQmrOYltk%HgfAz*39', // 重置KEY
|
||||
CHAT_KEY = '3PerD)H!JdTC_pEUnZl8vXKgasj5;7Q~', // 聊天KEY
|
||||
SEND_GIFT_KEY = '5f6d68715?44f6~b7a16_77881=994241', // 发奖励KEY
|
||||
IOS_PID = 'zyz',
|
||||
BACKEND_KEY = 'zyzbackend2022',
|
||||
PUBLIC_GIFT_KEY = 'zyzbackend202304',
|
||||
|
||||
@@ -783,7 +783,7 @@ export const BACKEND_37_CODE = {
|
||||
LOGIN_FAIL: { code: -5, simStr: '登录失败' },
|
||||
}
|
||||
|
||||
export const SDK_37_SEND_GIFT_RESULT_CODE = {
|
||||
export const SDK_37_ACTIVITY_CODE = {
|
||||
SUCCESS: { code: 1, simStr: '成功' },
|
||||
WRONG_PARAMS: { code: 10001, simStr: '参数异常' },
|
||||
ROLE_NOT_FOUND: { code: 10002, simStr: '角色不存在' },
|
||||
@@ -795,4 +795,6 @@ export const SDK_37_SEND_GIFT_RESULT_CODE = {
|
||||
GIFT_CODE_HAS_EXPIRED: { code: 20005, simStr: '礼包码已过期' },
|
||||
GIFT_CODE_NOT_START: { code: 20006, simStr: '礼包码暂未开启' },
|
||||
GIFT_CHANNEL_ERR: { code: 20007, simStr: '礼包不可在此渠道使用' },
|
||||
TIME_IS_EXPIRED: { code: 20008, simStr: '时间戳已过期' },
|
||||
SERVER_NOT_FOUND: { code: 20009, simStr: '服务器未找到' },
|
||||
}
|
||||
@@ -350,7 +350,7 @@ export default class Role extends BaseModel {
|
||||
hasPushMsg: boolean;
|
||||
|
||||
public static async findAllByUid(uid: number, getters = false, virtuals = true) {
|
||||
const role: RoleType[] = await RoleModel.find({ 'userInfo.uid': uid }).select('roleId roleName serverId head frame spine heads frames spines lv updatedAt').lean({ getters, virtuals });
|
||||
const role: RoleType[] = await RoleModel.find({ 'userInfo.uid': uid }).select('roleId roleName serverId head frame spine heads frames spines lv updatedAt createTime').lean({ getters, virtuals });
|
||||
return role;
|
||||
}
|
||||
|
||||
|
||||
@@ -246,7 +246,7 @@ export default class User extends BaseModel {
|
||||
}
|
||||
|
||||
public static async findUserByChannel(channelId: string) {
|
||||
const user: UserType = await UserModel.findOne({ channelId }).select('uid token serverType auth tel userCode pkgName ip deviceId channelId').lean({ getters: true });
|
||||
const user: UserType = await UserModel.findOne({ channelId }).select('uid token serverType auth tel userCode pkgName ip deviceId channelId channelInfo').lean({ getters: true });
|
||||
return user;
|
||||
}
|
||||
|
||||
|
||||
@@ -448,4 +448,54 @@ export class SendGiftCodeParam {
|
||||
let { user_id, server_id, role_id, gift_id, order_id, time } = this;
|
||||
return { user_id, server_id, role_id, gift_id, order_id, time }
|
||||
}
|
||||
}
|
||||
|
||||
export class GetRoleByServerParam {
|
||||
user_id: number; // 用户id
|
||||
server_id: number; // 区服id
|
||||
time: number; // 时间戳
|
||||
sign: string; // 37给的签名
|
||||
|
||||
constructor(data: any) {
|
||||
this.user_id = data.user_id;
|
||||
this.server_id = data.server_id;
|
||||
this.time = data.time;
|
||||
this.sign = data.sign;
|
||||
}
|
||||
|
||||
checkParams() {
|
||||
return this.user_id != undefined && this.server_id != undefined && this.time != undefined && this.sign != undefined
|
||||
}
|
||||
}
|
||||
|
||||
export class GetRoleByUidParam {
|
||||
user_id: number; // 用户id
|
||||
time: number; // 时间戳
|
||||
sign: string; // 37给的签名
|
||||
|
||||
constructor(data: any) {
|
||||
this.user_id = data.user_id;
|
||||
this.time = data.time;
|
||||
this.sign = data.sign;
|
||||
}
|
||||
|
||||
checkParams() {
|
||||
return this.user_id != undefined && this.time != undefined && this.sign != undefined
|
||||
}
|
||||
}
|
||||
|
||||
export class GetServerParam {
|
||||
server_id: number; // 用户id
|
||||
time: number; // 时间戳
|
||||
sign: string; // 37给的签名
|
||||
|
||||
constructor(data: any) {
|
||||
this.server_id = data.server_id;
|
||||
this.time = data.time;
|
||||
this.sign = data.sign;
|
||||
}
|
||||
|
||||
checkParams() {
|
||||
return this.server_id != undefined && this.time != undefined && this.sign != undefined
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
import { Controller } from 'egg';
|
||||
import { GetGuildInfoByUserParam, GetServerListParam, GuildNameCallBackParam, IOSRefundParam, PayCallback37Data, RoleNameCallBackParam, SendGiftCodeParam } from '../domain/sdk';
|
||||
import { GetGuildInfoByUserParam, GetRoleByServerParam, GetRoleByUidParam, GetServerListParam, GetServerParam, GuildNameCallBackParam, IOSRefundParam, PayCallback37Data, RoleNameCallBackParam, SendGiftCodeParam } from '../domain/sdk';
|
||||
|
||||
export default class SdkController extends Controller {
|
||||
|
||||
@@ -68,4 +68,25 @@ export default class SdkController extends Controller {
|
||||
ctx.body = await ctx.service.sdk.sendGiftCode(params);
|
||||
return;
|
||||
}
|
||||
|
||||
public async getRoleByUidAndServer() {
|
||||
const { ctx } = this;
|
||||
const params = new GetRoleByServerParam(ctx.query);
|
||||
ctx.body = await ctx.service.sdk.getRoleByUidAndServer(params);
|
||||
return;
|
||||
}
|
||||
|
||||
public async getRoleByUid() {
|
||||
const { ctx } = this;
|
||||
const params = new GetRoleByUidParam(ctx.query);
|
||||
ctx.body = await ctx.service.sdk.getRoleByUid(params);
|
||||
return;
|
||||
}
|
||||
|
||||
public async getServerInfo() {
|
||||
const { ctx } = this;
|
||||
const params = new GetServerParam(ctx.query);
|
||||
ctx.body = await ctx.service.sdk.getServerInfo(params);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -31,7 +31,7 @@ module.exports = () => {
|
||||
if(ctx.request.header['is-proxy'] != 'true') {
|
||||
let url = getProxyUrl(ctx.request.url);
|
||||
if(url) {
|
||||
let sid = ctx.request.method == 'GET'? ctx.query.sid.toString(): ctx.request.body.sid.toString();
|
||||
let sid = getServerId(url, ctx);
|
||||
if(!ctx.app.config.sidToHost) {
|
||||
await getNewHost(sid);
|
||||
}
|
||||
@@ -66,11 +66,30 @@ module.exports = () => {
|
||||
'/cb/treatusername',
|
||||
'/cb/treatguildname',
|
||||
'/cb/getguildbyuser',
|
||||
'/cb/refundioscallback'
|
||||
'/cb/refundioscallback',
|
||||
'/cb/sendgiftcode',
|
||||
'/cb/getrolebyserver',
|
||||
'/cb/getserverinfo'
|
||||
];
|
||||
for(let str of urls) {
|
||||
if(url && url.startsWith(str)) {
|
||||
return str;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function getServerId(url: string, ctx: any) {
|
||||
switch(url) {
|
||||
case '/cb/treatusername':
|
||||
case '/cb/treatguildname':
|
||||
case '/cb/getguildbyuser':
|
||||
return ctx.query.sid.toString();
|
||||
case '/cb/refundioscallback':
|
||||
return ctx.request.body.sid.toString();
|
||||
case '/cb/sendgiftcode':
|
||||
return ctx.request.body.server_id.toString();
|
||||
case '/cb/getrolebyserver':
|
||||
case '/cb/getserverinfo':
|
||||
return ctx.query.server_id.toString();
|
||||
}
|
||||
}
|
||||
@@ -43,6 +43,9 @@ export default (app: Application) => {
|
||||
router.post('/cb/getserverlist', controller.sdk.getServerList);
|
||||
router.post('/cb/refundioscallback', controller.sdk.refundIOSCallback);
|
||||
router.post('/cb/sendgiftcode', controller.sdk.sendGiftCode);
|
||||
router.get('/cb/getrolebyserver', controller.sdk.getRoleByUidAndServer);
|
||||
router.get('/cb/getrolebyuid', controller.sdk.getRoleByUid);
|
||||
router.get('/cb/getserverinfo', controller.sdk.getServerInfo);
|
||||
|
||||
// 问卷星回调
|
||||
router.post('/cb/wjx', controller.sdk.wjxCallback)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
|
||||
import { Service } from 'egg';
|
||||
import { REDIS_KEY, PAY_37_CALLBACK_CODE, SDK_37_CONST, ORDER_STATE, SDK_37_TREAT_CODE, SERVER_STATUS, SDK_37_REFUND_CODE, SDK_37_SEND_GIFT_RESULT_CODE, PUBLIC_ACCOUNT_GIFT, GIFT_GENERATE_TYPE } from '@consts';
|
||||
import { GetGuildInfoByUserParam, GetServerListParam, GuildNameCallBackParam, IOSRefundParam, PayCallback37Data, RoleNameCallBackParam, SendGiftCodeParam } from '../domain/sdk';
|
||||
import { REDIS_KEY, PAY_37_CALLBACK_CODE, SDK_37_CONST, ORDER_STATE, SDK_37_TREAT_CODE, SERVER_STATUS, SDK_37_REFUND_CODE, SDK_37_ACTIVITY_CODE, PUBLIC_ACCOUNT_GIFT, GIFT_GENERATE_TYPE } from '@consts';
|
||||
import { GetGuildInfoByUserParam, GetRoleByServerParam, GetRoleByUidParam, GetServerListParam, GetServerParam, GuildNameCallBackParam, IOSRefundParam, PayCallback37Data, RoleNameCallBackParam, SendGiftCodeParam } from '../domain/sdk';
|
||||
import { RedisClient } from 'redis';
|
||||
import { checkParamPrice, get37GetServerMd5Sign, get37Md5SignA, get37Md5SignB, getChannelId, getRedisSubChannel, md5 } from '../pubUtils/sdkUtil';
|
||||
import { UserOrderModel } from '@db/UserOrder';
|
||||
@@ -425,22 +425,21 @@ export default class Sdk extends Service {
|
||||
const { ctx } = this;
|
||||
try {
|
||||
let validateResult = this.sendGiftValidata(params);
|
||||
if(validateResult.code != SDK_37_SEND_GIFT_RESULT_CODE.SUCCESS.code) return validateResult;
|
||||
if(validateResult.code != SDK_37_ACTIVITY_CODE.SUCCESS.code) return validateResult;
|
||||
|
||||
let channelId = getChannelId('37', params.user_id);
|
||||
console.log(channelId);
|
||||
let user = await UserModel.findUserByChannel(channelId);
|
||||
if(!user) {
|
||||
console.error('用户名违规处理, 未找到玩家账号', channelId);
|
||||
return resResult(SDK_37_SEND_GIFT_RESULT_CODE.ORDER_DUPLICATE);
|
||||
console.error('sendGiftCode, 未找到玩家账号', channelId);
|
||||
return resResult(SDK_37_ACTIVITY_CODE.ROLE_NOT_FOUND);
|
||||
}
|
||||
|
||||
if(params.gift_id.startsWith(PUBLIC_ACCOUNT_GIFT)) {
|
||||
let activityId = parseInt(params.gift_id.replace(PUBLIC_ACCOUNT_GIFT, ''));
|
||||
if(!activityId) return resResult(SDK_37_SEND_GIFT_RESULT_CODE.GIFT_NOT_FOUND);
|
||||
if(!activityId) return resResult(SDK_37_ACTIVITY_CODE.GIFT_NOT_FOUND);
|
||||
|
||||
let data = await ActivityPublicAccountCodeModel.findByChannel(activityId, channelId);
|
||||
if(data) return resResult(SDK_37_SEND_GIFT_RESULT_CODE.ORDER_DUPLICATE);
|
||||
if(data) return resResult(SDK_37_ACTIVITY_CODE.ORDER_DUPLICATE);
|
||||
|
||||
await ActivityPublicAccountCodeModel.sendGift(activityId, channelId, params.server_id, params.role_id, params.order_id);
|
||||
await ctx.service.utils.pushPubAccountGiftChannel(activityId, user.userCode, user.channelId);
|
||||
@@ -449,33 +448,33 @@ export default class Sdk extends Service {
|
||||
|
||||
let giftCodeDetail = await GiftCodeDetailModel.findByCode(params.gift_id);
|
||||
if(!giftCodeDetail) {
|
||||
return resResult(SDK_37_SEND_GIFT_RESULT_CODE.GIFT_NOT_FOUND);
|
||||
return resResult(SDK_37_ACTIVITY_CODE.GIFT_NOT_FOUND);
|
||||
}
|
||||
let giftCode = await GiftCodeModel.findByGiftId(giftCodeDetail.giftId);
|
||||
if(!giftCode) {
|
||||
return resResult(SDK_37_SEND_GIFT_RESULT_CODE.GIFT_NOT_FOUND);
|
||||
return resResult(SDK_37_ACTIVITY_CODE.GIFT_NOT_FOUND);
|
||||
}
|
||||
if(giftCode.generateType == GIFT_GENERATE_TYPE.ONE_TO_ONE) { // 一人一条,单条不能被多人使用
|
||||
if(giftCodeDetail.usedNum > 0) return resResult(SDK_37_SEND_GIFT_RESULT_CODE.USE_CNT_MAX);
|
||||
if(giftCodeDetail.usedNum > 0) return resResult(SDK_37_ACTIVITY_CODE.USE_CNT_MAX);
|
||||
}
|
||||
if(!giftCode.isEnable) return resResult(SDK_37_SEND_GIFT_RESULT_CODE.GIFT_CODE_HAS_EXPIRED);
|
||||
if (giftCode.beginTime > nowSeconds()) return resResult(SDK_37_SEND_GIFT_RESULT_CODE.GIFT_CODE_NOT_START);
|
||||
if (giftCode.endTime < nowSeconds()) return resResult(SDK_37_SEND_GIFT_RESULT_CODE.GIFT_CODE_HAS_EXPIRED);
|
||||
if(!giftCode.isEnable) return resResult(SDK_37_ACTIVITY_CODE.GIFT_CODE_HAS_EXPIRED);
|
||||
if (giftCode.beginTime > nowSeconds()) return resResult(SDK_37_ACTIVITY_CODE.GIFT_CODE_NOT_START);
|
||||
if (giftCode.endTime < nowSeconds()) return resResult(SDK_37_ACTIVITY_CODE.GIFT_CODE_HAS_EXPIRED);
|
||||
|
||||
if(giftCode.channel.indexOf('all') == -1 && giftCode.channel.indexOf(user.channelInfo?.platformAppid) == -1) {
|
||||
return resResult(SDK_37_SEND_GIFT_RESULT_CODE.GIFT_CHANNEL_ERR);
|
||||
return resResult(SDK_37_ACTIVITY_CODE.GIFT_CHANNEL_ERR);
|
||||
}
|
||||
|
||||
let role = await RoleModel.findByUid(user.uid, params.server_id);
|
||||
if(!role) return resResult(SDK_37_SEND_GIFT_RESULT_CODE.ROLE_NOT_FOUND);
|
||||
if(!role) return resResult(SDK_37_ACTIVITY_CODE.ROLE_NOT_FOUND);
|
||||
|
||||
if (giftCodeDetail.roleIds.indexOf(role.roleId) != -1) {
|
||||
return resResult(SDK_37_SEND_GIFT_RESULT_CODE.ORDER_DUPLICATE);
|
||||
return resResult(SDK_37_ACTIVITY_CODE.ORDER_DUPLICATE);
|
||||
}
|
||||
|
||||
let checkHasUse = await GiftCodeDetailModel.checkHasUsed(role.roleId, giftCodeDetail.giftId);
|
||||
if(checkHasUse) {
|
||||
return resResult(SDK_37_SEND_GIFT_RESULT_CODE.ORDER_DUPLICATE);
|
||||
return resResult(SDK_37_ACTIVITY_CODE.ORDER_DUPLICATE);
|
||||
}
|
||||
|
||||
await GiftCodeDetailModel.increaseUsedNum(giftCodeDetail.code, role.roleId, role.roleName, role.serverId, params.order_id);
|
||||
@@ -484,22 +483,149 @@ export default class Sdk extends Service {
|
||||
await ctx.service.utils.pushGiftCodeChannel(role.roleId, giftCode.id);
|
||||
}
|
||||
|
||||
return resResult(SDK_37_SEND_GIFT_RESULT_CODE.SUCCESS, []);
|
||||
return resResult(SDK_37_ACTIVITY_CODE.SUCCESS, []);
|
||||
} catch(e) {
|
||||
console.error('sendGiftCode err', e);
|
||||
return ctx.service.utils.resResult(SDK_37_SEND_GIFT_RESULT_CODE.INTERNAL_ERR, '');
|
||||
return ctx.service.utils.resResult(SDK_37_ACTIVITY_CODE.INTERNAL_ERR, '');
|
||||
}
|
||||
}
|
||||
|
||||
public sendGiftValidata(params: SendGiftCodeParam) {
|
||||
if(!params.checkParams()) return resResult(SDK_37_SEND_GIFT_RESULT_CODE.WRONG_PARAMS);
|
||||
if(!params.checkParams()) return resResult(SDK_37_ACTIVITY_CODE.WRONG_PARAMS);
|
||||
|
||||
let { user_id, server_id, role_id, gift_id, order_id, time } = params;
|
||||
let str = `${user_id}${server_id}${role_id}${gift_id}${order_id}${time}${SDK_37_CONST.CHAT_KEY}`;
|
||||
let str = `${user_id}${server_id}${role_id}${gift_id}${order_id}${time}${SDK_37_CONST.SEND_GIFT_KEY}`;
|
||||
let sign = md5(str);
|
||||
console.log('#### str: ', str, 'sign', sign);
|
||||
if(sign != params.sign) return resResult(SDK_37_SEND_GIFT_RESULT_CODE.SIGN_ERR);
|
||||
if(sign != params.sign) return resResult(SDK_37_ACTIVITY_CODE.SIGN_ERR);
|
||||
|
||||
return resResult(SDK_37_SEND_GIFT_RESULT_CODE.SUCCESS);
|
||||
if(nowSeconds() - params.time > 15 * 60) {
|
||||
return SDK_37_ACTIVITY_CODE.TIME_IS_EXPIRED;
|
||||
}
|
||||
return resResult(SDK_37_ACTIVITY_CODE.SUCCESS);
|
||||
}
|
||||
|
||||
// 根据服务器获取玩家数据
|
||||
public async getRoleByUidAndServer(params:GetRoleByServerParam) {
|
||||
try {
|
||||
let validateResult = this.getRoleByServerValidate(params);
|
||||
if(validateResult.code != SDK_37_ACTIVITY_CODE.SUCCESS.code) return validateResult;
|
||||
|
||||
let channelId = getChannelId('37', params.user_id);
|
||||
let user = await UserModel.findUserByChannel(channelId);
|
||||
if(!user) return resResult(SDK_37_ACTIVITY_CODE.ROLE_NOT_FOUND);
|
||||
|
||||
let server = await ServerlistModel.findByServerId(params.server_id);
|
||||
if(!server) return resResult(SDK_37_ACTIVITY_CODE.SERVER_NOT_FOUND);
|
||||
let role = await RoleModel.findByUid(user.uid, params.server_id, 'roleId roleName lv createTime serverId');
|
||||
if(!role) return resResult(SDK_37_ACTIVITY_CODE.ROLE_NOT_FOUND);
|
||||
return resResult(SDK_37_ACTIVITY_CODE.SUCCESS, [{
|
||||
id: role.roleId,
|
||||
name: role.roleName,
|
||||
level: role.lv.toString(),
|
||||
create_time: role.createTime.toString(),
|
||||
server_id: server.id.toString(),
|
||||
server_name: server.name,
|
||||
pid: user.channelInfo?.platformAppid,
|
||||
gid: user.channelInfo?.childGameId,
|
||||
}])
|
||||
} catch(e) {
|
||||
console.error(e);
|
||||
return resResult(SDK_37_ACTIVITY_CODE.INTERNAL_ERR);
|
||||
}
|
||||
}
|
||||
|
||||
private getRoleByServerValidate(params:GetRoleByServerParam) {
|
||||
if(!params.checkParams()) return resResult(SDK_37_ACTIVITY_CODE.WRONG_PARAMS);
|
||||
|
||||
let { user_id, server_id, time } = params;
|
||||
let str = `${user_id}${server_id}${time}${SDK_37_CONST.SEND_GIFT_KEY}`;
|
||||
let sign = md5(str);
|
||||
console.log('#### str: ', str, 'sign', sign);
|
||||
if(sign != params.sign) return resResult(SDK_37_ACTIVITY_CODE.SIGN_ERR);
|
||||
|
||||
if(nowSeconds() - params.time > 15 * 60) {
|
||||
return SDK_37_ACTIVITY_CODE.TIME_IS_EXPIRED;
|
||||
}
|
||||
return resResult(SDK_37_ACTIVITY_CODE.SUCCESS);
|
||||
}
|
||||
|
||||
public async getRoleByUid(params: GetRoleByUidParam) {
|
||||
try {
|
||||
|
||||
let validateResult = this.getRoleByUidValidate(params);
|
||||
if(validateResult.code != SDK_37_ACTIVITY_CODE.SUCCESS.code) return validateResult;
|
||||
|
||||
let channelId = getChannelId('37', params.user_id);
|
||||
let user = await UserModel.findUserByChannel(channelId);
|
||||
if(!user) return resResult(SDK_37_ACTIVITY_CODE.ROLE_NOT_FOUND);
|
||||
|
||||
let redisClient: RedisClient = this.ctx.app.context.redisClient;
|
||||
let servers = await redisClient.hgetallAsync(REDIS_KEY.SERVER);
|
||||
let roles = await RoleModel.findAllByUid(user.uid);
|
||||
let result = roles.map(role => ({
|
||||
id: role.roleId,
|
||||
name: role.roleName,
|
||||
level: role.lv.toString(),
|
||||
create_time: role.createTime.toString(),
|
||||
server_id: role.serverId.toString(),
|
||||
server_name: servers[role.serverId],
|
||||
pid: user.channelInfo?.platformAppid,
|
||||
gid: user.channelInfo?.childGameId,
|
||||
}));
|
||||
|
||||
return resResult(SDK_37_ACTIVITY_CODE.SUCCESS, result);
|
||||
} catch(e) {
|
||||
console.error(e);
|
||||
return resResult(SDK_37_ACTIVITY_CODE.INTERNAL_ERR);
|
||||
}
|
||||
}
|
||||
|
||||
private getRoleByUidValidate(params: GetRoleByUidParam) {
|
||||
if(!params.checkParams()) return resResult(SDK_37_ACTIVITY_CODE.WRONG_PARAMS);
|
||||
|
||||
let { user_id, time } = params;
|
||||
let str = `${user_id}${time}${SDK_37_CONST.SEND_GIFT_KEY}`;
|
||||
let sign = md5(str);
|
||||
console.log('#### str: ', str, 'sign', sign);
|
||||
if(sign != params.sign) return resResult(SDK_37_ACTIVITY_CODE.SIGN_ERR);
|
||||
|
||||
if(nowSeconds() - params.time > 15 * 60) {
|
||||
return SDK_37_ACTIVITY_CODE.TIME_IS_EXPIRED;
|
||||
}
|
||||
return resResult(SDK_37_ACTIVITY_CODE.SUCCESS);
|
||||
}
|
||||
|
||||
public async getServerInfo(params: GetServerParam) {
|
||||
try {
|
||||
let validateResult = this.getServerInfoValidate(params);
|
||||
if(validateResult.code != SDK_37_ACTIVITY_CODE.SUCCESS.code) return validateResult;
|
||||
|
||||
let server = await ServerlistModel.findByServerId(params.server_id);
|
||||
if(!server) return resResult(SDK_37_ACTIVITY_CODE.SERVER_NOT_FOUND);
|
||||
|
||||
return resResult(SDK_37_ACTIVITY_CODE.SUCCESS, {
|
||||
server_name: server.name,
|
||||
start_time: moment(server.createdAt).format('YYYY-MM-DD HH:mm:ss')
|
||||
});
|
||||
} catch(e) {
|
||||
console.error(e);
|
||||
return resResult(SDK_37_ACTIVITY_CODE.INTERNAL_ERR);
|
||||
}
|
||||
}
|
||||
|
||||
private getServerInfoValidate(params: GetServerParam) {
|
||||
if(!params.checkParams()) return resResult(SDK_37_ACTIVITY_CODE.WRONG_PARAMS);
|
||||
|
||||
let { server_id, time } = params;
|
||||
let str = `${server_id}${time}${SDK_37_CONST.SEND_GIFT_KEY}`;
|
||||
let sign = md5(str);
|
||||
console.log('#### str: ', str, 'sign', sign);
|
||||
if(sign != params.sign) return resResult(SDK_37_ACTIVITY_CODE.SIGN_ERR);
|
||||
|
||||
if(nowSeconds() - params.time > 15 * 60) {
|
||||
return SDK_37_ACTIVITY_CODE.TIME_IS_EXPIRED;
|
||||
}
|
||||
return resResult(SDK_37_ACTIVITY_CODE.SUCCESS);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user