黑帮争霸刷新玩家数据

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 {ApiCall} from "tsrpc";
import { ReqUpdateHbzbCrossUser, ResUpdateHbzbCrossUser } from "../../cross/protocols/hbzb/PtlUpdateHbzbCrossUser"; import {ReqUpdateHbzbCrossUser, ResUpdateHbzbCrossUser} from "../../cross/protocols/hbzb/PtlUpdateHbzbCrossUser";
/**更新跨服数据库里,黑帮争霸的玩家数据 */ /**更新跨服数据库里,黑帮争霸的玩家数据 */
export default async function (call: ApiCall<ReqUpdateHbzbCrossUser, ResUpdateHbzbCrossUser>) { export default async function (call: ApiCall<ReqUpdateHbzbCrossUser, ResUpdateHbzbCrossUser>) {
let setData = { let setData: any = {
"data":{ "data": {
player: call.req.user.player, player: call.req.user.player,
roles: call.req.user.roles, roles: call.req.user.roles,
uid: call.req.uid uid: call.req.uid
}, },
"jifen": -999999,
"rank": -999999,
"zbsgroup":""
}; };
G.mongodb.collection('hbzb_user_cross').updateOne({ uid: setData.data.uid }, { $set: setData }, { upsert: true }); if (call.req.isNew) {
call.succ({ }); setData = {
...setData,
"jifen": -999999,
"rank": -999999,
"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 {ApiCall} from "tsrpc";
import { Rank } from '../../../public/rank/rank'; import {Rank} from '../../../public/rank/rank';
import { ReqOpen, ResOpen } from "../../../shared/protocols/hbzb/jfs/PtlOpen"; import {ReqOpen, ResOpen} from "../../../shared/protocols/hbzb/jfs/PtlOpen";
import { PublicShared } from '../../../shared/public/public'; import {PublicShared} from '../../../shared/public/public';
import { getHbzbData, getMyRank, getToper200RankUid, updateHbzbCrossUser } from "./fun"; import {getHbzbData, getMyRank, getToper200RankUid, updateHbzbCrossUser} from "./fun";
export default async function (call: ApiCall<ReqOpen, ResOpen>) { 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; let data: typeof dbData.data = dbData?.data || {} as any;
if (dbData == null) { //如果没有,则同步到跨服
//如果没有,则同步到跨服 await updateHbzbCrossUser(await call.conn.getDefaultFightData(), dbData == null);
await updateHbzbCrossUser(await call.conn.getDefaultFightData(), true);
}
if (!data.refreshTime || data.refreshTime < PublicShared.getToDayZeroTime()) { if (!data.refreshTime || data.refreshTime < PublicShared.getToDayZeroTime()) {
data.winNum = 0; data.winNum = 0;
@ -26,19 +24,21 @@ export default async function (call: ApiCall<ReqOpen, ResOpen>) {
//积分赛时的排行榜,是本服积分排序 //积分赛时的排行榜,是本服积分排序
data.jifen = 0; data.jifen = 0;
//但是刷出来的对手,是跨服的玩家 //但是刷出来的对手,是跨服的玩家
let callRes = await G.clientCross.callApi('hbzb/jfs/GetEnemy', { uid: call.uid, auto: true }); let callRes = await G.clientCross.callApi('hbzb/jfs/GetEnemy', {uid: call.uid, auto: true});
if (!callRes.isSucc){ if (!callRes.isSucc) {
//todo 健壮性处理 //todo 健壮性处理
return call.errorCode(-4) return call.errorCode(-4)
} }
if (callRes.res.enemy.length) 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( G.mongodb.cPlayerInfo('hbzb').updateOne(
{ uid: call.uid, type: 'hbzb' }, {uid: call.uid, type: 'hbzb'},
{ $set: { data: data } }, {$set: {data: data}},
{ upsert: true } {upsert: true}
); );
} }