ts-glitter 20.4.9 → 20.5.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.
Files changed (130) hide show
  1. package/lowcode/Entry.js +1 -1
  2. package/lowcode/Entry.ts +1 -1
  3. package/lowcode/cms-plugin/module/data.ts +1 -1
  4. package/lowcode/cms-plugin/module/order-setting.js +19 -8
  5. package/lowcode/cms-plugin/module/order-setting.ts +22 -16
  6. package/lowcode/cms-plugin/shopping-order-manager.js +252 -223
  7. package/lowcode/cms-plugin/shopping-order-manager.ts +64 -37
  8. package/lowcode/cms-plugin/stock-history.js +6 -7
  9. package/lowcode/cms-plugin/stock-history.ts +17 -16
  10. package/lowcode/glitter-base/route/shopping.ts +1 -1
  11. package/lowcode/public-components/checkout/index.js +7 -1
  12. package/lowcode/public-components/checkout/index.ts +6 -1
  13. package/lowcode/public-components/user-manager/um-class.js +1 -0
  14. package/lowcode/public-components/user-manager/um-class.ts +1 -0
  15. package/lowcode/public-components/user-manager/um-order.js +35 -2
  16. package/lowcode/public-components/user-manager/um-order.ts +40 -4
  17. package/lowcode/public-models/order-info.js +2 -3
  18. package/lowcode/public-models/order-info.ts +2 -2
  19. package/lowcode/src/glitterBundle/Glitter.js +1 -1
  20. package/lowcode/src/glitterBundle/Glitter.ts +1 -1
  21. package/lowcode/src/glitterBundle/GlitterInitial.js +1 -1
  22. package/lowcode/src/glitterBundle/GlitterInitial.ts +1 -1
  23. package/lowcode/src/glitterBundle/module/Animation.js +13 -7
  24. package/lowcode/src/glitterBundle/module/Enum.js +6 -2
  25. package/lowcode/src/glitterBundle/module/Html_generate.js +42 -50
  26. package/lowcode/src/glitterBundle/module/PageManager.js +30 -23
  27. package/lowcode/src/glitterBundle/plugins/click-event.js +19 -25
  28. package/lowcode/src/glitterBundle/plugins/dialog-style-editor.js +16 -13
  29. package/lowcode/src/glitterBundle/plugins/editor-elem.js +6 -1
  30. package/lowcode/src/glitterBundle/plugins/editor.js +5 -1
  31. package/lowcode/src/glitterBundle/plugins/html-render.js +5 -2
  32. package/lowcode/src/glitterBundle/plugins/plugin-creater.js +22 -28
  33. package/lowcode/src/glitterBundle/plugins/seo-manager.js +5 -1
  34. package/lowcode/src/glitterBundle/plugins/style-attr.js +5 -1
  35. package/lowcode/src/glitterBundle/plugins/style-editor.js +3 -1
  36. package/package.json +1 -1
  37. package/src/Language.js.map +1 -1
  38. package/src/api-public/controllers/ai-points.js.map +1 -1
  39. package/src/api-public/controllers/chat.js.map +1 -1
  40. package/src/api-public/controllers/customer-sessions.js.map +1 -1
  41. package/src/api-public/controllers/fb-message.js.map +1 -1
  42. package/src/api-public/controllers/fb-service.js.map +1 -1
  43. package/src/api-public/controllers/invoice.js.map +1 -1
  44. package/src/api-public/controllers/line-message.js.map +1 -1
  45. package/src/api-public/controllers/oauth.js.map +1 -1
  46. package/src/api-public/controllers/recommend.js.map +1 -1
  47. package/src/api-public/controllers/reconciliation.js.map +1 -1
  48. package/src/api-public/controllers/shop.js +1 -3
  49. package/src/api-public/controllers/shop.js.map +1 -1
  50. package/src/api-public/controllers/shop.ts +12 -6
  51. package/src/api-public/controllers/shopee.js.map +1 -1
  52. package/src/api-public/controllers/sms-points.js.map +1 -1
  53. package/src/api-public/controllers/sms.js.map +1 -1
  54. package/src/api-public/controllers/smtp.js.map +1 -1
  55. package/src/api-public/controllers/stock.js.map +1 -1
  56. package/src/api-public/controllers/track.js.map +1 -1
  57. package/src/api-public/controllers/voucher.js.map +1 -1
  58. package/src/api-public/controllers/wallet.js.map +1 -1
  59. package/src/api-public/services/EcInvoice.js.map +1 -1
  60. package/src/api-public/services/article.js.map +1 -1
  61. package/src/api-public/services/ezpay/tool.d.ts +0 -1
  62. package/src/api-public/services/ezpay/tool.js.map +1 -1
  63. package/src/api-public/services/filter-protect-data.js.map +1 -1
  64. package/src/api-public/services/financial-service.js.map +1 -1
  65. package/src/api-public/services/financial-service.ts +2 -3
  66. package/src/api-public/services/form-check.js.map +1 -1
  67. package/src/api-public/services/graph-api.js.map +1 -1
  68. package/src/api-public/services/mail.js.map +1 -1
  69. package/src/api-public/services/model/handlePaymentTransaction.d.ts +9 -0
  70. package/src/api-public/services/model/handlePaymentTransaction.js +54 -0
  71. package/src/api-public/services/model/handlePaymentTransaction.js.map +1 -0
  72. package/src/api-public/services/model/handlePaymentTransaction.ts +120 -0
  73. package/src/api-public/services/product-initial.js.map +1 -1
  74. package/src/api-public/services/rebate.js +6 -6
  75. package/src/api-public/services/rebate.js.map +1 -1
  76. package/src/api-public/services/rebate.ts +6 -6
  77. package/src/api-public/services/reconciliation.js.map +1 -1
  78. package/src/api-public/services/shopping.d.ts +6 -4
  79. package/src/api-public/services/shopping.js +169 -26
  80. package/src/api-public/services/shopping.js.map +1 -1
  81. package/src/api-public/services/shopping.ts +261 -50
  82. package/src/api-public/services/terms-check.js.map +1 -1
  83. package/src/api-public/services/updated-table-checked.js +22 -0
  84. package/src/api-public/services/updated-table-checked.js.map +1 -1
  85. package/src/api-public/services/updated-table-checked.ts +28 -0
  86. package/src/api-public/services/user-service.d.ts +9 -0
  87. package/src/api-public/services/user-service.js +9 -0
  88. package/src/api-public/services/user-service.js.map +1 -0
  89. package/src/api-public/services/user-service.ts +11 -0
  90. package/src/api-public/services/user-update.js +10 -6
  91. package/src/api-public/services/user-update.js.map +1 -1
  92. package/src/api-public/services/user-update.ts +9 -2
  93. package/src/api-public/services/user.js +9 -8
  94. package/src/api-public/services/user.js.map +1 -1
  95. package/src/api-public/services/user.ts +9 -10
  96. package/src/api-public/utils/ut-database.js.map +1 -1
  97. package/src/app-project/serverless/src/controllers/index.js.map +1 -1
  98. package/src/app-project/serverless/src/controllers/sample.js.map +1 -1
  99. package/src/app-project/serverless/src/modules/database.d.ts +1 -2
  100. package/src/app-project/serverless/src/modules/database.js.map +1 -1
  101. package/src/app-project/serverless/src/modules/exception.js.map +1 -1
  102. package/src/app-project/serverless/src/modules/hooks.js.map +1 -1
  103. package/src/app-project/serverless/src/modules/logger.js.map +1 -1
  104. package/src/app-project/serverless/src/modules/redis.d.ts +1 -1
  105. package/src/app-project/serverless/src/modules/redis.js.map +1 -1
  106. package/src/app-project/serverless/src/modules/response.js.map +1 -1
  107. package/src/app-project/serverless/src/modules/ssh.js.map +1 -1
  108. package/src/controllers/ai.js.map +1 -1
  109. package/src/controllers/global-event.js.map +1 -1
  110. package/src/controllers/page.js.map +1 -1
  111. package/src/controllers/private_config.js.map +1 -1
  112. package/src/export/export-test.js.map +1 -1
  113. package/src/firebase/message.js +1 -2
  114. package/src/firebase/message.js.map +1 -1
  115. package/src/helper/app_creater.js +1 -2
  116. package/src/helper/app_creater.js.map +1 -1
  117. package/src/helper/glitter-util.d.ts +0 -1
  118. package/src/helper/glitter-util.js.map +1 -1
  119. package/src/lambda/interface.d.ts +1 -1
  120. package/src/lambda/interface.js +2 -2
  121. package/src/lambda/interface.js.map +1 -1
  122. package/src/modules/caught-error.js.map +1 -1
  123. package/src/modules/exception.js.map +1 -1
  124. package/src/modules/hooks.js.map +1 -1
  125. package/src/modules/response.js.map +1 -1
  126. package/src/modules/ssh.js.map +1 -1
  127. package/src/services/ses.js +1 -2
  128. package/src/services/ses.js.map +1 -1
  129. package/src/services/system-schedule.js.map +1 -1
  130. package/src/update-script.js.map +1 -1
