From 6fae6cd61e4b9b0cf101e902d12dbbb7d9b8b939 Mon Sep 17 00:00:00 2001 From: dy Date: Sat, 30 Dec 2023 16:07:54 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A0=B4=E5=86=B0=E7=A4=BC=E5=8C=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api_s2c/event/pobinglibao/ApiReceive.ts | 2 +- src/api_s2c/hongdian/fun.ts | 18 +++++++++++------- src/fix_patch/patch_20231230.ts | 3 ++- 3 files changed, 14 insertions(+), 9 deletions(-) diff --git a/src/api_s2c/event/pobinglibao/ApiReceive.ts b/src/api_s2c/event/pobinglibao/ApiReceive.ts index 1f60117..1ca3b81 100644 --- a/src/api_s2c/event/pobinglibao/ApiReceive.ts +++ b/src/api_s2c/event/pobinglibao/ApiReceive.ts @@ -29,5 +29,5 @@ export default async function (call: ApiCall) { call.succ({}) - HongDianChange.sendChangeKey(call.uid, ['pobinglibao']); + HongDianChange.sendChangeKey(call.uid, ['huodonghd']); } diff --git a/src/api_s2c/hongdian/fun.ts b/src/api_s2c/hongdian/fun.ts index d451153..f8a301b 100644 --- a/src/api_s2c/hongdian/fun.ts +++ b/src/api_s2c/hongdian/fun.ts @@ -367,17 +367,21 @@ export class HuoDongHongDianFun { /**破冰礼包红点 */ static async pobinglibao(call: ApiCall, _hd: ReqAddHuoDong): Promise { let gift = _hd?.data?.gift?.find(i => i.free == true && !i.payId) - if (!gift) return {show: false} + if (gift) return {show: true} - let payLog = await PayFun.getPayLog(call.uid, gift.payId) - payLog = payLog?.filter(i => i.time >= _hd.stime && i.time <= _hd.etime) || [] - if (!payLog || !payLog.length) return {show: false} + let payIds = _hd?.data?.gift?.filter(i=>i.payId).map(i=>i.payId) + let payLogs = await PayFun.getPayLogs(call.uid, payIds) // 取奖励列表,判断是否有可领取奖励 let data = await G.mongodb.cEvent('pobinglibao').findOne({uid: call.uid, type: 'pobinglibao'}) - let rec = data?.record?.[call.req.id].length - if (rec && (rec >= 3 || data?.record?.[gift.id] == call.req.recId)) return {show: false} - return {show: true} + + for (let item of _hd?.data?.gift){ + let rec = data?.record?.[item.id]?.length + if (item.free== true && !item.payId) return {show: true} + if (payLogs[item.payId]?.length && (!rec || rec < PublicShared.getDiff(payLogs[item.payId][0].time))) return {show: true} + } + + return {show:false} } /**元旦活动红点 */ diff --git a/src/fix_patch/patch_20231230.ts b/src/fix_patch/patch_20231230.ts index 533ac56..18a99eb 100644 --- a/src/fix_patch/patch_20231230.ts +++ b/src/fix_patch/patch_20231230.ts @@ -18,7 +18,7 @@ class Path { let uid = today_login_users[i].uid; let init: boolean = false; - let { _id, ...hdata } = await G.mongodb.cEvent(`yuandan${hdid}`).findOne({ + let hdata:any = await G.mongodb.cEvent(`yuandan${hdid}`).findOne({ uid: uid, type: `yuandan${hdid}` }); if (!hdata) { @@ -122,6 +122,7 @@ class Path { hdata.taskval = taskval; await G.mongodb.cEvent(`yuandan${hdid}`).updateOne({ uid: uid, type: `yuandan${hdid}` }, { $set: hdata }, { upsert: true }) } + console.log('玩家执行完成',uid) }