From 7e775e90e1e5c6b87f61985e264b3978cbfbf2e4 Mon Sep 17 00:00:00 2001 From: xcy <871622040@qq.com> Date: Fri, 15 Dec 2023 20:06:20 +0800 Subject: [PATCH 1/2] =?UTF-8?q?fix:=20=E4=BF=AE=E6=94=B9=E6=83=85=E6=8A=A5?= =?UTF-8?q?=E7=89=B9=E6=9D=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api_s2c/xstask/ApiAllGet.ts | 32 +++++++++++++++++++++----------- src/api_s2c/xstask/ApiGet.ts | 31 ++++++++++++++++++++----------- src/api_s2c/xstask/ApiOpen.ts | 2 +- 3 files changed, 42 insertions(+), 23 deletions(-) diff --git a/src/api_s2c/xstask/ApiAllGet.ts b/src/api_s2c/xstask/ApiAllGet.ts index f41ac3c..d89d696 100644 --- a/src/api_s2c/xstask/ApiAllGet.ts +++ b/src/api_s2c/xstask/ApiAllGet.ts @@ -1,15 +1,17 @@ -import { ApiCall } from "tsrpc"; -import { PlayerFun } from '../../public/player'; -import { XstaskFun } from '../../public/xstask'; -import { ReqAllGet, ResAllGet } from "../../shared/protocols/xstask/PtlAllGet"; -import { HongDianChange } from "../hongdian/fun"; -import { PublicShared } from "../../shared/public/public"; +import {ApiCall} from "tsrpc"; +import {PlayerFun} from '../../public/player'; +import {XstaskFun} from '../../public/xstask'; +import {ReqAllGet, ResAllGet} from "../../shared/protocols/xstask/PtlAllGet"; +import {HongDianChange} from "../hongdian/fun"; +import {PublicShared} from "../../shared/public/public"; +import {TeQuanFun} from "../../public/tequan"; export default async function (call: ApiCall) { const taskList = JSON.parse(JSON.stringify(await XstaskFun.getAllTask(call.uid))); let taskInfo = await XstaskFun.getInfo(call.uid); - let prizeArr:atn[] = [] - for(let task of taskList) { + let tequan = await TeQuanFun.getXsTaskNum(call); + let prizeArr: atn[] = [] + for (let task of taskList) { const taskConf = G.gc.xstask[task?.taskId]; if (!task) continue; if (task.receiveData == undefined) continue; @@ -23,12 +25,12 @@ export default async function (call: ApiCall) { // } continue } - let change: Parameters[1] = { $inc: {} }; + let change: Parameters[1] = {$inc: {}}; change.$inc[`finishNum.${taskConf.colour}`] = 1; // 比对派遣时间,如果小于当日0点,则更新新任务,否则该变领取状态为true - if(task.receiveData.time < PublicShared.getToDayZeroTime()) { + if (task.receiveData.time < PublicShared.getToDayZeroTime()) { // 更新任务 - let newTask = XstaskFun.randomTasks(taskInfo?.lv, 1) + let newTask = XstaskFun.randomTasks(taskInfo?.lv, 1) XstaskFun.updateTask(call.uid, task._id, newTask[0].taskId) } else { // 更新领取状态 @@ -38,6 +40,14 @@ export default async function (call: ApiCall) { XstaskFun.changeInfo(call.uid, change); await PlayerFun.sendPrize(call, taskConf.prize); HongDianChange.sendChangeKey(call.uid, ['xstaskhd', 'huodonghd']); + + if (!tequan) { + prizeArr.push(...taskConf.prize) + } else { + for (let i = 0; i < 3; i++) { + prizeArr.push(...taskConf.prize) + } + } prizeArr.push(...taskConf.prize) } call.succ({ diff --git a/src/api_s2c/xstask/ApiGet.ts b/src/api_s2c/xstask/ApiGet.ts index 62a5b1b..878052d 100644 --- a/src/api_s2c/xstask/ApiGet.ts +++ b/src/api_s2c/xstask/ApiGet.ts @@ -1,9 +1,10 @@ -import { ApiCall } from "tsrpc"; -import { PlayerFun } from '../../public/player'; -import { XstaskFun } from '../../public/xstask'; -import { ReqGet, ResGet } from "../../shared/protocols/xstask/PtlGet"; -import { HongDianChange } from "../hongdian/fun"; -import { PublicShared } from '../../shared/public/public'; +import {ApiCall} from "tsrpc"; +import {PlayerFun} from '../../public/player'; +import {XstaskFun} from '../../public/xstask'; +import {ReqGet, ResGet} from "../../shared/protocols/xstask/PtlGet"; +import {HongDianChange} from "../hongdian/fun"; +import {PublicShared} from '../../shared/public/public'; +import {TeQuanFun} from "../../public/tequan"; export default async function (call: ApiCall) { @@ -23,24 +24,32 @@ export default async function (call: ApiCall) { } } - let change: Parameters[1] = { $inc: {} }; + let change: Parameters[1] = {$inc: {}}; change.$inc[`finishNum.${taskConf.colour}`] = 1; // 比对派遣时间,如果小于当日0点,则更新新任务,否则该变领取状态为true - if(task.receiveData.time < PublicShared.getToDayZeroTime()) { + if (task.receiveData.time < PublicShared.getToDayZeroTime()) { // 更新任务 - let newTask = XstaskFun.randomTasks(taskInfo?.lv, 1) + let newTask = XstaskFun.randomTasks(taskInfo?.lv, 1) XstaskFun.updateTask(call.uid, call.req._id, newTask[0].taskId) } else { // 更新领取状态 XstaskFun.finishTask(call.uid, call.req._id) } // XstaskFun.delTask(call.uid, call.req._id); + let send_prize = []; XstaskFun.changeInfo(call.uid, change); - await PlayerFun.sendPrize(call, taskConf.prize); + if (!await TeQuanFun.getXsTaskNum(call)) { + send_prize = taskConf.prize; + } else { + for (let i = 0; i < 3; i++) { + send_prize = send_prize.concat(taskConf.prize) + } + } + await PlayerFun.sendPrize(call, send_prize); HongDianChange.sendChangeKey(call.uid, ['xstaskhd', 'huodonghd']); call.succ({ taskList: await XstaskFun.getAllTask(call.uid), - prize: taskConf.prize + prize: send_prize }); } \ No newline at end of file diff --git a/src/api_s2c/xstask/ApiOpen.ts b/src/api_s2c/xstask/ApiOpen.ts index 4261a4c..3a65a5d 100644 --- a/src/api_s2c/xstask/ApiOpen.ts +++ b/src/api_s2c/xstask/ApiOpen.ts @@ -36,7 +36,7 @@ export default async function (call: ApiCall) { XstaskFun.delTasks(call.uid, delTask.map(task => task._id)); } - needAddTask += await TeQuanFun.getXsTaskNum(call); + // needAddTask += await TeQuanFun.getXsTaskNum(call); needAddTask && await XstaskFun.addTasks(call.uid, XstaskFun.randomTasks(taskInfo?.lv || changeInfo.lv, needAddTask)); let { _id, uid, type, ...info } = taskInfo || changeInfo as typeof taskInfo; From 404bb9a7e574532a772017693d91d16813b70216 Mon Sep 17 00:00:00 2001 From: xcy <871622040@qq.com> Date: Fri, 15 Dec 2023 21:11:31 +0800 Subject: [PATCH 2/2] =?UTF-8?q?fix:=20=E4=BF=AE=E6=94=B9=E4=BC=99=E4=BC=B4?= =?UTF-8?q?=E6=8B=9B=E5=8B=9F=E7=9A=84=E5=A5=96=E5=8A=B1=E9=A2=86=E5=8F=96?= =?UTF-8?q?=E6=9D=A1=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api_s2c/event/huobanzhaomu/ApiRec.ts | 37 +++++++++++++++--------- 1 file changed, 24 insertions(+), 13 deletions(-) diff --git a/src/api_s2c/event/huobanzhaomu/ApiRec.ts b/src/api_s2c/event/huobanzhaomu/ApiRec.ts index 3b8cd45..0c1dfba 100644 --- a/src/api_s2c/event/huobanzhaomu/ApiRec.ts +++ b/src/api_s2c/event/huobanzhaomu/ApiRec.ts @@ -1,27 +1,38 @@ -import { ApiCall } from "tsrpc"; -import { PlayerFun } from '../../../public/player'; -import { ReqRec, ResRec } from "../../../shared/protocols/event/huobanzhaomu/PtlRec"; -import { HongDianChange } from "../../hongdian/fun"; +import {ApiCall} from "tsrpc"; +import {PlayerFun} from '../../../public/player'; +import {ReqRec, ResRec} from "../../../shared/protocols/event/huobanzhaomu/PtlRec"; +import {HongDianChange} from "../../hongdian/fun"; +import {PayFun} from "../../../public/pay"; export default async function (call: ApiCall) { let conf = G.gc.huobanzhaomu[call.req.index]; - if (!conf) return call.error('', { code: -1 }); - if (conf.gudKey && call.conn.gud[conf.gudKey] < conf.total) return call.error('', { code: -2 }); + if (!conf) return call.error('', {code: -1}); + if (conf.gudKey && call.conn.gud[conf.gudKey] < conf.total) return call.error('', {code: -2}); - let db = await G.mongodb.cEvent('huobanzhaomu').findOne({ uid: call.uid, type: 'huobanzhaomu' }); - if (db?.rec.includes(call.req.index)) return call.error('', { code: -3 }); - if (!conf.gudKey && (db?.rec?.length || 0) < G.gc.huobanzhaomu.length - 1) return call.error('', { code: -4 }); + let db = await G.mongodb.cEvent('huobanzhaomu').findOne({uid: call.uid, type: 'huobanzhaomu'}); + if (db?.rec.includes(call.req.index)) return call.error('', {code: -3}); + + if (conf.gudKey == "chaozhiyueka") { + let logs = await PayFun.getPayLog(call.uid, "chaozhiyueka"); + if (!logs || logs.slice(-1)[0].eTime < G.time) { + return call.error('', {code: -4}); + } + } else { + if (!conf.gudKey && (db?.rec?.length || 0) < G.gc.huobanzhaomu.length - 1) { + return call.error('', {code: -4}); + } + } await PlayerFun.sendPrize(call, conf.prize); if (db?.rec?.length + 1 >= G.gc.huobanzhaomu.length) { - G.mongodb.collection('syncBtns').updateOne({ uid: call.uid }, { $set: { 'huobanzhaomu.active': false } }, { upsert: true }); + G.mongodb.collection('syncBtns').updateOne({uid: call.uid}, {$set: {'huobanzhaomu.active': false}}, {upsert: true}); } G.mongodb.cEvent('huobanzhaomu').updateOne( - { uid: call.uid, type: 'huobanzhaomu' }, - { $push: { rec: call.req.index } }, - { upsert: true } + {uid: call.uid, type: 'huobanzhaomu'}, + {$push: {rec: call.req.index}}, + {upsert: true} ); HongDianChange.sendChangeKey(call.uid, ['huobanzhaomuhd'])