ts-glitter 20.8.6 → 20.8.9
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/lowcode/Entry.js +1 -1
- package/lowcode/Entry.ts +1 -1
- package/lowcode/backend-manager/bg-product.js +1 -1
- package/lowcode/backend-manager/bg-product.ts +1 -1
- package/lowcode/backend-manager/bg-recommend.js +1 -1
- package/lowcode/backend-manager/bg-recommend.ts +2 -2
- package/lowcode/backend-manager/bg-shopping.js +2 -5
- package/lowcode/backend-manager/bg-shopping.ts +2 -5
- package/lowcode/cms-plugin/POS-setting.js +58 -34
- package/lowcode/cms-plugin/POS-setting.ts +69 -33
- package/lowcode/cms-plugin/data-analyze-orders.js +0 -1
- package/lowcode/cms-plugin/data-analyze-orders.ts +1 -1
- package/lowcode/cms-plugin/data-analyze.js +1 -21
- package/lowcode/cms-plugin/data-analyze.ts +25 -25
- package/lowcode/cms-plugin/filter-options.js +1 -1
- package/lowcode/cms-plugin/filter-options.ts +1 -2
- package/lowcode/cms-plugin/information/information-module.js +275 -0
- package/lowcode/cms-plugin/information/information-module.ts +308 -0
- package/lowcode/cms-plugin/pos-pages/models.ts +3 -1
- package/lowcode/cms-plugin/pos-pages/payment-page.js +3 -11
- package/lowcode/cms-plugin/pos-pages/payment-page.ts +3 -11
- package/lowcode/cms-plugin/pos-pages/pos-function.js +1 -0
- package/lowcode/cms-plugin/pos-pages/pos-function.ts +1 -0
- package/lowcode/cms-plugin/pos-pages/products-page.js +1 -1
- package/lowcode/cms-plugin/pos-pages/products-page.ts +1 -1
- package/lowcode/cms-plugin/product-service.js +4 -9
- package/lowcode/cms-plugin/product-service.ts +4 -13
- package/lowcode/cms-plugin/shopping-discount-setting.js +76 -27
- package/lowcode/cms-plugin/shopping-discount-setting.ts +123 -63
- package/lowcode/cms-plugin/shopping-information.js +21 -167
- package/lowcode/cms-plugin/shopping-information.ts +35 -191
- package/lowcode/cms-plugin/shopping-order-return.js +212 -360
- package/lowcode/cms-plugin/shopping-order-return.ts +349 -482
- package/lowcode/cms-plugin/shopping-product-setting.js +8 -0
- package/lowcode/cms-plugin/shopping-product-setting.ts +12 -4
- package/lowcode/form-view/e-commerce/product-select.js +59 -51
- package/lowcode/form-view/e-commerce/product-select.ts +279 -266
- package/lowcode/glitter-base/global/language.js +2 -1
- package/lowcode/glitter-base/global/language.ts +2 -1
- package/lowcode/public-components/checkout/index.ts +2078 -2078
- package/lowcode/public-components/headers/sy-02.js +190 -179
- package/lowcode/public-components/headers/sy-02.ts +397 -370
- package/lowcode/public-components/headers/sy-03.js +133 -107
- package/lowcode/public-components/headers/sy-03.ts +276 -244
- package/lowcode/public-components/headers/sy-04.js +181 -146
- package/lowcode/public-components/headers/sy-04.ts +289 -247
- package/lowcode/public-components/product/pd-class.js +31 -23
- package/lowcode/public-components/product/pd-class.ts +51 -29
- package/lowcode/public-components/user-manager/um-voucher.js +1 -0
- package/lowcode/public-components/user-manager/um-voucher.ts +1 -0
- package/package.json +1 -1
- package/src/Language.js +1 -1
- package/src/Language.js.map +1 -1
- package/src/Language.ts +1 -1
- package/src/api-public/controllers/ai-chat.js.map +1 -1
- package/src/api-public/controllers/ai-points.js.map +1 -1
- package/src/api-public/controllers/chat.js.map +1 -1
- package/src/api-public/controllers/customer-sessions.js.map +1 -1
- package/src/api-public/controllers/delivery.js.map +1 -1
- package/src/api-public/controllers/fb-message.js.map +1 -1
- package/src/api-public/controllers/fb-service.js.map +1 -1
- package/src/api-public/controllers/invoice.js.map +1 -1
- package/src/api-public/controllers/line-message.js.map +1 -1
- package/src/api-public/controllers/oauth.js.map +1 -1
- package/src/api-public/controllers/progress.js.map +1 -1
- package/src/api-public/controllers/rebate.js.map +1 -1
- package/src/api-public/controllers/recommend.js.map +1 -1
- package/src/api-public/controllers/reconciliation.js.map +1 -1
- package/src/api-public/controllers/shop.js +5 -2
- package/src/api-public/controllers/shop.js.map +1 -1
- package/src/api-public/controllers/shop.ts +7 -3
- package/src/api-public/controllers/shopee.js.map +1 -1
- package/src/api-public/controllers/sms-points.js.map +1 -1
- package/src/api-public/controllers/sms.js.map +1 -1
- package/src/api-public/controllers/smtp.js.map +1 -1
- package/src/api-public/controllers/stock.js.map +1 -1
- package/src/api-public/controllers/track.js.map +1 -1
- package/src/api-public/controllers/voucher.js.map +1 -1
- package/src/api-public/controllers/wallet.js.map +1 -1
- package/src/api-public/models/glitter-finance.js +1 -2
- package/src/api-public/models/glitter-finance.js.map +1 -1
- package/src/api-public/services/EcInvoice.js.map +1 -1
- package/src/api-public/services/ai-pointes.js.map +1 -1
- package/src/api-public/services/article.js.map +1 -1
- package/src/api-public/services/auto-send-email.js.map +1 -1
- package/src/api-public/services/chat.js.map +1 -1
- package/src/api-public/services/checkout-event.d.ts +1 -0
- package/src/api-public/services/checkout-event.js +17 -7
- package/src/api-public/services/checkout-event.js.map +1 -1
- package/src/api-public/services/checkout-event.ts +21 -9
- package/src/api-public/services/checkout.js.map +1 -1
- package/src/api-public/services/custom-code.js.map +1 -1
- package/src/api-public/services/customer-sessions.js.map +1 -1
- package/src/api-public/services/data-analyze.d.ts +1 -1
- package/src/api-public/services/data-analyze.js +209 -196
- package/src/api-public/services/data-analyze.js.map +1 -1
- package/src/api-public/services/data-analyze.ts +219 -205
- package/src/api-public/services/delivery.js.map +1 -1
- package/src/api-public/services/ezpay/tool.d.ts +0 -1
- package/src/api-public/services/ezpay/tool.js.map +1 -1
- package/src/api-public/services/fake-data-model/fake-order.js.map +1 -1
- package/src/api-public/services/fake-data-model/fake-product.js.map +1 -1
- package/src/api-public/services/fake-data-model/fake-user.js.map +1 -1
- package/src/api-public/services/fb-api.js.map +1 -1
- package/src/api-public/services/filter-protect-data.js.map +1 -1
- package/src/api-public/services/financial-service.d.ts +1 -0
- package/src/api-public/services/financial-service.js +10 -5
- package/src/api-public/services/financial-service.js.map +1 -1
- package/src/api-public/services/financial-service.ts +21 -16
- package/src/api-public/services/form-check.js.map +1 -1
- package/src/api-public/services/graph-api.js.map +1 -1
- package/src/api-public/services/initial-fake-data.js.map +1 -1
- package/src/api-public/services/invoice.d.ts +3 -9
- package/src/api-public/services/invoice.js +66 -85
- package/src/api-public/services/invoice.js.map +1 -1
- package/src/api-public/services/invoice.ts +287 -293
- package/src/api-public/services/language-setting.js.map +1 -1
- package/src/api-public/services/mail.js.map +1 -1
- package/src/api-public/services/manager.js.map +1 -1
- package/src/api-public/services/monitor.js.map +1 -1
- package/src/api-public/services/monitor.ts +1 -1
- package/src/api-public/services/paynow-logistics.js.map +1 -1
- package/src/api-public/services/phone-verify.js.map +1 -1
- package/src/api-public/services/pos.js.map +1 -1
- package/src/api-public/services/post.js.map +1 -1
- package/src/api-public/services/product-initial.js.map +1 -1
- package/src/api-public/services/rebate.js.map +1 -1
- package/src/api-public/services/reconciliation.js.map +1 -1
- package/src/api-public/services/schedule.d.ts +1 -0
- package/src/api-public/services/schedule.js +27 -0
- package/src/api-public/services/schedule.js.map +1 -1
- package/src/api-public/services/schedule.ts +30 -0
- package/src/api-public/services/shopping.d.ts +4 -3
- package/src/api-public/services/shopping.js +40 -20
- package/src/api-public/services/shopping.js.map +1 -1
- package/src/api-public/services/shopping.ts +52 -28
- package/src/api-public/services/sms-pointes.js.map +1 -1
- package/src/api-public/services/stock.js.map +1 -1
- package/src/api-public/services/terms-check.js.map +1 -1
- package/src/api-public/services/updated-table-checked.js.map +1 -1
- package/src/api-public/services/user-update.js.map +1 -1
- package/src/api-public/services/user.d.ts +10 -0
- package/src/api-public/services/user.js +35 -8
- package/src/api-public/services/user.js.map +1 -1
- package/src/api-public/services/user.ts +50 -7
- package/src/api-public/services/voucher.js.map +1 -1
- package/src/api-public/services/wallet.js.map +1 -1
- package/src/api-public/utils/ut-database.js.map +1 -1
- package/src/app-project/android/app/src/main/AndroidManifest.xml +4 -2
- package/src/app-project/android/app/src/main/res/xml/network_security_config.xml +3 -3
- package/src/app-project/android/app/src/main/res/xml/s.xml +5 -5
- package/src/app-project/android/gradlew.bat +94 -94
- package/src/app-project/serverless/src/controllers/index.js.map +1 -1
- package/src/app-project/serverless/src/controllers/sample.js.map +1 -1
- package/src/app-project/serverless/src/modules/database.d.ts +1 -2
- package/src/app-project/serverless/src/modules/database.js.map +1 -1
- package/src/app-project/serverless/src/modules/exception.js.map +1 -1
- package/src/app-project/serverless/src/modules/hooks.js.map +1 -1
- package/src/app-project/serverless/src/modules/logger.js.map +1 -1
- package/src/app-project/serverless/src/modules/redis.d.ts +1 -1
- package/src/app-project/serverless/src/modules/redis.js.map +1 -1
- package/src/app-project/serverless/src/modules/response.js.map +1 -1
- package/src/app-project/serverless/src/modules/ssh.js.map +1 -1
- package/src/controllers/ai.js.map +1 -1
- package/src/controllers/global-event.js.map +1 -1
- package/src/controllers/page.js.map +1 -1
- package/src/controllers/private_config.js.map +1 -1
- package/src/export/export-test.js.map +1 -1
- package/src/firebase/message.js +1 -2
- package/src/firebase/message.js.map +1 -1
- package/src/helper/app_creater.js +1 -2
- package/src/helper/app_creater.js.map +1 -1
- package/src/helper/glitter-util.d.ts +0 -1
- package/src/helper/glitter-util.js.map +1 -1
- package/src/lambda/interface.d.ts +1 -1
- package/src/lambda/interface.js +2 -2
- package/src/lambda/interface.js.map +1 -1
- package/src/modules/exception.js.map +1 -1
- package/src/modules/hooks.js.map +1 -1
- package/src/modules/response.js.map +1 -1
- package/src/modules/ssh.js.map +1 -1
- package/src/public-config-initial/auto-fcm.js.map +1 -1
- package/src/run.js.map +1 -1
- package/src/run.ts +12 -12
- package/src/services/ai.js.map +1 -1
- package/src/services/ses.js +1 -2
- package/src/services/ses.js.map +1 -1
- package/src/services/system-schedule.js.map +1 -1
- package/src/update-progress-track.js.map +1 -1
- package/src/update-script.js.map +1 -1
|
@@ -22,11 +22,14 @@ class DataAnalyze {
|
|
|
22
22
|
}
|
|
23
23
|
async workerExample(data) {
|
|
24
24
|
try {
|
|
25
|
-
const jsonData = await database_js_1.default.query(`SELECT *
|
|
25
|
+
const jsonData = await database_js_1.default.query(`SELECT *
|
|
26
|
+
FROM \`${this.app}\`.t_voucher_history`, []);
|
|
26
27
|
const t0 = performance.now();
|
|
27
28
|
if (data.type === 0) {
|
|
28
29
|
for (const record of jsonData) {
|
|
29
|
-
await database_js_1.default.query(`UPDATE \`${this.app}\`.\`t_voucher_history\`
|
|
30
|
+
await database_js_1.default.query(`UPDATE \`${this.app}\`.\`t_voucher_history\`
|
|
31
|
+
SET ?
|
|
32
|
+
WHERE id = ?
|
|
30
33
|
`, [record, record.id]);
|
|
31
34
|
}
|
|
32
35
|
return {
|
|
@@ -37,7 +40,9 @@ class DataAnalyze {
|
|
|
37
40
|
}
|
|
38
41
|
const formatJsonData = jsonData.map((record) => {
|
|
39
42
|
return {
|
|
40
|
-
sql: `UPDATE \`${this.app}\`.\`t_voucher_history\`
|
|
43
|
+
sql: `UPDATE \`${this.app}\`.\`t_voucher_history\`
|
|
44
|
+
SET ?
|
|
45
|
+
WHERE id = ?
|
|
41
46
|
`,
|
|
42
47
|
data: [record, record.id],
|
|
43
48
|
};
|
|
@@ -136,11 +141,13 @@ class DataAnalyze {
|
|
|
136
141
|
try {
|
|
137
142
|
const orderCountingSQL = await this.getOrderCountingSQL();
|
|
138
143
|
const getCheckoutsSQL = (monthOffset) => `
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
+
SELECT *
|
|
145
|
+
FROM \`${this.app}\`.t_checkout
|
|
146
|
+
WHERE MONTH (created_time) = MONTH (DATE_SUB(NOW()
|
|
147
|
+
, INTERVAL ${monthOffset} MONTH))
|
|
148
|
+
AND YEAR (created_time) = YEAR (DATE_SUB(NOW()
|
|
149
|
+
, INTERVAL ${monthOffset} MONTH))
|
|
150
|
+
AND (${orderCountingSQL});
|
|
144
151
|
`;
|
|
145
152
|
const calculateTotal = (checkouts) => checkouts.reduce((total, checkout) => total + parseInt(checkout.orderData.total, 10), 0);
|
|
146
153
|
const recentMonthCheckouts = await database_js_1.default.query(getCheckoutsSQL(0), []);
|
|
@@ -185,16 +192,16 @@ class DataAnalyze {
|
|
|
185
192
|
}
|
|
186
193
|
const orderCountingSQL = await this.getOrderCountingSQL();
|
|
187
194
|
const checkoutSQL = `
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
195
|
+
SELECT *
|
|
196
|
+
FROM \`${this.app}\`.t_checkout
|
|
197
|
+
WHERE ${duration === 'day'
|
|
191
198
|
? `created_time BETWEEN NOW() AND NOW() + INTERVAL 1 DAY - INTERVAL 1 SECOND`
|
|
192
199
|
: duration === 'month'
|
|
193
200
|
? `created_time BETWEEN DATE_SUB(NOW(), INTERVAL 1 MONTH) AND NOW()`
|
|
194
201
|
: sqlConditions.length
|
|
195
202
|
? sqlConditions.join(' AND ')
|
|
196
203
|
: '1=1'}
|
|
197
|
-
|
|
204
|
+
AND (${orderCountingSQL});
|
|
198
205
|
`;
|
|
199
206
|
const checkouts = await database_js_1.default.query(checkoutSQL, []);
|
|
200
207
|
const productMap = new Map();
|
|
@@ -202,6 +209,8 @@ class DataAnalyze {
|
|
|
202
209
|
checkouts.forEach(({ orderData }) => {
|
|
203
210
|
var _a;
|
|
204
211
|
(_a = orderData.lineItems) === null || _a === void 0 ? void 0 : _a.forEach((item) => {
|
|
212
|
+
var _a;
|
|
213
|
+
item.collection = (_a = item.collection) !== null && _a !== void 0 ? _a : [];
|
|
205
214
|
const existing = productMap.get(item.title);
|
|
206
215
|
const collections = new Set(item.collection.filter((c) => c.trim().length > 0));
|
|
207
216
|
item.count = tool_js_1.default.floatAdd(item.count, 0);
|
|
@@ -250,11 +259,13 @@ class DataAnalyze {
|
|
|
250
259
|
try {
|
|
251
260
|
const orderCountingSQL = await this.getOrderCountingSQL();
|
|
252
261
|
const getCheckoutCountSQL = (monthOffset) => `
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
262
|
+
SELECT id
|
|
263
|
+
FROM \`${this.app}\`.t_checkout
|
|
264
|
+
WHERE MONTH (created_time) = MONTH (DATE_SUB(NOW()
|
|
265
|
+
, INTERVAL ${monthOffset} MONTH))
|
|
266
|
+
AND YEAR (created_time) = YEAR (DATE_SUB(NOW()
|
|
267
|
+
, INTERVAL ${monthOffset} MONTH))
|
|
268
|
+
AND ${orderCountingSQL};
|
|
258
269
|
`;
|
|
259
270
|
const recentMonthCheckouts = await database_js_1.default.query(getCheckoutCountSQL(0), []);
|
|
260
271
|
const previousMonthCheckouts = await database_js_1.default.query(getCheckoutCountSQL(1), []);
|
|
@@ -281,10 +292,10 @@ class DataAnalyze {
|
|
|
281
292
|
const queries = Array.from({ length: 14 }, async (_, index) => {
|
|
282
293
|
const dayOffset = `DATE_SUB(DATE(NOW()), INTERVAL ${index} DAY)`;
|
|
283
294
|
const monthCheckoutSQL = `
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
295
|
+
SELECT orderData ->>'$.orderSource' as orderSource, orderData
|
|
296
|
+
FROM \`${this.app}\`.t_checkout
|
|
297
|
+
WHERE DATE (${convertTimeZone('created_time')}) = ${dayOffset}
|
|
298
|
+
AND ${orderCountingSQL};
|
|
288
299
|
`;
|
|
289
300
|
return database_js_1.default.query(monthCheckoutSQL, []).then(data => {
|
|
290
301
|
let total = 0, total_pos = 0, total_web = 0, total_store = 0;
|
|
@@ -325,10 +336,10 @@ class DataAnalyze {
|
|
|
325
336
|
const queries = Array.from({ length: 30 }, async (_, index) => {
|
|
326
337
|
const dayOffset = `DATE_SUB(DATE(NOW()), INTERVAL ${index} DAY)`;
|
|
327
338
|
const monthCheckoutSQL = `
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
339
|
+
SELECT orderData ->>'$.orderSource' as orderSource, orderData
|
|
340
|
+
FROM \`${this.app}\`.t_checkout
|
|
341
|
+
WHERE DATE (${convertTimeZone('created_time')}) = ${dayOffset}
|
|
342
|
+
AND ${orderCountingSQL};
|
|
332
343
|
`;
|
|
333
344
|
return database_js_1.default.query(monthCheckoutSQL, []).then(data => {
|
|
334
345
|
let total = 0, total_pos = 0, total_web = 0, total_store = 0;
|
|
@@ -371,10 +382,10 @@ class DataAnalyze {
|
|
|
371
382
|
const queries = Array.from({ length: days }, async (_, index) => {
|
|
372
383
|
const dayOffset = `DATE_SUB(DATE("${endDate}"), INTERVAL ${index} DAY)`;
|
|
373
384
|
const monthCheckoutSQL = `
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
385
|
+
SELECT orderData ->>'$.orderSource' as orderSource, orderData
|
|
386
|
+
FROM \`${this.app}\`.t_checkout
|
|
387
|
+
WHERE DATE (${convertTimeZone('created_time')}) = ${dayOffset}
|
|
388
|
+
AND ${orderCountingSQL};
|
|
378
389
|
`;
|
|
379
390
|
return database_js_1.default.query(monthCheckoutSQL, []).then(data => {
|
|
380
391
|
let total = 0, total_pos = 0, total_web = 0, total_store = 0;
|
|
@@ -415,10 +426,11 @@ class DataAnalyze {
|
|
|
415
426
|
const queries = Array.from({ length: 12 }, async (_, index) => {
|
|
416
427
|
const monthOffset = `DATE_FORMAT(DATE_SUB(${convertTimeZone('NOW()')}, INTERVAL ${index} MONTH), '%Y-%m')`;
|
|
417
428
|
const monthCheckoutSQL = `
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
429
|
+
SELECT orderData ->>'$.orderSource' as orderSource, orderData
|
|
430
|
+
FROM \`${this.app}\`.t_checkout
|
|
431
|
+
WHERE DATE_FORMAT(${convertTimeZone('created_time')}
|
|
432
|
+
, '%Y-%m') = ${monthOffset}
|
|
433
|
+
AND ${orderCountingSQL};
|
|
422
434
|
`;
|
|
423
435
|
return database_js_1.default.query(monthCheckoutSQL, []).then(data => {
|
|
424
436
|
let total = 0, total_pos = 0, total_web = 0, total_store = 0;
|
|
@@ -460,15 +472,15 @@ class DataAnalyze {
|
|
|
460
472
|
await new Promise(resolve => {
|
|
461
473
|
for (let index = 0; index < 12; index++) {
|
|
462
474
|
const monthCheckoutSQL = `
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
475
|
+
SELECT orderData
|
|
476
|
+
FROM \`${this.app}\`.t_checkout
|
|
477
|
+
WHERE
|
|
478
|
+
MONTH (${convertTimeZone('created_time')}) = MONTH (DATE_SUB(${convertTimeZone('NOW()')}
|
|
479
|
+
, INTERVAL ${index} MONTH))
|
|
480
|
+
AND YEAR (${convertTimeZone('created_time')}) = YEAR (DATE_SUB(${convertTimeZone('NOW()')}
|
|
481
|
+
, INTERVAL ${index} MONTH))
|
|
482
|
+
AND ${orderCountingSQL};
|
|
483
|
+
`;
|
|
472
484
|
database_js_1.default.query(monthCheckoutSQL, []).then(data => {
|
|
473
485
|
pass++;
|
|
474
486
|
let total = 0;
|
|
@@ -536,17 +548,17 @@ class DataAnalyze {
|
|
|
536
548
|
await new Promise(resolve => {
|
|
537
549
|
for (let index = 0; index < 14; index++) {
|
|
538
550
|
const monthCheckoutSQL = `
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
551
|
+
SELECT orderData
|
|
552
|
+
FROM \`${this.app}\`.t_checkout
|
|
553
|
+
WHERE
|
|
554
|
+
DAY (${convertTimeZone('created_time')}) = DAY (DATE_SUB(${convertTimeZone('NOW()')}
|
|
555
|
+
, INTERVAL ${index} DAY))
|
|
556
|
+
AND MONTH (${convertTimeZone('created_time')}) = MONTH (DATE_SUB(${convertTimeZone('NOW()')}
|
|
557
|
+
, INTERVAL ${index} DAY))
|
|
558
|
+
AND YEAR (${convertTimeZone('created_time')}) = YEAR (DATE_SUB(${convertTimeZone('NOW()')}
|
|
559
|
+
, INTERVAL ${index} DAY))
|
|
560
|
+
AND ${orderCountingSQL};
|
|
561
|
+
`;
|
|
550
562
|
database_js_1.default.query(monthCheckoutSQL, []).then(data => {
|
|
551
563
|
pass++;
|
|
552
564
|
let total = 0;
|
|
@@ -614,17 +626,17 @@ class DataAnalyze {
|
|
|
614
626
|
await new Promise(resolve => {
|
|
615
627
|
for (let index = 0; index < 30; index++) {
|
|
616
628
|
const monthCheckoutSQL = `
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
629
|
+
SELECT orderData
|
|
630
|
+
FROM \`${this.app}\`.t_checkout
|
|
631
|
+
WHERE
|
|
632
|
+
DAY (${convertTimeZone('created_time')}) = DAY (DATE_SUB(${convertTimeZone('NOW()')}
|
|
633
|
+
, INTERVAL ${index} DAY))
|
|
634
|
+
AND MONTH (${convertTimeZone('created_time')}) = MONTH (DATE_SUB(${convertTimeZone('NOW()')}
|
|
635
|
+
, INTERVAL ${index} DAY))
|
|
636
|
+
AND YEAR (${convertTimeZone('created_time')}) = YEAR (DATE_SUB(${convertTimeZone('NOW()')}
|
|
637
|
+
, INTERVAL ${index} DAY))
|
|
638
|
+
AND ${orderCountingSQL};
|
|
639
|
+
`;
|
|
628
640
|
database_js_1.default.query(monthCheckoutSQL, []).then(data => {
|
|
629
641
|
pass++;
|
|
630
642
|
let total = 0;
|
|
@@ -701,17 +713,17 @@ class DataAnalyze {
|
|
|
701
713
|
await new Promise(resolve => {
|
|
702
714
|
for (let index = 0; index < days; index++) {
|
|
703
715
|
const monthCheckoutSQL = `
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
716
|
+
SELECT orderData
|
|
717
|
+
FROM \`${this.app}\`.t_checkout
|
|
718
|
+
WHERE
|
|
719
|
+
DAY (${convertTimeZone('created_time')}) = DAY (DATE_SUB(${convertTimeZone(formatEndDate)}
|
|
720
|
+
, INTERVAL ${index} DAY))
|
|
721
|
+
AND MONTH (${convertTimeZone('created_time')}) = MONTH (DATE_SUB(${convertTimeZone(formatEndDate)}
|
|
722
|
+
, INTERVAL ${index} DAY))
|
|
723
|
+
AND YEAR (${convertTimeZone('created_time')}) = YEAR (DATE_SUB(${convertTimeZone(formatEndDate)}
|
|
724
|
+
, INTERVAL ${index} DAY))
|
|
725
|
+
AND ${orderCountingSQL};
|
|
726
|
+
`;
|
|
715
727
|
database_js_1.default.query(monthCheckoutSQL, []).then(data => {
|
|
716
728
|
pass++;
|
|
717
729
|
let total = 0;
|
|
@@ -779,15 +791,15 @@ class DataAnalyze {
|
|
|
779
791
|
await new Promise(resolve => {
|
|
780
792
|
for (let index = 0; index < 12; index++) {
|
|
781
793
|
const monthCheckoutSQL = `
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
794
|
+
SELECT orderData
|
|
795
|
+
FROM \`${this.app}\`.t_checkout
|
|
796
|
+
WHERE
|
|
797
|
+
MONTH (${convertTimeZone('created_time')}) = MONTH (DATE_SUB(${convertTimeZone('NOW()')}
|
|
798
|
+
, INTERVAL ${index} MONTH))
|
|
799
|
+
AND YEAR (${convertTimeZone('created_time')}) = YEAR (DATE_SUB(${convertTimeZone('NOW()')}
|
|
800
|
+
, INTERVAL ${index} MONTH))
|
|
801
|
+
AND ${orderCountingSQL};
|
|
802
|
+
`;
|
|
791
803
|
database_js_1.default.query(monthCheckoutSQL, []).then(data => {
|
|
792
804
|
pass++;
|
|
793
805
|
let total = 0;
|
|
@@ -861,17 +873,17 @@ class DataAnalyze {
|
|
|
861
873
|
await new Promise(resolve => {
|
|
862
874
|
for (let index = 0; index < 14; index++) {
|
|
863
875
|
const monthCheckoutSQL = `
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
876
|
+
SELECT orderData
|
|
877
|
+
FROM \`${this.app}\`.t_checkout
|
|
878
|
+
WHERE
|
|
879
|
+
DAY (${convertTimeZone('created_time')}) = DAY (DATE_SUB(${convertTimeZone('NOW()')}
|
|
880
|
+
, INTERVAL ${index} DAY))
|
|
881
|
+
AND MONTH (${convertTimeZone('created_time')}) = MONTH (DATE_SUB(${convertTimeZone('NOW()')}
|
|
882
|
+
, INTERVAL ${index} DAY))
|
|
883
|
+
AND YEAR (${convertTimeZone('created_time')}) = YEAR (DATE_SUB(${convertTimeZone('NOW()')}
|
|
884
|
+
, INTERVAL ${index} DAY))
|
|
885
|
+
AND ${orderCountingSQL};
|
|
886
|
+
`;
|
|
875
887
|
database_js_1.default.query(monthCheckoutSQL, []).then(data => {
|
|
876
888
|
pass++;
|
|
877
889
|
let total = 0;
|
|
@@ -945,17 +957,17 @@ class DataAnalyze {
|
|
|
945
957
|
await new Promise(resolve => {
|
|
946
958
|
for (let index = 0; index < 30; index++) {
|
|
947
959
|
const monthCheckoutSQL = `
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
960
|
+
SELECT orderData
|
|
961
|
+
FROM \`${this.app}\`.t_checkout
|
|
962
|
+
WHERE
|
|
963
|
+
DAY (${convertTimeZone('created_time')}) = DAY (DATE_SUB(${convertTimeZone('NOW()')}
|
|
964
|
+
, INTERVAL ${index} DAY))
|
|
965
|
+
AND MONTH (${convertTimeZone('created_time')}) = MONTH (DATE_SUB(${convertTimeZone('NOW()')}
|
|
966
|
+
, INTERVAL ${index} DAY))
|
|
967
|
+
AND YEAR (${convertTimeZone('created_time')}) = YEAR (DATE_SUB(${convertTimeZone('NOW()')}
|
|
968
|
+
, INTERVAL ${index} DAY))
|
|
969
|
+
AND ${orderCountingSQL};
|
|
970
|
+
`;
|
|
959
971
|
database_js_1.default.query(monthCheckoutSQL, []).then(data => {
|
|
960
972
|
pass++;
|
|
961
973
|
let total = 0;
|
|
@@ -1031,17 +1043,17 @@ class DataAnalyze {
|
|
|
1031
1043
|
await new Promise(resolve => {
|
|
1032
1044
|
for (let index = 0; index < days; index++) {
|
|
1033
1045
|
const monthCheckoutSQL = `
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1046
|
+
SELECT orderData
|
|
1047
|
+
FROM \`${this.app}\`.t_checkout
|
|
1048
|
+
WHERE
|
|
1049
|
+
DAY (${convertTimeZone('created_time')}) = DAY (DATE_SUB(${convertTimeZone(formatEndDate)}
|
|
1050
|
+
, INTERVAL ${index} DAY))
|
|
1051
|
+
AND MONTH (${convertTimeZone('created_time')}) = MONTH (DATE_SUB(${convertTimeZone(formatEndDate)}
|
|
1052
|
+
, INTERVAL ${index} DAY))
|
|
1053
|
+
AND YEAR (${convertTimeZone('created_time')}) = YEAR (DATE_SUB(${convertTimeZone(formatEndDate)}
|
|
1054
|
+
, INTERVAL ${index} DAY))
|
|
1055
|
+
AND ${orderCountingSQL}
|
|
1056
|
+
`;
|
|
1045
1057
|
database_js_1.default.query(monthCheckoutSQL, []).then(data => {
|
|
1046
1058
|
pass++;
|
|
1047
1059
|
let total = 0;
|
|
@@ -1109,13 +1121,14 @@ class DataAnalyze {
|
|
|
1109
1121
|
const startDate = moment_1.default.tz('Asia/Taipei').toDate();
|
|
1110
1122
|
startDate.setMonth(endDate.getMonth() - 12);
|
|
1111
1123
|
const sql = `
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
|
-
|
|
1115
|
-
|
|
1116
|
-
|
|
1117
|
-
|
|
1118
|
-
|
|
1124
|
+
SELECT mac_address, created_time
|
|
1125
|
+
FROM \`${config_js_1.saasConfig.SAAS_NAME}\`.t_monitor
|
|
1126
|
+
WHERE app_name = ${database_js_1.default.escape(this.app)}
|
|
1127
|
+
AND req_type = 'file'
|
|
1128
|
+
AND created_time BETWEEN '${startDate.toISOString()}' AND '${endDate.toISOString()}'
|
|
1129
|
+
GROUP BY id, mac_address
|
|
1130
|
+
`;
|
|
1131
|
+
console.log(`sql: ${sql}`);
|
|
1119
1132
|
const queryData = await database_js_1.default.query(sql, []);
|
|
1120
1133
|
const now = moment_1.default.tz('Asia/Taipei').toDate();
|
|
1121
1134
|
const dataList = Array.from({ length: 12 }, (_, index) => {
|
|
@@ -1141,15 +1154,15 @@ class DataAnalyze {
|
|
|
1141
1154
|
}
|
|
1142
1155
|
async getActiveRecentWeek() {
|
|
1143
1156
|
const sql = `
|
|
1144
|
-
|
|
1145
|
-
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
|
|
1149
|
-
|
|
1150
|
-
|
|
1151
|
-
|
|
1152
|
-
|
|
1157
|
+
SELECT mac_address, ${convertTimeZone('created_time')} AS created_time
|
|
1158
|
+
FROM \`${config_js_1.saasConfig.SAAS_NAME}\`.t_monitor
|
|
1159
|
+
WHERE app_name = ${database_js_1.default.escape(this.app)}
|
|
1160
|
+
AND req_type = 'file'
|
|
1161
|
+
AND ${convertTimeZone('created_time')} BETWEEN (DATE_SUB(${convertTimeZone('NOW()')}
|
|
1162
|
+
, INTERVAL 14 DAY))
|
|
1163
|
+
AND ${convertTimeZone('NOW()')}
|
|
1164
|
+
GROUP BY id, mac_address
|
|
1165
|
+
`;
|
|
1153
1166
|
const queryData = await database_js_1.default.query(sql, []);
|
|
1154
1167
|
const now = moment_1.default.tz('Asia/Taipei').toDate();
|
|
1155
1168
|
const dataList = Array.from({ length: 14 }, (_, index) => {
|
|
@@ -1178,15 +1191,15 @@ class DataAnalyze {
|
|
|
1178
1191
|
}
|
|
1179
1192
|
async getActiveRecentMonth() {
|
|
1180
1193
|
const sql = `
|
|
1181
|
-
|
|
1182
|
-
|
|
1183
|
-
|
|
1184
|
-
|
|
1185
|
-
|
|
1186
|
-
|
|
1187
|
-
|
|
1188
|
-
|
|
1189
|
-
|
|
1194
|
+
SELECT mac_address, ${convertTimeZone('created_time')} AS created_time
|
|
1195
|
+
FROM \`${config_js_1.saasConfig.SAAS_NAME}\`.t_monitor
|
|
1196
|
+
WHERE app_name = ${database_js_1.default.escape(this.app)}
|
|
1197
|
+
AND req_type = 'file'
|
|
1198
|
+
AND ${convertTimeZone('created_time')} BETWEEN (DATE_SUB(${convertTimeZone('NOW()')}
|
|
1199
|
+
, INTERVAL 30 DAY))
|
|
1200
|
+
AND ${convertTimeZone('NOW()')}
|
|
1201
|
+
GROUP BY id, mac_address
|
|
1202
|
+
`;
|
|
1190
1203
|
const queryData = await database_js_1.default.query(sql, []);
|
|
1191
1204
|
const now = moment_1.default.tz('Asia/Taipei').toDate();
|
|
1192
1205
|
const dataList = Array.from({ length: 30 }, (_, index) => {
|
|
@@ -1219,15 +1232,15 @@ class DataAnalyze {
|
|
|
1219
1232
|
const formatEndDate = `"${tool_js_1.default.replaceDatetime(qData.end)}"`;
|
|
1220
1233
|
const days = this.diffDates(new Date(qData.start), new Date(qData.end));
|
|
1221
1234
|
const sql = `
|
|
1222
|
-
|
|
1223
|
-
|
|
1224
|
-
|
|
1225
|
-
|
|
1226
|
-
|
|
1227
|
-
|
|
1228
|
-
|
|
1229
|
-
|
|
1230
|
-
|
|
1235
|
+
SELECT mac_address, ${convertTimeZone('created_time')} AS created_time
|
|
1236
|
+
FROM \`${config_js_1.saasConfig.SAAS_NAME}\`.t_monitor
|
|
1237
|
+
WHERE app_name = ${database_js_1.default.escape(this.app)}
|
|
1238
|
+
AND req_type = 'file'
|
|
1239
|
+
AND ${convertTimeZone('created_time')}
|
|
1240
|
+
BETWEEN ${convertTimeZone(formatStartDate)}
|
|
1241
|
+
AND ${convertTimeZone(formatEndDate)}
|
|
1242
|
+
GROUP BY id, mac_address
|
|
1243
|
+
`;
|
|
1231
1244
|
const queryData = await database_js_1.default.query(sql, []);
|
|
1232
1245
|
const now = (0, moment_1.default)(qData.end).tz('Asia/Taipei').clone().toDate();
|
|
1233
1246
|
const dataList = Array.from({ length: days }, (_, index) => {
|
|
@@ -1261,17 +1274,17 @@ class DataAnalyze {
|
|
|
1261
1274
|
await new Promise(resolve => {
|
|
1262
1275
|
for (let index = 0; index < 30; index++) {
|
|
1263
1276
|
const monthCheckoutSQL = `
|
|
1264
|
-
|
|
1265
|
-
|
|
1266
|
-
|
|
1267
|
-
|
|
1268
|
-
|
|
1269
|
-
|
|
1270
|
-
|
|
1271
|
-
|
|
1272
|
-
|
|
1273
|
-
|
|
1274
|
-
|
|
1277
|
+
SELECT count(1)
|
|
1278
|
+
FROM \`${this.app}\`.t_user
|
|
1279
|
+
WHERE
|
|
1280
|
+
DAY (${convertTimeZone('created_time')}) = DAY (DATE_SUB(${convertTimeZone('NOW()')}
|
|
1281
|
+
, INTERVAL ${index} DAY))
|
|
1282
|
+
AND MONTH (${convertTimeZone('created_time')}) = MONTH (DATE_SUB(${convertTimeZone('NOW()')}
|
|
1283
|
+
, INTERVAL ${index} DAY))
|
|
1284
|
+
AND YEAR (${convertTimeZone('created_time')}) = YEAR (DATE_SUB(${convertTimeZone('NOW()')}
|
|
1285
|
+
, INTERVAL ${index} DAY))
|
|
1286
|
+
AND status <> 0;
|
|
1287
|
+
`;
|
|
1275
1288
|
database_js_1.default.query(monthCheckoutSQL, []).then(data => {
|
|
1276
1289
|
countArray[index] = data[0]['count(1)'];
|
|
1277
1290
|
pass++;
|
|
@@ -1307,17 +1320,17 @@ class DataAnalyze {
|
|
|
1307
1320
|
await new Promise(resolve => {
|
|
1308
1321
|
for (let index = 0; index < days; index++) {
|
|
1309
1322
|
const monthCheckoutSQL = `
|
|
1310
|
-
|
|
1311
|
-
|
|
1312
|
-
|
|
1313
|
-
|
|
1314
|
-
|
|
1315
|
-
|
|
1316
|
-
|
|
1317
|
-
|
|
1318
|
-
|
|
1319
|
-
|
|
1320
|
-
|
|
1323
|
+
SELECT count(1)
|
|
1324
|
+
FROM \`${this.app}\`.t_user
|
|
1325
|
+
WHERE
|
|
1326
|
+
DAY (${convertTimeZone('created_time')}) = DAY (DATE_SUB(${convertTimeZone(formatEndDate)}
|
|
1327
|
+
, INTERVAL ${index} DAY))
|
|
1328
|
+
AND MONTH (${convertTimeZone('created_time')}) = MONTH (DATE_SUB(${convertTimeZone(formatEndDate)}
|
|
1329
|
+
, INTERVAL ${index} DAY))
|
|
1330
|
+
AND YEAR (${convertTimeZone('created_time')}) = YEAR (DATE_SUB(${convertTimeZone(formatEndDate)}
|
|
1331
|
+
, INTERVAL ${index} DAY))
|
|
1332
|
+
AND status <> 0;
|
|
1333
|
+
`;
|
|
1321
1334
|
database_js_1.default.query(monthCheckoutSQL, []).then(data => {
|
|
1322
1335
|
countArray[index] = data[0]['count(1)'];
|
|
1323
1336
|
pass++;
|
|
@@ -1350,17 +1363,17 @@ class DataAnalyze {
|
|
|
1350
1363
|
await new Promise(resolve => {
|
|
1351
1364
|
for (let index = 0; index < 14; index++) {
|
|
1352
1365
|
const monthCheckoutSQL = `
|
|
1353
|
-
|
|
1354
|
-
|
|
1355
|
-
|
|
1356
|
-
|
|
1357
|
-
|
|
1358
|
-
|
|
1359
|
-
|
|
1360
|
-
|
|
1361
|
-
|
|
1362
|
-
|
|
1363
|
-
|
|
1366
|
+
SELECT count(1)
|
|
1367
|
+
FROM \`${this.app}\`.t_user
|
|
1368
|
+
WHERE
|
|
1369
|
+
DAY (${convertTimeZone('created_time')}) = DAY (DATE_SUB(${convertTimeZone('NOW()')}
|
|
1370
|
+
, INTERVAL ${index} DAY))
|
|
1371
|
+
AND MONTH (${convertTimeZone('created_time')}) = MONTH (DATE_SUB(${convertTimeZone('NOW()')}
|
|
1372
|
+
, INTERVAL ${index} DAY))
|
|
1373
|
+
AND YEAR (${convertTimeZone('created_time')}) = YEAR (DATE_SUB(${convertTimeZone('NOW()')}
|
|
1374
|
+
, INTERVAL ${index} DAY))
|
|
1375
|
+
AND status <> 0;
|
|
1376
|
+
`;
|
|
1364
1377
|
database_js_1.default.query(monthCheckoutSQL, []).then(data => {
|
|
1365
1378
|
countArray[index] = data[0]['count(1)'];
|
|
1366
1379
|
pass++;
|
|
@@ -1390,19 +1403,19 @@ class DataAnalyze {
|
|
|
1390
1403
|
try {
|
|
1391
1404
|
const countArray = {};
|
|
1392
1405
|
const order = await database_js_1.default.query(`SELECT count(1)
|
|
1393
|
-
|
|
1394
|
-
|
|
1406
|
+
FROM \`${this.app}\`.t_user
|
|
1407
|
+
WHERE DATE (created_time) = CURDATE()`, []);
|
|
1395
1408
|
let pass = 0;
|
|
1396
1409
|
await new Promise(resolve => {
|
|
1397
1410
|
for (let index = 0; index < 12; index++) {
|
|
1398
1411
|
const monthRegisterSQL = `
|
|
1399
|
-
|
|
1400
|
-
|
|
1401
|
-
|
|
1402
|
-
|
|
1403
|
-
|
|
1404
|
-
|
|
1405
|
-
|
|
1412
|
+
SELECT count(1)
|
|
1413
|
+
FROM \`${this.app}\`.t_user
|
|
1414
|
+
WHERE MONTH (${convertTimeZone('created_time')}) = MONTH (DATE_SUB(${convertTimeZone('NOW()')}
|
|
1415
|
+
, INTERVAL ${index} MONTH))
|
|
1416
|
+
AND YEAR (${convertTimeZone('created_time')}) = YEAR (DATE_SUB(${convertTimeZone('NOW()')}
|
|
1417
|
+
, INTERVAL ${index} MONTH))
|
|
1418
|
+
`;
|
|
1406
1419
|
database_js_1.default.query(monthRegisterSQL, []).then(data => {
|
|
1407
1420
|
pass++;
|
|
1408
1421
|
countArray[index] = data[0]['count(1)'];
|
|
@@ -1433,13 +1446,13 @@ class DataAnalyze {
|
|
|
1433
1446
|
try {
|
|
1434
1447
|
const orderCountingSQL = await this.getOrderCountingSQL();
|
|
1435
1448
|
const [order, unShipmentCount] = await Promise.all([
|
|
1436
|
-
database_js_1.default.query(`SELECT status, orderData->>'$.total' as total
|
|
1449
|
+
database_js_1.default.query(`SELECT status, orderData ->>'$.total' as total
|
|
1437
1450
|
FROM \`${this.app}\`.t_checkout
|
|
1438
|
-
WHERE DATE(${convertTimeZone('created_time')}) = CURDATE()`, []),
|
|
1451
|
+
WHERE DATE (${convertTimeZone('created_time')}) = CURDATE()`, []),
|
|
1439
1452
|
database_js_1.default.query(`SELECT COUNT(1) as count
|
|
1440
1453
|
FROM \`${this.app}\`.t_checkout
|
|
1441
1454
|
WHERE ${orderCountingSQL}
|
|
1442
|
-
|
|
1455
|
+
AND DATE (${convertTimeZone('created_time')}) = CURDATE()`, []),
|
|
1443
1456
|
]);
|
|
1444
1457
|
return {
|
|
1445
1458
|
total_count: order.filter((dd) => dd.status === 1).length,
|