ts-glitter 18.3.9 → 18.4.0
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/public-components/public/ad.js +2 -2
- package/lowcode/public-components/public/ad.ts +15 -16
- package/package.json +1 -1
- package/src/api-public/services/shopping.js +46 -30
- package/src/api-public/services/shopping.js.map +1 -1
- package/src/api-public/services/shopping.ts +332 -314
package/lowcode/Entry.js
CHANGED
|
@@ -131,7 +131,7 @@ export class Entry {
|
|
|
131
131
|
}
|
|
132
132
|
window.renderClock = (_b = window.renderClock) !== null && _b !== void 0 ? _b : createClock();
|
|
133
133
|
console.log(`Entry-time:`, window.renderClock.stop());
|
|
134
|
-
glitter.share.editerVersion = 'V_18.
|
|
134
|
+
glitter.share.editerVersion = 'V_18.4.0';
|
|
135
135
|
glitter.share.start = new Date();
|
|
136
136
|
const vm = { appConfig: [] };
|
|
137
137
|
window.saasConfig = {
|
package/lowcode/Entry.ts
CHANGED
|
@@ -131,7 +131,7 @@ export class Entry {
|
|
|
131
131
|
}
|
|
132
132
|
(window as any).renderClock = (window as any).renderClock ?? createClock();
|
|
133
133
|
console.log(`Entry-time:`, (window as any).renderClock.stop());
|
|
134
|
-
glitter.share.editerVersion = 'V_18.
|
|
134
|
+
glitter.share.editerVersion = 'V_18.4.0';
|
|
135
135
|
glitter.share.start = new Date();
|
|
136
136
|
const vm = { appConfig: [] };
|
|
137
137
|
(window as any).saasConfig = {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ApiTrack } from
|
|
1
|
+
import { ApiTrack } from '../../glitter-base/route/api-track.js';
|
|
2
2
|
export class Ad {
|
|
3
3
|
static gtagEvent(name, obj) {
|
|
4
4
|
const gtag = window.gtag;
|
|
@@ -13,7 +13,7 @@ export class Ad {
|
|
|
13
13
|
}
|
|
14
14
|
ApiTrack.track({
|
|
15
15
|
event_name: name,
|
|
16
|
-
custom_data: obj
|
|
16
|
+
custom_data: obj,
|
|
17
17
|
});
|
|
18
18
|
}
|
|
19
19
|
}
|
|
@@ -1,22 +1,21 @@
|
|
|
1
|
-
import {ApiTrack} from
|
|
1
|
+
import { ApiTrack } from '../../glitter-base/route/api-track.js';
|
|
2
2
|
|
|
3
3
|
export class Ad {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
}
|
|
4
|
+
static gtagEvent(name: string, obj: any) {
|
|
5
|
+
const gtag = (window as any).gtag;
|
|
6
|
+
if (gtag) {
|
|
7
|
+
gtag('event', name, obj);
|
|
9
8
|
}
|
|
9
|
+
}
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
}
|
|
16
|
-
// alert('12')
|
|
17
|
-
ApiTrack.track({
|
|
18
|
-
event_name: name,
|
|
19
|
-
custom_data: obj
|
|
20
|
-
})
|
|
11
|
+
static fbqEvent(name: string, obj: any) {
|
|
12
|
+
const fbq = (window as any).fbq;
|
|
13
|
+
if (fbq) {
|
|
14
|
+
fbq('track', name, obj);
|
|
21
15
|
}
|
|
16
|
+
ApiTrack.track({
|
|
17
|
+
event_name: name,
|
|
18
|
+
custom_data: obj,
|
|
19
|
+
});
|
|
20
|
+
}
|
|
22
21
|
}
|
package/package.json
CHANGED
|
@@ -369,7 +369,7 @@ class Shopping {
|
|
|
369
369
|
content.min_price = Infinity;
|
|
370
370
|
content.max_price = Number.MIN_VALUE;
|
|
371
371
|
(content.variants || []).forEach((variant) => {
|
|
372
|
-
var _a, _b;
|
|
372
|
+
var _a, _b, _c, _d;
|
|
373
373
|
variant.stock = 0;
|
|
374
374
|
variant.sold_out = variant.sold_out || 0;
|
|
375
375
|
variant.preview_image = (_a = variant.preview_image) !== null && _a !== void 0 ? _a : '';
|
|
@@ -387,6 +387,14 @@ class Shopping {
|
|
|
387
387
|
if (variant.preview_image === 'https://d3jnmi1tfjgtti.cloudfront.net/file/234285319/1722936949034-default_image.jpg') {
|
|
388
388
|
variant.preview_image = (_b = content.preview_image) === null || _b === void 0 ? void 0 : _b[0];
|
|
389
389
|
}
|
|
390
|
+
if (!((_c = variant.preview_image) !== null && _c !== void 0 ? _c : '').includes('http')) {
|
|
391
|
+
variant.preview_image = 'https://d3jnmi1tfjgtti.cloudfront.net/file/234285319/1722936949034-default_image.jpg';
|
|
392
|
+
}
|
|
393
|
+
((_d = content.preview_image) !== null && _d !== void 0 ? _d : []).map((dd, index) => {
|
|
394
|
+
if (!dd.includes('http')) {
|
|
395
|
+
content.preview_image[index] = 'https://d3jnmi1tfjgtti.cloudfront.net/file/234285319/1722936949034-default_image.jpg';
|
|
396
|
+
}
|
|
397
|
+
});
|
|
390
398
|
Object.entries(variant.stockList || {}).forEach(([storeId, stockData]) => {
|
|
391
399
|
if (!store_config.list.some((store) => store.id === storeId) || !(stockData === null || stockData === void 0 ? void 0 : stockData.count)) {
|
|
392
400
|
delete variant.stockList[storeId];
|
|
@@ -729,25 +737,30 @@ class Shopping {
|
|
|
729
737
|
CAST(JSON_EXTRACT(v.content, '$.stock') AS UNSIGNED) as stock,
|
|
730
738
|
JSON_EXTRACT(v.content, '$.stockList') as stockList
|
|
731
739
|
from (\`${this.app}\`.t_variants as v)
|
|
732
|
-
where product_id
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
740
|
+
where product_id in (select id
|
|
741
|
+
from \`${this.app}\`.t_manager_post
|
|
742
|
+
where ((content ->>'$.product_category' is null) or
|
|
743
|
+
(content ->>'$.product_category' != 'kitchen')))
|
|
744
|
+
and ${querySql.join(' and ')} ${query.order_by || `order by id desc`}`;
|
|
736
745
|
query.limit = query.limit && query.limit > 999 ? 999 : query.limit;
|
|
737
746
|
const limitSQL = `limit ${query.page * query.limit} , ${query.limit}`;
|
|
738
747
|
if (query.id) {
|
|
739
748
|
const data = (await database_js_1.default.query(`SELECT *
|
|
740
749
|
FROM (${sql}) as subqyery ${limitSQL}
|
|
741
750
|
`, []))[0];
|
|
742
|
-
data.product_content = (await database_js_1.default.query(`select *
|
|
751
|
+
data.product_content = (await database_js_1.default.query(`select *
|
|
752
|
+
from \`${this.app}\`.t_manager_post
|
|
753
|
+
where id = ${data.product_id}`, []))[0]['content'];
|
|
743
754
|
return { data: data, result: !!data };
|
|
744
755
|
}
|
|
745
756
|
else {
|
|
746
757
|
const vData = await database_js_1.default.query(`SELECT *
|
|
747
|
-
|
|
748
|
-
|
|
758
|
+
FROM (${sql}) as subqyery ${limitSQL}
|
|
759
|
+
`, []);
|
|
749
760
|
await Promise.all(vData.map(async (data) => {
|
|
750
|
-
data.product_content = (await database_js_1.default.query(`select *
|
|
761
|
+
data.product_content = (await database_js_1.default.query(`select *
|
|
762
|
+
from \`${this.app}\`.t_manager_post
|
|
763
|
+
where id = ${data.product_id}`, []))[0]['content'];
|
|
751
764
|
}));
|
|
752
765
|
return {
|
|
753
766
|
data: vData,
|
|
@@ -1122,7 +1135,7 @@ class Shopping {
|
|
|
1122
1135
|
shipment_selector: shipment_config_js_1.ShipmentConfig.list.map((dd) => {
|
|
1123
1136
|
return {
|
|
1124
1137
|
name: dd.title,
|
|
1125
|
-
value: dd.value
|
|
1138
|
+
value: dd.value,
|
|
1126
1139
|
};
|
|
1127
1140
|
})
|
|
1128
1141
|
.concat(((_h = shipment_setting.custom_delivery) !== null && _h !== void 0 ? _h : []).map((dd) => {
|
|
@@ -1152,7 +1165,7 @@ class Shopping {
|
|
|
1152
1165
|
pos_info: data.pos_info,
|
|
1153
1166
|
client_ip_address: data.client_ip_address,
|
|
1154
1167
|
fbc: data.fbc,
|
|
1155
|
-
fbp: data.fbp
|
|
1168
|
+
fbp: data.fbp,
|
|
1156
1169
|
};
|
|
1157
1170
|
if (!data.user_info.name && userData && userData.userData) {
|
|
1158
1171
|
carData.user_info.name = userData.userData.name;
|
|
@@ -1190,7 +1203,7 @@ class Shopping {
|
|
|
1190
1203
|
status: 'inRange',
|
|
1191
1204
|
channel: data.checkOutType === 'POS' ? (data.isExhibition ? 'exhibition' : 'pos') : undefined,
|
|
1192
1205
|
whereStore: data.checkOutType === 'POS' ? data.pos_store : undefined,
|
|
1193
|
-
setUserID: `${(userData === null || userData === void 0 ? void 0 : userData.userID) || ''}
|
|
1206
|
+
setUserID: `${(userData === null || userData === void 0 ? void 0 : userData.userID) || ''}`,
|
|
1194
1207
|
})).data;
|
|
1195
1208
|
if (pdDqlData) {
|
|
1196
1209
|
const pd = pdDqlData.content;
|
|
@@ -1553,9 +1566,9 @@ class Shopping {
|
|
|
1553
1566
|
}
|
|
1554
1567
|
}
|
|
1555
1568
|
const sum = (await database_js_1.default.query(`SELECT sum(money)
|
|
1556
|
-
|
|
1557
|
-
|
|
1558
|
-
|
|
1569
|
+
FROM \`${this.app}\`.t_wallet
|
|
1570
|
+
WHERE status in (1, 2)
|
|
1571
|
+
and userID = ?`, [userData.userID]))[0]['sum(money)'] || 0;
|
|
1559
1572
|
carData.use_wallet = sum < carData.total ? sum : carData.total;
|
|
1560
1573
|
}
|
|
1561
1574
|
if (type === 'manual') {
|
|
@@ -1588,7 +1601,7 @@ class Shopping {
|
|
|
1588
1601
|
counting: 'single',
|
|
1589
1602
|
conditionType: 'item',
|
|
1590
1603
|
device: ['normal'],
|
|
1591
|
-
productOffStart: 'price_all'
|
|
1604
|
+
productOffStart: 'price_all',
|
|
1592
1605
|
};
|
|
1593
1606
|
carData.discount = data.discount;
|
|
1594
1607
|
carData.voucherList = [tempVoucher];
|
|
@@ -1682,7 +1695,7 @@ class Shopping {
|
|
|
1682
1695
|
await order_event_js_1.OrderEvent.insertOrder({
|
|
1683
1696
|
cartData: carData,
|
|
1684
1697
|
status: 1,
|
|
1685
|
-
app: this.app
|
|
1698
|
+
app: this.app,
|
|
1686
1699
|
});
|
|
1687
1700
|
if (carData.use_wallet > 0) {
|
|
1688
1701
|
new invoice_js_1.Invoice(this.app).postCheckoutInvoice(carData.orderID, false);
|
|
@@ -1755,7 +1768,7 @@ class Shopping {
|
|
|
1755
1768
|
await order_event_js_1.OrderEvent.insertOrder({
|
|
1756
1769
|
cartData: carData,
|
|
1757
1770
|
status: 0,
|
|
1758
|
-
app: this.app
|
|
1771
|
+
app: this.app,
|
|
1759
1772
|
});
|
|
1760
1773
|
await Promise.all(saveStockArray.map((dd) => {
|
|
1761
1774
|
return dd();
|
|
@@ -2513,7 +2526,7 @@ class Shopping {
|
|
|
2513
2526
|
let orderArray = query.orderStatus.split(',');
|
|
2514
2527
|
let temp = '';
|
|
2515
2528
|
if (orderArray.includes('0')) {
|
|
2516
|
-
temp +=
|
|
2529
|
+
temp += 'JSON_UNQUOTE(JSON_EXTRACT(orderData, \'$.orderStatus\')) IS NULL OR ';
|
|
2517
2530
|
}
|
|
2518
2531
|
temp += `JSON_UNQUOTE(JSON_EXTRACT(orderData, '$.orderStatus')) IN (${query.orderStatus})`;
|
|
2519
2532
|
querySql.push(`(${temp})`);
|
|
@@ -2525,7 +2538,7 @@ class Shopping {
|
|
|
2525
2538
|
let newArray = query.progress.split(',');
|
|
2526
2539
|
let temp = '';
|
|
2527
2540
|
if (newArray.includes('wait')) {
|
|
2528
|
-
temp +=
|
|
2541
|
+
temp += 'JSON_UNQUOTE(JSON_EXTRACT(orderData, \'$.progress\')) IS NULL OR ';
|
|
2529
2542
|
}
|
|
2530
2543
|
temp += `JSON_UNQUOTE(JSON_EXTRACT(orderData, '$.progress')) IN (${newArray.map((status) => `"${status}"`).join(',')})`;
|
|
2531
2544
|
querySql.push(`(${temp})`);
|
|
@@ -2546,7 +2559,7 @@ class Shopping {
|
|
|
2546
2559
|
let shipment = query.shipment.split(',');
|
|
2547
2560
|
let temp = '';
|
|
2548
2561
|
if (shipment.includes('normal')) {
|
|
2549
|
-
temp +=
|
|
2562
|
+
temp += 'JSON_UNQUOTE(JSON_EXTRACT(orderData, \'$.user_info.shipment\')) IS NULL OR ';
|
|
2550
2563
|
}
|
|
2551
2564
|
temp += `JSON_UNQUOTE(JSON_EXTRACT(orderData, '$.user_info.shipment')) IN (${shipment.map((status) => `"${status}"`).join(',')})`;
|
|
2552
2565
|
querySql.push(`(${temp})`);
|
|
@@ -2569,10 +2582,10 @@ class Shopping {
|
|
|
2569
2582
|
orderString = 'order by created_time asc';
|
|
2570
2583
|
break;
|
|
2571
2584
|
case 'order_total_desc':
|
|
2572
|
-
orderString =
|
|
2585
|
+
orderString = 'order by CAST(JSON_UNQUOTE(JSON_EXTRACT(orderData, \'$.total\')) AS SIGNED) desc';
|
|
2573
2586
|
break;
|
|
2574
2587
|
case 'order_total_asc':
|
|
2575
|
-
orderString =
|
|
2588
|
+
orderString = 'order by CAST(JSON_UNQUOTE(JSON_EXTRACT(orderData, \'$.total\')) AS SIGNED) asc';
|
|
2576
2589
|
break;
|
|
2577
2590
|
}
|
|
2578
2591
|
}
|
|
@@ -2630,7 +2643,7 @@ class Shopping {
|
|
|
2630
2643
|
const response_data = await new Promise(async (resolve, reject) => {
|
|
2631
2644
|
if (query.id) {
|
|
2632
2645
|
const data = (await database_js_1.default.query(`SELECT *
|
|
2633
|
-
|
|
2646
|
+
FROM (${sql}) as subqyery limit ${query.page * query.limit}, ${query.limit}`, []))[0];
|
|
2634
2647
|
resolve({
|
|
2635
2648
|
data: data,
|
|
2636
2649
|
result: !!data,
|
|
@@ -2639,9 +2652,9 @@ class Shopping {
|
|
|
2639
2652
|
else {
|
|
2640
2653
|
resolve({
|
|
2641
2654
|
data: await database_js_1.default.query(`SELECT *
|
|
2642
|
-
|
|
2655
|
+
FROM (${sql}) as subqyery limit ${query.page * query.limit}, ${query.limit}`, []),
|
|
2643
2656
|
total: (await database_js_1.default.query(`SELECT count(1)
|
|
2644
|
-
|
|
2657
|
+
FROM (${sql}) as subqyery`, []))[0]['count(1)'],
|
|
2645
2658
|
});
|
|
2646
2659
|
}
|
|
2647
2660
|
});
|
|
@@ -2737,7 +2750,10 @@ class Shopping {
|
|
|
2737
2750
|
FROM \`${this.app}\`.t_checkout
|
|
2738
2751
|
WHERE cart_token = ?;`, [order_id]))[0];
|
|
2739
2752
|
const brandAndMemberType = await app_js_1.App.checkBrandAndMemberType(this.app);
|
|
2740
|
-
const store_info = await new user_js_1.User(this.app).getConfigV2({
|
|
2753
|
+
const store_info = await new user_js_1.User(this.app).getConfigV2({
|
|
2754
|
+
key: 'store-information',
|
|
2755
|
+
user_id: 'manager',
|
|
2756
|
+
});
|
|
2741
2757
|
for (const b of order_data['orderData'].lineItems) {
|
|
2742
2758
|
this.calcSoldOutStock(b.count, b.id, b.spec);
|
|
2743
2759
|
this.soldMailNotice({
|
|
@@ -2923,7 +2939,7 @@ class Shopping {
|
|
|
2923
2939
|
const insertData = await database_js_1.default.query(`INSERT INTO \`${this.app}\`.t_variants
|
|
2924
2940
|
SET ?`, [{
|
|
2925
2941
|
content: JSON.stringify(variant),
|
|
2926
|
-
product_id: content.id
|
|
2942
|
+
product_id: content.id,
|
|
2927
2943
|
}]);
|
|
2928
2944
|
const originalVariant = originVariants.find((item) => JSON.parse(item.spec).join(',') === variant.spec.join(','));
|
|
2929
2945
|
if (originalVariant) {
|
|
@@ -3556,10 +3572,10 @@ class Shopping {
|
|
|
3556
3572
|
if (content.shopee_id) {
|
|
3557
3573
|
await new shopee_1.Shopee(this.app, this.token).asyncStockToShopee({
|
|
3558
3574
|
product: {
|
|
3559
|
-
content: content
|
|
3575
|
+
content: content,
|
|
3560
3576
|
},
|
|
3561
3577
|
callback: () => {
|
|
3562
|
-
}
|
|
3578
|
+
},
|
|
3563
3579
|
});
|
|
3564
3580
|
}
|
|
3565
3581
|
return content.insertId;
|