ts-glitter 20.4.6 → 20.4.8

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.
Files changed (126) hide show
  1. package/lowcode/Entry.js +1 -1
  2. package/lowcode/Entry.ts +1 -1
  3. package/lowcode/backend-manager/bg-widget.js +19 -17
  4. package/lowcode/backend-manager/bg-widget.ts +19 -17
  5. package/lowcode/cms-plugin/stock-history.js +1 -0
  6. package/lowcode/cms-plugin/stock-history.ts +10 -0
  7. package/lowcode/cms-plugin/user/user-module.js +28 -28
  8. package/lowcode/cms-plugin/user/user-module.ts +29 -31
  9. package/lowcode/cms-plugin/user-list.js +55 -42
  10. package/lowcode/cms-plugin/user-list.ts +71 -47
  11. package/lowcode/glitter-base/route/progress.js +32 -0
  12. package/lowcode/glitter-base/route/progress.ts +36 -0
  13. package/lowcode/glitter-base/route/user.js +37 -1
  14. package/lowcode/glitter-base/route/user.ts +40 -1
  15. package/lowcode/glitterBundle/dialog/ShareDialog.ts +0 -1
  16. package/package.json +3 -1
  17. package/src/api-public/controllers/ai-chat.js.map +1 -1
  18. package/src/api-public/controllers/app-release.js.map +1 -1
  19. package/src/api-public/controllers/delivery.js.map +1 -1
  20. package/src/api-public/controllers/graph-api.js.map +1 -1
  21. package/src/api-public/controllers/index.js +9 -8
  22. package/src/api-public/controllers/index.js.map +1 -1
  23. package/src/api-public/controllers/index.ts +171 -169
  24. package/src/api-public/controllers/lambda.js.map +1 -1
  25. package/src/api-public/controllers/manager.js.map +1 -1
  26. package/src/api-public/controllers/post.js.map +1 -1
  27. package/src/api-public/controllers/progress.d.ts +3 -0
  28. package/src/api-public/controllers/progress.js +29 -0
  29. package/src/api-public/controllers/progress.js.map +1 -0
  30. package/src/api-public/controllers/progress.ts +25 -0
  31. package/src/api-public/controllers/sql_api.js.map +1 -1
  32. package/src/api-public/controllers/track.js.map +1 -1
  33. package/src/api-public/controllers/user.js +47 -1
  34. package/src/api-public/controllers/user.js.map +1 -1
  35. package/src/api-public/controllers/user.ts +44 -3
  36. package/src/api-public/services/checkout.d.ts +1 -0
  37. package/src/api-public/services/checkout.js +16 -6
  38. package/src/api-public/services/checkout.js.map +1 -1
  39. package/src/api-public/services/checkout.ts +28 -18
  40. package/src/api-public/services/customer-sessions.js.map +1 -1
  41. package/src/api-public/services/fake-data-model/fake-order.d.ts +6 -1
  42. package/src/api-public/services/fake-data-model/fake-order.js +159 -155
  43. package/src/api-public/services/fake-data-model/fake-order.js.map +1 -1
  44. package/src/api-public/services/fake-data-model/fake-order.ts +186 -179
  45. package/src/api-public/services/fake-data-model/fake-product.js +94 -94
  46. package/src/api-public/services/fake-data-model/fake-product.js.map +1 -1
  47. package/src/api-public/services/fake-data-model/fake-product.ts +109 -114
  48. package/src/api-public/services/fake-data-model/fake-user.d.ts +17 -1
  49. package/src/api-public/services/fake-data-model/fake-user.js +70 -384
  50. package/src/api-public/services/fake-data-model/fake-user.js.map +1 -1
  51. package/src/api-public/services/fake-data-model/fake-user.ts +111 -394
  52. package/src/api-public/services/initial-fake-data.js +50 -10
  53. package/src/api-public/services/initial-fake-data.js.map +1 -1
  54. package/src/api-public/services/initial-fake-data.ts +92 -22
  55. package/src/api-public/services/invoice.js.map +1 -1
  56. package/src/api-public/services/manager.js.map +1 -1
  57. package/src/api-public/services/notify.js +234 -213
  58. package/src/api-public/services/notify.js.map +1 -1
  59. package/src/api-public/services/notify.ts +520 -494
  60. package/src/api-public/services/phone-verify.js +1 -1
  61. package/src/api-public/services/phone-verify.js.map +1 -1
  62. package/src/api-public/services/phone-verify.ts +1 -1
  63. package/src/api-public/services/pos.js.map +1 -1
  64. package/src/api-public/services/post.js.map +1 -1
  65. package/src/api-public/services/rebate.d.ts +1 -0
  66. package/src/api-public/services/rebate.js +15 -8
  67. package/src/api-public/services/rebate.js.map +1 -1
  68. package/src/api-public/services/rebate.ts +24 -15
  69. package/src/api-public/services/recommend.js.map +1 -1
  70. package/src/api-public/services/schedule.js +7 -4
  71. package/src/api-public/services/schedule.js.map +1 -1
  72. package/src/api-public/services/schedule.ts +344 -335
  73. package/src/api-public/services/shopee.js.map +1 -1
  74. package/src/api-public/services/shopping.d.ts +1 -1
  75. package/src/api-public/services/shopping.js +28 -25
  76. package/src/api-public/services/shopping.js.map +1 -1
  77. package/src/api-public/services/shopping.ts +89 -76
  78. package/src/api-public/services/stock.js.map +1 -1
  79. package/src/api-public/services/user.d.ts +10 -1
  80. package/src/api-public/services/user.js +245 -42
  81. package/src/api-public/services/user.js.map +1 -1
  82. package/src/api-public/services/user.ts +325 -45
  83. package/src/api-public/services/voucher.js.map +1 -1
  84. package/src/api-public/services/workers.js.map +1 -1
  85. package/src/api-public/utils/ut-permission.d.ts +0 -1
  86. package/src/api-public/utils/ut-permission.js.map +1 -1
  87. package/src/config.d.ts +2 -1
  88. package/src/config.js +2 -1
  89. package/src/config.js.map +1 -1
  90. package/src/config.ts +142 -142
  91. package/src/controllers/app.js.map +1 -1
  92. package/src/controllers/backend-server.js.map +1 -1
  93. package/src/controllers/filemanager.js.map +1 -1
  94. package/src/controllers/index.js.map +1 -1
  95. package/src/controllers/user.js.map +1 -1
  96. package/src/domain-check.js.map +1 -1
  97. package/src/index.js.map +1 -1
  98. package/src/index.ts +3 -12
  99. package/src/modules/AWSLib.js +2 -3
  100. package/src/modules/AWSLib.js.map +1 -1
  101. package/src/modules/database.d.ts +1 -2
  102. package/src/modules/database.js.map +1 -1
  103. package/src/modules/firebase.js.map +1 -1
  104. package/src/modules/logger.js.map +1 -1
  105. package/src/modules/redis.d.ts +1 -1
  106. package/src/modules/redis.js.map +1 -1
  107. package/src/run.js +1 -2
  108. package/src/run.js.map +1 -1
  109. package/src/services/backend-service.js.map +1 -1
  110. package/src/services/create-instance.js +3 -4
  111. package/src/services/create-instance.js.map +1 -1
  112. package/src/services/global-event.js.map +1 -1
  113. package/src/services/ios-release.js.map +1 -1
  114. package/src/services/page.js.map +1 -1
  115. package/src/services/private_config.js.map +1 -1
  116. package/src/services/release.js.map +1 -1
  117. package/src/services/seo.js.map +1 -1
  118. package/src/services/tool.js +2 -3
  119. package/src/services/tool.js.map +1 -1
  120. package/src/services/user.js.map +1 -1
  121. package/src/services/web-socket.js.map +1 -1
  122. package/src/update-progress-track.d.ts +14 -0
  123. package/src/update-progress-track.js +28 -0
  124. package/src/update-progress-track.js.map +1 -0
  125. package/src/update-progress-track.ts +34 -0
  126. package/j4enepo67p.json +0 -1
