From 37f2472f5d1ad4d287c6c25d1a3694a04bee4ac3 Mon Sep 17 00:00:00 2001 From: dy Date: Thu, 28 Dec 2023 16:10:56 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E8=84=9A=E6=9C=AC=E6=A8=A1?= =?UTF-8?q?=E6=9D=BF=EF=BC=8C=E5=88=B7=E6=96=B0=E6=B4=BB=E5=8A=A8=E5=86=85?= =?UTF-8?q?=E5=AE=B9=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/fix_patch/patch_hdinfo.ts | 79 +++++++++++++++++++++++++++++++++++ src/patch.ts | 2 +- 2 files changed, 80 insertions(+), 1 deletion(-) create mode 100644 src/fix_patch/patch_hdinfo.ts diff --git a/src/fix_patch/patch_hdinfo.ts b/src/fix_patch/patch_hdinfo.ts new file mode 100644 index 0000000..fad15cc --- /dev/null +++ b/src/fix_patch/patch_hdinfo.ts @@ -0,0 +1,79 @@ +import {patchFun, patchInit} from "../patch"; + +class Path { + @patchFun + async fun1(a: any) { + //这里执行脚本的内容,加了patchFun的函数,不允许重复执行 + console.log("这是第1个脚本里内容"); + + let _hd = G.gc.huodong.find(i => i.hdid == 4000) + + if (!_hd) { + console.log('htype4没查到活动') + return + } + + await G.mongodb.collection('hdinfo').findOneAndUpdate({hdid: 4000}, {$set: {data: _hd.data}}) + + console.log('这是第1个脚本执行完成') + + return 12 + } + + @patchFun + async fun2(a: any) { + //这里执行脚本的内容,加了patchFun的函数,不允许重复执行 + console.log("这是第2个脚本里内容"); + + let _hd = G.gc.huodong.find(i => i.htype == 2) + + if (!_hd) { + console.log('htype2没查到活动') + return + } + + await G.mongodb.collection('hdinfo').updateMany({htype: 2}, {$set: {data: _hd.data}}) + + console.log('这是第2个脚本执行完成') + + return 12 + } + + @patchFun + async fun3(a: any) { + //这里执行脚本的内容,加了patchFun的函数,不允许重复执行 + console.log("这是第3个脚本里内容"); + + let _hd = G.gc.huodong.find(i => i.htype == 5) + + if (!_hd) { + console.log('htype5没查到活动') + return + } + + await G.mongodb.collection('hdinfo').updateMany({htype: 5}, {$set: {data: _hd.data}}) + + console.log('这是第3个脚本执行完成') + + return 12 + } + + + async run() { + await this.fun1(1); + await this.fun2(2); + await this.fun3(3); + } +} + +async function main() { + await patchInit() + let patch = new Path(); + await patch.run(); + setInterval(() => { + console.log(new Date().format("MM-dd hh:mm:ss")); + }, 1000); + console.log("逻辑执行完成,等待退出"); +} + +main(); diff --git a/src/patch.ts b/src/patch.ts index c5b3d7a..f572823 100644 --- a/src/patch.ts +++ b/src/patch.ts @@ -15,7 +15,7 @@ export function patchFun(target: any, key: string, descriptor: PropertyDescripto throw new Error(); } catch (e) { let caller = (e.stack.split("\n").slice(2)[0].split("\\").slice(-2)); - scriptName = caller[1].split(':')[0]; + scriptName = caller[0].split('(')[1].split(':')[0]; } if(!scriptName){