From d71ecf13f9d515feb5b6519469d6bb58a304ed97 Mon Sep 17 00:00:00 2001 From: xcy Date: Fri, 29 Dec 2023 17:06:59 +0800 Subject: [PATCH 1/3] =?UTF-8?q?fix:=20=E5=BC=80=E6=9C=8D=E7=AB=9E=E8=B5=9B?= =?UTF-8?q?=E6=8E=92=E8=A1=8C=E6=A6=9C=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/public/rank/rank_kfjs.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/public/rank/rank_kfjs.ts b/src/public/rank/rank_kfjs.ts index 91b21ad..5c00535 100644 --- a/src/public/rank/rank_kfjs.ts +++ b/src/public/rank/rank_kfjs.ts @@ -12,7 +12,7 @@ export class RankKfjs extends Rank { constructor(ctype) { super(); this.ctype = ctype - this.ortype = `kfjs${kfjsFun.getStatus().type}` + this.ortype = `kfjs${kfjsFun.getStatus(ctype).type}` } getType(): rankType { From ecc116bfa17d28dd8cece67d7e05729d318d04f6 Mon Sep 17 00:00:00 2001 From: dy Date: Fri, 29 Dec 2023 17:25:34 +0800 Subject: [PATCH 2/3] =?UTF-8?q?fix=20=E6=B6=88=E8=B4=B9=E7=AB=9E=E8=B5=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api_s2c/event/xiaofeijingsai/ApiOpen.ts | 8 ++++---- src/public/player.ts | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/api_s2c/event/xiaofeijingsai/ApiOpen.ts b/src/api_s2c/event/xiaofeijingsai/ApiOpen.ts index 4862a90..0f3293d 100644 --- a/src/api_s2c/event/xiaofeijingsai/ApiOpen.ts +++ b/src/api_s2c/event/xiaofeijingsai/ApiOpen.ts @@ -34,7 +34,7 @@ export default async function (call: ApiCall) { let users = await G.crossmongodb.collection('huodong_user').find({uid: {$in: rankList.map(i => i._id).filter(i => i._id != 'system')}}).toArray() - rankList = rankList.map(i => ({...i, player: users.find(v => v.uid == i._id) || {}})) + rankList = rankList.map(i => ({...i, player: users.find(v => v.uid == i.uid) || {}})) // 活动结束前半小时,缓存过期时间改为10秒 let exTime = (G.time + 1800) > _hd.etime ? 10 : 60 @@ -57,7 +57,7 @@ export function sortRankList(rank, list) { rank.map(i => { for (let k = i.rank[0] - 1; k < i.rank[1]; k++) { if (list[k]?.total >= i.need[0].n) { - rankList.push({...list[k - ccc], rank: k}) + rankList.push({...list[k - ccc], rank: k, _id: list[k - ccc].uid}) } else { rankList.push({_id: 'system', total: i.need[0].n, rank: k, player: {}}) ccc += 1 @@ -75,11 +75,11 @@ async function getMyData(call, rankList) { let myCut: any = await G.crossmongodb.collection('rmbuse').findOne({uid: call.uid}) let myUser = await G.mongodb.collection('user').findOne({uid: call.uid}) - G.crossmongodb.collection('huodong_user').updateOne({uid: call.uid}, myUser, {upsert: true}) + G.crossmongodb.collection('huodong_user').updateOne({uid: call.uid}, {$set: myUser}, {upsert: true}) if (!myCut) { myCut = {_id: myUser.uid, total: 0} } - return {player: myUser, ...myCut, total: R.negate(myCut.total), rank: -1} + return {player: myUser, ...myCut, total: R.negate(myCut.total), rank: -1, _id: myUser.uid} } \ No newline at end of file diff --git a/src/public/player.ts b/src/public/player.ts index 5d9a7e4..00c1ac6 100644 --- a/src/public/player.ts +++ b/src/public/player.ts @@ -227,7 +227,7 @@ export class PlayerFun { // 消费竞赛开启时写入跨服数据库 if (G.huodong.xfjs && !data.isAdd) { G.crossmongodb.collection('rmbuse').updateOne({uid: data.uid}, { - time: G.time, + $set: {time: G.time}, $inc: {change: data.change} }, {upsert: true}); } From e496b3fefba08b87ec0ed8149e15bbb27633dd78 Mon Sep 17 00:00:00 2001 From: xcy Date: Fri, 29 Dec 2023 18:43:25 +0800 Subject: [PATCH 3/3] =?UTF-8?q?fix:=20=E5=BC=80=E6=9C=8D=E7=AB=9E=E8=B5=9B?= =?UTF-8?q?=E6=8E=92=E8=A1=8C=E6=A6=9C=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api_s2c/gongyu/mingdao/ApiRepair.ts | 2 +- src/api_s2c/hongdian/fun.ts | 2 +- src/api_s2c/jiuba/ApiLottery.ts | 2 +- src/api_s2c/kaifujingsai/ApiOpen.ts | 2 +- src/api_s2c/kaifujingsai/ApiReceive.ts | 2 +- src/api_s2c/pata/ApiFight.ts | 2 +- src/api_s2c/tanxian/ApiFight.ts | 2 +- src/extends.ts | 2 +- src/public/kaifujingsai.ts | 4 +- src/public/rank/rank.ts | 8 ++-- src/public/rank/rank_kfjs.ts | 52 ++++++++++++++++++------- src/setStartAfther.ts | 9 +++++ 12 files changed, 62 insertions(+), 27 deletions(-) diff --git a/src/api_s2c/gongyu/mingdao/ApiRepair.ts b/src/api_s2c/gongyu/mingdao/ApiRepair.ts index 0f3b7ad..e26e097 100644 --- a/src/api_s2c/gongyu/mingdao/ApiRepair.ts +++ b/src/api_s2c/gongyu/mingdao/ApiRepair.ts @@ -62,7 +62,7 @@ export default async function (call: ApiCall) { } else { cutItem = R.find(R.whereEq({a: "item", t: "21"}))(need) } - let rankKfjs = new RankKfjs(6) + let rankKfjs = RankKfjs(6) rankKfjs.setDataAndCheck({ player: call.conn.gud, valArr: [await rankKfjs.getRankScore(call.uid) + cutItem.n] diff --git a/src/api_s2c/hongdian/fun.ts b/src/api_s2c/hongdian/fun.ts index 345af02..d451153 100644 --- a/src/api_s2c/hongdian/fun.ts +++ b/src/api_s2c/hongdian/fun.ts @@ -269,7 +269,7 @@ export class HongDianFun { for (let i = 1; i <= 7; i++) { let prize = kfjsFun.getStatus(i) if (PublicShared.getOpenServerDay() <= prize.conf.showDay[1]) continue - let rankKfjs = new RankKfjs(i) + let rankKfjs = RankKfjs(i) let myRank = await rankKfjs.getRankSortByOne(call.uid) if (prize.type > 0 && !data?.record?.[i] && myRank >= 0) { canGet[i] = true diff --git a/src/api_s2c/jiuba/ApiLottery.ts b/src/api_s2c/jiuba/ApiLottery.ts index 89266e0..1bd5342 100644 --- a/src/api_s2c/jiuba/ApiLottery.ts +++ b/src/api_s2c/jiuba/ApiLottery.ts @@ -137,7 +137,7 @@ export default async function (call: ApiCall) { changeData: changeData }); - let rankKfjs = new RankKfjs(1) + let rankKfjs = RankKfjs(1) rankKfjs.setDataAndCheck({ player: call.conn.gud, valArr: [await rankKfjs.getRankScore(call.uid) + call.req.type] diff --git a/src/api_s2c/kaifujingsai/ApiOpen.ts b/src/api_s2c/kaifujingsai/ApiOpen.ts index 7d6f644..df9427a 100644 --- a/src/api_s2c/kaifujingsai/ApiOpen.ts +++ b/src/api_s2c/kaifujingsai/ApiOpen.ts @@ -12,7 +12,7 @@ export default async function (call: ApiCall) { const {min, max} = Rank.pageToMin(call.req.page, call.req.offset) - let rankKfjs = new RankKfjs(status.type) + let rankKfjs = RankKfjs(status.type) let endTime = PublicShared.getToDayZeroTime(PublicShared.getToDayZeroTime(G.openTime) + status.conf.showDay[1] * 86400) diff --git a/src/api_s2c/kaifujingsai/ApiReceive.ts b/src/api_s2c/kaifujingsai/ApiReceive.ts index 5257a46..251155c 100644 --- a/src/api_s2c/kaifujingsai/ApiReceive.ts +++ b/src/api_s2c/kaifujingsai/ApiReceive.ts @@ -15,7 +15,7 @@ export default async function (call: ApiCall) { if (data?.record?.[call.req.type]) return call.errorCode(-2) // 查询自己排名,发奖 - let rankKfjs = new RankKfjs(call.req.type) + let rankKfjs = RankKfjs(call.req.type) let myRank = await rankKfjs.getRankSortByOne(call.uid) let conf = R.find(i => i.rank[0] <= myRank + 1 && i.rank[1] >= myRank + 1)(prize) diff --git a/src/api_s2c/pata/ApiFight.ts b/src/api_s2c/pata/ApiFight.ts index 43c9b89..9e9d324 100644 --- a/src/api_s2c/pata/ApiFight.ts +++ b/src/api_s2c/pata/ApiFight.ts @@ -43,7 +43,7 @@ export default async function (call: ApiCall) { valArr: [changeInfo.lv] }); - let rankKfjs = new RankKfjs(5) + let rankKfjs = RankKfjs(5) rankKfjs.setDataAndCheck({ player: call.conn.gud, valArr: [changeInfo.lv-1] diff --git a/src/api_s2c/tanxian/ApiFight.ts b/src/api_s2c/tanxian/ApiFight.ts index f890677..2fe7cd5 100644 --- a/src/api_s2c/tanxian/ApiFight.ts +++ b/src/api_s2c/tanxian/ApiFight.ts @@ -38,7 +38,7 @@ export default async function (call: ApiCall) { // (await call.conn.gonghui)?.addExp(20, call.uid); - let rankKfjs = new RankKfjs(4) + let rankKfjs = RankKfjs(4) rankKfjs.setDataAndCheck({ player: call.conn.gud, valArr: [call.conn.gud.mapId] diff --git a/src/extends.ts b/src/extends.ts index 28a6730..ee937d5 100644 --- a/src/extends.ts +++ b/src/extends.ts @@ -250,7 +250,7 @@ BaseConnection.prototype.refreshPower = async function (this: BaseConnection i.lv)) - let rankKfjs = new RankKfjs(2) + let rankKfjs = RankKfjs(2) rankKfjs.setDataAndCheck({ player: call.conn.gud, valArr: [score] @@ -37,7 +37,7 @@ async function setHeroLvCount(call) { async function setEquipLvCount(call) { let status = getStatus() if (status.type != 3) return - let rankKfjs = new RankKfjs(3) + let rankKfjs = RankKfjs(3) let equips = await G.mongodb.collection('equip').find({ uid: call.uid, wearaId: {$in: R.values(call.conn.gud.heroPos)} diff --git a/src/public/rank/rank.ts b/src/public/rank/rank.ts index d15519f..634f4a5 100644 --- a/src/public/rank/rank.ts +++ b/src/public/rank/rank.ts @@ -12,8 +12,9 @@ import { RankWzryCross } from './rank_wzry'; import { RankXszm } from './rank_xszm'; import { RankZccg } from './rank_zccg'; import * as util from 'util' -import { RankKfjs } from "./rank_kfjs"; +import { RankKfjs_1 } from "./rank_kfjs"; import { clusterRunOnce } from '../../clusterUtils'; +import { number } from 'mathjs'; @@ -33,8 +34,7 @@ export abstract class Rank { zccg: RankZccg; tujian: RankTujian; wzryCross: RankWzryCross; - kfjs: RankKfjs - }> = {}; + }> & k_v = {}; queue = new Queue(); findKey = 'uid'; @@ -109,7 +109,7 @@ export abstract class Rank { } constructor() { - Rank.list[this.getType()] = this; + Rank.list[this.getType() as string] = this; this.cotr(); } diff --git a/src/public/rank/rank_kfjs.ts b/src/public/rank/rank_kfjs.ts index 5c00535..c1da864 100644 --- a/src/public/rank/rank_kfjs.ts +++ b/src/public/rank/rank_kfjs.ts @@ -1,23 +1,18 @@ -import {rankType} from '../../shared/protocols/rank/PtlOpen'; -import {rankInfo} from '../../shared/protocols/type'; -import {Rank} from './rank'; +import { rankType } from '../../shared/protocols/rank/PtlOpen'; +import { rankInfo } from '../../shared/protocols/type'; +import { Rank } from './rank'; import kfjsFun from "../kaifujingsai"; -export class RankKfjs extends Rank { +export class RankKfjs_1 extends Rank { + ctype: string = "1"; - ortype: string - ctype: string - - constructor(ctype) { - super(); - this.ctype = ctype - this.ortype = `kfjs${kfjsFun.getStatus(ctype).type}` + get ortype() { + return `kfjs${kfjsFun.getStatus().type}` } getType(): rankType { - let status = kfjsFun.getStatus(this.ctype) - return `kfjs${status.type}`; + return `kfjs${this.ctype}`; } async setDataAndCheck(info: rankInfo) { @@ -26,4 +21,35 @@ export class RankKfjs extends Rank { if (status.type == -1) return this.addNew(info) } +} + +export class RankKfjs_2 extends RankKfjs_1 { + ctype: string = "2" +} + +export class RankKfjs_3 extends RankKfjs_1 { + ctype: string = "3" +} + +export class RankKfjs_4 extends RankKfjs_1 { + ctype: string = "4" +} + + +export class RankKfjs_5 extends RankKfjs_1 { + ctype: string = "5" +} + + +export class RankKfjs_6 extends RankKfjs_1 { + ctype: string = "6" +} + +export class RankKfjs_7 extends RankKfjs_1 { + ctype: string = "7" +} + + +export function RankKfjs(type: number) { + return Rank.list[`kfjs${type}`] } \ No newline at end of file diff --git a/src/setStartAfther.ts b/src/setStartAfther.ts index ba3f732..f0ca5c4 100644 --- a/src/setStartAfther.ts +++ b/src/setStartAfther.ts @@ -28,6 +28,7 @@ import { addListener } from './globalListener'; import { SchedulerManage } from './public/scheduler/scheduler'; import {CrossEmailPull} from "./public/scheduler/scheduler_cross_email_pull"; import {Scheduler_xfjs_Local_Ctor} from "./public/scheduler/scheduler_xiaofeijingsai"; +import { RankKfjs_1, RankKfjs_2, RankKfjs_3, RankKfjs_4, RankKfjs_5, RankKfjs_6, RankKfjs_7 } from './public/rank/rank_kfjs'; export async function startAfter() { //事件监听和定时器初始化 @@ -58,6 +59,14 @@ export async function startAfter() { new RankSlzd5(); new RankSlzd6(); + new RankKfjs_1(); + new RankKfjs_2(); + new RankKfjs_3(); + new RankKfjs_4(); + new RankKfjs_5(); + new RankKfjs_6(); + new RankKfjs_7(); + new RankZccg(); new RankTujian();