黑帮争霸刷新玩家数据

This commit is contained in:
dy 2023-12-31 14:26:40 +08:00
parent ec1b76ed5f
commit 09b74e3490
2 changed files with 30 additions and 25 deletions

View File

@ -1,18 +1,23 @@
import { ApiCall } from "tsrpc";
import { ReqUpdateHbzbCrossUser, ResUpdateHbzbCrossUser } from "../../cross/protocols/hbzb/PtlUpdateHbzbCrossUser";
import {ApiCall} from "tsrpc";
import {ReqUpdateHbzbCrossUser, ResUpdateHbzbCrossUser} from "../../cross/protocols/hbzb/PtlUpdateHbzbCrossUser";
/**更新跨服数据库里,黑帮争霸的玩家数据 */
export default async function (call: ApiCall<ReqUpdateHbzbCrossUser, ResUpdateHbzbCrossUser>) {
let setData = {
"data":{
let setData: any = {
"data": {
player: call.req.user.player,
roles: call.req.user.roles,
uid: call.req.uid
},
};
if (call.req.isNew) {
setData = {
...setData,
"jifen": -999999,
"rank": -999999,
"zbsgroup":""
};
G.mongodb.collection('hbzb_user_cross').updateOne({ uid: setData.data.uid }, { $set: setData }, { upsert: true });
call.succ({ });
"zbsgroup": ""
}
}
G.mongodb.collection('hbzb_user_cross').updateOne({uid: setData.data.uid}, {$set: setData}, {upsert: true});
call.succ({});
}

View File

@ -1,18 +1,16 @@
import { ApiCall } from "tsrpc";
import { Rank } from '../../../public/rank/rank';
import { ReqOpen, ResOpen } from "../../../shared/protocols/hbzb/jfs/PtlOpen";
import { PublicShared } from '../../../shared/public/public';
import { getHbzbData, getMyRank, getToper200RankUid, updateHbzbCrossUser } from "./fun";
import {ApiCall} from "tsrpc";
import {Rank} from '../../../public/rank/rank';
import {ReqOpen, ResOpen} from "../../../shared/protocols/hbzb/jfs/PtlOpen";
import {PublicShared} from '../../../shared/public/public';
import {getHbzbData, getMyRank, getToper200RankUid, updateHbzbCrossUser} from "./fun";
export default async function (call: ApiCall<ReqOpen, ResOpen>) {
//查看本地数据库里,刷出来的玩家数据
let dbData = await getHbzbData(call.uid );
let dbData = await getHbzbData(call.uid);
let data: typeof dbData.data = dbData?.data || {} as any;
if (dbData == null) {
//如果没有,则同步到跨服
await updateHbzbCrossUser(await call.conn.getDefaultFightData(), true);
}
await updateHbzbCrossUser(await call.conn.getDefaultFightData(), dbData == null);
if (!data.refreshTime || data.refreshTime < PublicShared.getToDayZeroTime()) {
data.winNum = 0;
@ -26,19 +24,21 @@ export default async function (call: ApiCall<ReqOpen, ResOpen>) {
//积分赛时的排行榜,是本服积分排序
data.jifen = 0;
//但是刷出来的对手,是跨服的玩家
let callRes = await G.clientCross.callApi('hbzb/jfs/GetEnemy', { uid: call.uid, auto: true });
if (!callRes.isSucc){
let callRes = await G.clientCross.callApi('hbzb/jfs/GetEnemy', {uid: call.uid, auto: true});
if (!callRes.isSucc) {
//todo 健壮性处理
return call.errorCode(-4)
}
if (callRes.res.enemy.length)
data.enemy = callRes.res.enemy.map(e => { return { ...e, result: null }; });
data.enemy = callRes.res.enemy.map(e => {
return {...e, result: null};
});
}
G.mongodb.cPlayerInfo('hbzb').updateOne(
{ uid: call.uid, type: 'hbzb' },
{ $set: { data: data } },
{ upsert: true }
{uid: call.uid, type: 'hbzb'},
{$set: {data: data}},
{upsert: true}
);
}