@@ -7,7 +7,7 @@ import axios from 'axios';
7
7
  import app from '../../app';
8
8
  import redis from '../../modules/redis.js';
9
9
  import Tool from '../../modules/tool.js';
10
- import FinancialService, { LinePay, PayNow, PayPal, JKO, EcPay } from './financial-service.js';
10
+ import FinancialService, { EcPay, JKO, LinePay, PayNow, PayPal } from './financial-service.js';
11
11
  import { Private_config } from '../../services/private_config.js';
12
12
  import { User } from './user.js';
13
13
  import { Invoice } from './invoice.js';
@@ -34,6 +34,8 @@ import { CheckoutService } from './checkout.js';
34
34
  import { ProductInitial } from './product-initial.js';
35
35
  import { UtTimer } from '../utils/ut-timer.js';
36
36
  import { AutoFcm } from '../../public-config-initial/auto-fcm.js';
37
+ import PaymentTransaction from './model/handlePaymentTransaction.js';
38
+
37
39
  type BindItem = {
38
40
  id: string;
39
41
  spec: string[];
@@ -371,7 +373,7 @@ export type Cart = {
371
373
  custom_form_data?: any;
372
374
  distribution_id?: number;
373
375
  distribution_info?: any;
374
- orderSource: '' | 'manual' | 'normal' | 'POS' | 'combine' | 'group_buy';
376
+ orderSource: '' | 'manual' | 'normal' | 'POS' | 'combine' | 'group_buy' | 'split';
375
377
  temp_cart_id?: string;
376
378
  code_array: string[];
377
379
  deliveryData?: DeliveryData;
@@ -385,6 +387,8 @@ export type Cart = {
385
387
  scheduled_id?: string;
386
388
  editRecord: { time: string; record: string }[];
387
389
  combineOrderID?: number;
390
+ splitOrders?: string[];
391
+ parentOrder?: string;
388
392
  };
389
393
 
390
394
  export type Order = {
@@ -1327,10 +1331,12 @@ export class Shopping {
1327
1331
  const orderClause = query.order_by || 'ORDER BY id DESC';
1328
1332
  const offset = query.page * query.limit;
1329
1333
 
1330
- let sql = `SELECT * FROM \`${this.app}\`.t_manager_post ${whereClause} ${orderClause}`;
1334
+ let sql = `SELECT *
1335
+ FROM \`${this.app}\`.t_manager_post ${whereClause} ${orderClause}`;
1331
1336
 
1332
1337
  const data = await db.query(
1333
- `SELECT * FROM (${sql}) AS subquery LIMIT ?, ?
1338
+ `SELECT *
1339
+ FROM (${sql}) AS subquery LIMIT ?, ?
1334
1340
  `,
1335
1341
  [offset, Number(query.limit)]
1336
1342
  );
@@ -1343,7 +1349,8 @@ export class Shopping {
1343
1349
  } else {
1344
1350
  const total = await db
1345
1351
  .query(
1346
- `SELECT COUNT(*) as count FROM \`${this.app}\`.t_manager_post ${whereClause}
1352
+ `SELECT COUNT(*) as count
1353
+ FROM \`${this.app}\`.t_manager_post ${whereClause}
1347
1354
  `,
1348
1355
  []
1349
1356
  )
@@ -1800,7 +1807,7 @@ export class Shopping {
1800
1807
  fbp?: string;
1801
1808
  temp_cart_id?: string;
1802
1809
  },
1803
- type: 'add' | 'preview' | 'manual' | 'manual-preview' | 'POS' = 'add',
1810
+ type: 'add' | 'preview' | 'manual' | 'manual-preview' | 'POS' | 'split' = 'add',
1804
1811
  replace_order_id?: string
1805
1812
  ) {
1806
1813
  try {
@@ -2777,8 +2784,8 @@ export class Shopping {
2777
2784
  checkPoint('check user rebate');
2778
2785
 
2779
2786
  // 手動結帳地方判定
2780
- if (type === 'manual') {
2781
- carData.orderSource = 'manual';
2787
+ if (type === 'manual' || type === 'split') {
2788
+ carData.orderSource = type;
2782
2789
  let tempVoucher: VoucherData = {
2783
2790
  discount_total: data.voucher.discount_total,
2784
2791
  end_ISO_Date: '',
@@ -2816,7 +2823,7 @@ export class Shopping {
2816
2823
  carData.total = data.total ?? 0;
2817
2824
  carData.rebate = tempVoucher.rebate_total;
2818
2825
 
2819
- if (tempVoucher.reBackType == 'shipment_free') {
2826
+ if (tempVoucher.reBackType == 'shipment_free' || type == 'split') {
2820
2827
  carData.shipment_fee = 0;
2821
2828
  }
2822
2829
 
@@ -2988,7 +2995,7 @@ export class Shopping {
2988
2995
  ReturnURL: '',
2989
2996
  NotifyURL: '',
2990
2997
  };
2991
- // 線下付款
2998
+ // 金流處理
2992
2999
  switch (carData.customer_info.payment_select) {
2993
3000
  case 'ecPay':
2994
3001
  case 'newWebPay':
@@ -3122,6 +3129,162 @@ export class Shopping {
3122
3129
  }
3123
3130
  }
3124
3131
 
3132
+ async repayOrder(orderID: string, return_url: string) {
3133
+ const app = this.app;
3134
+
3135
+ async function getOrder(orderID: string) {
3136
+ try {
3137
+ const result = await db.query(
3138
+ `
3139
+ SELECT *
3140
+ FROM \`${app}\`.t_checkout
3141
+ WHERE cart_token = ?`,
3142
+ [orderID]
3143
+ );
3144
+ return result[0];
3145
+ } catch (e: any) {
3146
+ console.error(`查詢 orderID ${orderID} 的結帳資料時發生錯誤:`, e.message || e);
3147
+ // 處理錯誤的方式:
3148
+ // 選擇 1:返回 null,讓呼叫者知道操作失敗或未找到資料
3149
+ return null;
3150
+ }
3151
+ }
3152
+
3153
+ const sqlData: any = await getOrder(orderID);
3154
+
3155
+ if (sqlData) {
3156
+ const orderData: {
3157
+ lineItems: CartItem[];
3158
+ customer_info?: any; //顧客資訊 訂單人
3159
+ email?: string;
3160
+ return_url: string;
3161
+ orderID?: string;
3162
+ user_info: any; //取貨人資訊
3163
+ code?: string;
3164
+ use_rebate?: number;
3165
+ use_wallet?: number;
3166
+ checkOutType?: 'manual' | 'auto' | 'POS' | 'group_buy';
3167
+ pos_store?: string;
3168
+ voucher?: any; //自定義的voucher
3169
+ discount?: number; //自定義金額
3170
+ total?: number; //自定義總額
3171
+ pay_status?: number; //自定義訂單狀態
3172
+ custom_form_format?: any; //自定義表單格式
3173
+ custom_form_data?: any; //自定義表單資料
3174
+ custom_receipt_form?: any; //自定義配送表單格式
3175
+ distribution_code?: string; //分銷連結代碼
3176
+ code_array: string[]; // 優惠券代碼列表
3177
+ give_away?: {
3178
+ id: number;
3179
+ spec: string[];
3180
+ count: number;
3181
+ voucher_id: string;
3182
+ }[];
3183
+ language?: 'en-US' | 'zh-CN' | 'zh-TW';
3184
+ pos_info?: any; //POS結帳資訊;
3185
+ invoice_select?: string;
3186
+ pre_order?: boolean;
3187
+ voucherList?: any;
3188
+ isExhibition?: boolean;
3189
+ client_ip_address?: string;
3190
+ fbc?: string;
3191
+ fbp?: string;
3192
+ temp_cart_id?: string;
3193
+ shipment_fee?: number;
3194
+ rebate?: number;
3195
+ } = sqlData.orderData;
3196
+ if (!orderData) {
3197
+ throw exception.BadRequestError('BAD_REQUEST', 'ToCheckout Error: Cannot find this orderID', null);
3198
+ }
3199
+ const keyData = (
3200
+ await Private_config.getConfig({
3201
+ appName: this.app,
3202
+ key: 'glitter_finance',
3203
+ })
3204
+ )[0].value;
3205
+
3206
+ // 物流設定
3207
+ const shipment_setting: any = await (async () => {
3208
+ try {
3209
+ const config = await Private_config.getConfig({
3210
+ appName: this.app,
3211
+ key: 'logistics_setting',
3212
+ });
3213
+
3214
+ // 如果 config 為空,則返回預設值
3215
+ if (!config) {
3216
+ return {
3217
+ support: [],
3218
+ shipmentSupport: [],
3219
+ };
3220
+ }
3221
+
3222
+ // 返回第一個元素的 value 屬性
3223
+ return config[0].value;
3224
+ } catch (e) {
3225
+ // 發生錯誤時返回空陣列
3226
+ return [];
3227
+ }
3228
+ })();
3229
+
3230
+ let kd = keyData[orderData.customer_info.payment_select] ?? {
3231
+ ReturnURL: '',
3232
+ NotifyURL: '',
3233
+ };
3234
+ const newOrderID = Date.now();
3235
+ const carData: Cart = {
3236
+ customer_info: orderData.customer_info || {},
3237
+ lineItems: orderData.lineItems ?? [],
3238
+ total: orderData.total ?? 0,
3239
+ email: sqlData.email ?? orderData.user_info?.email ?? '',
3240
+ user_info: orderData.user_info,
3241
+ shipment_fee: orderData.shipment_fee ?? 0,
3242
+ rebate: orderData.rebate ?? 0,
3243
+ goodsWeight: 0,
3244
+ use_rebate: orderData.use_rebate || 0,
3245
+ orderID: `${newOrderID}`,
3246
+ shipment_support: shipment_setting.support as any,
3247
+ shipment_info: shipment_setting.info as any,
3248
+ shipment_selector: [
3249
+ // 標準物流
3250
+ ...Shipment_support_config.list.map(dd => ({
3251
+ name: dd.title,
3252
+ value: dd.value,
3253
+ })),
3254
+ // 自定義物流
3255
+ ...(shipment_setting.custom_delivery ?? []).map((dd: any) => ({
3256
+ form: dd.form,
3257
+ name: dd.name,
3258
+ value: dd.id,
3259
+ system_form: dd.system_form,
3260
+ })),
3261
+ ].filter(option => shipment_setting.support.includes(option.value)),
3262
+ use_wallet: 0,
3263
+ method: sqlData.user_info?.method,
3264
+ user_email: sqlData.email ?? orderData.user_info?.email ?? '',
3265
+ useRebateInfo: sqlData.useRebateInfo,
3266
+ custom_form_format: sqlData.custom_form_format,
3267
+ custom_form_data: sqlData.custom_form_data,
3268
+ custom_receipt_form: sqlData.custom_receipt_form,
3269
+ orderSource: sqlData.orderSource === 'POS' ? 'POS' : '',
3270
+ code_array: sqlData.code_array,
3271
+ give_away: sqlData.give_away as any,
3272
+ user_rebate_sum: 0,
3273
+ language: sqlData.language,
3274
+ pos_info: sqlData.pos_info,
3275
+ client_ip_address: sqlData.client_ip_address as string,
3276
+ fbc: sqlData.fbc as string,
3277
+ fbp: sqlData.fbp as string,
3278
+ editRecord: [],
3279
+ };
3280
+ const result = await new PaymentTransaction(this.app, orderData.customer_info.payment_select).processPayment(
3281
+ carData
3282
+ );
3283
+ }
3284
+
3285
+ // return result
3286
+ }
3287
+
3125
3288
  async getReturnOrder(query: {
3126
3289
  page: number;
3127
3290
  limit: number;
@@ -3411,6 +3574,9 @@ export class Shopping {
3411
3574
 
3412
3575
  async splitOrder(obj: { orderData: Cart; splitOrderArray: OrderDetail[] }) {
3413
3576
  try {
3577
+ const currentTime = new Date().toISOString();
3578
+
3579
+ //給定訂單編號 產生 編號A 編號B... 依此類推
3414
3580
  function generateOrderIds(orderId: string, arrayLength: number): string[] {
3415
3581
  const orderIdArray: string[] = [];
3416
3582
  const startChar = 'A'.charCodeAt(0); // 取得 'A' 的 ASCII 碼
@@ -3423,6 +3589,7 @@ export class Shopping {
3423
3589
 
3424
3590
  return orderIdArray;
3425
3591
  }
3592
+
3426
3593
  //整理原本訂單的總價 優惠卷
3427
3594
  function refreshOrder(orderData: Cart, splitOrderArray: OrderDetail[]) {
3428
3595
  const { newTotal, newDiscount } = splitOrderArray.reduce(
@@ -3434,27 +3601,51 @@ export class Shopping {
3434
3601
  },
3435
3602
  { newTotal: 0, newDiscount: 0 }
3436
3603
  );
3437
-
3438
- orderData.total = newTotal;
3439
- orderData.discount = newDiscount;
3604
+ orderData.total = orderData.total - newTotal;
3605
+ orderData.discount = (orderData.discount ?? 0) - newDiscount;
3606
+ orderData.splitOrders = generateOrderIds(orderData.orderID, splitOrderArray.length) ?? [];
3607
+ orderData.editRecord.push({
3608
+ time: currentTime,
3609
+ record: `拆分成 ${splitOrderArray.length} 筆子訂單\\n${orderData.splitOrders.map(orderID => `{{order=${orderID}}}`).join('\\n')}`,
3610
+ });
3440
3611
  }
3612
+
3441
3613
  const orderData = obj.orderData;
3442
3614
  const splitOrderArray = obj.splitOrderArray;
3443
3615
  refreshOrder(orderData, splitOrderArray);
3444
-
3445
- try {
3446
- await db.query(
3447
- `UPDATE \`${this.app}\`.t_checkout
3448
- SET orderData = ?
3449
- WHERE cart_token = ?;`,
3450
- [JSON.stringify(orderData), orderData.orderID]
3616
+ await this.putOrder({
3617
+ cart_token: orderData.orderID,
3618
+ orderData,
3619
+ });
3620
+ for (const [index, order] of splitOrderArray.entries()) {
3621
+ await this.toCheckout(
3622
+ {
3623
+ code_array: [],
3624
+ order_id: orderData?.splitOrders?.[index] ?? '',
3625
+ line_items: order.lineItems as any,
3626
+ customer_info: order.customer_info,
3627
+ return_url: '',
3628
+ user_info: order.user_info,
3629
+ discount: order.discount,
3630
+ voucher: order.voucher,
3631
+ total: order.total,
3632
+ pay_status: Number(order.pay_status),
3633
+ },
3634
+ 'split'
3451
3635
  );
3452
- } catch (e: any) {
3453
- console.error(e);
3454
- throw exception.BadRequestError('BAD_REQUEST', 'putOrder Error:' + e, null);
3455
3636
  }
3456
3637
 
3457
- const currentTime = new Date().toISOString();
3638
+ // try {
3639
+ // await db.query(
3640
+ // `UPDATE \`${this.app}\`.t_checkout
3641
+ // SET orderData = ?
3642
+ // WHERE cart_token = ?;`,
3643
+ // [JSON.stringify(orderData), orderData.orderID]
3644
+ // );
3645
+ // }catch (e:any){
3646
+ // console.error(e);
3647
+ // throw exception.BadRequestError('BAD_REQUEST', 'putOrder Error:' + e, null);
3648
+ // }
3458
3649
 
3459
3650
  return true;
3460
3651
  } catch (e) {
@@ -3882,7 +4073,7 @@ export class Shopping {
3882
4073
  return cart;
3883
4074
  }
3884
4075
 
3885
- async putOrder(data: { id?: string; cart_token?: string; orderData: any; status: any; spiltOrder?: string[] }) {
4076
+ async putOrder(data: { id?: string; cart_token?: string; orderData: any; status?: any }) {
3886
4077
  try {
3887
4078
  const update: any = {};
3888
4079
  const storeConfig = await new User(this.app).getConfigV2({ key: 'store_manager', user_id: 'manager' });
@@ -3892,7 +4083,9 @@ export class Shopping {
3892
4083
  const value = data.cart_token ?? data.id;
3893
4084
 
3894
4085
  if (whereClause && value) {
3895
- const query = `SELECT * FROM \`${this.app}\`.t_checkout WHERE ${whereClause};`;
4086
+ const query = `SELECT *
4087
+ FROM \`${this.app}\`.t_checkout
4088
+ WHERE ${whereClause};`;
3896
4089
  const result = await db.query(query, [value]);
3897
4090
  origin = result[0];
3898
4091
  }
@@ -3906,6 +4099,8 @@ export class Shopping {
3906
4099
 
3907
4100
  if (data.status !== undefined) {
3908
4101
  update.status = data.status;
4102
+ } else {
4103
+ data.status = update.status;
3909
4104
  }
3910
4105
 
3911
4106
  // lineItems 庫存修正
@@ -4003,7 +4198,9 @@ export class Shopping {
4003
4198
  {}
4004
4199
  );
4005
4200
  await db.query(
4006
- `UPDATE \`${this.app}\`.t_checkout SET ? WHERE id = ?;
4201
+ `UPDATE \`${this.app}\`.t_checkout
4202
+ SET ?
4203
+ WHERE id = ?;
4007
4204
  `,
4008
4205
  [updateData, origin.id]
4009
4206
  );
@@ -4438,7 +4635,8 @@ export class Shopping {
4438
4635
  try {
4439
4636
  let querySql = ['1=1'];
4440
4637
  let orderString = 'order by id desc';
4441
-
4638
+ const timer = new UtTimer('get-checkout-info');
4639
+ timer.checkPoint('start');
4442
4640
  if (query.search && query.searchType) {
4443
4641
  switch (query.searchType) {
4444
4642
  case 'cart_token':
@@ -4462,6 +4660,9 @@ export class Shopping {
4462
4660
  `(cart_token in (select order_id from \`${this.app}\`.t_invoice_memory where invoice_no like '%${query.search}%' ))`
4463
4661
  );
4464
4662
  break;
4663
+ case 'cart_token_exact':
4664
+ querySql.push(`(cart_token = '${query.search}')`);
4665
+ break;
4465
4666
  default:
4466
4667
  querySql.push(
4467
4668
  `JSON_CONTAINS_PATH(orderData, 'one', '$.lineItems[*].title') AND JSON_UNQUOTE(JSON_EXTRACT(orderData, '$.lineItems[*].${query.searchType}')) REGEXP '${query.search}'`
@@ -4526,7 +4727,6 @@ export class Shopping {
4526
4727
 
4527
4728
  querySql.push(countingSQL);
4528
4729
  }
4529
-
4530
4730
  if (query.is_shipment) {
4531
4731
  querySql.push(`(shipment_number IS NOT NULL) and (shipment_number != '')`);
4532
4732
  }
@@ -4541,7 +4741,6 @@ export class Shopping {
4541
4741
  .join(',')})`
4542
4742
  );
4543
4743
  }
4544
-
4545
4744
  if (query.progress) {
4546
4745
  //備貨中
4547
4746
  if (query.progress === 'in_stock') {
@@ -4558,7 +4757,6 @@ export class Shopping {
4558
4757
  temp += `progress IN (${newArray.map(status => `"${status}"`).join(',')})`;
4559
4758
  querySql.push(`(${temp})`);
4560
4759
  }
4561
-
4562
4760
  if (query.distribution_code) {
4563
4761
  let codes = query.distribution_code.split(',');
4564
4762
  let temp = '';
@@ -4571,7 +4769,6 @@ export class Shopping {
4571
4769
  } else if (query.is_pos === 'false') {
4572
4770
  querySql.push(`(order_source!='POS' or order_source is null)`);
4573
4771
  }
4574
-
4575
4772
  if (query.shipment) {
4576
4773
  let shipment = query.shipment.split(',');
4577
4774
  let temp = '';
@@ -4617,7 +4814,6 @@ export class Shopping {
4617
4814
  break;
4618
4815
  }
4619
4816
  }
4620
-
4621
4817
  query.status && querySql.push(`o.status IN (${query.status})`);
4622
4818
  const orderMath = [];
4623
4819
 
@@ -4648,6 +4844,7 @@ export class Shopping {
4648
4844
  FROM \`${this.app}\`.t_checkout o
4649
4845
  LEFT JOIN \`${this.app}\`.t_invoice_memory i ON o.cart_token = i.order_id and i.status = 1
4650
4846
  WHERE ${querySql.join(' and ')} ${orderString}`;
4847
+ timer.checkPoint('start-query-sql');
4651
4848
  if (query.returnSearch == 'true') {
4652
4849
  const data = await db.query(
4653
4850
  `SELECT *
@@ -4655,7 +4852,6 @@ export class Shopping {
4655
4852
  WHERE cart_token = ${db.escape(query.search)}`,
4656
4853
  []
4657
4854
  );
4658
-
4659
4855
  let returnSql = `SELECT *
4660
4856
  FROM \`${this.app}\`.t_return_order
4661
4857
  WHERE order_id = ${query.search}`;
@@ -4678,6 +4874,7 @@ export class Shopping {
4678
4874
  return data[0];
4679
4875
  }
4680
4876
  const response_data: any = await new Promise(async (resolve, reject) => {
4877
+ timer.checkPoint('start-query-response_data');
4681
4878
  if (query.id) {
4682
4879
  const data = (
4683
4880
  await db.query(
@@ -4692,13 +4889,16 @@ export class Shopping {
4692
4889
  result: !!data,
4693
4890
  });
4694
4891
  } else {
4892
+ const data = await db.query(
4893
+ `SELECT *
4894
+ FROM (${sql}) as subqyery limit ${query.page * query.limit}, ${query.limit}
4895
+ `,
4896
+ []
4897
+ );
4898
+ timer.checkPoint('finish-query-response_data');
4899
+ console.log(sql);
4695
4900
  resolve({
4696
- data: await db.query(
4697
- `SELECT *
4698
- FROM (${sql}) as subqyery limit ${query.page * query.limit}, ${query.limit}
4699
- `,
4700
- []
4701
- ),
4901
+ data: data,
4702
4902
  total: (
4703
4903
  await db.query(
4704
4904
  `SELECT count(1)
@@ -4796,7 +4996,7 @@ export class Shopping {
4796
4996
  })
4797
4997
  )
4798
4998
  );
4799
-
4999
+ timer.checkPoint('finish-query-all');
4800
5000
  return response_data;
4801
5001
  } catch (e) {
4802
5002
  throw exception.BadRequestError('BAD_REQUEST', 'getCheckOut Error:' + e, null);
@@ -5151,7 +5351,8 @@ export class Shopping {
5151
5351
  }
5152
5352
 
5153
5353
  const insertData = await db.query(
5154
- `INSERT INTO \`${this.app}\`.t_variants SET ?
5354
+ `INSERT INTO \`${this.app}\`.t_variants
5355
+ SET ?
5155
5356
  `,
5156
5357
  [
5157
5358
  {
@@ -6179,7 +6380,16 @@ export class Shopping {
6179
6380
  }
6180
6381
 
6181
6382
  query.id && querySql.push(`(v.id = ${query.id})`);
6182
- query.id_list && querySql.push(`(v.id in (${query.id_list}))`);
6383
+ if (query.id_list) {
6384
+ if (query.id_list?.includes('-')) {
6385
+ querySql.push(`(v.product_id in (${query.id_list.split(',').map((dd)=>{
6386
+ return dd.split('-')[0]
6387
+ })}))`);
6388
+ } else {
6389
+ querySql.push(`(v.id in (${query.id_list}))`);
6390
+ }
6391
+ }
6392
+
6183
6393
  query.collection &&
6184
6394
  querySql.push(
6185
6395
  `(${query.collection
@@ -6367,22 +6577,23 @@ export class Shopping {
6367
6577
  WHERE id = ?`,
6368
6578
  [{ content: JSON.stringify(data.variant_content) }, data.id]
6369
6579
  );
6370
- let variants=(await db.query(
6371
- `SELECT *
6580
+ let variants = (
6581
+ await db.query(
6582
+ `SELECT *
6372
6583
  FROM \`${this.app}\`.t_variants
6373
6584
  WHERE product_id = ?`,
6374
- [data.product_id]
6375
- )).map((dd:any)=>{
6376
- return dd.content
6585
+ [data.product_id]
6586
+ )
6587
+ ).map((dd: any) => {
6588
+ return dd.content;
6377
6589
  });
6378
- data.product_content.variants=variants;
6590
+ data.product_content.variants = variants;
6379
6591
  await db.query(
6380
6592
  `UPDATE \`${this.app}\`.t_manager_post
6381
6593
  SET ?
6382
6594
  WHERE id = ?`,
6383
6595
  [{ content: JSON.stringify(data.product_content) }, data.product_id]
6384
6596
  );
6385
-
6386
6597
  }
6387
6598
  return {
6388
6599
  result: 'success',
@@ -1 +1 @@
1
- {"version":3,"file":"terms-check.js","sourceRoot":"","sources":["terms-check.ts"],"names":[],"mappings":";;;AAAA,MAAa,UAAU;IAEZ,MAAM,CAAE,KAAK,CAAC,GAAW;QAC5B,QAAQ,GAAG,EAAE;YACT,KAAK,4BAA4B;gBAC7B,OAAO;oBACH,MAAM,EAAE,m3zCAAm3zC;iBAC93zC,CAAA;YACL,KAAK,8BAA8B;gBAC/B,OAAO;oBACH,MAAM,EAAE,kipCAAkipC;iBAC7ipC,CAAA;YACL,KAAK,0BAA0B;gBAC3B,OAAO,EAAC,MAAM,EAAE,0gxCAA0gxC,EAAC,CAAA;YAC/hxC,KAAK,6BAA6B;gBAC9B,OAAO,EAAC,MAAM,EAAE,s7nCAAs7nC,EAAC,CAAA;SAC98nC;QACD,OAAQ;YACJ,MAAM,EAAC,EAAE;SACZ,CAAA;IAEL,CAAC;CACJ;AAtBD,gCAsBC"}
1
+ {"version":3,"file":"terms-check.js","sourceRoot":"","sources":["terms-check.ts"],"names":[],"mappings":";;;AAAA,MAAa,UAAU;IAEZ,MAAM,CAAE,KAAK,CAAC,GAAW;QAC5B,QAAQ,GAAG,EAAE,CAAC;YACV,KAAK,4BAA4B;gBAC7B,OAAO;oBACH,MAAM,EAAE,m3zCAAm3zC;iBAC93zC,CAAA;YACL,KAAK,8BAA8B;gBAC/B,OAAO;oBACH,MAAM,EAAE,kipCAAkipC;iBAC7ipC,CAAA;YACL,KAAK,0BAA0B;gBAC3B,OAAO,EAAC,MAAM,EAAE,0gxCAA0gxC,EAAC,CAAA;YAC/hxC,KAAK,6BAA6B;gBAC9B,OAAO,EAAC,MAAM,EAAE,s7nCAAs7nC,EAAC,CAAA;QAC/8nC,CAAC;QACD,OAAQ;YACJ,MAAM,EAAC,EAAE;SACZ,CAAA;IAEL,CAAC;CACJ;AAtBD,gCAsBC"}
@@ -199,6 +199,28 @@ class UpdatedTableChecked {
199
199
  CHANGE COLUMN \`count\` \`count\` FLOAT NOT NULL;
200
200
  `,
201
201
  });
202
+ await UpdatedTableChecked.update({
203
+ app_name: app_name,
204
+ table_name: 't_user',
205
+ last_version: ['V1.2'],
206
+ new_version: 'V1.3',
207
+ event: `ALTER TABLE \`${app_name}\`.\`t_user\`
208
+ ADD COLUMN \`email\` VARCHAR(50) NULL AFTER \`member_level\`,
209
+ ADD COLUMN \`phone\` VARCHAR(50) NULL AFTER \`email\`,
210
+ ADD INDEX \`index8\` (\`email\` ASC) VISIBLE,
211
+ ADD INDEX \`index9\` (\`phone\` ASC) VISIBLE;
212
+ ;`,
213
+ });
214
+ await UpdatedTableChecked.update({
215
+ app_name: app_name,
216
+ table_name: 't_user',
217
+ last_version: ['V1.3'],
218
+ new_version: 'V1.4',
219
+ event: `UPDATE \`${app_name}\`.t_user
220
+ SET
221
+ phone = JSON_UNQUOTE(JSON_EXTRACT(userData, '$.phone')),
222
+ email = JSON_UNQUOTE(JSON_EXTRACT(userData, '$.email')) where id>0`,
223
+ });
202
224
  }
203
225
  static async update(obj) {
204
226
  var _a;
@@ -1 +1 @@
1
- {"version":3,"file":"updated-table-checked.js","sourceRoot":"","sources":["updated-table-checked.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"updated-table-checked.js","sourceRoot":"","sources":["updated-table-checked.ts"],"names":[],"mappings":"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"}
@@ -209,6 +209,34 @@ export class UpdatedTableChecked {
209
209
  CHANGE COLUMN \`count\` \`count\` FLOAT NOT NULL;
210
210
  `,
211
211
  });
212
+
213
+ //會員表插入信箱和電話
214
+ await UpdatedTableChecked.update({
215
+ app_name: app_name,
216
+ table_name: 't_user',
217
+ last_version: ['V1.2'],
218
+ new_version: 'V1.3',
219
+ event: `ALTER TABLE \`${app_name}\`.\`t_user\`
220
+ ADD COLUMN \`email\` VARCHAR(50) NULL AFTER \`member_level\`,
221
+ ADD COLUMN \`phone\` VARCHAR(50) NULL AFTER \`email\`,
222
+ ADD INDEX \`index8\` (\`email\` ASC) VISIBLE,
223
+ ADD INDEX \`index9\` (\`phone\` ASC) VISIBLE;
224
+ ;`,
225
+ });
226
+
227
+ //會員表插入信箱和電話
228
+ await UpdatedTableChecked.update({
229
+ app_name: app_name,
230
+ table_name: 't_user',
231
+ last_version: ['V1.3'],
232
+ new_version: 'V1.4',
233
+ event:`UPDATE \`${app_name}\`.t_user
234
+ SET
235
+ phone = JSON_UNQUOTE(JSON_EXTRACT(userData, '$.phone')),
236
+ email = JSON_UNQUOTE(JSON_EXTRACT(userData, '$.email')) where id>0`,
237
+ });
238
+
239
+
212
240
  }
213
241
 
214
242
  public static async update(obj: {
@@ -0,0 +1,9 @@
1
+ export declare class UserService {
2
+ static updateAndMigrateToTableColumn(obj: {
3
+ id?: string;
4
+ cart_token?: string;
5
+ orderData: any;
6
+ app_name: string;
7
+ no_shipment_number?: boolean;
8
+ }): Promise<void>;
9
+ }
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UserService = void 0;
4
+ class UserService {
5
+ static async updateAndMigrateToTableColumn(obj) {
6
+ }
7
+ }
8
+ exports.UserService = UserService;
9
+ //# sourceMappingURL=user-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-service.js","sourceRoot":"","sources":["user-service.ts"],"names":[],"mappings":";;;AAAA,MAAa,WAAW;IACf,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,GAMjD;IAED,CAAC;CACF;AAVD,kCAUC"}
@@ -0,0 +1,11 @@
1
+ export class UserService{
2
+ public static async updateAndMigrateToTableColumn(obj: {
3
+ id?: string;
4
+ cart_token?: string;
5
+ orderData: any;
6
+ app_name: string;
7
+ no_shipment_number?: boolean;
8
+ }) {
9
+
10
+ }
11
+ }