Merge branch 'bugfix' of http://git.legu.cc/qixin/HJ_Server into bugfix

This commit is contained in:
ciniao 2023-12-19 17:00:42 +08:00
commit 58ff276e10
3 changed files with 43 additions and 47 deletions

View File

@ -1,39 +1,32 @@
import { ApiCall } from "tsrpc";
import { ReqRank, ResRank } from "../../cross/protocols/wzry/PtlRank";
import { ChatFun } from "../../public/chat";
import { EmailFun } from "../../public/email";
import { FightFun } from "../../public/fight";
import { Rank } from '../../public/rank/rank';
import { SchedulerWzryDlDstart, wzrygroup } from "../../public/scheduler/scheduler_wzry";
import { WangZheRongYaofun } from "../../public/wzry";
import { PublicShared } from "../../shared/public/public";
import { player } from "../../shared/protocols/user/type";
import { rankInfo } from "../../shared/protocols/type";
import { FindOptions } from "mongodb";
import {ApiCall} from "tsrpc";
import {ReqRank, ResRank} from "../../cross/protocols/wzry/PtlRank";
import {player} from "../../shared/protocols/user/type";
import {FindOptions} from "mongodb";
export async function getRankList(limit?: number, projection?:any){
let option : FindOptions = {
sort : {
'data.valArr': -1
export async function getRankList(limit?: number, projection?: any) {
let option: FindOptions = {
sort: {
'data.valArr': -1,
'data.player.power': -1
}
}
if(limit!=null){
if (limit != null) {
option.limit = limit;
}
if(projection!=null){
if (projection != null) {
option.projection = projection;
}
let listArr = await G.mongodb.collection('rankList').find({ type: 'wzryCross' },option).toArray();
let listArr = await G.mongodb.collection('rankList').find({type: 'wzryCross'}, option).toArray();
let list = listArr.map(l => l.data);
return list;
}
export async function getPlayerRank(uid: string) {
let _r = await getRankList(50,{
"data.player.uid":1,
"data.valArr":1,
let _r = await getRankList(50, {
"data.player.uid": 1,
"data.valArr": 1,
});
if (!Object.keys(_r).length) {
return -1
@ -42,14 +35,14 @@ export async function getPlayerRank(uid: string) {
return myrank;
}
export async function getWzryRankList(uid: string, gud: player){
export async function getWzryRankList(uid: string, gud: player) {
let list = await getRankList(50);
return {
rankList: list,
myRank: {
rank: list.findIndex(li => li.player.uid == uid) + 1 || -1,
player: gud,
valArr: [(await G.mongodb.collection('wzry_fight').findOne({ uid: uid }))?.jifen || 0]
valArr: [(await G.mongodb.collection('wzry_fight').findOne({uid: uid}))?.jifen || 0]
}
};
}

View File

@ -22,12 +22,15 @@ export class CrossEmailPull extends Scheduler {
G.clientCross.callApi("email/GetCrossEmail", {server_id: G.config.serverId + ""}).then((res) => {
if(!res.isSucc)return;
res.res.emails.forEach(async (email) => {
let _prize = email?.prizeData?.prize || [];
if (email?.prizeData) delete email.prizeData;
email["prize"] = _prize;
if (email.uid != "system") {
await EmailFun.addEmail(email)
} else {
await EmailFun.addQuanFuEmail(email)
}
await EmailFun.addEmail(email)
})
})
await this.ctorStartTime()

View File

@ -630,25 +630,25 @@ export class _mongodb {
}
}
//@ts-ignore
FindCursor.prototype._toArray = FindCursor.prototype.toArray;
//@ts-ignore
FindCursor.prototype.toArray = async function(){
let rss = await this._toArray();
//如果返回的数据超过50条
if(rss.length>50){
addGameLog("system","findCount",null,{
collection: this.namespace.collection,
db:this.namespace.db,
count:rss.length
})
console.log("system,findCount",{
collection: this.namespace.collection,
db:this.namespace.db,
count:rss.length
})
console.trace();
}
return rss;
}
// //@ts-ignore
// FindCursor.prototype._toArray = FindCursor.prototype.toArray;
// //@ts-ignore
// FindCursor.prototype.toArray = async function(){
// let rss = await this._toArray();
//
// //如果返回的数据超过50条
// if(rss.length>50){
// addGameLog("system","findCount",null,{
// collection: this.namespace.collection,
// db:this.namespace.db,
// count:rss.length
// })
// console.log("system,findCount",{
// collection: this.namespace.collection,
// db:this.namespace.db,
// count:rss.length
// })
// console.trace();
// }
// return rss;
// }