@@ -32,6 +32,8 @@ import { ApiPublic } from './public-table-check.js';
32
32
  import { UtTimer } from '../utils/ut-timer';
33
33
  import { AutoFcm } from '../../public-config-initial/auto-fcm.js';
34
34
  import { PhoneVerify } from './phone-verify.js';
35
+ import { StackTracker, Stack } from '../../update-progress-track.js';
36
+ import { InitialFakeData } from './initial-fake-data.js';
35
37
 
36
38
  interface UserQuery {
37
39
  page?: number;
@@ -166,9 +168,9 @@ export class User {
166
168
 
167
169
  public async phoneVerify(account: string) {
168
170
  const time: any = await redis.getValue(`verify-phone-${account}-last-time`);
169
- let last_count: any = parseInt(`${(await redis.getValue(`verify-phone-${account}-last-count`)) || '0'}`,10);
171
+ let last_count: any = parseInt(`${(await redis.getValue(`verify-phone-${account}-last-count`)) || '0'}`, 10);
170
172
  last_count++;
171
- if(last_count>3){
173
+ if (last_count > 3) {
172
174
  return {
173
175
  out_limit: true,
174
176
  };
@@ -1250,6 +1252,12 @@ export class User {
1250
1252
  public async getUserList(query: UserQuery) {
1251
1253
  try {
1252
1254
  const checkPoint = new UtTimer('GET-USER-LIST').checkPoint;
1255
+
1256
+ // if (this.app === 't_1725992531001') {
1257
+ // await new InitialFakeData('t_1725992531001').run();
1258
+ // checkPoint('Run InitialFakeData');
1259
+ // }
1260
+
1253
1261
  const orderCountingSQL = await this.getCheckoutCountingModeSQL();
1254
1262
  const querySql: string[] = ['1=1'];
1255
1263
  const noRegisterUsers: any[] = [];
@@ -1507,31 +1515,140 @@ export class User {
1507
1515
  orderBy: query.order_string ?? '',
1508
1516
  });
1509
1517
 
1510
- const dataSQL = await this.getUserAndOrderSQL({
1511
- select: 'o.email, o.order_count, o.total_amount, u.*, lo.last_order_total, lo.last_order_time',
1512
- where: querySql,
1513
- orderBy: query.order_string ?? '',
1514
- page: query?.page,
1515
- limit: query?.limit,
1516
- });
1517
- const levelData = (await this.getConfigV2({ key: 'member_level_config', user_id: 'manager' })).levels ?? [];
1518
- const userData = (await db.query(dataSQL, [])).map((dd: any) => {
1519
- dd.pwd = undefined;
1520
- const find_level=levelData.find((d1:any)=>{
1521
- return dd.member_level===d1.id;
1518
+ const processChunk = 1000;
1519
+
1520
+ const getUserQuery = async (param?: { page?: number; limit?: number }) => {
1521
+ const dataSQL = await this.getUserAndOrderSQL({
1522
+ select: 'o.email, o.order_count, o.total_amount, u.*, lo.last_order_total, lo.last_order_time',
1523
+ where: querySql,
1524
+ orderBy: query.order_string ?? '',
1525
+ page: param?.page,
1526
+ limit: param?.limit,
1522
1527
  });
1523
- dd.tag_name = (find_level) ? find_level.tag_name:'一般會員';
1524
- return dd;
1525
- });
1526
- //補空值
1527
- userData.map((dd:any) => {
1528
- dd.last_order_total = dd.last_order_total || 0;
1529
- dd.order_count = dd.order_count || 0;
1530
- dd.total_amount = dd.total_amount || 0;
1531
- });
1528
+
1529
+ const levelData = (await this.getConfigV2({ key: 'member_level_config', user_id: 'manager' })).levels ?? [];
1530
+
1531
+ const getUsers = (await db.query(dataSQL, [])).map((dd: any) => {
1532
+ dd.pwd = undefined;
1533
+ const find_level = levelData.find((d1: any) => {
1534
+ return dd.member_level === d1.id;
1535
+ });
1536
+ dd.tag_name = find_level ? find_level.tag_name : '一般會員';
1537
+ return dd;
1538
+ });
1539
+ checkPoint('getUsers');
1540
+
1541
+ if (param) {
1542
+ const dataArray = [];
1543
+
1544
+ for (let i = 0; i < getUsers.length; i += processChunk) {
1545
+ const data = await processUserData(getUsers.slice(i, i + processChunk));
1546
+ dataArray.push(data);
1547
+ checkPoint(`processUserData ${i}`);
1548
+ }
1549
+
1550
+ return dataArray.flat();
1551
+ }
1552
+
1553
+ return getUsers.map((user: any) => ({ userID: user.userID }));
1554
+ };
1555
+
1556
+ const processUserData = async (userData: any) => {
1557
+ // 會員等級 Map
1558
+ const levels = await this.getUserLevel(userData.map((user: any) => ({ userId: user.userID })));
1559
+ const levelMap = new Map(levels.map(lv => [lv.id, lv.data.dead_line ?? '']));
1560
+ checkPoint('levels');
1561
+
1562
+ const mapUser = async (user: any) => {
1563
+ const phone = user.userData.phone || 'asnhsauh';
1564
+ const email = user.userData.email || 'asnhsauh';
1565
+
1566
+ // 取得購物金餘額
1567
+ const userRebate = await new Rebate(this.app).getOneRebate({
1568
+ user_id: user.userID,
1569
+ quickPass: true,
1570
+ });
1571
+ user.rebate = userRebate ? userRebate.point : 0;
1572
+
1573
+ // 取得會員等級截止日
1574
+ user.member_deadline = levelMap.get(user.userID) ?? '';
1575
+ user.latest_order_date = (
1576
+ await db.query(
1577
+ `select created_time
1578
+ from \`${this.app}\`.t_checkout
1579
+ where email in ('${email}', '${phone}')
1580
+ and ${orderCountingSQL}
1581
+ order by created_time desc limit 0,1`,
1582
+ []
1583
+ )
1584
+ )[0];
1585
+ user.latest_order_date = user.latest_order_date && user.latest_order_date.created_time;
1586
+ user.latest_order_total = (
1587
+ await db.query(
1588
+ `select total
1589
+ from \`${this.app}\`.t_checkout
1590
+ where email in ('${email}', '${phone}')
1591
+ and ${orderCountingSQL}
1592
+ order by created_time desc limit 0,1`,
1593
+ []
1594
+ )
1595
+ )[0];
1596
+ user.latest_order_total = user.latest_order_total && user.latest_order_total.total;
1597
+ user.checkout_total = (
1598
+ await db.query(
1599
+ `select sum(total)
1600
+ from \`${this.app}\`.t_checkout
1601
+ where email in ('${email}', '${phone}')
1602
+ and ${orderCountingSQL} `,
1603
+ []
1604
+ )
1605
+ )[0];
1606
+ user.checkout_total = user.checkout_total && user.checkout_total['sum(total)'];
1607
+ user.checkout_count = (
1608
+ await db.query(
1609
+ `select count(1)
1610
+ from \`${this.app}\`.t_checkout
1611
+ where email in ('${email}', '${phone}')
1612
+ and ${orderCountingSQL} `,
1613
+ []
1614
+ )
1615
+ )[0];
1616
+ user.checkout_count = user.checkout_count && user.checkout_count['count(1)'];
1617
+ user.last_order_total = user.last_order_total || 0;
1618
+ user.order_count = user.order_count || 0;
1619
+ user.total_amount = user.total_amount || 0;
1620
+ };
1621
+
1622
+ // 批次處理會員資料
1623
+
1624
+ if (Array.isArray(userData) && userData.length > 0) {
1625
+ const chunkSize = 100;
1626
+
1627
+ for (let i = 0; i < userData.length; i += chunkSize) {
1628
+ const batch = userData.slice(i, i + chunkSize);
1629
+ await Promise.all(
1630
+ batch.map(async (user: any) => {
1631
+ await mapUser(user);
1632
+ checkPoint('mapUser');
1633
+ })
1634
+ );
1635
+ }
1636
+ }
1637
+
1638
+ return userData;
1639
+ };
1640
+
1641
+ const [pageUsers, allUsers] = await Promise.all([
1642
+ getUserQuery({ page: query.page, limit: query.limit }),
1643
+ query.all_result ? getUserQuery() : [],
1644
+ ]);
1645
+ checkPoint('return data');
1646
+
1532
1647
  return {
1533
1648
  // 指定頁數和符合篩選條件的會員資料
1534
- data: userData,
1649
+ data: pageUsers,
1650
+ // 所有符合篩選條件的會員資料
1651
+ ...(allUsers.length > 0 ? { allUsers } : {}),
1535
1652
  // 所有符合篩選條件的會員數量
1536
1653
  total: (await db.query(countSQL, []))[0]['count(1)'],
1537
1654
  // 額外資料(例如未註冊的訂閱者資料)
@@ -1696,13 +1813,22 @@ export class User {
1696
1813
  if (existNormalTag || existZeroValue) {
1697
1814
  return levelList;
1698
1815
  }
1699
- return [this.normalMember, ...levelList];
1816
+
1817
+ const formatLevelList = levelList.map((item: any) => {
1818
+ item.index++;
1819
+ return item;
1820
+ });
1821
+ return [this.normalMember, ...formatLevelList];
1700
1822
  }
1701
1823
 
1702
1824
  private async filterMemberUpdates(idList: string[]): Promise<any[]> {
1703
1825
  try {
1704
1826
  const memberUpdates: any[] = [];
1705
1827
 
1828
+ if (idList.length === 0) {
1829
+ return [];
1830
+ }
1831
+
1706
1832
  if (idList.length > 10000) {
1707
1833
  const idSetArray = [...new Set(idList)];
1708
1834
  const idMap = new Map();
@@ -1757,14 +1883,11 @@ export class User {
1757
1883
  }
1758
1884
  }
1759
1885
 
1760
- private async setLevelData(user: any, memberUpdates: any, levelConfig?: any) {
1886
+ private async setLevelData(user: any, quickPass: boolean, memberUpdates: any, levelList: any) {
1761
1887
  const { userID, userData } = user;
1762
1888
  const { level_status, level_default, email } = userData;
1763
1889
 
1764
- const levelList = levelConfig ?? (await this.getLevelConfig());
1765
-
1766
1890
  const normalMember = levelList[0] ?? this.normalMember;
1767
-
1768
1891
  const normalData = {
1769
1892
  id: normalMember.id,
1770
1893
  og: normalMember,
@@ -1784,6 +1907,35 @@ export class User {
1784
1907
  };
1785
1908
  }
1786
1909
 
1910
+ // 啟用快速通關處理會員等級
1911
+ if (quickPass) {
1912
+ const index = user.member_level ? levelList.findIndex((level: any) => level.id === user.member_level) : 0;
1913
+ const getLevel = levelList[index];
1914
+
1915
+ const formatData = {
1916
+ id: getLevel.id,
1917
+ og: {
1918
+ id: getLevel.id,
1919
+ index: index,
1920
+ duration: getLevel.duration,
1921
+ tag_name: getLevel.tag_name,
1922
+ condition: getLevel.condition,
1923
+ dead_line: getLevel.dead_line,
1924
+ create_date: getLevel.create_date,
1925
+ },
1926
+ trigger: true,
1927
+ tag_name: getLevel.tag_name,
1928
+ dead_line: '',
1929
+ };
1930
+
1931
+ return {
1932
+ id: userID,
1933
+ email,
1934
+ status: 'auto',
1935
+ data: formatData,
1936
+ };
1937
+ }
1938
+
1787
1939
  // 處理自動等級
1788
1940
  if (memberUpdates.length > 0) {
1789
1941
  const matchedUpdates = await this.checkMember(user, false);
@@ -1821,6 +1973,8 @@ export class User {
1821
1973
  status: 'auto' | 'manual';
1822
1974
  }[]
1823
1975
  > {
1976
+ const utTimer = new UtTimer('getUserLevel');
1977
+
1824
1978
  const idList: string[] = data
1825
1979
  .filter(item => Boolean(item.userId))
1826
1980
  .map(item => `${item.userId}`)
@@ -1843,27 +1997,21 @@ export class User {
1843
1997
 
1844
1998
  if (!users || users.length == 0) return [];
1845
1999
 
1846
- const chunk = 50;
1847
- const chunkArray = [];
2000
+ const chunk = 20;
1848
2001
  const dataList: any = [];
1849
2002
  const levelConfig = await this.getLevelConfig();
1850
2003
  const memberUpdates = await this.filterMemberUpdates(idList);
1851
2004
 
1852
2005
  for (let i = 0; i < users.length; i += chunk) {
1853
- chunkArray.push(users.slice(i, i + chunk));
2006
+ const userArray = users.slice(i, i + chunk);
2007
+ await Promise.all(
2008
+ userArray.map(async (user: any) => {
2009
+ const userData = await this.setLevelData(user, users.length > 100, memberUpdates, levelConfig);
2010
+ dataList.push(userData);
2011
+ })
2012
+ );
1854
2013
  }
1855
2014
 
1856
- await Promise.all(
1857
- chunkArray.map(async userArray => {
1858
- await Promise.all(
1859
- userArray.map(async (user: any) => {
1860
- const userData = await this.setLevelData(user, memberUpdates, levelConfig);
1861
- dataList.push(userData);
1862
- })
1863
- );
1864
- })
1865
- );
1866
-
1867
2015
  return dataList;
1868
2016
  }
1869
2017
 
@@ -2119,8 +2267,7 @@ export class User {
2119
2267
  }
2120
2268
  if (
2121
2269
  login_config.phone_verify &&
2122
- !(await PhoneVerify.verify(par.userData.phone, par.userData.verify_code_phone))
2123
- &&
2270
+ !(await PhoneVerify.verify(par.userData.phone, par.userData.verify_code_phone)) &&
2124
2271
  register_form.list.find((dd: any) => {
2125
2272
  return dd.key === 'phone' && `${dd.hidden}` !== 'true';
2126
2273
  })
@@ -2192,6 +2339,139 @@ export class User {
2192
2339
  }
2193
2340
  }
2194
2341
 
2342
+ public async batchGetUser(userId: string[]) {
2343
+ try {
2344
+ const sql = `SELECT * FROM \`${this.app}\`.t_user WHERE userID = ?`;
2345
+ const dataArray: any = [];
2346
+
2347
+ const stack: Stack = {
2348
+ appName: this.app,
2349
+ taskId: Tool.randomString(12),
2350
+ taskTag: 'batchGetUser',
2351
+ progress: 0,
2352
+ };
2353
+
2354
+ StackTracker.stack.push(stack);
2355
+
2356
+ if (Array.isArray(userId) && userId.length > 0) {
2357
+ const chunkSize = 100;
2358
+ for (let i = 0; i < userId.length; i += chunkSize) {
2359
+ const size = i + chunkSize;
2360
+ const batch = userId.slice(i, size);
2361
+ await Promise.all(
2362
+ batch.map(async id => {
2363
+ const results = await db.query(sql, [db.escape(id)]);
2364
+ results.forEach((result: any) => delete result.pwd);
2365
+ dataArray.push(results);
2366
+ })
2367
+ );
2368
+ StackTracker.setProgress(stack.taskId, StackTracker.calcPercentage(size, userId.length));
2369
+ }
2370
+ }
2371
+
2372
+ StackTracker.clearProgress(stack.taskId);
2373
+
2374
+ return dataArray.flat();
2375
+ } catch (error) {
2376
+ throw exception.BadRequestError('BAD_REQUEST', 'Batch get userData:' + error, null);
2377
+ }
2378
+ }
2379
+
2380
+ public async batchUpdateUserData(trackName: string, users: { id: string; data: any }[]) {
2381
+ try {
2382
+ const stack: Stack = {
2383
+ appName: this.app as string,
2384
+ taskId: Tool.randomString(12),
2385
+ taskTag: trackName,
2386
+ progress: 0,
2387
+ };
2388
+
2389
+ StackTracker.stack.push(stack);
2390
+
2391
+ if (Array.isArray(users) && users.length > 0) {
2392
+ const chunkSize = 200;
2393
+ for (let i = 0; i < users.length; i += chunkSize) {
2394
+ const size = i + chunkSize;
2395
+ const batch = users.slice(i, size);
2396
+ StackTracker.setProgress(stack.taskId, StackTracker.calcPercentage(size, users.length));
2397
+ await Promise.all(
2398
+ batch.map(async user => {
2399
+ await new Promise(async resolve => {
2400
+ await this.updateUserData(user.id, user.data);
2401
+ setTimeout(() => resolve(true), 200);
2402
+ });
2403
+ })
2404
+ );
2405
+ }
2406
+ }
2407
+
2408
+ StackTracker.clearProgress(stack.taskId);
2409
+
2410
+ return;
2411
+ } catch (error) {
2412
+ throw exception.BadRequestError('BAD_REQUEST', 'Batch update userData:' + error, null);
2413
+ }
2414
+ }
2415
+
2416
+ public async batchAddtag(userId: string[], tags: string[]) {
2417
+ try {
2418
+ const users = await this.batchGetUser(userId);
2419
+
2420
+ const updateData = users.map((item: any) => {
2421
+ item.userData.tags = item.userData.tags ? [...new Set([...item.userData.tags, ...tags])] : tags;
2422
+
2423
+ return {
2424
+ id: item.userID,
2425
+ data: item,
2426
+ };
2427
+ });
2428
+
2429
+ await this.batchUpdateUserData('batchAddtag', updateData);
2430
+ } catch (error) {
2431
+ throw exception.BadRequestError('BAD_REQUEST', 'Batch add tag:' + error, null);
2432
+ }
2433
+ }
2434
+
2435
+ public async batchRemovetag(userId: string[], tags: string[]) {
2436
+ try {
2437
+ const users = await this.batchGetUser(userId);
2438
+ const postMap: Map<string, boolean> = new Map(tags.map(tag => [tag, true]));
2439
+
2440
+ const updateData = users.map((item: any) => {
2441
+ item.userData.tags = item.userData.tags ? item.userData.tags.filter((tag: string) => !postMap.get(tag)) : [];
2442
+
2443
+ return {
2444
+ id: item.userID,
2445
+ data: item,
2446
+ };
2447
+ });
2448
+
2449
+ await this.batchUpdateUserData('batchRemovetag', updateData);
2450
+ } catch (error) {
2451
+ throw exception.BadRequestError('BAD_REQUEST', 'Batch remove tag:' + error, null);
2452
+ }
2453
+ }
2454
+
2455
+ public async batchManualLevel(userId: string[], level: string[]) {
2456
+ try {
2457
+ const users = await this.batchGetUser(userId);
2458
+
2459
+ const updateData = users.map((item: any) => {
2460
+ item.userData.level_status = 'manual';
2461
+ item.userData.level_default = level;
2462
+
2463
+ return {
2464
+ id: item.userID,
2465
+ data: item,
2466
+ };
2467
+ });
2468
+
2469
+ await this.batchUpdateUserData('batchManualLevel', updateData);
2470
+ } catch (error) {
2471
+ throw exception.BadRequestError('BAD_REQUEST', 'Batch manual level:' + error, null);
2472
+ }
2473
+ }
2474
+
2195
2475
  public async clearUselessData(userData: any, manager: boolean) {
2196
2476
  let config = await App.getAdConfig(this.app, 'glitterUserForm');
2197
2477
  let register_form =
@@ -1 +1 @@
1
- {"version":3,"file":"voucher.js","sourceRoot":"","sources":["voucher.ts"],"names":[],"mappings":";;;;;;AAAA,+CAAyC;AACzC,4EAA2C;AAC3C,8EAAmD;AAGnD,MAAa,OAAO;IAIhB,YAAY,QAAgB,EAAE,KAAa;QACvC,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC;QACpB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAEM,KAAK,CAAC,UAAU,CAAC,OAAY;QAChC,IAAI;YACA,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC9C,IAAI,SAAS,CAAC,IAAI,KAAK,SAAS,EAAE;gBAC9B,MAAM,IAAI,sBAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC;gBAC9E,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;aAC/C;YACD,OAAO,CAAC,YAAY,GAAG,IAAI,IAAI,EAAE,CAAC;YAClC,MAAM,IAAI,GAAG,MAAM,qBAAE,CAAC,KAAK,CACvB,YAAY,IAAI,CAAC,GAAG;;;8BAGN,SAAS,CAAC,EAAE,EAAE,EAC5B,CAAC,OAAO,CAAC,CACZ,CAAC;YACF,OAAO,IAAI,CAAC;SACf;QAAC,OAAO,CAAC,EAAE;YACR,MAAM,sBAAS,CAAC,eAAe,CAAC,aAAa,EAAE,mBAAmB,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;SACjF;IACL,CAAC;CACJ;AA7BD,0BA6BC"}
1
+ {"version":3,"file":"voucher.js","sourceRoot":"","sources":["voucher.ts"],"names":[],"mappings":";;;;;;AAAA,+CAAyC;AACzC,4EAA2C;AAC3C,8EAAmD;AAGnD,MAAa,OAAO;IAIhB,YAAY,QAAgB,EAAE,KAAa;QACvC,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC;QACpB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAEM,KAAK,CAAC,UAAU,CAAC,OAAY;QAChC,IAAI,CAAC;YACD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC9C,IAAI,SAAS,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC/B,MAAM,IAAI,sBAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC;gBAC9E,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YAChD,CAAC;YACD,OAAO,CAAC,YAAY,GAAG,IAAI,IAAI,EAAE,CAAC;YAClC,MAAM,IAAI,GAAG,MAAM,qBAAE,CAAC,KAAK,CACvB,YAAY,IAAI,CAAC,GAAG;;;8BAGN,SAAS,CAAC,EAAE,EAAE,EAC5B,CAAC,OAAO,CAAC,CACZ,CAAC;YACF,OAAO,IAAI,CAAC;QAChB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,MAAM,sBAAS,CAAC,eAAe,CAAC,aAAa,EAAE,mBAAmB,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;QAClF,CAAC;IACL,CAAC;CACJ;AA7BD,0BA6BC"}
@@ -1 +1 @@
1
- {"version":3,"file":"workers.js","sourceRoot":"","sources":["workers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workers.js","sourceRoot":"","sources":["workers.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- /// <reference types="cookie-parser" />
2
1
  import express from 'express';
3
2
  export declare class UtPermission {
4
3
  static isManager(req: express.Request): Promise<unknown>;
@@ -1 +1 @@
1
- {"version":3,"file":"ut-permission.js","sourceRoot":"","sources":["ut-permission.ts"],"names":[],"mappings":";;;;;;AACA,4EAA2C;AAC3C,+CAA6C;AAG7C,MAAa,YAAY;IACd,MAAM,CAAC,SAAS,CAAC,GAAoB;QACxC,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;YACzC,IAAI;gBACA,MAAM,OAAO,GAAI,GAAG,CAAC,GAAG,CAAC,OAAO,CAAY,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;gBACtF,MAAM,MAAM,GAAG,MAAM,qBAAE,CAAC,KAAK,CACzB;2BACO,sBAAU,CAAC,SAAS;;;;qDAIM,sBAAU,CAAC,SAAS;;;qBAGpD,EACD,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CACnE,CAAC;gBACF,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;aACtC;YAAC,OAAO,CAAC,EAAE;gBACR,OAAO,CAAC,KAAK,CAAC,CAAC;aAClB;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IACM,MAAM,CAAC,mBAAmB,CAAC,QAAgB,EAAE,OAAe;QAC/D,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;YACzC,IAAI;gBACA,MAAM,MAAM,GAAG,MAAM,qBAAE,CAAC,KAAK,CACzB;2BACO,sBAAU,CAAC,SAAS;;;;qDAIM,sBAAU,CAAC,SAAS;;;qBAGpD,EACD,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,CACzC,CAAC;gBACF,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;aACvC;YAAC,OAAO,CAAC,EAAE;gBACR,OAAO,CAAC,KAAK,CAAC,CAAC;aAClB;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAEM,MAAM,CAAC,SAAS,CAAC,GAAoB;QACxC,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;YACzC,IAAI;gBACA,OAAO,CACH,CACI,MAAM,qBAAE,CAAC,KAAK,CACV;sCACU,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC;8CACR,EAClB,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAC1B,CACJ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CACxB,CAAC;aACL;YAAC,OAAO,CAAC,EAAE;gBACR,OAAO,CAAC,KAAK,CAAC,CAAC;aAClB;QACL,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AA/DD,oCA+DC"}
1
+ {"version":3,"file":"ut-permission.js","sourceRoot":"","sources":["ut-permission.ts"],"names":[],"mappings":";;;;;;AACA,4EAA2C;AAC3C,+CAA6C;AAG7C,MAAa,YAAY;IACd,MAAM,CAAC,SAAS,CAAC,GAAoB;QACxC,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;YACzC,IAAI,CAAC;gBACD,MAAM,OAAO,GAAI,GAAG,CAAC,GAAG,CAAC,OAAO,CAAY,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;gBACtF,MAAM,MAAM,GAAG,MAAM,qBAAE,CAAC,KAAK,CACzB;2BACO,sBAAU,CAAC,SAAS;;;;qDAIM,sBAAU,CAAC,SAAS;;;qBAGpD,EACD,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CACnE,CAAC;gBACF,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;YACvC,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,OAAO,CAAC,KAAK,CAAC,CAAC;YACnB,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IACM,MAAM,CAAC,mBAAmB,CAAC,QAAgB,EAAE,OAAe;QAC/D,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;YACzC,IAAI,CAAC;gBACD,MAAM,MAAM,GAAG,MAAM,qBAAE,CAAC,KAAK,CACzB;2BACO,sBAAU,CAAC,SAAS;;;;qDAIM,sBAAU,CAAC,SAAS;;;qBAGpD,EACD,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,CACzC,CAAC;gBACF,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;YACxC,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,OAAO,CAAC,KAAK,CAAC,CAAC;YACnB,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAEM,MAAM,CAAC,SAAS,CAAC,GAAoB;QACxC,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;YACzC,IAAI,CAAC;gBACD,OAAO,CACH,CACI,MAAM,qBAAE,CAAC,KAAK,CACV;sCACU,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC;8CACR,EAClB,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAC1B,CACJ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CACxB,CAAC;YACN,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,OAAO,CAAC,KAAK,CAAC,CAAC;YACnB,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AA/DD,oCA+DC"}
package/src/config.d.ts CHANGED
@@ -38,7 +38,7 @@ export declare const config: {
38
38
  readonly sshIP: string | undefined;
39
39
  readonly AWS_S3_PREFIX_DOMAIN_NAME: string;
40
40
  readonly SINGLE_TYPE: boolean;
41
- getRoute: (r: string, type?: 'public' | 'normal') => string;
41
+ getRoute: (r: string, type?: "public" | "normal") => string;
42
42
  public_route: {
43
43
  user: string;
44
44
  invoice: string;
@@ -71,6 +71,7 @@ export declare const config: {
71
71
  voucher: string;
72
72
  reconciliation: string;
73
73
  fb: string;
74
+ progress: string;
74
75
  };
75
76
  route: {
76
77
  shopee: string;
package/src/config.js CHANGED
@@ -136,7 +136,8 @@ exports.config = {
136
136
  customer_sessions: '/customer_sessions',
137
137
  voucher: '/voucher',
138
138
  reconciliation: '/reconciliation',
139
- fb: '/fb'
139
+ fb: '/fb',
140
+ progress: '/progress',
140
141
  },
141
142
  route: {
142
143
  shopee: '/shopee',
package/src/config.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["config.ts"],"names":[],"mappings":"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"}