(37需求): 查询角色接口

This commit is contained in:
luying
2023-05-06 21:08:59 +08:00
parent d30abf287f
commit 4fe472b537
5 changed files with 84 additions and 3 deletions

View File

@@ -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_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 { GetGuildInfoByUserParam, GetRoleByServerParam, GetRoleByUidParam, GetServerAndUidParam, 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';
@@ -623,8 +623,54 @@ export default class Sdk extends Service {
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.TIME_IS_EXPIRED);
}
return resResult(SDK_37_ACTIVITY_CODE.SUCCESS);
}
// 根据服务器获取玩家数据
public async getRoleByUidAndServerForLogin(params:GetServerAndUidParam) {
try {
let validateResult = this.getRoleByUidAndServerForLoginValidate(params);
if(validateResult.code != SDK_37_ACTIVITY_CODE.SUCCESS.code) return { state: 0, data: null, msg: validateResult.simStr };
let channelId = getChannelId('37', params.uid);
let user = await UserModel.findUserByChannel(channelId);
if(!user) return resResult(SDK_37_ACTIVITY_CODE.ROLE_NOT_FOUND);
let server = await ServerlistModel.findByServerId(params.dsid);
if(!server) return resResult(SDK_37_ACTIVITY_CODE.SERVER_NOT_FOUND);
let role = await Role.findByUid(user.uid, params.dsid, 'roleId roleName lv createTime serverId ce');
if(!role) return resResult(SDK_37_ACTIVITY_CODE.ROLE_NOT_FOUND);
return {
state: 1, data: [{
dsid: role.serverId.toString(),
dsname: server.name,
drid: role.roleId,
drname: role.roleName,
drlevel: role.lv.toString(),
dpower: role.ce.toString(),
}], msg: '成功'
}
} catch(e) {
console.error(e);
return { state: 0, data: null, msg: SDK_37_ACTIVITY_CODE.INTERNAL_ERR };
}
}
private getRoleByUidAndServerForLoginValidate(params:GetServerAndUidParam) {
if(!params.checkParams()) return SDK_37_ACTIVITY_CODE.WRONG_PARAMS;
let { appid, gid, uid, dsid, time } = params;
let str = `${time}${appid}${gid}${dsid}${uid}${SDK_37_CONST.LOGIN_KEY}`;
let sign = md5(str);
console.log('#### str: ', str, 'sign', sign);
if(sign != params.sign) return SDK_37_ACTIVITY_CODE.SIGN_ERR;
if(nowSeconds() - params.time > 15 * 60) {
return SDK_37_ACTIVITY_CODE.TIME_IS_EXPIRED;
}
return SDK_37_ACTIVITY_CODE.SUCCESS;
}
}