cgserver 10.0.0 → 10.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/Framework/AI/BehaviorAI.js +6 -6
- package/dist/lib/Framework/AI/TriggerMgr.js +7 -6
- package/dist/lib/Framework/Config/FrameworkConfig.js +2 -2
- package/dist/lib/Framework/Config/IServerConfig.js +3 -3
- package/dist/lib/Framework/Core/Core.js +7 -5
- package/dist/lib/Framework/Core/Timer.js +5 -5
- package/dist/lib/Framework/Database/Decorator/DBCache.js +5 -4
- package/dist/lib/Framework/Database/MSSqlManager.js +4 -3
- package/dist/lib/Framework/Database/Mongo/MongoBaseService.js +3 -3
- package/dist/lib/Framework/Database/Mongo/MongoManager.js +30 -29
- package/dist/lib/Framework/Database/MysqlBaseService.js +26 -24
- package/dist/lib/Framework/Database/MysqlManager.js +8 -6
- package/dist/lib/Framework/Database/RedisManager.js +6 -5
- package/dist/lib/Framework/Decorator/SyncCall.js +3 -3
- package/dist/lib/Framework/Decorator/SyncCallServer.js +12 -11
- package/dist/lib/Framework/Logic/CacheTool.js +2 -1
- package/dist/lib/Framework/Logic/EventTool.js +2 -1
- package/dist/lib/Framework/Logic/HttpTool.js +11 -10
- package/dist/lib/Framework/Logic/Log.js +2 -1
- package/dist/lib/Framework/Logic/SyncQueueTool.js +2 -1
- package/dist/lib/Framework/Service/MongoAccountService.js +6 -4
- package/dist/lib/Framework/Service/MongoCacheService.js +8 -2
- package/dist/lib/Framework/Service/MysqlAccountService.js +6 -4
- package/dist/lib/Framework/SocketServer/IClientWebSocket.js +4 -4
- package/dist/lib/Framework/SocketServer/IRpcClientWebSocket.js +7 -6
- package/dist/lib/Framework/SocketServer/IRpcServerWebSocket.js +7 -6
- package/dist/lib/Framework/SocketServer/IServerWebSocket.js +3 -3
- package/dist/lib/Framework/SocketServer/ISocketServer.js +21 -18
- package/dist/lib/Framework/SocketServer/IWebSocket.js +14 -12
- package/dist/lib/Framework/SocketServer/ProtoFilter/GoogleProtoFilter.js +4 -4
- package/dist/lib/Framework/SocketServer/ProtoFilter/JsonProtoFilter.js +2 -2
- package/dist/lib/Framework/SocketServer/ProtoFilter/ProtoFactory.js +2 -1
- package/dist/lib/Framework/ThirdParty/AlipayTool.js +16 -15
- package/dist/lib/Framework/ThirdParty/Alisms.js +9 -8
- package/dist/lib/Framework/ThirdParty/AppleTool.js +14 -12
- package/dist/lib/Framework/ThirdParty/CgMq.js +3 -3
- package/dist/lib/Framework/ThirdParty/EmailTool.js +11 -10
- package/dist/lib/Framework/ThirdParty/QQTool.js +22 -19
- package/dist/lib/Framework/ThirdParty/QiniuTool.js +8 -7
- package/dist/lib/Framework/ThirdParty/Rpc.js +2 -2
- package/dist/lib/Framework/ThirdParty/WechatTool.js +15 -12
- package/dist/lib/Framework/WebServer/Controller/MongoBaseUserController.js +13 -12
- package/dist/lib/Framework/WebServer/Controller/MysqlBaseUserController.js +13 -12
- package/dist/lib/Framework/WebServer/Engine/ControllerManager.js +5 -1
- package/dist/lib/Framework/WebServer/Engine/Engine.js +18 -17
- package/dist/lib/Framework/WebServer/Engine/RazorJs.js +2 -2
- package/dist/lib/Framework/WebServer/Engine/Request.js +3 -3
- package/dist/lib/Framework/WebServer/Engine/Response.js +2 -2
- package/dist/lib/Framework/WebServer/IWebServer.js +9 -6
- package/dist/lib/Framework/cgserver.js +15 -9
- package/dist/lib/Framework/global.js +17 -1
- package/dist/types/Framework/AI/TriggerMgr.d.ts +1 -0
- package/dist/types/Framework/Config/IServerConfig.d.ts +1 -0
- package/dist/types/Framework/Core/Core.d.ts +3 -1
- package/dist/types/Framework/Database/Decorator/DBCache.d.ts +1 -0
- package/dist/types/Framework/Database/MSSqlManager.d.ts +1 -0
- package/dist/types/Framework/Database/Mongo/MongoManager.d.ts +1 -0
- package/dist/types/Framework/Database/MysqlManager.d.ts +1 -0
- package/dist/types/Framework/Database/RedisManager.d.ts +1 -0
- package/dist/types/Framework/Logic/CacheTool.d.ts +1 -0
- package/dist/types/Framework/Logic/EventTool.d.ts +1 -0
- package/dist/types/Framework/Logic/HttpTool.d.ts +1 -0
- package/dist/types/Framework/Logic/Log.d.ts +1 -0
- package/dist/types/Framework/Logic/SyncQueueTool.d.ts +1 -0
- package/dist/types/Framework/Service/MongoCacheService.d.ts +5 -0
- package/dist/types/Framework/SocketServer/ProtoFilter/ProtoFactory.d.ts +1 -0
- package/dist/types/Framework/ThirdParty/QQTool.d.ts +1 -0
- package/dist/types/Framework/ThirdParty/WechatTool.d.ts +1 -0
- package/dist/types/Framework/WebServer/Engine/ControllerManager.d.ts +4 -0
- package/dist/types/Framework/cgserver.d.ts +1 -0
- package/dist/types/Framework/global.d.ts +17 -2
- package/package.json +1 -1
- package/dist/lib/Framework/Database/MongoBaseService.js +0 -128
- package/dist/lib/Framework/Database/MongoManager.js +0 -508
- package/dist/lib/Framework/Database/MongoServiceManager.js +0 -49
- package/dist/lib/Framework/ThirdParty/OpenSocial.js +0 -32
- package/dist/lib/Framework/ThirdParty/WechatOATool.js +0 -61
- package/dist/types/Framework/Database/MongoBaseService.d.ts +0 -85
- package/dist/types/Framework/Database/MongoManager.d.ts +0 -166
- package/dist/types/Framework/Database/MongoServiceManager.d.ts +0 -15
- package/dist/types/Framework/ThirdParty/OpenSocial.d.ts +0 -7
- package/dist/types/Framework/ThirdParty/WechatOATool.d.ts +0 -13
|
@@ -4,7 +4,7 @@ exports.BehaviorAI = void 0;
|
|
|
4
4
|
const Core_1 = require("../Core/Core");
|
|
5
5
|
const _ = require("underscore");
|
|
6
6
|
const TriggerMgr_1 = require("./TriggerMgr");
|
|
7
|
-
const
|
|
7
|
+
const Log_1 = require("../Logic/Log");
|
|
8
8
|
class BehaviorAI {
|
|
9
9
|
_obj;
|
|
10
10
|
_targetObjs;
|
|
@@ -27,13 +27,13 @@ class BehaviorAI {
|
|
|
27
27
|
this._targetObjs = [];
|
|
28
28
|
}
|
|
29
29
|
this._triggers = [];
|
|
30
|
-
let code =
|
|
30
|
+
let code = TriggerMgr_1.gTriggerMgr.addConditionTriggerEvent(TriggerMgr_1.EConditionType.Die, this.onTriggerDie.bind(this), { code: this._obj.getCode() });
|
|
31
31
|
this._triggers.push({ type: TriggerMgr_1.EConditionType.Die, code: code });
|
|
32
32
|
}
|
|
33
33
|
//启动行为树AI
|
|
34
34
|
start() {
|
|
35
35
|
if (!this._behavior_data) {
|
|
36
|
-
|
|
36
|
+
Log_1.gLog.info("------------error------------this._behavior_data can not be null!");
|
|
37
37
|
return;
|
|
38
38
|
}
|
|
39
39
|
this.goto(this._behavior_data.start);
|
|
@@ -41,7 +41,7 @@ class BehaviorAI {
|
|
|
41
41
|
//结束行为树AI
|
|
42
42
|
end() {
|
|
43
43
|
for (let i = 0, length = this._triggers.length; i < length; ++i) {
|
|
44
|
-
|
|
44
|
+
TriggerMgr_1.gTriggerMgr.removeConditionTriggerEvent(this._triggers[i].type, this._triggers[i].code);
|
|
45
45
|
}
|
|
46
46
|
this._triggers = [];
|
|
47
47
|
}
|
|
@@ -145,7 +145,7 @@ class BehaviorAI {
|
|
|
145
145
|
}
|
|
146
146
|
}
|
|
147
147
|
else {
|
|
148
|
-
|
|
148
|
+
Log_1.gLog.info("---------warning--------_goto->behavior_name=" + behavior_name + ".animaiton not exist!");
|
|
149
149
|
}
|
|
150
150
|
}
|
|
151
151
|
//检查有没有已经达到的条件,又的话就执行他的相关事件
|
|
@@ -177,7 +177,7 @@ class BehaviorAI {
|
|
|
177
177
|
let targetInfo = this._getNearestTarget();
|
|
178
178
|
if (targetInfo) {
|
|
179
179
|
if (this._behavior_data.name == "sm")
|
|
180
|
-
|
|
180
|
+
Log_1.gLog.info("distance" + targetInfo.distance);
|
|
181
181
|
this._targetObj = targetInfo.target;
|
|
182
182
|
}
|
|
183
183
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TriggerManager = exports.Trigger = exports.EConditionType = exports.ETriggerType = void 0;
|
|
3
|
+
exports.gTriggerMgr = exports.TriggerManager = exports.Trigger = exports.EConditionType = exports.ETriggerType = void 0;
|
|
4
4
|
const Core_1 = require("../Core/Core");
|
|
5
|
-
const
|
|
5
|
+
const Log_1 = require("../Logic/Log");
|
|
6
6
|
var ETriggerType;
|
|
7
7
|
(function (ETriggerType) {
|
|
8
8
|
ETriggerType[ETriggerType["Region"] = 0] = "Region";
|
|
@@ -85,8 +85,8 @@ class TriggerManager {
|
|
|
85
85
|
if (!pos || typeof region === "undefined") {
|
|
86
86
|
return false;
|
|
87
87
|
}
|
|
88
|
-
|
|
89
|
-
|
|
88
|
+
Log_1.gLog.info("pos.x" + pos.x + " pos.y=" + pos.y);
|
|
89
|
+
Log_1.gLog.info("region.x" + region.x + " region.y=" + region.y);
|
|
90
90
|
if (pos.x < (region.x - region.width / 2)) {
|
|
91
91
|
return false;
|
|
92
92
|
}
|
|
@@ -144,7 +144,7 @@ class TriggerManager {
|
|
|
144
144
|
if (!this._regionTriggers.aiObj || !this._regionTriggers.aiObj.onTriggerIn) {
|
|
145
145
|
return;
|
|
146
146
|
}
|
|
147
|
-
|
|
147
|
+
Log_1.gLog.info("some one triggered in");
|
|
148
148
|
this._regionTriggers.aiObj.onTriggerIn(obj, trigger);
|
|
149
149
|
}
|
|
150
150
|
//从里面走出去的时候触发
|
|
@@ -152,7 +152,7 @@ class TriggerManager {
|
|
|
152
152
|
if (!this._regionTriggers.aiObj || !this._regionTriggers.aiObj.onTriggerOut) {
|
|
153
153
|
return;
|
|
154
154
|
}
|
|
155
|
-
|
|
155
|
+
Log_1.gLog.info("some one triggered out");
|
|
156
156
|
this._regionTriggers.aiObj.onTriggerOut(obj, trigger);
|
|
157
157
|
}
|
|
158
158
|
//////////////////////////////////////条件触发器//////////////////////////////////////////////////
|
|
@@ -198,3 +198,4 @@ class TriggerManager {
|
|
|
198
198
|
}
|
|
199
199
|
}
|
|
200
200
|
exports.TriggerManager = TriggerManager;
|
|
201
|
+
exports.gTriggerMgr = new TriggerManager();
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.FrameworkConfig = exports.WebServerConfig = exports.ESessionType = void 0;
|
|
4
|
-
const
|
|
4
|
+
const Log_1 = require("../Logic/Log");
|
|
5
5
|
const Config_1 = require("./Config");
|
|
6
6
|
const DbConfig_1 = require("./DbConfig");
|
|
7
7
|
var ESessionType;
|
|
@@ -186,7 +186,7 @@ class FrameworkConfig extends Config_1.Config {
|
|
|
186
186
|
}
|
|
187
187
|
init() {
|
|
188
188
|
let ret = super.init();
|
|
189
|
-
|
|
189
|
+
Log_1.gLog.init(this.log, this.console_level || 0);
|
|
190
190
|
return ret;
|
|
191
191
|
}
|
|
192
192
|
}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.IServerConfig = void 0;
|
|
4
|
-
const global_1 = require("../global");
|
|
3
|
+
exports.gServerCfg = exports.IServerConfig = void 0;
|
|
5
4
|
const FrameworkConfig_1 = require("./FrameworkConfig");
|
|
6
5
|
class IServerConfig extends FrameworkConfig_1.FrameworkConfig {
|
|
7
6
|
port = -1;
|
|
@@ -19,8 +18,9 @@ class IServerConfig extends FrameworkConfig_1.FrameworkConfig {
|
|
|
19
18
|
if (!ret) {
|
|
20
19
|
return ret;
|
|
21
20
|
}
|
|
22
|
-
|
|
21
|
+
exports.gServerCfg = this;
|
|
23
22
|
return ret;
|
|
24
23
|
}
|
|
25
24
|
}
|
|
26
25
|
exports.IServerConfig = IServerConfig;
|
|
26
|
+
exports.gServerCfg = null;
|
|
@@ -8,9 +8,11 @@ const crypto = require("crypto");
|
|
|
8
8
|
const CryptoJS = require("crypto-js");
|
|
9
9
|
const ec_key_1 = require("ec-key");
|
|
10
10
|
const uuid_1 = require("uuid");
|
|
11
|
-
const
|
|
11
|
+
const Log_1 = require("../Logic/Log");
|
|
12
12
|
/**
|
|
13
|
-
*
|
|
13
|
+
* 一些通用的常用函数,
|
|
14
|
+
* 比如格式化字符串,常用加解密,
|
|
15
|
+
* 时间计算,类型判断等
|
|
14
16
|
*/
|
|
15
17
|
class core {
|
|
16
18
|
/**
|
|
@@ -598,13 +600,13 @@ class core {
|
|
|
598
600
|
if (core.isAsyncFunc(func)) {
|
|
599
601
|
if (thisArg) {
|
|
600
602
|
rs = await func.call(thisArg, ...params).catch((reason) => {
|
|
601
|
-
|
|
603
|
+
Log_1.gLog.error(reason);
|
|
602
604
|
rs = { errcode: { id: 1008611, des: "failed" } };
|
|
603
605
|
});
|
|
604
606
|
}
|
|
605
607
|
else {
|
|
606
608
|
rs = await func(...params).catch((reason) => {
|
|
607
|
-
|
|
609
|
+
Log_1.gLog.error(reason);
|
|
608
610
|
rs = { errcode: { id: 1008612, des: "failed" } };
|
|
609
611
|
});
|
|
610
612
|
}
|
|
@@ -620,7 +622,7 @@ class core {
|
|
|
620
622
|
return rs;
|
|
621
623
|
}
|
|
622
624
|
catch (e) {
|
|
623
|
-
|
|
625
|
+
Log_1.gLog.error(e.stack);
|
|
624
626
|
return { errcode: { id: 1008613, des: "failed" } };
|
|
625
627
|
}
|
|
626
628
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Timer = void 0;
|
|
4
|
-
const
|
|
4
|
+
const Log_1 = require("../Logic/Log");
|
|
5
5
|
class Timer {
|
|
6
6
|
_deadline = -1;
|
|
7
7
|
get deadline() {
|
|
@@ -38,10 +38,10 @@ class Timer {
|
|
|
38
38
|
}
|
|
39
39
|
catch (e) {
|
|
40
40
|
if (e && e.stack) {
|
|
41
|
-
|
|
41
|
+
Log_1.gLog.error(e.stack);
|
|
42
42
|
}
|
|
43
43
|
else {
|
|
44
|
-
|
|
44
|
+
Log_1.gLog.error(e);
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
47
|
}, timeout, ...args);
|
|
@@ -61,10 +61,10 @@ class Timer {
|
|
|
61
61
|
}
|
|
62
62
|
catch (e) {
|
|
63
63
|
if (e && e.stack) {
|
|
64
|
-
|
|
64
|
+
Log_1.gLog.error(e.stack);
|
|
65
65
|
}
|
|
66
66
|
else {
|
|
67
|
-
|
|
67
|
+
Log_1.gLog.error(e);
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
70
|
}, timeout, ...args);
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DBCache = exports.VersionModel = void 0;
|
|
3
|
+
exports.gDbCache = exports.DBCache = exports.VersionModel = void 0;
|
|
4
4
|
const fs = require("fs");
|
|
5
|
-
const
|
|
5
|
+
const Log_1 = require("../../Logic/Log");
|
|
6
6
|
class VersionModel {
|
|
7
7
|
table = "";
|
|
8
8
|
version = 0;
|
|
@@ -20,14 +20,14 @@ class DBCache {
|
|
|
20
20
|
_versions = {};
|
|
21
21
|
_path = __dirname + "/tmp_table_version.json";
|
|
22
22
|
async init() {
|
|
23
|
-
|
|
23
|
+
Log_1.gLog.warn("mysql auto 功能建议只使用在开发环境中,因为会导致数据丢失,数据表重建");
|
|
24
24
|
if (fs.existsSync(this._path)) {
|
|
25
25
|
try {
|
|
26
26
|
let table = fs.readFileSync(this._path);
|
|
27
27
|
this._versions = JSON.parse(table.toString());
|
|
28
28
|
}
|
|
29
29
|
catch (e) {
|
|
30
|
-
|
|
30
|
+
Log_1.gLog.info("error:" + this._path);
|
|
31
31
|
process.exit();
|
|
32
32
|
}
|
|
33
33
|
}
|
|
@@ -62,3 +62,4 @@ class DBCache {
|
|
|
62
62
|
}
|
|
63
63
|
}
|
|
64
64
|
exports.DBCache = DBCache;
|
|
65
|
+
exports.gDbCache = new DBCache();
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MSSqlManager = exports.MssqlReturn = exports.MSSqlConfig = void 0;
|
|
3
|
+
exports.gMSSqlMgr = exports.MSSqlManager = exports.MssqlReturn = exports.MSSqlConfig = void 0;
|
|
4
4
|
const mssql = require("mssql");
|
|
5
|
-
const
|
|
5
|
+
const DBCache_1 = require("./Decorator/DBCache");
|
|
6
6
|
class MSSqlConfig {
|
|
7
7
|
open = false;
|
|
8
8
|
auto = false;
|
|
@@ -40,7 +40,7 @@ class MSSqlManager {
|
|
|
40
40
|
this._pool = await mssql.connect(cfg);
|
|
41
41
|
console.log("mssql config=" + JSON.stringify(cfg));
|
|
42
42
|
//这个的初始化位置不能变,必须位于cbs前,pool后
|
|
43
|
-
await
|
|
43
|
+
await DBCache_1.gDbCache.init();
|
|
44
44
|
for (let i = 0; i < this._init_cbs.length; ++i) {
|
|
45
45
|
this._init_cbs[i]();
|
|
46
46
|
}
|
|
@@ -50,3 +50,4 @@ class MSSqlManager {
|
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
52
|
exports.MSSqlManager = MSSqlManager;
|
|
53
|
+
exports.gMSSqlMgr = new MSSqlManager();
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.MongoBaseService = void 0;
|
|
4
|
-
const
|
|
4
|
+
const MongoManager_1 = require("./MongoManager");
|
|
5
5
|
class MongoBaseService {
|
|
6
6
|
_table = "";
|
|
7
7
|
get table() {
|
|
@@ -12,12 +12,12 @@ class MongoBaseService {
|
|
|
12
12
|
return this._inited;
|
|
13
13
|
}
|
|
14
14
|
get mongoDb() {
|
|
15
|
-
return
|
|
15
|
+
return MongoManager_1.gMongoMgr.getMongo(this._dbname);
|
|
16
16
|
}
|
|
17
17
|
_dbname = "";
|
|
18
18
|
get dbname() {
|
|
19
19
|
if (!this._dbname) {
|
|
20
|
-
this._dbname =
|
|
20
|
+
this._dbname = MongoManager_1.gMongoMgr.defdbname;
|
|
21
21
|
}
|
|
22
22
|
return this._dbname;
|
|
23
23
|
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MongoExt = exports.MongoManager = exports.MgReturn = exports.MrResult = exports.MongoBaseModel = exports.MongoConfig = void 0;
|
|
3
|
+
exports.gMongoMgr = exports.MongoExt = exports.MongoManager = exports.MgReturn = exports.MrResult = exports.MongoBaseModel = exports.MongoConfig = void 0;
|
|
4
4
|
const mongo = require("mongodb");
|
|
5
5
|
const _error_1 = require("../../Config/_error_");
|
|
6
6
|
const Core_1 = require("../../Core/Core");
|
|
7
|
-
const
|
|
7
|
+
const Log_1 = require("../../Logic/Log");
|
|
8
8
|
class MongoConfig {
|
|
9
9
|
open = false;
|
|
10
10
|
host = "127.0.0.1";
|
|
@@ -62,13 +62,13 @@ class MongoManager {
|
|
|
62
62
|
}
|
|
63
63
|
async addMongo(cfg) {
|
|
64
64
|
if (this._dbs[cfg.database]) {
|
|
65
|
-
|
|
65
|
+
Log_1.gLog.error("数据库配置得database不能相同!database=" + cfg.database);
|
|
66
66
|
return false;
|
|
67
67
|
}
|
|
68
68
|
let mongoext = new MongoExt();
|
|
69
69
|
let ret = await mongoext.init(cfg);
|
|
70
70
|
if (!ret) {
|
|
71
|
-
|
|
71
|
+
Log_1.gLog.error("数据库初始化失败!cfg=" + JSON.stringify(cfg));
|
|
72
72
|
return false;
|
|
73
73
|
}
|
|
74
74
|
this._dbs[cfg.database] = mongoext;
|
|
@@ -122,7 +122,7 @@ class MongoExt {
|
|
|
122
122
|
}
|
|
123
123
|
this._mongocfg = cfg;
|
|
124
124
|
this._inited = true;
|
|
125
|
-
|
|
125
|
+
Log_1.gLog.info("mongo config=" + JSON.stringify(this._mongocfg));
|
|
126
126
|
this._mongoClient = new mongo.MongoClient("mongodb://" + this._mongocfg.host + ":" + this._mongocfg.port, this._mongocfg.options);
|
|
127
127
|
await Core_1.core.safeCall(this._mongoClient.connect, this._mongoClient);
|
|
128
128
|
this.onConnect();
|
|
@@ -140,7 +140,7 @@ class MongoExt {
|
|
|
140
140
|
}
|
|
141
141
|
onConnect() {
|
|
142
142
|
this._mongo_init_succ = true;
|
|
143
|
-
|
|
143
|
+
Log_1.gLog.info("mongo has connected!");
|
|
144
144
|
}
|
|
145
145
|
/**
|
|
146
146
|
* 获取自增长id
|
|
@@ -162,7 +162,7 @@ class MongoExt {
|
|
|
162
162
|
return 1;
|
|
163
163
|
}
|
|
164
164
|
catch (e) {
|
|
165
|
-
|
|
165
|
+
Log_1.gLog.error(e.stack);
|
|
166
166
|
}
|
|
167
167
|
return -2;
|
|
168
168
|
}
|
|
@@ -201,8 +201,8 @@ class MongoExt {
|
|
|
201
201
|
one = await col.findOne(where, { projection: property });
|
|
202
202
|
}
|
|
203
203
|
catch (e) {
|
|
204
|
-
|
|
205
|
-
|
|
204
|
+
Log_1.gLog.error({ collection, property, where });
|
|
205
|
+
Log_1.gLog.error(e.stack);
|
|
206
206
|
rs.errcode = _error_1.EErrorCode.Mongo_Error;
|
|
207
207
|
}
|
|
208
208
|
rs.one = one;
|
|
@@ -231,8 +231,8 @@ class MongoExt {
|
|
|
231
231
|
list = await cursor.toArray();
|
|
232
232
|
}
|
|
233
233
|
catch (e) {
|
|
234
|
-
|
|
235
|
-
|
|
234
|
+
Log_1.gLog.error({ collection, property, where, sort, skip, limit });
|
|
235
|
+
Log_1.gLog.error(e.stack);
|
|
236
236
|
rs.errcode = _error_1.EErrorCode.Mongo_Error;
|
|
237
237
|
}
|
|
238
238
|
rs.list = list;
|
|
@@ -251,8 +251,8 @@ class MongoExt {
|
|
|
251
251
|
count = await col.countDocuments(where || {}, options);
|
|
252
252
|
}
|
|
253
253
|
catch (e) {
|
|
254
|
-
|
|
255
|
-
|
|
254
|
+
Log_1.gLog.error({ collection, where });
|
|
255
|
+
Log_1.gLog.error(e.stack);
|
|
256
256
|
rs.errcode = _error_1.EErrorCode.Mongo_Error;
|
|
257
257
|
}
|
|
258
258
|
rs.count = count;
|
|
@@ -271,8 +271,8 @@ class MongoExt {
|
|
|
271
271
|
del_rs = await col.deleteOne(where || {});
|
|
272
272
|
}
|
|
273
273
|
catch (e) {
|
|
274
|
-
|
|
275
|
-
|
|
274
|
+
Log_1.gLog.error({ collection, where });
|
|
275
|
+
Log_1.gLog.error(e.stack);
|
|
276
276
|
rs.errcode = _error_1.EErrorCode.Mongo_Error;
|
|
277
277
|
}
|
|
278
278
|
if (del_rs) {
|
|
@@ -293,8 +293,8 @@ class MongoExt {
|
|
|
293
293
|
del_rs = await col.deleteMany(where || {});
|
|
294
294
|
}
|
|
295
295
|
catch (e) {
|
|
296
|
-
|
|
297
|
-
|
|
296
|
+
Log_1.gLog.error({ collection, where });
|
|
297
|
+
Log_1.gLog.error(e.stack);
|
|
298
298
|
rs.errcode = _error_1.EErrorCode.Mongo_Error;
|
|
299
299
|
}
|
|
300
300
|
if (del_rs) {
|
|
@@ -319,8 +319,8 @@ class MongoExt {
|
|
|
319
319
|
in_rs = await col.insertOne(data);
|
|
320
320
|
}
|
|
321
321
|
catch (e) {
|
|
322
|
-
|
|
323
|
-
|
|
322
|
+
Log_1.gLog.error({ collection, data });
|
|
323
|
+
Log_1.gLog.error(e.stack);
|
|
324
324
|
rs.errcode = _error_1.EErrorCode.Mongo_Error;
|
|
325
325
|
}
|
|
326
326
|
rs.rs = in_rs;
|
|
@@ -338,8 +338,8 @@ class MongoExt {
|
|
|
338
338
|
in_rs = await col.insertMany(data);
|
|
339
339
|
}
|
|
340
340
|
catch (e) {
|
|
341
|
-
|
|
342
|
-
|
|
341
|
+
Log_1.gLog.error({ collection, data });
|
|
342
|
+
Log_1.gLog.error(e.stack);
|
|
343
343
|
rs.errcode = _error_1.EErrorCode.Mongo_Error;
|
|
344
344
|
}
|
|
345
345
|
rs.rs = in_rs;
|
|
@@ -379,8 +379,8 @@ class MongoExt {
|
|
|
379
379
|
up_rs = await col.updateOne(where, updatemodel, { upsert: upsert });
|
|
380
380
|
}
|
|
381
381
|
catch (e) {
|
|
382
|
-
|
|
383
|
-
|
|
382
|
+
Log_1.gLog.error({ collection, model, where, upsert });
|
|
383
|
+
Log_1.gLog.error(e.stack);
|
|
384
384
|
rs.errcode = _error_1.EErrorCode.Mongo_Error;
|
|
385
385
|
}
|
|
386
386
|
rs.rs = up_rs;
|
|
@@ -410,8 +410,8 @@ class MongoExt {
|
|
|
410
410
|
up_rs = await col.updateMany(where, updateModel, { upsert: upsert });
|
|
411
411
|
}
|
|
412
412
|
catch (e) {
|
|
413
|
-
|
|
414
|
-
|
|
413
|
+
Log_1.gLog.error({ collection, model, where, upsert });
|
|
414
|
+
Log_1.gLog.error(e.stack);
|
|
415
415
|
rs.errcode = _error_1.EErrorCode.Mongo_Error;
|
|
416
416
|
}
|
|
417
417
|
rs.rs = up_rs;
|
|
@@ -429,8 +429,8 @@ class MongoExt {
|
|
|
429
429
|
i_rs = await col.createIndex(index, options);
|
|
430
430
|
}
|
|
431
431
|
catch (e) {
|
|
432
|
-
|
|
433
|
-
|
|
432
|
+
Log_1.gLog.error({ collection, index });
|
|
433
|
+
Log_1.gLog.error(e.stack);
|
|
434
434
|
rs.errcode = _error_1.EErrorCode.Mongo_Error;
|
|
435
435
|
}
|
|
436
436
|
rs.rs = i_rs;
|
|
@@ -465,7 +465,7 @@ class MongoExt {
|
|
|
465
465
|
}
|
|
466
466
|
}
|
|
467
467
|
catch (e) {
|
|
468
|
-
|
|
468
|
+
Log_1.gLog.error(e.stack);
|
|
469
469
|
rs.errcode = _error_1.EErrorCode.Mongo_Error;
|
|
470
470
|
}
|
|
471
471
|
rs.list = list;
|
|
@@ -498,7 +498,7 @@ class MongoExt {
|
|
|
498
498
|
}
|
|
499
499
|
catch (e) {
|
|
500
500
|
await session.abortTransaction();
|
|
501
|
-
|
|
501
|
+
Log_1.gLog.error(e.stack);
|
|
502
502
|
}
|
|
503
503
|
finally {
|
|
504
504
|
await session.endSession();
|
|
@@ -507,3 +507,4 @@ class MongoExt {
|
|
|
507
507
|
}
|
|
508
508
|
}
|
|
509
509
|
exports.MongoExt = MongoExt;
|
|
510
|
+
exports.gMongoMgr = new MongoManager();
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.MysqlBaseService = exports.BaseModel = void 0;
|
|
4
|
-
const
|
|
4
|
+
const Log_1 = require("../Logic/Log");
|
|
5
|
+
const DBCache_1 = require("./Decorator/DBCache");
|
|
5
6
|
const Property_1 = require("./Decorator/Property");
|
|
7
|
+
const MysqlManager_1 = require("./MysqlManager");
|
|
6
8
|
class BaseModel {
|
|
7
9
|
}
|
|
8
10
|
exports.BaseModel = BaseModel;
|
|
@@ -22,11 +24,11 @@ class MysqlBaseService {
|
|
|
22
24
|
_t_type = null;
|
|
23
25
|
constructor(type) {
|
|
24
26
|
this._t_type = type;
|
|
25
|
-
if (
|
|
27
|
+
if (MysqlManager_1.gMysqlMgr.isValid) {
|
|
26
28
|
this._init();
|
|
27
29
|
}
|
|
28
30
|
else {
|
|
29
|
-
|
|
31
|
+
MysqlManager_1.gMysqlMgr.registerInitCb(this._init.bind(this));
|
|
30
32
|
}
|
|
31
33
|
}
|
|
32
34
|
async _init() {
|
|
@@ -39,13 +41,13 @@ class MysqlBaseService {
|
|
|
39
41
|
throw new Error("数据表的类必须要具有Table装饰器");
|
|
40
42
|
}
|
|
41
43
|
this._table = "`" + table.table + "`";
|
|
42
|
-
if (!
|
|
44
|
+
if (!MysqlManager_1.gMysqlMgr.cfg.auto) {
|
|
43
45
|
//未开启自动创建数据表
|
|
44
46
|
return;
|
|
45
47
|
}
|
|
46
48
|
let droped = await this._checkDropTable(table.version);
|
|
47
49
|
if (!droped) {
|
|
48
|
-
|
|
50
|
+
Log_1.gLog.info("table(" + this._table + ")无需升级...");
|
|
49
51
|
//既然版本号没变,就快速返回
|
|
50
52
|
return;
|
|
51
53
|
}
|
|
@@ -90,14 +92,14 @@ class MysqlBaseService {
|
|
|
90
92
|
if (table.comment) {
|
|
91
93
|
sql += " comment=\'" + table.comment + "\';";
|
|
92
94
|
}
|
|
93
|
-
let sr = await
|
|
95
|
+
let sr = await MysqlManager_1.gMysqlMgr.query(sql);
|
|
94
96
|
if (sr.error) {
|
|
95
|
-
|
|
97
|
+
Log_1.gLog.error(sr.error);
|
|
96
98
|
throw Error("table(" + this._table + ")创建失败...");
|
|
97
99
|
}
|
|
98
100
|
else {
|
|
99
|
-
|
|
100
|
-
|
|
101
|
+
DBCache_1.gDbCache.setVersion(this.table, table.version);
|
|
102
|
+
Log_1.gLog.info("table(" + this._table + ")初始化成功...");
|
|
101
103
|
await this._onReCreated();
|
|
102
104
|
}
|
|
103
105
|
}
|
|
@@ -106,18 +108,18 @@ class MysqlBaseService {
|
|
|
106
108
|
async _onDroped() {
|
|
107
109
|
}
|
|
108
110
|
async _checkDropTable(cur_version) {
|
|
109
|
-
let local_version =
|
|
111
|
+
let local_version = DBCache_1.gDbCache.getVersion(this._table);
|
|
110
112
|
if (local_version == cur_version) {
|
|
111
113
|
return false;
|
|
112
114
|
}
|
|
113
115
|
let sql = "drop table if exists " + this._table;
|
|
114
|
-
let sr = await
|
|
116
|
+
let sr = await MysqlManager_1.gMysqlMgr.query(sql);
|
|
115
117
|
if (sr.error) {
|
|
116
|
-
|
|
118
|
+
Log_1.gLog.error(sr.error);
|
|
117
119
|
throw Error(sr.error);
|
|
118
120
|
}
|
|
119
121
|
else {
|
|
120
|
-
|
|
122
|
+
Log_1.gLog.info("table(" + this._table + ")删除成功...");
|
|
121
123
|
await this._onDroped();
|
|
122
124
|
}
|
|
123
125
|
return true;
|
|
@@ -128,7 +130,7 @@ class MysqlBaseService {
|
|
|
128
130
|
*/
|
|
129
131
|
async getById(id) {
|
|
130
132
|
let tm = null;
|
|
131
|
-
let sr = await
|
|
133
|
+
let sr = await MysqlManager_1.gMysqlMgr.query("select * from " + this._table + " where id=? limit 1", [id]);
|
|
132
134
|
if (sr.error || sr.queryResult.length <= 0) {
|
|
133
135
|
return tm;
|
|
134
136
|
}
|
|
@@ -144,7 +146,7 @@ class MysqlBaseService {
|
|
|
144
146
|
}
|
|
145
147
|
sql += " limit 1";
|
|
146
148
|
let tm = null;
|
|
147
|
-
let sr = await
|
|
149
|
+
let sr = await MysqlManager_1.gMysqlMgr.query(sql, args);
|
|
148
150
|
if (sr.queryResult && sr.queryResult.length > 0) {
|
|
149
151
|
tm = sr.queryResult[0];
|
|
150
152
|
}
|
|
@@ -158,7 +160,7 @@ class MysqlBaseService {
|
|
|
158
160
|
sql += " where " + where;
|
|
159
161
|
}
|
|
160
162
|
let total = 0;
|
|
161
|
-
let sr = await
|
|
163
|
+
let sr = await MysqlManager_1.gMysqlMgr.query(sql, args);
|
|
162
164
|
if (sr.queryResult && sr.queryResult.length > 0) {
|
|
163
165
|
total = sr.queryResult[0].num || 0;
|
|
164
166
|
}
|
|
@@ -172,7 +174,7 @@ class MysqlBaseService {
|
|
|
172
174
|
sql += " where " + where;
|
|
173
175
|
}
|
|
174
176
|
let tms = null;
|
|
175
|
-
let sr = await
|
|
177
|
+
let sr = await MysqlManager_1.gMysqlMgr.query(sql, args);
|
|
176
178
|
tms = sr.queryResult;
|
|
177
179
|
return tms;
|
|
178
180
|
}
|
|
@@ -181,7 +183,7 @@ class MysqlBaseService {
|
|
|
181
183
|
if (where) {
|
|
182
184
|
sql += " where " + where;
|
|
183
185
|
}
|
|
184
|
-
let sr = await
|
|
186
|
+
let sr = await MysqlManager_1.gMysqlMgr.query(sql, args);
|
|
185
187
|
if (sr.error || sr.queryResult.length <= 0) {
|
|
186
188
|
return 0;
|
|
187
189
|
}
|
|
@@ -199,7 +201,7 @@ class MysqlBaseService {
|
|
|
199
201
|
args = args || [];
|
|
200
202
|
args.push(num);
|
|
201
203
|
let tms = null;
|
|
202
|
-
let sr = await
|
|
204
|
+
let sr = await MysqlManager_1.gMysqlMgr.query(sql, args);
|
|
203
205
|
tms = sr.queryResult;
|
|
204
206
|
return tms;
|
|
205
207
|
}
|
|
@@ -217,7 +219,7 @@ class MysqlBaseService {
|
|
|
217
219
|
if (limit) {
|
|
218
220
|
sql += " limit " + limit;
|
|
219
221
|
}
|
|
220
|
-
let sr = await
|
|
222
|
+
let sr = await MysqlManager_1.gMysqlMgr.query(sql, args);
|
|
221
223
|
return sr;
|
|
222
224
|
}
|
|
223
225
|
async update(model, where, args, limit) {
|
|
@@ -238,7 +240,7 @@ class MysqlBaseService {
|
|
|
238
240
|
if (limit) {
|
|
239
241
|
sql += " limit " + limit;
|
|
240
242
|
}
|
|
241
|
-
let sr = await
|
|
243
|
+
let sr = await MysqlManager_1.gMysqlMgr.query(sql, args);
|
|
242
244
|
if (id) {
|
|
243
245
|
model["id"] = id;
|
|
244
246
|
}
|
|
@@ -261,17 +263,17 @@ class MysqlBaseService {
|
|
|
261
263
|
let sql = "insert into " + this._table + " set ?";
|
|
262
264
|
//这步的做法是为了去掉model种的TableProperty.key(___table___)
|
|
263
265
|
model = JSON.parse(JSON.stringify(model));
|
|
264
|
-
let sr = await
|
|
266
|
+
let sr = await MysqlManager_1.gMysqlMgr.query(sql, [model]);
|
|
265
267
|
return sr;
|
|
266
268
|
}
|
|
267
269
|
async removeById(id) {
|
|
268
270
|
let sql = "delete from " + this._table + " where id=?";
|
|
269
|
-
let sr = await
|
|
271
|
+
let sr = await MysqlManager_1.gMysqlMgr.query(sql, [id]);
|
|
270
272
|
return sr;
|
|
271
273
|
}
|
|
272
274
|
async remove(where, args) {
|
|
273
275
|
let sql = "delete from " + this._table + " where " + where;
|
|
274
|
-
let sr = await
|
|
276
|
+
let sr = await MysqlManager_1.gMysqlMgr.query(sql, args);
|
|
275
277
|
return sr;
|
|
276
278
|
}
|
|
277
279
|
}
|