Compare commits

...

297 Commits

Author SHA1 Message Date
Minh Nguyen 9c48edf1e3 Merge pull request 'add-field-store-code-warehouse' (#177) from feature/add-field-store-code-warehouse into master
Reviewed-on: #177
2024-08-08 06:49:02 +00:00
Nguyen Minh 78194a2d43 add-field-store-code-warehouse 2024-08-05 10:18:45 +07:00
sinhluu 0f40121bf7 Merge pull request 'viettel-ffm' (#175) from viettel-ffm into master
Reviewed-on: #175
2024-07-11 03:01:10 +00:00
Minh Nguyen de84fdc2bf Merge pull request 'webhook-vietinbank' (#174) from feature/webhook-vietinbank into master
Reviewed-on: #174
2024-07-09 02:26:16 +00:00
Minh Nguyen 72d45ed239 Merge pull request 'feature/limit-create-order-based-warehouse-conditions' (#173) from feature/limit-create-order-based-warehouse-conditions into master
Reviewed-on: #173
Reviewed-by: trunglam <trunglam@selly.vn>
2024-07-09 02:25:45 +00:00
Nguyen Minh a4a6f31ec6 webhook-vietinbank 2024-07-05 11:47:41 +07:00
Nguyen Minh 7ab8f1f3a5 update 2024-07-03 16:45:50 +07:00
Nguyen Minh ff223e2b46 update model warehouse response nats 2024-07-03 15:36:56 +07:00
Sinh 2b0d33efc2 update nats subject 2024-06-18 15:14:57 +07:00
Sinh dfdccfa86a add partner product code 2024-06-18 11:11:24 +07:00
sinhluu 1384cae433 Merge pull request 'onpoint-stock-update' (#166) from onpoint-stock-update into master
Reviewed-on: #166
2024-05-08 07:18:01 +00:00
sinhluu c82bf48503 Merge pull request 'feat(wh_cfg): update warehouse config model' (#169) from warehouse-label-size into master
Reviewed-on: #169
2024-05-06 03:09:19 +00:00
Minh Nguyen 2e5a5b5f0f Merge pull request '/warehouse-international' (#168) from feature/warehouse-international into master
Reviewed-on: #168
2024-04-15 09:31:10 +00:00
Nguyen Minh 2d04611fee /warehouse-international 2024-04-15 11:59:54 +07:00
Sinh 1d0b13285a feat(wh_cfg): update warehouse config model 2024-04-12 10:17:40 +07:00
Minh Nguyen 2b9092ecbe Merge pull request 'feature/update-location-ward' (#164) from feature/update-location-ward into master
Reviewed-on: #164
Reviewed-by: trunglam <trunglam@selly.vn>
2024-04-10 07:23:49 +00:00
Sinh fd41b1eadf feat(onpoint): update payload 2024-04-09 12:07:51 +07:00
Sinh 9004771704 feat(warehouse): add warehouse method get list config 2024-04-08 15:40:13 +07:00
Sinh 524db8391f Merge branch 'master' of git.selly.red:Selly-Modules/natsio into onpoint-stock-update 2024-04-08 14:26:45 +07:00
sinhluu 546c45aad4 Merge pull request 'onpoint' (#165) from onpoint into master
Reviewed-on: #165
2024-04-08 07:26:30 +00:00
Sinh 3a5046f65d feat(nats): add warehouse method get list warehouse config 2024-04-08 14:25:18 +07:00
Sinh c6284f3200 feat(product): add queue OP stock update 2024-04-08 11:40:10 +07:00
Nguyen Minh 02b699f144 feature/update-location-ward 2024-03-15 14:44:15 +07:00
Sinh a409c0d17c onpoint 2023-11-29 14:10:08 +07:00
sinhluu 5edec97ee3 Merge pull request 'kiotviet' (#161) from kiotviet into master
Reviewed-on: #161
2023-10-20 09:08:41 +00:00
Sinh 430e07b7d0 add webhook model 2023-10-12 15:43:49 +07:00
Sinh 7302b78f25 add subject webhook product update 2023-10-12 09:14:53 +07:00
Sinh e84157281b add func bulk write warehouse config 2023-10-10 16:33:58 +07:00
Sinh 28178e0c31 add func update warehouse config 2023-10-10 16:11:19 +07:00
Sinh b3bde5cd09 update communication model 2023-10-06 16:39:40 +07:00
kingphon 2ba590a0a0 Merge branch 'feature/selly-mall-v1-kin' 2023-09-22 15:50:25 +07:00
kingphon a62eeb60d2 fix 2023-09-22 15:50:06 +07:00
kingphon 31a13546bb Revert "add-migration"
This reverts commit f58dfd4291.
2023-09-22 15:47:55 +07:00
kingphon b240d7a9d1 Merge pull request 'add-migration' (#159) from feature/selly-mall-v1-kin into master
Reviewed-on: #159
2023-09-22 07:47:36 +00:00
kingphon f58dfd4291 add-migration 2023-09-22 14:47:16 +07:00
kingphon ba8af50460 Merge pull request 'add-field-mall' (#158) from feature/selly-mall-v1-kin into master
Reviewed-on: #158
2023-09-22 04:26:06 +00:00
kingphon 8dd914ca4e add-field-mall 2023-09-22 11:15:56 +07:00
trunglam 10aec9f710 Merge pull request '[Update] warehouse response' (#156) from fundiin into master
Reviewed-on: #156
2023-05-10 07:00:58 +00:00
trunglt251292 1c7e947344 [Update] warehouse response 2023-05-10 14:00:08 +07:00
sinhluu 898ee7822f Merge pull request 'order-warning' (#155) from order-warning into master
Reviewed-on: #155
2023-04-14 02:37:55 +00:00
sinhluu 1ca2e5720e Merge pull request 'update warehouse config' (#154) from order/notify-on-new-order-for-warehouse into master
Reviewed-on: #154
2023-04-11 02:52:36 +00:00
Sinh 202dca2c28 update warehouse config 2023-04-05 16:00:36 +07:00
Sinh 1579e563ac update nats order response 2023-03-31 14:56:34 +07:00
Sinh a432e7fd44 update socket client 2023-03-27 15:44:39 +07:00
Sinh 041dd43616 update order client 2023-03-27 15:10:21 +07:00
Minh Nguyen aaf8de9830 Merge pull request 'saving campaign' (#153) from feature/saving-campaign-bk into master
Reviewed-on: #153
2023-03-24 07:25:45 +00:00
Nguyen Minh 9c2f55e434 fix conflict 2023-03-24 14:19:33 +07:00
Nguyen Minh 8ed19af4ea change struct socket reward payload 2023-03-23 14:31:06 +07:00
Nguyen Minh 985a86dbd7 model 2023-03-23 10:46:10 +07:00
Nguyen Minh afd6b215d6 reqrep socket 2023-03-23 10:34:58 +07:00
Minh Nguyen d6f50295c7 Merge pull request 'feauture-subject-subscriber-topic' (#150) from feauture-subject-subscriber-topic into master
Reviewed-on: #150
2023-03-20 04:07:04 +00:00
sinhluu 983731715b Merge pull request 'notify change price product' (#149) from product/notify-change-price into master
Reviewed-on: #149
2023-03-14 08:02:54 +00:00
Sinh d03758a32d Merge master 2023-03-14 15:02:32 +07:00
Nguyen Minh 71d674b74c update 2023-03-14 11:47:16 +07:00
Nguyen Minh 41b79b4ae8 jet stream generate voucher promotion 2023-03-14 11:34:38 +07:00
sinhluu 53b2215309 Merge pull request 'product request multi step' (#146) from product/update-request-multi-step into master
Reviewed-on: #146
2023-03-14 03:53:10 +00:00
Nguyen Minh ffe9418671 rerun 2023-03-02 14:15:15 +07:00
Nguyen Minh 7b01640583 update js model 2023-03-02 11:44:13 +07:00
Sinh 2e069b94e7 product request multi step 2023-03-01 14:40:34 +07:00
Sinh aee7b01b40 notify change price product 2023-03-01 10:42:54 +07:00
tuannt20 2f64f1fa37 update 2023-02-28 18:04:14 +07:00
tuannt20 a1d6840fd9 add field get list seller by ids 2023-02-28 17:14:49 +07:00
Nguyen Minh 0401a57930 add model subject subscriber topic 2023-02-28 15:14:49 +07:00
Nguyen Minh 79ad5c401c subject-subscriber-topic 2023-02-28 15:06:06 +07:00
trunglam e64ba040b0 Merge pull request 'init' (#139) from location-by-ward-code into master
Reviewed-on: #139
2023-02-06 02:29:03 +00:00
quang dba7cf4691 init 2023-02-03 17:20:44 +07:00
sinhluu 0269010ce8 Merge pull request 'supplier-setup-product' (#138) from supplier-setup-product into master
Reviewed-on: #138
2023-02-03 07:53:48 +00:00
Sinh 4c328c0858 Merge branch 'master' of git.selly.red:Selly-Modules/natsio into supplier-setup-product 2023-01-31 16:21:24 +07:00
trunglam 6626bc8588 Merge pull request 'fix-holiday-product' (#137) from fix-holiday-product into master
Reviewed-on: #137
2023-01-31 03:31:48 +00:00
anbuiselly f4f15ea224 Merge branch 'master' of git.selly.red:Selly-Modules/natsio into fix-holiday-product 2023-01-18 14:29:13 +07:00
trunglam f43a99628e Merge pull request 'location' (#135) from refactor-location-1701 into master
Reviewed-on: #135
2023-01-18 02:27:48 +00:00
trunglt251292 5a47acc373 change name 2023-01-17 17:22:28 +07:00
quang f32844916a location 2023-01-17 16:29:47 +07:00
anbuiselly 49156e576d fix 2023-01-17 14:23:24 +07:00
anbuiselly 292c7733f0 edit struct update_status_warehouse_pending_inactive 2023-01-17 14:15:27 +07:00
anbuiselly 9a30faa3a2 edit update update_pending_in_active_product_by_warehouse_ids 2023-01-17 11:35:38 +07:00
anbuiselly f9b2edb032 update_pending_active_product_by_warehouse_ids 2023-01-17 11:20:27 +07:00
Minh Nguyen cf88c46708 Merge pull request 'feature-campaign-get-seller-statistic' (#127) from feature-campaign-get-seller-statistic into master
Reviewed-on: #127
2023-01-12 03:44:46 +00:00
Nguyen Minh 2003cb4e49 update 2023-01-11 10:21:02 +07:00
Nguyen Minh 67b99f7774 campaign-get-seller-statistic 2023-01-11 09:27:49 +07:00
Sinh df1fbbcf57 Merge branch 'master' into supplier-setup-product 2023-01-10 16:55:55 +07:00
truongvo 74277cc390 Merge pull request 'setup-holiday-supplier-tool' (#123) from setup-holiday-supplier-tool into master
Reviewed-on: #123
2023-01-10 08:03:36 +00:00
anbuiselly 39614ca4c5 add get-detail-supplier-info 2023-01-10 11:27:36 +07:00
Sinh 1edc683dd5 add subject process product req 2023-01-09 15:56:46 +07:00
buiphuan0211 9b758ee785 fix 2022-12-29 14:10:44 +07:00
buiphuan0211 64c7fca2cc rename subj 2022-12-29 13:58:16 +07:00
buiphuan0211 4fd0a89acd edit check token supplier user 2022-12-29 13:49:04 +07:00
Sinh e7888e2c4c Merge branch 'master' of git.selly.red:Selly-Modules/natsio into supplier-setup-product 2022-12-29 10:02:35 +07:00
buiphuan0211 ec9dedad0d change res check-token-supllier 2022-12-27 23:49:25 +07:00
buiphuan0211 7f548f0931 fix 2022-12-27 16:37:48 +07:00
buiphuan0211 71be64db27 edit requestPayload check token supplier 2022-12-27 16:16:08 +07:00
Sinh 252c82f1e4 add client queue 2022-12-26 15:16:46 +07:00
Sinh e66596baf6 define nats queue 2022-12-26 15:12:48 +07:00
Sinh b19fea04c8 define nats product 2022-12-26 14:08:14 +07:00
buiphuan0211 54f5c45488 edit response checkTokenSupplier 2022-12-24 13:50:58 +07:00
buiphuan0211 b5d7425114 add field permission checkTokenSupplier 2022-12-23 15:13:35 +07:00
buiphuan0211 daac1da25d delete suppler-holiday && add checkTokenSupplier 2022-12-23 14:47:09 +07:00
buiphuan0211 5ec216067d add field supplier-holiday 2022-12-23 11:36:33 +07:00
buiphuan0211 e00922334c fix add file source supplierHolidayPayloadCreate 2022-12-23 11:23:31 +07:00
buiphuan0211 067db84489 add get,create, update supplier-holiday 2022-12-23 03:32:15 +07:00
sinhluu 1f4edb64ab Merge pull request 'setup-holiday-warehouse-admin' (#110) from setup-holiday-warehouse-admin into master
Reviewed-on: #110
2022-12-21 09:07:50 +00:00
buiphuan0211 77ec5ee6c1 delete field form-to-holiday in WarehouseNatsResponse 2022-12-20 11:48:36 +07:00
buiphuan0211 ea80206619 add field from-to holiday WarehouseNatsResponse 2022-12-20 11:13:11 +07:00
anbuiselly 67a5afa933 add field IsPendingInactive 2022-12-14 10:52:38 +07:00
anbuiselly c1a5444e5e edit res warehouse 2022-12-12 14:25:40 +07:00
anbuiselly aa3a201b18 edit response warehouse 2022-12-12 14:07:28 +07:00
Sinh 46539db236 update get warehouse condition 2022-12-09 10:05:41 +07:00
trunglam b39948c635 Merge pull request 'export-data-affiliate-transaction' (#103) from export-data-affiliate-transaction into master
Reviewed-on: #103
2022-12-07 06:53:36 +00:00
anbuiselly 23eebdce8a change code 2022-12-07 13:48:43 +07:00
Minh Nguyen fa80e0d707 Merge pull request 'add response' (#102) from feature/add-response-data-export-update into master
Reviewed-on: #102
2022-12-05 10:25:33 +00:00
tuannt20 99894963e6 add response 2022-12-05 12:04:43 +07:00
anbuiselly 0d69cc3357 change model get transaction 2022-12-04 21:25:42 +07:00
anbuiselly 5b7d8329ae update model gettransaction 2022-12-04 21:05:25 +07:00
anbuiselly d7c2660ae2 edit getTransactionRequest 2022-12-04 21:01:43 +07:00
anbuiselly 599d36120e edit getTransactionRequest 2022-12-04 20:57:25 +07:00
anbuiselly 7c05aa7011 get list affiliate-transaction 2022-12-04 20:43:54 +07:00
Minh Nguyen 24f0e88472 Merge pull request 'feature/campaign-completed' (#94) from feature/campaign-completed into master
Reviewed-on: #94
2022-12-02 06:58:08 +00:00
Nguyen Minh 4d766bbcea fix conflict 2022-12-02 13:57:40 +07:00
tuannt20 9cec9d8c2f update field 2022-12-02 10:15:58 +07:00
tuanngo 64079b6cad Merge pull request 'add response' (#91) from feature/export-data-campaign-transaction into feature/campaign-completed
Reviewed-on: #91
2022-11-29 06:56:21 +00:00
tuannt20 aff5a872e3 add response 2022-11-29 13:54:39 +07:00
sinhluu 1d722f31a5 Merge pull request 'admin-push-notification-supplier' (#90) from admin-push-notification-supplier into master
Reviewed-on: #90
2022-11-28 03:32:05 +00:00
Sinh 25890d58bc merge branch master into 'admin-push-notification-supplier 2022-11-28 10:31:05 +07:00
tuanngo 8a30a03810 Merge pull request 'add response' (#88) from feature/export-data-campaign-transaction into feature/campaign-completed
Reviewed-on: #88
2022-11-24 08:59:53 +00:00
tuannt20 83e9aef3c9 add response 2022-11-24 15:44:25 +07:00
Minh Nguyen 1fe67e7356 Merge pull request 'fix response' (#86) from feature/export-data-campaign-transaction into feature/campaign-completed
Reviewed-on: #86
2022-11-24 07:45:59 +00:00
Nguyen Minh 6d6fe6acd2 Merge branch 'feature/campaign-completed' of git.selly.red:Selly-Modules/natsio into feature/campaign-completed 2022-11-24 14:16:06 +07:00
Nguyen Minh 8858688f0f update options 2022-11-24 14:15:53 +07:00
tuannt20 af807784ec fix response 2022-11-24 11:14:15 +07:00
Minh Nguyen b7f3c061c8 Merge pull request 'add GetCampaign' (#83) from feature/export-data-campaign-transaction into feature/campaign-completed
Reviewed-on: #83
2022-11-24 03:07:49 +00:00
tuannt20 2f278526a9 add GetCampaign 2022-11-24 09:49:41 +07:00
Minh Nguyen 436a713725 Merge pull request 'add nasts campaign transaction' (#81) from feature/export-data-campaign-transaction into feature/campaign-completed
Reviewed-on: #81
2022-11-24 02:41:01 +00:00
Sinh fb87ac7911 update nats 2022-11-24 09:38:10 +07:00
tuannt20 e3e498ed23 add nasts campaign transaction 2022-11-24 09:06:48 +07:00
Minh Nguyen 45dc489c4c Merge pull request 'fix' (#79) from feature/social-post into master
Reviewed-on: #79
2022-11-23 10:01:27 +00:00
Nguyen Minh dbf8ad502f fix 2022-11-23 16:54:31 +07:00
phuanbui 8266f7f5ff Merge pull request 'add nats' (#77) from notification-amin into admin-push-notification-supplier
Reviewed-on: #77
2022-11-23 03:30:51 +00:00
anbuiselly c47768308c add nats 2022-11-23 10:29:50 +07:00
Sinh 8248069bb8 count supplier 2022-11-23 10:08:52 +07:00
Minh Nguyen c704f10cda Merge pull request 'feature/campaign' (#76) from feature/campaign into master
Reviewed-on: #76
2022-11-22 08:39:56 +00:00
Minh Nguyen 5a2a7fbbe0 Merge pull request 'add nats staff' (#71) from feature/add-source-response-update-quantity into feature/campaign
Reviewed-on: #71
2022-11-22 03:26:24 +00:00
tuannt20 0dd3dce224 add nats staff 2022-11-22 10:04:40 +07:00
Nguyen Minh 549aee36d0 update notification opts 2022-11-18 14:52:05 +07:00
Sinh d45da3e74c nats - get supplier from old server 2022-11-18 10:13:41 +07:00
Minh Nguyen 828d4e34ba Merge pull request 'rename' (#61) from feature/get-detail-social-post into feature/campaign
Reviewed-on: #61
2022-11-17 02:32:48 +00:00
tuannt20 b8f10912c1 rename 2022-11-17 09:27:45 +07:00
Minh Nguyen cf9f8f2c63 Merge pull request 'fix' (#59) from feature/get-detail-social-post into feature/campaign
Reviewed-on: #59
2022-11-16 10:34:53 +00:00
tuannt20 26f8b64258 fix 2022-11-16 17:33:29 +07:00
Minh Nguyen cfa306d0fc Merge pull request 'nats model campaign admin' (#57) from feature/get-detail-social-post into feature/campaign
Reviewed-on: #57
2022-11-16 10:23:33 +00:00
tuannt20 6e21f72ac0 fix name func 2022-11-16 17:21:37 +07:00
tuannt20 7a213f4b4d nats model campaign admin 2022-11-16 16:43:17 +07:00
Nguyen Minh 18f4444156 fix 2022-11-14 15:11:04 +07:00
Nguyen Minh 598c886aa6 nats model campaign 2022-11-14 14:45:26 +07:00
sinhluu 75bed82def Merge pull request 'integrate-onpoint' (#55) from integrate-onpoint into master
Reviewed-on: #55
2022-11-02 09:13:30 +00:00
Sinh 4d8a64364f Merge branch 'master' of git.selly.red:Selly-Modules/natsio into integrate-onpoint 2022-11-02 09:39:52 +07:00
Sinh c007a41a06 fix subject update OR delivery 2022-11-02 09:38:52 +07:00
sinhluu df352f8bd5 Merge pull request 'integrate-onpoint' (#54) from integrate-onpoint into master
Reviewed-on: #54
2022-10-31 09:33:37 +00:00
tuenguyen fe20f69b9d Merge pull request 'build authsms' (#53) from build-auth-sms into master
Reviewed-on: #53
2022-10-28 02:32:10 +00:00
Tue e324b88fe6 build authsms 2022-10-28 09:31:39 +07:00
Tue caaf630b5e Merge branch 'build-auth-sms' of git.selly.red:Selly-Modules/natsio 2022-10-27 09:18:32 +07:00
Tue 81c7be0304 build auth sms 2022-10-27 09:17:57 +07:00
Tue 77a7b3ae6b Merge branch 'build-auth-sms' of git.selly.red:Selly-Modules/natsio 2022-10-27 09:10:14 +07:00
Tue 1c62c3c710 build auth sms 2022-10-27 09:09:48 +07:00
Minh Nguyen 5b77344442 Merge pull request 'feature/seller-add-field-planPackage' (#52) from feature/seller-add-field-planPackage into master
Reviewed-on: #52
2022-10-26 08:15:15 +00:00
sinhluu e3d80ab251 Merge pull request 'add queue subscribe json encoder' (#51) from add-queue-subscribe into master
Reviewed-on: #51
2022-10-26 08:08:16 +00:00
trunglam f35d61e456 Merge pull request 'move-config-suppliers' (#50) from move-config-suppliers into master
Reviewed-on: #50
2022-10-26 04:34:58 +00:00
tuenguyen fd7c0ad0fd Merge pull request 'build-auth-sms' (#49) from build-auth-sms into master
Reviewed-on: #49
2022-10-25 08:27:23 +00:00
Tue 9a2bd21534 build auth sms 2022-10-25 15:27:05 +07:00
trunglt251292 6065636a59 [Update] Response warehouse 2022-10-24 10:43:29 +07:00
trunglt251292 6293e62cb4 [Update] Response warehouse 2022-10-24 10:41:18 +07:00
Nguyen Minh b35a018d0a rerun 2022-10-24 10:07:14 +07:00
Sinh 4bc7195563 update OR payload 2022-10-21 09:26:37 +07:00
Tue 25cb392d93 update auth sms 2022-10-20 15:17:50 +07:00
Tue 546592f8ce update auth sms 2022-10-20 15:10:42 +07:00
Tue 9297f2d9bd update auth sms 2022-10-20 14:39:41 +07:00
Sinh 91d8ffe40f add warehouse client method 2022-10-18 14:57:14 +07:00
Sinh aa9471590d Merge branch 'add-queue-subscribe' into integrate-onpoint 2022-10-18 11:55:54 +07:00
Sinh dac9add5fb add queue subscribe json encoder 2022-10-18 11:55:33 +07:00
Sinh ae36115495 Merge branch 'master' of git.selly.red:Selly-Modules/natsio into integrate-onpoint 2022-10-18 11:50:08 +07:00
sinhluu c2887223c7 Merge pull request 'add queue subscribe' (#47) from add-queue-subscribe into master
Reviewed-on: #47
2022-10-18 04:48:10 +00:00
Sinh 77276b0ae6 add queue subscribe 2022-10-18 11:46:04 +07:00
Sinh 22396d8f40 update nats payload 2022-10-17 14:32:14 +07:00
sinhluu 128fe77631 Merge pull request 'update payload' (#45) from update-payload into master
Reviewed-on: #45
2022-10-17 07:26:17 +00:00
Sinh 831e4b8247 update payload 2022-10-17 11:09:27 +07:00
Sinh 45291bf323 Merge branch 'master' into integrate-onpoint 2022-10-13 16:49:32 +07:00
tuenguyen dbfd259809 Merge pull request 'feature/update-warehouse-into-supplier' (#44) from feature/update-warehouse-into-supplier into master
Reviewed-on: #44
2022-10-11 07:22:46 +00:00
Tue b40eb42b2b rebuild 2022-10-11 14:22:26 +07:00
tuenguyen 9f629f3d3e Merge pull request 'rebuild' (#43) from get-bank-info into master
Reviewed-on: #43
2022-10-11 07:17:39 +00:00
Tue cb7f37dea9 rebuild 2022-10-11 14:17:07 +07:00
tuenguyen 4904482664 Merge pull request 'rebuild' (#42) from get-bank-info into master
Reviewed-on: #42
2022-10-11 07:14:10 +00:00
Tue 1c10210bb9 rebuild 2022-10-11 14:13:15 +07:00
trunglt251292 c11419a3ad [Update] Package 2022-10-10 11:11:39 +07:00
Nam HQ 0a82f40a25 Update 'go.mod' 2022-10-10 04:05:49 +00:00
Nguyen Minh 42874f4937 seller-add-field-planPackage 2022-10-10 09:06:20 +07:00
Sinh 1b89d5f368 update onpoint payload 2022-10-05 09:19:54 +07:00
Sinh 86845399e3 update onpoint payload 2022-10-05 09:15:36 +07:00
Sinh baf8a98e35 Merge branch 'master' of github.com:Selly-Modules/natsio into integrate-onpoint 2022-10-04 15:33:53 +07:00
Sinh Luu d80090cfb5
Merge pull request #39 from Selly-Modules/global-care-car-insurance
Global care car insurance
2022-10-04 11:44:31 +07:00
Sinh 9ba66dae05 Merge branch 'master' of github.com:Selly-Modules/natsio into global-care-car-insurance 2022-10-04 11:38:47 +07:00
trunglt251292 89f4e1a11d
Merge pull request #38 from Selly-Modules/feature/seller-by-id
Feature/seller by
2022-10-03 10:48:13 +07:00
Sinh Luu 99f75cfbc7
Merge pull request #37 from Selly-Modules/export-warehouse-data
define warehouse method
2022-09-30 18:12:03 +07:00
Sinh aab1103fc8 define warehouse method 2022-09-30 10:32:33 +07:00
trunglt251292 e6b620ca6c CommissionTransactionPending 2022-09-30 10:29:14 +07:00
Sinh 57d6cb18a9 update global care - integrate car insurance 2022-09-28 08:59:18 +07:00
Nguyen Minh dcea3798f8 js cashflow seller 2022-09-23 23:32:23 +07:00
Nguyen Minh 68b9cab1e2 pull js seller affiliate statistic 2022-09-23 22:11:28 +07:00
Nguyen Minh d9763edd75 pull js seller affiliate statistic 2022-09-23 22:11:24 +07:00
Nguyen Minh 547b3b8dd9 update js stream 2022-09-23 14:47:00 +07:00
Nguyen Minh 047037f123 stream name 2022-09-23 11:57:19 +07:00
Nguyen Minh f80f89e793 jestream 2022-09-23 11:17:03 +07:00
Nguyen Minh b718162cd4 jestream-push-notification 2022-09-23 10:13:14 +07:00
Nguyen Minh e16a537ed2 Merge branch 'master' into feature/seller-by-id 2022-09-22 23:18:01 +07:00
trunglt251292 cc89feac0d
Merge pull request #31 from Selly-Modules/update-inventory-detail
Update inventory detail
2022-09-22 17:58:29 +07:00
Nguyen Minh 4ac7ec3b0c support chat get seller info 2022-09-22 13:49:11 +07:00
trunglt251292 4319d2644c
Merge pull request #29 from Selly-Modules/selly-food
Selly food
2022-09-22 09:41:47 +07:00
Sinh d06719b0e6 define api get supplier orders 2022-09-22 09:34:16 +07:00
Sinh 73181bc583 add order func 2022-09-21 17:40:49 +07:00
Nguyen Minh 583f2abda5 get seller info support chat 2022-09-21 10:19:17 +07:00
trunglt251292 952c09ccba fix news to bytes 2022-09-20 14:46:29 +07:00
trunglt251292 4452be1474 [Update] Add subjects 2022-09-20 13:49:58 +07:00
trunglt251292 34c61ccfcc [Update] 2022-09-20 10:57:08 +07:00
trunglt251292 1d58e55af7 [Update] Request news 2022-09-20 10:28:35 +07:00
Sinh 9e4e6868a4 add warehouse subject 2022-09-19 15:01:54 +07:00
anbuiselly 99eacb44a8
Merge pull request #26 from Selly-Modules/get-seller-by-ids
edit type id
2022-09-19 14:53:25 +07:00
phuanbui 35a811886b edit type id 2022-09-19 14:52:26 +07:00
Sinh b5ba7c7bf1 update OR nats model 2022-09-19 14:18:51 +07:00
Minh Nguyen c043a03861
Merge pull request #24 from Selly-Modules/get-seller-by-ids
get list seller by ids
2022-09-19 11:50:41 +07:00
phuanbui 89967955ea get list seller by ids 2022-09-19 11:48:30 +07:00
Sinh 48e585dc16 update OR request model 2022-09-19 11:10:23 +07:00
trunglt251292 92040d0b9f [Update] Payload 2022-09-16 15:36:32 +07:00
trunglt251292 fb8a8bd471 [Update] Add request updateIsClosedSupplier 2022-09-16 14:49:53 +07:00
Nguyen Minh 40533e1805 seller by id 2022-09-15 14:09:54 +07:00
QuanTT0110 fffcc281cc push 2022-09-14 23:30:22 +07:00
QuanTT0110 f731be7b62 push 2022-09-14 18:04:18 +07:00
Tue 42a6d04413 bank info 2022-09-14 17:33:18 +07:00
Tue ee32f2d8bb bank info 2022-09-14 17:23:01 +07:00
trunglt251292 9f1f2faf9e [Update] Response supplier 2022-09-14 14:39:16 +07:00
Tue 0e35b6aec3 bank info 2022-09-14 14:25:16 +07:00
Tue e1a18df726 bank info 2022-09-14 14:14:27 +07:00
Tue b32ceefab1 add bank info 2022-09-14 14:09:48 +07:00
trunglt251292 cc48a083f2 [Update] Response warehouse 2022-09-13 11:47:46 +07:00
Sinh Luu 738089755a
Merge pull request #22 from Selly-Modules/develop
Develop
2022-09-13 09:28:18 +07:00
Sinh d605e3f291 Merge branch 'integrate-global-care' into develop 2022-09-12 10:01:58 +07:00
Sinh 26a116a2a4 add json tag 2022-09-12 10:01:47 +07:00
Sinh Luu 3c5fa1207e
Merge pull request #21 from Selly-Modules/integrate-global-care
add order func
2022-09-08 14:48:24 +07:00
Sinh 943fff292d add order func 2022-09-08 14:47:52 +07:00
trunglt251292 06b2398e3d
Merge pull request #20 from Selly-Modules/warehouse-nats
[Update] WarehouseNatsResponse
2022-09-07 17:04:07 +07:00
trunglt251292 6059889551 [Update] WarehouseNatsResponse 2022-09-07 17:03:29 +07:00
Sinh Luu 6cf422cf59
Merge pull request #19 from Selly-Modules/get-location-warehouse
fix get-location-warehouse
2022-09-07 14:18:17 +07:00
phuanbui 218123ccfb fix 2022-09-07 14:10:23 +07:00
phuanbui 9b40f5f9ba fix get-location-warehouse 2022-09-07 14:01:29 +07:00
Sinh Luu 40e71440f1
Merge pull request #18 from Selly-Modules/integrate-global-care
add order func
2022-09-07 12:01:04 +07:00
Sinh 367dc7edd9 add order func 2022-09-07 12:00:40 +07:00
Sinh af6e0843b9 update order OR model 2022-09-06 11:09:52 +07:00
trunglt251292 9413158b8a
Merge pull request #17 from Selly-Modules/warehouse-nats
[Update] Add reponse other
2022-08-31 18:06:27 +07:00
trunglt251292 e387471efe [Update] Add reponse other 2022-08-31 18:06:00 +07:00
trunglt251292 d65c98f646
Merge pull request #16 from Selly-Modules/warehouse-nats
[Update] Action create + update warehouse
2022-08-31 16:51:59 +07:00
trunglt251292 e0a4a508a6 [Update] Action create + update warehouse 2022-08-31 16:51:13 +07:00
nguyenphamquangtue 9295a8e13f
Intergrate model for supplier (#15)
* build nats supplier

* build nats supplier

* build nats supplier

* build nats supplier
2022-08-31 14:48:24 +07:00
Sinh 3bc5f0673d Merge branch 'integrate-global-care' into develop 2022-08-31 10:54:04 +07:00
Sinh 12afbd81fe add order func 2022-08-31 10:53:51 +07:00
Sinh Luu 8cabf2f4a4
Merge pull request #14 from Selly-Modules/integrate-global-care
Integrate global care
2022-08-31 09:47:33 +07:00
Sinh b9a7d9648e Merge branch develop into integrate-global-care 2022-08-31 09:43:46 +07:00
Sinh 01c28e1ee3 add err log 2022-08-30 15:55:20 +07:00
trunglt251292 e89273aa70 Merge branch 'warehouse-nats' of github.com:Selly-Modules/natsio into develop 2022-08-30 15:15:48 +07:00
trunglt251292 8cdfdcb4e6 [Update] Condition dao 2022-08-30 15:15:11 +07:00
trunglt251292 9e645a60c0
Merge pull request #13 from Selly-Modules/warehouse-nats
Warehouse nats
2022-08-30 14:47:51 +07:00
trunglt251292 0156d2d661 fix conflict 2022-08-30 14:47:31 +07:00
trunglt251292 6a7db08c98 [Update] Add 2022-08-30 14:44:48 +07:00
trunglt251292 868c3166ce [Update] Add dao request warehouse 2022-08-30 14:03:49 +07:00
trunglt251292 4bf17d74fa [Update] Add dao request warehouse 2022-08-30 11:03:02 +07:00
anbuiselly 22da1b76c5
Merge pull request #12 from Selly-Modules/get-location-warehouse
edit type field code
2022-08-29 18:09:13 +07:00
phuanbui 21aa37507a edit type field code 2022-08-29 18:07:58 +07:00
anbuiselly 61ae0b325c
Merge pull request #11 from Selly-Modules/get-location-warehouse
add field code
2022-08-29 17:55:49 +07:00
phuanbui 05103803ff add field code 2022-08-29 17:54:50 +07:00
Sinh Luu 16e50a081b
Merge pull request #10 from Selly-Modules/integrate-tnc
Integrate tnc
2022-08-29 15:58:53 +07:00
Sinh 0b30ee0893 Merge develop into integrate-tnc 2022-08-29 15:57:18 +07:00
Sinh 43aa67fa2e update GC 2022-08-29 15:55:17 +07:00
Sinh Luu 50c9c9e65f
Merge pull request #9 from Selly-Modules/get-location-warehouse
fix get supplier
2022-08-29 14:38:31 +07:00
phuanbui 8dcc6504b9 change reponse get supplier 2022-08-29 14:37:45 +07:00
phuanbui 8d62dc710d fix get supplier 2022-08-29 14:25:12 +07:00
Sinh 9acd7e48b4 Merge branch 'develop' of github.com:Selly-Modules/natsio into integrate-global-care 2022-08-27 09:53:07 +07:00
anbuiselly df340fefda
Merge pull request #8 from Selly-Modules/get-location-warehouse
edit types param supplier
2022-08-26 23:37:51 +07:00
phuanbui cfab692331 edit types param supplier 2022-08-26 23:37:01 +07:00
Sinh Luu 9275ede421
Merge pull request #7 from Selly-Modules/get-location-warehouse
get supplier info
2022-08-26 23:23:29 +07:00
phuanbui 3c4e331c6f get supplier info 2022-08-26 23:13:18 +07:00
Sinh Luu 3da067b159
Merge pull request #6 from Selly-Modules/get-location-warehouse
nats-location-supplier
2022-08-26 17:37:24 +07:00
phuanbui d79739aa0f refactor-code 2022-08-26 17:36:02 +07:00
phuanbui cab7525f50 Merge branch 'master' of github.com:Selly-Modules/natsio into get-location-warehouse 2022-08-26 17:22:16 +07:00
phuanbui 3458f885ec nats-location-supplier 2022-08-26 17:15:49 +07:00
Sinh 35737a34ab Merge branch 'master' of github.com:Selly-Modules/natsio into integrate-global-care 2022-08-26 16:40:13 +07:00
namhq1989 6593315859 refactor subject name 2022-08-26 15:56:36 +07:00
Sinh 5ca473ffc1 define model 2022-08-26 10:28:49 +07:00
Sinh Luu c0b13e3539
Merge pull request #5 from Selly-Modules/define-communication-func
define communication, warehouse func
2022-08-24 09:42:24 +07:00
trunglt251292 095f3779db Merge branch 'master' of github.com:Selly-Modules/natsio into add-timeout 2022-04-19 09:53:45 +07:00
trunglt251292 2a9897e137 [Update] Config 2022-03-30 19:17:14 +07:00
trunglt251292 1e3bfd7392 [Update] 2022-03-30 17:55:28 +07:00
85 changed files with 3735 additions and 79 deletions

36
client/affiliate.go Normal file
View File

@ -0,0 +1,36 @@
package client
import (
"encoding/json"
"errors"
"git.selly.red/Selly-Modules/natsio"
"git.selly.red/Selly-Modules/natsio/model"
"git.selly.red/Selly-Modules/natsio/subject"
)
// Affiliate ...
type Affiliate struct{}
// GetAffiliate ...
func GetAffiliate() Affiliate {
return Affiliate{}
}
// GetTransactions ...
func (w Affiliate) GetTransactions(p model.GetTransactionsRequest) (*model.GetTransactionsResponse, error) {
msg, err := natsio.GetServer().Request(subject.Affiliate.GetTransactions, toBytes(p))
if err != nil {
return nil, err
}
var r struct {
Data *model.GetTransactionsResponse `json:"data"`
Error string `json:"error"`
}
if err = json.Unmarshal(msg.Data, &r); err != nil {
return nil, err
}
if r.Error != "" {
return nil, errors.New(r.Error)
}
return r.Data, nil
}

55
client/bank.go Normal file
View File

@ -0,0 +1,55 @@
package client
import (
"encoding/json"
"errors"
"git.selly.red/Selly-Modules/natsio"
"git.selly.red/Selly-Modules/natsio/model"
"git.selly.red/Selly-Modules/natsio/subject"
)
// Bank ...
type Bank struct{}
// GetBank ...
func GetBank() Bank {
return Bank{}
}
func (s Bank) GetBankById(bankID string) (*model.BankBrief, error) {
msg, err := natsio.GetServer().Request(subject.Bank.GetBankById, toBytes(bankID))
if err != nil {
return nil, err
}
var r struct {
Data *model.BankBrief `json:"data"`
Error string `json:"error"`
}
if err = json.Unmarshal(msg.Data, &r); err != nil {
return nil, err
}
if r.Error != "" {
return nil, errors.New(r.Error)
}
return r.Data, nil
}
func (s Bank) CheckBankAndBranchByID(p model.BankBranchRequest) bool {
msg, err := natsio.GetServer().Request(subject.Bank.CheckBankAndBranchByID, toBytes(p))
if err != nil {
return false
}
var r struct {
Error string `json:"error"`
}
if err = json.Unmarshal(msg.Data, &r); err != nil {
return false
}
return r.Error == ""
}

39
client/bank_branch.go Normal file
View File

@ -0,0 +1,39 @@
package client
import (
"encoding/json"
"errors"
"git.selly.red/Selly-Modules/natsio"
"git.selly.red/Selly-Modules/natsio/model"
"git.selly.red/Selly-Modules/natsio/subject"
)
// BankBranch ...
type BankBranch struct{}
// GetBankBranch ...
func GetBankBranch() BankBranch {
return BankBranch{}
}
func (s BankBranch) GetBankBranchById(bankBranchID string) (*model.BankBranchBrief, error) {
msg, err := natsio.GetServer().Request(subject.Bank.GetBankBranchById, toBytes(bankBranchID))
if err != nil {
return nil, err
}
var r struct {
Data *model.BankBranchBrief `json:"data"`
Error string `json:"error"`
}
if err = json.Unmarshal(msg.Data, &r); err != nil {
return nil, err
}
if r.Error != "" {
return nil, errors.New(r.Error)
}
return r.Data, nil
}

58
client/campaign.go Normal file
View File

@ -0,0 +1,58 @@
package client
import (
"encoding/json"
"errors"
"git.selly.red/Selly-Modules/natsio"
"git.selly.red/Selly-Modules/natsio/model"
"git.selly.red/Selly-Modules/natsio/subject"
)
// Campaign ...
type Campaign struct{}
// GetCampaign ...
func GetCampaign() Campaign {
return Campaign{}
}
// GetCampaignTransaction ...
func (c Campaign) GetCampaignTransaction(p model.GetCampaignTransactionsRequest) (*model.ResponseCampaignTransactionAll, error) {
msg, err := natsio.GetServer().Request(subject.Campaign.GetListCampaignTransactionAdminInfoByIDs, toBytes(p))
if err != nil {
return nil, err
}
var r struct {
Data *model.ResponseCampaignTransactionAll `json:"data"`
Error string `json:"error"`
}
if err = json.Unmarshal(msg.Data, &r); err != nil {
return nil, err
}
if r.Error != "" {
return nil, errors.New(r.Error)
}
return r.Data, nil
}
// GetCampaignSellerStatistic ....
func (c Campaign) GetCampaignSellerStatistic(req model.GetCampaignSellerStatisticBySellerIDs) (*model.ResponseCampaignSellerStatisticList, error) {
msg, err := natsio.GetServer().Request(subject.Campaign.GetCampaignSellerStatisticBySellerIDs, toBytes(req))
if err != nil {
return nil, err
}
var r struct {
Data *model.ResponseCampaignSellerStatisticList `json:"data"`
Error string `json:"error"`
}
if err = json.Unmarshal(msg.Data, &r); err != nil {
return nil, err
}
if r.Error != "" {
return nil, errors.New(r.Error)
}
return r.Data, nil
}

View File

@ -3,9 +3,9 @@ package client
import (
"encoding/json"
"github.com/Selly-Modules/natsio"
"github.com/Selly-Modules/natsio/model"
"github.com/Selly-Modules/natsio/subject"
"git.selly.red/Selly-Modules/natsio"
"git.selly.red/Selly-Modules/natsio/model"
"git.selly.red/Selly-Modules/natsio/subject"
)
// Communication ...
@ -18,7 +18,7 @@ func GetCommunication() Communication {
// RequestHttp ...
func (c Communication) RequestHttp(p model.CommunicationRequestHttp) (r *model.CommunicationHttpResponse, err error) {
msg, err := natsio.GetServer().Request(subject.CommunicationRequestHTTP, toBytes(p))
msg, err := natsio.GetServer().Request(subject.Communication.RequestHTTP, toBytes(p))
if err != nil {
return nil, err
}

335
client/location.go Normal file
View File

@ -0,0 +1,335 @@
package client
import (
"encoding/json"
"errors"
"git.selly.red/Selly-Modules/natsio"
"git.selly.red/Selly-Modules/natsio/model"
"git.selly.red/Selly-Modules/natsio/subject"
)
// Location ...
type Location struct{}
// GetLocation ...
func GetLocation() Location {
return Location{}
}
// GetLocationByCode ...
func (l Location) GetLocationByCode(payload model.LocationRequestPayload) (*model.ResponseLocationAddress, error) {
msg, err := natsio.GetServer().Request(subject.Location.GetLocationByCodeFromLocationService, toBytes(payload))
if err != nil {
return nil, err
}
var r struct {
Data *model.ResponseLocationAddress `json:"data"`
Error string `json:"error"`
}
if err = json.Unmarshal(msg.Data, &r); err != nil {
return nil, err
}
if r.Error != "" {
return nil, errors.New(r.Error)
}
return r.Data, nil
}
// GetLocationByWardCode ...
func (l Location) GetLocationByWardCode(payload model.RequestCondition) (*model.ResponseLocationAddress, error) {
msg, err := natsio.GetServer().Request(subject.Location.GetLocationByWardCode, toBytes(payload))
if err != nil {
return nil, err
}
var r struct {
Data *model.ResponseLocationAddress `json:"data"`
Error string `json:"error"`
}
if err = json.Unmarshal(msg.Data, &r); err != nil {
return nil, err
}
if r.Error != "" {
return nil, errors.New(r.Error)
}
return r.Data, nil
}
// GetProvincesByCodes ...
func (l Location) GetProvincesByCodes(p model.ProvinceRequestPayload) (*model.LocationProvinceResponse, error) {
msg, err := natsio.GetServer().Request(subject.Location.GetProvincesByCodesFromLocationService, toBytes(p))
if err != nil {
return nil, err
}
var r struct {
Data *model.LocationProvinceResponse `json:"data"`
Error string `json:"error"`
}
if err = json.Unmarshal(msg.Data, &r); err != nil {
return nil, err
}
if r.Error != "" {
return nil, errors.New(r.Error)
}
return r.Data, nil
}
// GetDistrictsByCodes ...
func (l Location) GetDistrictsByCodes(p model.DistrictRequestPayload) (*model.LocationDistrictResponse, error) {
msg, err := natsio.GetServer().Request(subject.Location.GetDistrictsByCodesFromLocationService, toBytes(p))
if err != nil {
return nil, err
}
var r struct {
Data *model.LocationDistrictResponse `json:"data"`
Error string `json:"error"`
}
if err = json.Unmarshal(msg.Data, &r); err != nil {
return nil, err
}
if r.Error != "" {
return nil, errors.New(r.Error)
}
return r.Data, nil
}
// GetWardsByCodes ...
func (l Location) GetWardsByCodes(p model.WardRequestPayload) (*model.LocationWardResponse, error) {
msg, err := natsio.GetServer().Request(subject.Location.GetWardsByCodesFromLocationService, toBytes(p))
if err != nil {
return nil, err
}
var r struct {
Data *model.LocationWardResponse `json:"data"`
Error string `json:"error"`
}
if err = json.Unmarshal(msg.Data, &r); err != nil {
return nil, err
}
if r.Error != "" {
return nil, errors.New(r.Error)
}
return r.Data, nil
}
// GetProvinceByCondition ...
func (l Location) GetProvinceByCondition(p model.RequestCondition) (*model.LocationProvinceDetailResponse, error) {
msg, err := natsio.GetServer().Request(subject.Location.GetProvinceByCondition, toBytes(p))
if err != nil {
return nil, err
}
var r struct {
Data *model.LocationProvinceDetailResponse `json:"data"`
Error string `json:"error"`
}
if err = json.Unmarshal(msg.Data, &r); err != nil {
return nil, err
}
if r.Error != "" {
return nil, errors.New(r.Error)
}
return r.Data, nil
}
// GetProvincesByCondition ...
func (l Location) GetProvincesByCondition(p model.RequestCondition) ([]*model.LocationProvinceDetailResponse, error) {
msg, err := natsio.GetServer().Request(subject.Location.GetProvincesByCondition, toBytes(p))
if err != nil {
return nil, err
}
var r struct {
Data []*model.LocationProvinceDetailResponse `json:"data"`
Error string `json:"error"`
}
if err = json.Unmarshal(msg.Data, &r); err != nil {
return nil, err
}
if r.Error != "" {
return nil, errors.New(r.Error)
}
return r.Data, nil
}
// GetDistrictByCondition ...
func (l Location) GetDistrictByCondition(p model.RequestCondition) (*model.LocationDistrictDetailResponse, error) {
msg, err := natsio.GetServer().Request(subject.Location.GetDistrictByCondition, toBytes(p))
if err != nil {
return nil, err
}
var r struct {
Data *model.LocationDistrictDetailResponse `json:"data"`
Error string `json:"error"`
}
if err = json.Unmarshal(msg.Data, &r); err != nil {
return nil, err
}
if r.Error != "" {
return nil, errors.New(r.Error)
}
return r.Data, nil
}
// GetDistrictsByCondition ...
func (l Location) GetDistrictsByCondition(p model.RequestCondition) ([]*model.LocationDistrictDetailResponse, error) {
msg, err := natsio.GetServer().Request(subject.Location.GetDistrictsByCondition, toBytes(p))
if err != nil {
return nil, err
}
var r struct {
Data []*model.LocationDistrictDetailResponse `json:"data"`
Error string `json:"error"`
}
if err = json.Unmarshal(msg.Data, &r); err != nil {
return nil, err
}
if r.Error != "" {
return nil, errors.New(r.Error)
}
return r.Data, nil
}
// GetWardByCondition ...
func (l Location) GetWardByCondition(p model.RequestCondition) (*model.LocationWardDetailResponse, error) {
msg, err := natsio.GetServer().Request(subject.Location.GetWardByCondition, toBytes(p))
if err != nil {
return nil, err
}
var r struct {
Data *model.LocationWardDetailResponse `json:"data"`
Error string `json:"error"`
}
if err = json.Unmarshal(msg.Data, &r); err != nil {
return nil, err
}
if r.Error != "" {
return nil, errors.New(r.Error)
}
return r.Data, nil
}
// GetWardsByCondition ...
func (l Location) GetWardsByCondition(p model.RequestCondition) ([]*model.LocationWardDetailResponse, error) {
msg, err := natsio.GetServer().Request(subject.Location.GetWardsByCondition, toBytes(p))
if err != nil {
return nil, err
}
var r struct {
Data []*model.LocationWardDetailResponse `json:"data"`
Error string `json:"error"`
}
if err = json.Unmarshal(msg.Data, &r); err != nil {
return nil, err
}
if r.Error != "" {
return nil, errors.New(r.Error)
}
return r.Data, nil
}
// CountProvinceByCondition ...
func (l Location) CountProvinceByCondition(p model.RequestCondition) (int64, error) {
msg, err := natsio.GetServer().Request(subject.Location.CountProvinceByCondition, toBytes(p))
if err != nil {
return 0, err
}
var r struct {
Data int64 `json:"data"`
Error string `json:"error"`
}
if err = json.Unmarshal(msg.Data, &r); err != nil {
return 0, err
}
if r.Error != "" {
return 0, errors.New(r.Error)
}
return r.Data, nil
}
// CountDistrictByCondition ...
func (l Location) CountDistrictByCondition(p model.RequestCondition) (int64, error) {
msg, err := natsio.GetServer().Request(subject.Location.CountDistrictByCondition, toBytes(p))
if err != nil {
return 0, err
}
var r struct {
Data int64 `json:"data"`
Error string `json:"error"`
}
if err = json.Unmarshal(msg.Data, &r); err != nil {
return 0, err
}
if r.Error != "" {
return 0, errors.New(r.Error)
}
return r.Data, nil
}
// CountWardByCondition ...
func (l Location) CountWardByCondition(p model.RequestCondition) (int64, error) {
msg, err := natsio.GetServer().Request(subject.Location.CountWardByCondition, toBytes(p))
if err != nil {
return 0, err
}
var r struct {
Data int64 `json:"data"`
Error string `json:"error"`
}
if err = json.Unmarshal(msg.Data, &r); err != nil {
return 0, err
}
if r.Error != "" {
return 0, errors.New(r.Error)
}
return r.Data, nil
}
// DistinctWithField ...
func (l Location) DistinctWithField(p model.ProvinceDistinctWithField) ([]interface{}, error) {
msg, err := natsio.GetServer().Request(subject.Location.ProvinceDistinctWithField, toBytes(p))
if err != nil {
return nil, err
}
var r struct {
Data []interface{} `json:"data"`
Error string `json:"error"`
}
if err = json.Unmarshal(msg.Data, &r); err != nil {
return nil, err
}
if r.Error != "" {
return nil, errors.New(r.Error)
}
return r.Data, nil
}

36
client/news.go Normal file
View File

@ -0,0 +1,36 @@
package client
import (
"encoding/json"
"errors"
"git.selly.red/Selly-Modules/natsio"
"git.selly.red/Selly-Modules/natsio/model"
"git.selly.red/Selly-Modules/natsio/subject"
)
// News ...
type News struct{}
// GetNews ...
func GetNews() News {
return News{}
}
// GetProductNoticesByInventory ...
func (n News) GetProductNoticesByInventory(p model.GetProductNoticesByInventoryRequest) (*model.GetProductNoticesByInventoryResponse, error) {
msg, err := natsio.GetServer().Request(subject.News.GetProductNoticesByInventory, toBytes(p))
if err != nil {
return nil, err
}
var r struct {
Data *model.GetProductNoticesByInventoryResponse `json:"data"`
Error string `json:"error"`
}
if err = json.Unmarshal(msg.Data, &r); err != nil {
return nil, err
}
if r.Error != "" {
return nil, errors.New(r.Error)
}
return r.Data, nil
}

View File

@ -4,9 +4,9 @@ import (
"encoding/json"
"errors"
"github.com/Selly-Modules/natsio"
"github.com/Selly-Modules/natsio/model"
"github.com/Selly-Modules/natsio/subject"
"git.selly.red/Selly-Modules/natsio"
"git.selly.red/Selly-Modules/natsio/model"
"git.selly.red/Selly-Modules/natsio/subject"
)
// Order ...
@ -19,7 +19,7 @@ func GetOrder() Order {
// UpdateORStatus ...
func (o Order) UpdateORStatus(p model.OrderUpdateORStatus) error {
msg, err := natsio.GetServer().Request(subject.OrderUpdateORStatus, toBytes(p))
msg, err := natsio.GetServer().Request(subject.Order.UpdateORStatus, toBytes(p))
if err != nil {
return err
}
@ -37,7 +37,7 @@ func (o Order) UpdateORStatus(p model.OrderUpdateORStatus) error {
// CancelDelivery ...
func (o Order) CancelDelivery(p model.OrderCancelDelivery) error {
msg, err := natsio.GetServer().Request(subject.OrderCancelDelivery, toBytes(p))
msg, err := natsio.GetServer().Request(subject.Order.CancelDelivery, toBytes(p))
if err != nil {
return err
}
@ -50,3 +50,91 @@ func (o Order) CancelDelivery(p model.OrderCancelDelivery) error {
}
return nil
}
// ChangeDeliveryStatus ...
func (o Order) ChangeDeliveryStatus(p model.OrderChangeDeliveryStatus) error {
msg, err := natsio.GetServer().Request(subject.Order.ChangeDeliveryStatus, toBytes(p))
if err != nil {
return err
}
var r model.CommonResponseData
if err = json.Unmarshal(msg.Data, &r); err != nil {
return err
}
if r.Error != "" {
return errors.New(r.Error)
}
return nil
}
// UpdateLogisticInfoFailed ...
func (o Order) UpdateLogisticInfoFailed(p model.OrderUpdateLogisticInfoFailed) error {
msg, err := natsio.GetServer().Request(subject.Order.UpdateLogisticInfoFailed, toBytes(p))
if err != nil {
return err
}
var r model.CommonResponseData
if err = json.Unmarshal(msg.Data, &r); err != nil {
return err
}
if r.Error != "" {
return errors.New(r.Error)
}
return nil
}
// ORNotUpdateStatus ...
func (o Order) ORNotUpdateStatus(p model.OrderORsNotUpdateStatus) error {
msg, err := natsio.GetServer().Request(subject.Order.ORNotUpdateStatus, toBytes(p))
if err != nil {
return err
}
var r model.CommonResponseData
if err = json.Unmarshal(msg.Data, &r); err != nil {
return err
}
if r.Error != "" {
return errors.New(r.Error)
}
return nil
}
// GetSupplierOrders ...
func (o Order) GetSupplierOrders(p model.OrderSupplierQuery) (*model.SupplierOrderList, error) {
msg, err := natsio.GetServer().Request(subject.Order.GetSupplierOrders, toBytes(p))
if err != nil {
return nil, err
}
var (
r struct {
Data model.SupplierOrderList `json:"data"`
Error string `json:"error"`
}
)
if err = json.Unmarshal(msg.Data, &r); err != nil {
return nil, err
}
if r.Error != "" {
return nil, errors.New(r.Error)
}
return &r.Data, nil
}
// GetUserTotalWarningOrder ...
func (o Order) GetUserTotalWarningOrder(p model.OrderGetTotalWarningPayload) (*model.OrderGetTotalWarningRes, error) {
msg, err := natsio.GetServer().Request(subject.Order.GetUserTotalWarningOrders, toBytes(p))
if err != nil {
return nil, err
}
var r struct {
Data model.OrderGetTotalWarningRes `json:"data"`
Error string `json:"error"`
}
if err = json.Unmarshal(msg.Data, &r); err != nil {
return nil, err
}
if r.Error != "" {
return nil, errors.New(r.Error)
}
return &r.Data, nil
}

86
client/product.go Normal file
View File

@ -0,0 +1,86 @@
package client
import (
"encoding/json"
"errors"
"git.selly.red/Selly-Modules/natsio"
"git.selly.red/Selly-Modules/natsio/model"
"git.selly.red/Selly-Modules/natsio/subject"
)
// Product ...
type Product struct{}
// GetProduct ...
func GetProduct() Product {
return Product{}
}
func (c Product) ApplyRequest(p model.ProductApplyRequestPayload) error {
msg, err := natsio.GetServer().Request(subject.Product.ApplyRequest, toBytes(p))
if err != nil {
return err
}
var r struct {
Error string `json:"error"`
}
if err = json.Unmarshal(msg.Data, &r); err != nil {
return err
}
if r.Error != "" {
return errors.New(r.Error)
}
return nil
}
func (c Product) CreateRequestSteps(p model.ProductCreateStepsPayload) error {
msg, err := natsio.GetServer().Request(subject.Product.CreateRequestStep, toBytes(p))
if err != nil {
return err
}
var r struct {
Error string `json:"error"`
}
if err = json.Unmarshal(msg.Data, &r); err != nil {
return err
}
if r.Error != "" {
return errors.New(r.Error)
}
return nil
}
func (c Product) ProcessApplyRequest(p model.ProductApplyRequestPayload) error {
msg, err := natsio.GetServer().Request(subject.Product.ProcessApplyRequest, toBytes(p))
if err != nil {
return err
}
var r struct {
Error string `json:"error"`
}
if err = json.Unmarshal(msg.Data, &r); err != nil {
return err
}
if r.Error != "" {
return errors.New(r.Error)
}
return nil
}
func (c Product) RequestChangeStatus(p model.ProductRequestChangeStatus) error {
msg, err := natsio.GetServer().Request(subject.Product.RequestChangeStatus, toBytes(p))
if err != nil {
return err
}
var r struct {
Error string `json:"error"`
}
if err = json.Unmarshal(msg.Data, &r); err != nil {
return err
}
if r.Error != "" {
return errors.New(r.Error)
}
return nil
}

35
client/queue.go Normal file
View File

@ -0,0 +1,35 @@
package client
import (
"encoding/json"
"errors"
"git.selly.red/Selly-Modules/natsio"
"git.selly.red/Selly-Modules/natsio/model"
"git.selly.red/Selly-Modules/natsio/subject"
)
// Queue ...
type Queue struct{}
// GetQueue ...
func GetQueue() Queue {
return Queue{}
}
func (c Queue) ScheduleTask(p model.QueueScheduleTaskRequest) error {
msg, err := natsio.GetServer().Request(subject.Queue.ScheduleTask, toBytes(p))
if err != nil {
return err
}
var r struct {
Error string `json:"error"`
}
if err = json.Unmarshal(msg.Data, &r); err != nil {
return err
}
if r.Error != "" {
return errors.New(r.Error)
}
return nil
}

41
client/segmnet.go Normal file
View File

@ -0,0 +1,41 @@
package client
import (
"encoding/json"
"errors"
"git.selly.red/Selly-Modules/natsio"
"git.selly.red/Selly-Modules/natsio/model"
"git.selly.red/Selly-Modules/natsio/subject"
)
// Segment ...
type Segment struct{}
// GetSegment ...
func GetSegment() Segment {
return Segment{}
}
// GetListSegmentInfoByIds ...
func (s Segment) GetListSegmentInfoByIds(p model.GetListSegmentRequest) (*model.ResponseListSegmentInfo, error) {
msg, err := natsio.GetServer().Request(subject.Segment.GetListSegmentInfo, toBytes(p))
if err != nil {
return nil, err
}
var r struct {
Data *model.ResponseListSegmentInfo `json:"data"`
Error string `json:"error"`
}
if err := json.Unmarshal(msg.Data, &r); err != nil {
return nil, err
}
if r.Error != "" {
return nil, errors.New(r.Error)
}
return r.Data, nil
}

87
client/seller.go Normal file
View File

@ -0,0 +1,87 @@
package client
import (
"encoding/json"
"errors"
"git.selly.red/Selly-Modules/natsio"
"git.selly.red/Selly-Modules/natsio/model"
"git.selly.red/Selly-Modules/natsio/subject"
)
// Seller ...
type Seller struct{}
// GetSeller ...
func GetSeller() Seller {
return Seller{}
}
// GetSellerInfoByID ...
func (s Seller) GetSellerInfoByID(p model.GetSellerByIDRequest) (*model.ResponseSellerInfo, error) {
msg, err := natsio.GetServer().Request(subject.Seller.GetSellerInfoByID, toBytes(p))
if err != nil {
return nil, err
}
var r struct {
Data *model.ResponseSellerInfo `json:"data"`
Error string `json:"error"`
}
if err := json.Unmarshal(msg.Data, &r); err != nil {
return nil, err
}
if r.Error != "" {
return nil, errors.New(r.Error)
}
return r.Data, nil
}
// GetListSellerInfoByIDs ...
func (s Seller) GetListSellerInfoByIDs(p model.GetListSellerByIDsRequest) (*model.ResponseListSellerInfo, error) {
msg, err := natsio.GetServer().Request(subject.Seller.GetListSellerInfoByIDs, toBytes(p))
if err != nil {
return nil, err
}
var r struct {
Data *model.ResponseListSellerInfo `json:"data"`
Error string `json:"error"`
}
if err := json.Unmarshal(msg.Data, &r); err != nil {
return nil, err
}
if r.Error != "" {
return nil, errors.New(r.Error)
}
return r.Data, nil
}
// GetListSellerInfoSupportChatByIDs ...
func (s Seller) GetListSellerInfoSupportChatByIDs(p model.GetListSellerSupportChatByIDsRequest) (*model.ResponseListSellerInfoSupportChat, error) {
msg, err := natsio.GetServer().Request(subject.SupportChat.GetListSellerInfoSupportChatByIDs, toBytes(p))
if err != nil {
return nil, err
}
var r struct {
Data *model.ResponseListSellerInfoSupportChat `json:"data"`
Error string `json:"error"`
}
if err := json.Unmarshal(msg.Data, &r); err != nil {
return nil, err
}
if r.Error != "" {
return nil, errors.New(r.Error)
}
return r.Data, nil
}

65
client/social_post.go Normal file
View File

@ -0,0 +1,65 @@
package client
import (
"encoding/json"
"errors"
"git.selly.red/Selly-Modules/natsio"
"git.selly.red/Selly-Modules/natsio/model"
"git.selly.red/Selly-Modules/natsio/subject"
)
// SocialPost ...
type SocialPost struct{}
// GetSocialPost ...
func GetSocialPost() SocialPost {
return SocialPost{}
}
// GetListSocialPostAppInfoByIDs ...
func (s SocialPost) GetListSocialPostAppInfoByIDs(p model.GetListSocialPostAppByIDsRequest) (*model.ResponseListSocialPostAppInfo, error) {
msg, err := natsio.GetServer().Request(subject.SocialPost.GetListSocialPostAppInfoByIDs, toBytes(p))
if err != nil {
return nil, err
}
var r struct {
Data *model.ResponseListSocialPostAppInfo `json:"data"`
Error string `json:"error"`
}
if err = json.Unmarshal(msg.Data, &r); err != nil {
return nil, err
}
if r.Error != "" {
return nil, errors.New(r.Error)
}
return r.Data, nil
}
// GetBriefDetailSocialPostAdminByIDsRequest ...
func (s SocialPost) GetBriefDetailSocialPostAdminByIDsRequest(p model.GetBriefInfoSocialPostAdminByIDsRequest) (*model.ResponseListSocialPostAdminInfo, error) {
msg, err := natsio.GetServer().Request(subject.SocialPost.GetBriefInfoSocialPostAdminByIDs, toBytes(p))
if err != nil {
return nil, err
}
var r struct {
Data *model.ResponseListSocialPostAdminInfo `json:"data"`
Error string `json:"error"`
}
if err = json.Unmarshal(msg.Data, &r); err != nil {
return nil, err
}
if r.Error != "" {
return nil, errors.New(r.Error)
}
return r.Data, nil
}

27
client/socket.go Normal file
View File

@ -0,0 +1,27 @@
package client
import (
"git.selly.red/Selly-Modules/natsio"
"git.selly.red/Selly-Modules/natsio/model"
"git.selly.red/Selly-Modules/natsio/subject"
)
// Socket ...
type Socket struct{}
// GetSocket ...
func GetSocket() Socket {
return Socket{}
}
// EmitSocketEventDataReward ...
func (s Socket) EmitSocketEventDataReward(p model.PayloadEmitSocketEvent) error {
_, err := natsio.GetServer().Request(subject.Socket.EmitEventReward, toBytes(p))
return err
}
// EmitEventToUser ...
func (s Socket) EmitEventToUser(p model.PayloadEmitSocketEvent) error {
_, err := natsio.GetServer().Request(subject.Socket.EmitEventToUser, toBytes(p))
return err
}

41
client/staff.go Normal file
View File

@ -0,0 +1,41 @@
package client
import (
"encoding/json"
"errors"
"git.selly.red/Selly-Modules/natsio"
"git.selly.red/Selly-Modules/natsio/model"
"git.selly.red/Selly-Modules/natsio/subject"
)
// Staff ...
type Staff struct{}
func GetStaff() Staff {
return Staff{}
}
// GetListStaffInfoByIds ...
func (s Staff) GetListStaffInfoByIds(p model.GetListStaffRequest) (*model.ResponseListStaffInfo, error) {
msg, err := natsio.GetServer().Request(subject.Staff.GetListStaffInfo, toBytes(p))
if err != nil {
return nil, err
}
var r struct {
Data *model.ResponseListStaffInfo `json:"data"`
Error string `json:"error"`
}
if err := json.Unmarshal(msg.Data, &r); err != nil {
return nil, err
}
if r.Error != "" {
return nil, errors.New(r.Error)
}
return r.Data, nil
}

202
client/supplier.go Normal file
View File

@ -0,0 +1,202 @@
package client
import (
"encoding/json"
"errors"
"git.selly.red/Selly-Modules/natsio"
"git.selly.red/Selly-Modules/natsio/model"
"git.selly.red/Selly-Modules/natsio/subject"
)
// Supplier ...
type Supplier struct{}
// GetSupplier ...
func GetSupplier() Supplier {
return Supplier{}
}
func (s Supplier) GetListSupplierInfo(p model.GetSupplierRequest) ([]*model.ResponseSupplierInfo, error) {
msg, err := natsio.GetServer().Request(subject.Supplier.GetListSupplierInfo, toBytes(p))
if err != nil {
return nil, err
}
var r struct {
Data []*model.ResponseSupplierInfo `json:"data"`
Error string `json:"error"`
}
if err := json.Unmarshal(msg.Data, &r); err != nil {
return nil, err
}
if r.Error != "" {
return nil, errors.New(r.Error)
}
return r.Data, nil
}
// GetDetailSupplierInfo ...
func (s Supplier) GetDetailSupplierInfo(p model.GetDetailSupplierRequest) (*model.ResponseSupplierInfo, error) {
msg, err := natsio.GetServer().Request(subject.Supplier.GetDetailSupplierInfo, toBytes(p))
if err != nil {
return nil, err
}
var r struct {
Data *model.ResponseSupplierInfo `json:"data"`
Error string `json:"error"`
}
if err := json.Unmarshal(msg.Data, &r); err != nil {
return nil, err
}
if r.Error != "" {
return nil, errors.New(r.Error)
}
return r.Data, nil
}
func (s Supplier) GetSupplierContractBySupplierID(p model.GetSupplierContractRequest) (*model.ResponseSupplierContract, error) {
msg, err := natsio.GetServer().Request(subject.Supplier.GetSupplierContractBySupplierID, toBytes(p))
if err != nil {
return nil, err
}
var r struct {
Data *model.ResponseSupplierContract `json:"data"`
Error string `json:"error"`
}
if err := json.Unmarshal(msg.Data, &r); err != nil {
return nil, err
}
if r.Error != "" {
return nil, errors.New(r.Error)
}
return r.Data, nil
}
func (s Supplier) FindAll(supplierID model.SupplierRequestPayload) (*model.SupplierAll, error) {
msg, err := natsio.GetServer().Request(subject.Supplier.FindAll, toBytes(supplierID))
if err != nil {
return nil, err
}
var r struct {
Data *model.SupplierAll `json:"data"`
Error string `json:"error"`
}
if err = json.Unmarshal(msg.Data, &r); err != nil {
return nil, err
}
if r.Error != "" {
return nil, errors.New(r.Error)
}
return r.Data, nil
}
func (s Supplier) FindAllOld(req model.SupplierFindAllReq) (*model.SupplierAll, error) {
msg, err := natsio.GetServer().Request(subject.Supplier.FindAllOld, toBytes(req))
if err != nil {
return nil, err
}
var r struct {
Data *model.SupplierAll `json:"data"`
Error string `json:"error"`
}
if err = json.Unmarshal(msg.Data, &r); err != nil {
return nil, err
}
if r.Error != "" {
return nil, errors.New(r.Error)
}
return r.Data, nil
}
func (s Supplier) GetBankInfoByID(supplierID model.SupplierRequestPayload) (*model.SupplierAll, error) {
msg, err := natsio.GetServer().Request(subject.Supplier.FindAll, toBytes(supplierID))
if err != nil {
return nil, err
}
var r struct {
Data *model.SupplierAll `json:"data"`
Error string `json:"error"`
}
if err = json.Unmarshal(msg.Data, &r); err != nil {
return nil, err
}
if r.Error != "" {
return nil, errors.New(r.Error)
}
return r.Data, nil
}
func (s Supplier) Count(req model.SupplierCountReq) (*model.SupplierCountRes, error) {
msg, err := natsio.GetServer().Request(subject.Supplier.Count, toBytes(req))
if err != nil {
return nil, err
}
var r struct {
Data *model.SupplierCountRes `json:"data"`
Error string `json:"error"`
}
if err = json.Unmarshal(msg.Data, &r); err != nil {
return nil, err
}
if r.Error != "" {
return nil, errors.New(r.Error)
}
return r.Data, nil
}
// CreateWarehouseIntoServiceSupplier ...
func (s Supplier) CreateWarehouseIntoServiceSupplier(p model.CreateSupplierWarehousePayload) error {
msg, err := natsio.GetServer().Request(subject.Warehouse.CreateWarehouseIntoServiceSupplier, toBytes(p))
if err != nil {
return err
}
var r struct {
Error string `json:"error"`
}
if err = json.Unmarshal(msg.Data, &r); err != nil {
return err
}
if r.Error != "" {
return errors.New(r.Error)
}
return nil
}
// UpdateWarehouseIntoServiceSupplier ...
func (s Supplier) UpdateWarehouseIntoServiceSupplier(p model.UpdateSupplierWarehousePayload) error {
msg, err := natsio.GetServer().Request(subject.Warehouse.UpdateWarehouseIntoServiceSupplier, toBytes(p))
if err != nil {
return err
}
var r struct {
Error string `json:"error"`
}
if err = json.Unmarshal(msg.Data, &r); err != nil {
return err
}
if r.Error != "" {
return errors.New(r.Error)
}
return nil
}

58
client/supplier_role.go Normal file
View File

@ -0,0 +1,58 @@
package client
import (
"encoding/json"
"errors"
"git.selly.red/Selly-Modules/natsio"
"git.selly.red/Selly-Modules/natsio/model"
"git.selly.red/Selly-Modules/natsio/subject"
)
// SupplierRole ...
type SupplierRole struct{}
// GetSupplierRole ...
func GetSupplierRole() SupplierRole {
return SupplierRole{}
}
func (s SupplierRole) CreateRole(p model.CreateRoleRequest) (*model.CreateRoleResponse, error) {
msg, err := natsio.GetServer().Request(subject.SupplierUser.CreateOwner, toBytes(p))
if err != nil {
return nil, err
}
var r struct {
Data *model.CreateRoleResponse `json:"data"`
Error string `json:"error"`
}
if err = json.Unmarshal(msg.Data, &r); err != nil {
return nil, err
}
if r.Error != "" {
return nil, errors.New(r.Error)
}
return r.Data, nil
}
func (s SupplierRole) UpdateRole(p model.UpdateRoleRequest) error {
msg, err := natsio.GetServer().Request(subject.SupplierRole.Update, toBytes(p))
if err != nil {
return err
}
var r struct {
Error string `json:"error"`
}
if err = json.Unmarshal(msg.Data, &r); err != nil {
return err
}
if r.Error != "" {
return errors.New(r.Error)
}
return nil
}

160
client/supplier_user.go Normal file
View File

@ -0,0 +1,160 @@
package client
import (
"encoding/json"
"errors"
"git.selly.red/Selly-Modules/natsio"
"git.selly.red/Selly-Modules/natsio/model"
"git.selly.red/Selly-Modules/natsio/subject"
)
// SupplierUser ...
type SupplierUser struct{}
// GetSupplierUser ...
func GetSupplierUser() SupplierUser {
return SupplierUser{}
}
func (s SupplierUser) CreateSupplierOwnerUsers(p model.CreateOwnerRequest) (*model.CreateOwnerResponse, error) {
msg, err := natsio.GetServer().Request(subject.SupplierUser.CreateOwner, toBytes(p))
if err != nil {
return nil, err
}
var r struct {
Data *model.CreateOwnerResponse `json:"data"`
Error string `json:"error"`
}
if err = json.Unmarshal(msg.Data, &r); err != nil {
return nil, err
}
if r.Error != "" {
return nil, errors.New(r.Error)
}
return r.Data, nil
}
func (s SupplierUser) UpdateSupplierOwnerUsers(p model.UpdateOwnerRequest) error {
msg, err := natsio.GetServer().Request(subject.SupplierUser.UpdateOwner, toBytes(p))
if err != nil {
return err
}
var r struct {
Error string `json:"error"`
}
if err = json.Unmarshal(msg.Data, &r); err != nil {
return err
}
if r.Error != "" {
return errors.New(r.Error)
}
return nil
}
func (s SupplierUser) CreateSupplierStaffUsers(p model.CreateStaffRequest) (*model.CreateStaffResponse, error) {
msg, err := natsio.GetServer().Request(subject.SupplierUser.CreateStaff, toBytes(p))
if err != nil {
return nil, err
}
var r struct {
Data *model.CreateStaffResponse `json:"data"`
Error string `json:"error"`
}
if err = json.Unmarshal(msg.Data, &r); err != nil {
return nil, err
}
if r.Error != "" {
return nil, errors.New(r.Error)
}
return r.Data, nil
}
func (s SupplierUser) UpdateSupplierStaffUsers(p model.UpdateStaffRequest) error {
msg, err := natsio.GetServer().Request(subject.SupplierUser.UpdateStaff, toBytes(p))
if err != nil {
return err
}
var r struct {
Error string `json:"error"`
}
if err = json.Unmarshal(msg.Data, &r); err != nil {
return err
}
if r.Error != "" {
return errors.New(r.Error)
}
return nil
}
func (s SupplierUser) UpdateStatus(p model.UpdateStatusRequest) error {
msg, err := natsio.GetServer().Request(subject.SupplierUser.UpdateStaff, toBytes(p))
if err != nil {
return err
}
var r struct {
Error string `json:"error"`
}
if err = json.Unmarshal(msg.Data, &r); err != nil {
return err
}
if r.Error != "" {
return errors.New(r.Error)
}
return nil
}
func (s SupplierUser) ResetPassword(p model.ResetPasswordRequest) (*model.ResetPasswordResponse, error) {
msg, err := natsio.GetServer().Request(subject.SupplierUser.ResetPassword, toBytes(p))
if err != nil {
return nil, err
}
var r struct {
Data *model.ResetPasswordResponse `json:"data"`
Error string `json:"error"`
}
if err = json.Unmarshal(msg.Data, &r); err != nil {
return nil, err
}
if r.Error != "" {
return nil, errors.New(r.Error)
}
return r.Data, nil
}
// CheckTokenSupplierUser ...
func (s SupplierUser) CheckTokenSupplierUser(p model.CheckTokenSupplierUserPayload) (*model.ResponseCheckTokenSupplierUser, error) {
msg, err := natsio.GetServer().Request(subject.SupplierUser.CheckTokenSupplierUser, toBytes(p))
if err != nil {
return nil, err
}
var r struct {
Error string `json:"error"`
Data *model.ResponseCheckTokenSupplierUser `json:"data"`
}
if err = json.Unmarshal(msg.Data, &r); err != nil {
return nil, err
}
if r.Error != "" {
return nil, errors.New(r.Error)
}
return r.Data, nil
}

View File

@ -2,6 +2,7 @@ package client
import (
"encoding/json"
"go.mongodb.org/mongo-driver/bson"
"log"
)
@ -12,3 +13,9 @@ func toBytes(data interface{}) []byte {
}
return b
}
// bsonToBytes ...
func bsonToBytes(data interface{}) []byte {
b, _ := bson.Marshal(data)
return b
}

View File

@ -3,10 +3,11 @@ package client
import (
"encoding/json"
"errors"
"fmt"
"github.com/Selly-Modules/natsio"
"github.com/Selly-Modules/natsio/model"
"github.com/Selly-Modules/natsio/subject"
"git.selly.red/Selly-Modules/natsio"
"git.selly.red/Selly-Modules/natsio/model"
"git.selly.red/Selly-Modules/natsio/subject"
)
// Warehouse ...
@ -17,9 +18,63 @@ func GetWarehouse() Warehouse {
return Warehouse{}
}
// UpdateIsClosedSupplier ...
func (w Warehouse) UpdateIsClosedSupplier(p model.UpdateSupplierIsClosedRequest) error {
msg, err := natsio.GetServer().Request(subject.Warehouse.UpdateIsClosedSupplier, toBytes(p))
if err != nil {
return err
}
var r struct {
Error string `json:"error"`
}
if err = json.Unmarshal(msg.Data, &r); err != nil {
return err
}
if r.Error != "" {
return errors.New(r.Error)
}
return nil
}
// AfterCreateWarehouse ...
func (w Warehouse) AfterCreateWarehouse(p model.WarehouseNatsResponse) error {
msg, err := natsio.GetServer().Request(subject.Warehouse.AfterCreateWarehouse, toBytes(p))
if err != nil {
return err
}
var r struct {
Error string `json:"error"`
}
if err = json.Unmarshal(msg.Data, &r); err != nil {
return err
}
if r.Error != "" {
return errors.New(r.Error)
}
return nil
}
// AfterUpdateWarehouse ...
func (w Warehouse) AfterUpdateWarehouse(p model.WarehouseNatsResponse) error {
msg, err := natsio.GetServer().Request(subject.Warehouse.AfterUpdateWarehouse, toBytes(p))
if err != nil {
return err
}
var r struct {
Error string `json:"error"`
}
if err = json.Unmarshal(msg.Data, &r); err != nil {
return err
}
if r.Error != "" {
return errors.New(r.Error)
}
return nil
}
// CreateOutboundRequest ...
func (w Warehouse) CreateOutboundRequest(p model.OutboundRequestPayload) (*model.OutboundRequestResponse, error) {
msg, err := natsio.GetServer().Request(subject.WarehouseCreateOutboundRequest, toBytes(p))
msg, err := natsio.GetServer().Request(subject.Warehouse.CreateOutboundRequest, toBytes(p))
if err != nil {
return nil, err
}
@ -38,7 +93,7 @@ func (w Warehouse) CreateOutboundRequest(p model.OutboundRequestPayload) (*model
// UpdateOutboundRequestLogisticInfo ...
func (w Warehouse) UpdateOutboundRequestLogisticInfo(p model.UpdateOutboundRequestLogisticInfoPayload) error {
msg, err := natsio.GetServer().Request(subject.WarehouseUpdateOutboundRequestLogistic, toBytes(p))
msg, err := natsio.GetServer().Request(subject.Warehouse.UpdateOutboundRequestLogistic, toBytes(p))
if err != nil {
return err
}
@ -56,7 +111,7 @@ func (w Warehouse) UpdateOutboundRequestLogisticInfo(p model.UpdateOutboundReque
// CancelOutboundRequest ...
func (w Warehouse) CancelOutboundRequest(p model.CancelOutboundRequest) error {
msg, err := natsio.GetServer().Request(subject.WarehouseCancelOutboundRequest, toBytes(p))
msg, err := natsio.GetServer().Request(subject.Warehouse.CancelOutboundRequest, toBytes(p))
if err != nil {
return err
}
@ -74,7 +129,7 @@ func (w Warehouse) CancelOutboundRequest(p model.CancelOutboundRequest) error {
// GetConfigByWarehouseID ...
func (w Warehouse) GetConfigByWarehouseID(warehouseID string) (*model.WarehouseConfiguration, error) {
msg, err := natsio.GetServer().Request(subject.WarehouseGetConfiguration, toBytes(warehouseID))
msg, err := natsio.GetServer().Request(subject.Warehouse.GetConfiguration, toBytes(warehouseID))
if err != nil {
return nil, err
}
@ -90,3 +145,99 @@ func (w Warehouse) GetConfigByWarehouseID(warehouseID string) (*model.WarehouseC
}
return r.Data, nil
}
// GetListConfig ...
func (w Warehouse) GetListConfig(req model.GetListWarehouseConfigReq) ([]*model.WarehouseConfiguration, error) {
msg, err := natsio.GetServer().Request(subject.Warehouse.GetListWarehouseConfig, toBytes(req))
if err != nil {
return nil, err
}
var r struct {
Data []*model.WarehouseConfiguration `json:"data"`
Error string `json:"error"`
}
if err = json.Unmarshal(msg.Data, &r); err != nil {
return nil, err
}
if r.Error != "" {
return nil, errors.New(r.Error)
}
return r.Data, nil
}
// GetWarehouses ...
func (w Warehouse) GetWarehouses(p model.GetWarehousesRequest) (*model.GetWarehousesResponse, error) {
msg, err := natsio.GetServer().Request(subject.Warehouse.GetWarehouses, toBytes(p))
if err != nil {
return nil, err
}
var r struct {
Data *model.GetWarehousesResponse `json:"data"`
Error string `json:"error"`
}
if err = json.Unmarshal(msg.Data, &r); err != nil {
return nil, err
}
if r.Error != "" {
return nil, errors.New(r.Error)
}
return r.Data, nil
}
// UpdateORDeliveryStatus ...
func (w Warehouse) UpdateORDeliveryStatus(p model.WarehouseORUpdateDeliveryStatus) error {
msg, err := natsio.GetServer().Request(subject.Warehouse.UpdateORDeliveryStatus, toBytes(p))
if err != nil {
return err
}
var r struct {
Error string `json:"error"`
}
if err = json.Unmarshal(msg.Data, &r); err != nil {
return fmt.Errorf("nats: update_or_delivery_status %v", err)
}
if r.Error != "" {
return errors.New(r.Error)
}
return nil
}
// UpdateStatusWarehousePendingInactive ...
func (w Warehouse) UpdateStatusWarehousePendingInactive(p model.UpdateStatusWarehousePendingInactiveRequest) error {
msg, err := natsio.GetServer().Request(subject.Warehouse.UpdateStatusWarehousePendingInactive, toBytes(p))
if err != nil {
return err
}
var r struct {
Error string `json:"error"`
}
if err = json.Unmarshal(msg.Data, &r); err != nil {
return fmt.Errorf("nats: update_status_warehouse_pending_inactive %v", err)
}
if r.Error != "" {
return errors.New(r.Error)
}
return nil
}
// UpdateIsSellyMall ...
func (w Warehouse) UpdateIsSellyMall(p model.UpdateIsSellyMallRequest) error {
msg, err := natsio.GetServer().Request(subject.Warehouse.UpdateIsSellyMall, toBytes(p))
if err != nil {
return err
}
var r struct {
Error string `json:"error"`
}
if err = json.Unmarshal(msg.Data, &r); err != nil {
return fmt.Errorf("nats: update_is_selly_mall %v", err)
}
if r.Error != "" {
return errors.New(r.Error)
}
return nil
}

122
client/warehouse_dao.go Normal file
View File

@ -0,0 +1,122 @@
package client
import (
"encoding/json"
"errors"
"git.selly.red/Selly-Modules/natsio"
"git.selly.red/Selly-Modules/natsio/model"
"git.selly.red/Selly-Modules/natsio/subject"
)
// DistinctWithField ...
func (w Warehouse) DistinctWithField(p model.DistinctWithField) ([]interface{}, error) {
msg, err := natsio.GetServer().Request(subject.Warehouse.Distinct, bsonToBytes(p))
if err != nil {
return nil, err
}
var r struct {
Data []interface{} `json:"data"`
Error string `json:"error"`
}
if err = json.Unmarshal(msg.Data, &r); err != nil {
return nil, err
}
if r.Error != "" {
return nil, errors.New(r.Error)
}
return r.Data, nil
}
// FindOneByCondition ...
func (w Warehouse) FindOneByCondition(p model.FindOneCondition) (*model.WarehouseNatsResponse, error) {
msg, err := natsio.GetServer().Request(subject.Warehouse.FindOne, bsonToBytes(p))
if err != nil {
return nil, err
}
var r struct {
Data *model.WarehouseNatsResponse `json:"data"`
Error string `json:"error"`
}
if err = json.Unmarshal(msg.Data, &r); err != nil {
return nil, err
}
if r.Error != "" {
return nil, errors.New(r.Error)
}
return r.Data, nil
}
// CountByCondition ...
func (w Warehouse) CountByCondition(p model.FindWithCondition) (int64, error) {
msg, err := natsio.GetServer().Request(subject.Warehouse.Count, bsonToBytes(p))
if err != nil {
return 0, err
}
var r struct {
Data int64 `json:"data"`
Error string `json:"error"`
}
if err = json.Unmarshal(msg.Data, &r); err != nil {
return 0, err
}
if r.Error != "" {
return 0, errors.New(r.Error)
}
return r.Data, nil
}
// FindByCondition ...
func (w Warehouse) FindByCondition(p model.FindWithCondition) ([]*model.WarehouseNatsResponse, error) {
msg, err := natsio.GetServer().Request(subject.Warehouse.FindByCondition, bsonToBytes(p))
if err != nil {
return nil, err
}
var r struct {
Data []*model.WarehouseNatsResponse `json:"data"`
Error string `json:"error"`
}
if err = json.Unmarshal(msg.Data, &r); err != nil {
return nil, err
}
if r.Error != "" {
return nil, errors.New(r.Error)
}
return r.Data, nil
}
// UpdateWarehouseConfig ...
func (w Warehouse) UpdateWarehouseConfig(p model.UpdatePayload) error {
msg, err := natsio.GetServer().Request(subject.Warehouse.UpdateWarehouseConfig, bsonToBytes(p))
if err != nil {
return err
}
var r struct {
Error string `json:"error"`
}
if err = json.Unmarshal(msg.Data, &r); err != nil {
return err
}
if r.Error != "" {
return errors.New(r.Error)
}
return nil
}
// BulkWriteWarehouseConfig ...
func (w Warehouse) BulkWriteWarehouseConfig(p model.UpdatePayload) error {
msg, err := natsio.GetServer().Request(subject.Warehouse.BulkWriteWarehouseConfig, bsonToBytes(p))
if err != nil {
return err
}
var r struct {
Error string `json:"error"`
}
if err = json.Unmarshal(msg.Data, &r); err != nil {
return err
}
if r.Error != "" {
return errors.New(r.Error)
}
return nil
}

4
go.mod
View File

@ -1,12 +1,12 @@
module github.com/Selly-Modules/natsio
module git.selly.red/Selly-Modules/natsio
go 1.16
require (
github.com/golang/protobuf v1.5.2 // indirect
github.com/logrusorgru/aurora v2.0.3+incompatible
github.com/nats-io/nats-server/v2 v2.6.1 // indirect
github.com/nats-io/nats.go v1.13.0
github.com/thoas/go-funk v0.9.1
go.mongodb.org/mongo-driver v1.10.1
google.golang.org/protobuf v1.27.1 // indirect
)

50
go.sum
View File

@ -1,5 +1,6 @@
github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8=
github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA=
github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs=
@ -9,17 +10,25 @@ github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw
github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw=
github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
github.com/golang/snappy v0.0.3 h1:fHPg5GQYlCeLIPB9BZqMVR5nR9A+IM5zcgeTdjMYmLA=
github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU=
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/klauspost/compress v1.13.4 h1:0zhec2I8zGnjWcKyLl6i3gPqKANCCn5e9xmviEEeX6s=
github.com/klauspost/compress v1.13.4/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg=
github.com/logrusorgru/aurora v2.0.3+incompatible h1:tOpm7WcpBTn4fjmVfgpQq0EfczGlG91VSDkswnjF5A8=
github.com/logrusorgru/aurora v2.0.3+incompatible/go.mod h1:7rIyQOR62GCctdiQpZ/zOJlFyk6y+94wXzv6RNZgaR4=
github.com/klauspost/compress v1.13.6 h1:P76CopJELS0TiO2mebmnzgWaajssP/EszplttgQxcgc=
github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk=
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/minio/highwayhash v1.0.1 h1:dZ6IIu8Z14VlC0VpfKofAhCy74wu/Qb5gcn52yWoz/0=
github.com/minio/highwayhash v1.0.1/go.mod h1:BQskDq+xkJ12lmlUUi7U0M5Swg3EWR+dLTk+kldvVxY=
github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe h1:iruDEfMl2E6fbMZ9s0scYfZQ84/6SPL6zC8ACM2oIL0=
github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe/go.mod h1:wL8QJuTMNUDYhXwkmfOly8iTdp5TEcJFWZD2D7SIkUc=
github.com/nats-io/jwt v1.2.2 h1:w3GMTO969dFg+UOKTmmyuu7IGdusK+7Ytlt//OYH/uU=
github.com/nats-io/jwt v1.2.2/go.mod h1:/xX356yQA6LuXI9xWW7mZNpxgF2mBmGecH+Fj34sP5Q=
github.com/nats-io/jwt/v2 v2.0.3 h1:i/O6cmIsjpcQyWDYNcq2JyZ3/VTF8SJ4JWluI5OhpvI=
@ -34,32 +43,56 @@ github.com/nats-io/nkeys v0.3.0 h1:cgM5tL53EvYRU+2YLXIK0G2mJtK12Ft9oeooSZMA2G8=
github.com/nats-io/nkeys v0.3.0/go.mod h1:gvUNGjVcM2IPr5rCsRsC6Wb3Hr2CQAm08dsxtV6A5y4=
github.com/nats-io/nuid v1.0.1 h1:5iA8DT8V7q8WK2EScv2padNa/rTESc1KdnPw4TC2paw=
github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c=
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk=
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
github.com/stretchr/testify v1.6.1 h1:hDPOHmpOpP40lSULcqw7IrRb/u7w6RpDC9399XyoNd0=
github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/thoas/go-funk v0.9.1 h1:O549iLZqPpTUQ10ykd26sZhzD+rmR5pWhuElrhbC20M=
github.com/thoas/go-funk v0.9.1/go.mod h1:+IWnUfUmFO1+WVYQWQtIJHeRRdaIyyYglZN7xzUPe4Q=
github.com/tidwall/pretty v1.0.0 h1:HsD+QiTn7sK6flMKIvNmpqz1qrpP3Ps6jOKIKMooyg4=
github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk=
github.com/xdg-go/pbkdf2 v1.0.0 h1:Su7DPu48wXMwC3bs7MCNG+z4FhcyEuz5dlvchbq0B0c=
github.com/xdg-go/pbkdf2 v1.0.0/go.mod h1:jrpuAogTd400dnrH08LKmI/xc1MbPOebTwRqcT5RDeI=
github.com/xdg-go/scram v1.1.1 h1:VOMT+81stJgXW3CpHyqHN3AXDYIMsx56mEFrB37Mb/E=
github.com/xdg-go/scram v1.1.1/go.mod h1:RaEWvsqvNKKvBPvcKeFjrG2cJqOkHTiyTpzz23ni57g=
github.com/xdg-go/stringprep v1.0.3 h1:kdwGpVNwPFtjs98xCGkHjQtGKh86rDcRZN17QEMCOIs=
github.com/xdg-go/stringprep v1.0.3/go.mod h1:W3f5j4i+9rC0kuIEJL0ky1VpHXQU3ocBgklLGvcBnW8=
github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d h1:splanxYIlg+5LfHAM6xpdFEAYOk8iySO56hMFq6uLyA=
github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d/go.mod h1:rHwXgn7JulP+udvsHwJoVG1YGAP6VLg4y9I5dyZdqmA=
go.mongodb.org/mongo-driver v1.10.1 h1:NujsPveKwHaWuKUer/ceo9DzEe7HIj1SlJ6uvXZG0S4=
go.mongodb.org/mongo-driver v1.10.1/go.mod h1:z4XpeoU6w+9Vht+jAFyLgVrD+jGSQQe0+CBWFHNiHt8=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20200323165209-0ec3e9974c59/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20210314154223-e6e6c4f2bb5b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4=
golang.org/x/crypto v0.0.0-20210616213533-5ff15b29337e h1:gsTQYXdTw2Gq7RBsWvlQ91b+aEQ6bXFUngBGuR8sPpI=
golang.org/x/crypto v0.0.0-20210616213533-5ff15b29337e/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d h1:sK3txAijHtOK88l68nt020reeT1ZdKLIYetKl95FzVY=
golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c h1:5KslGYwFpkhGh+Q16bwMP3cOontH8FOep7tGV86Y7SQ=
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sys v0.0.0-20190130150945-aca44879d564/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1 h1:SrN+KX8Art/Sf4HNj6Zcz06G7VEz+7w9tdXTPOZ7+l4=
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk=
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
golang.org/x/time v0.0.0-20200416051211-89c76fbcd5d1 h1:NusfzzA6yGQ+ua51ck7E3omNUX/JuqbFSaRGqU8CcLI=
golang.org/x/time v0.0.0-20200416051211-89c76fbcd5d1/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
@ -72,5 +105,8 @@ google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQ
google.golang.org/protobuf v1.27.1 h1:SnqbnDw1V7RiZcXPx5MEeqPv2s79L9i7BJUlG/+RurQ=
google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw=
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=

4
jestream_name.go Normal file
View File

@ -0,0 +1,4 @@
package natsio
// StreamNameSelly ...
const StreamNameSelly = "selly"

18
js/consumer/selly.go Normal file
View File

@ -0,0 +1,18 @@
package jsconsumer
// Selly ...
var Selly = struct {
PushNotification string
UpdateSellerAffiliateStatistic string
CheckAnDInsertCashflowBySeller string
SubscriberTopic string
UpdateSellerSavingCampaignStatistic string
GenerateVoucherPromotion string
}{
PushNotification: "PULL_PUSH_NOTIFICATION",
UpdateSellerAffiliateStatistic: "PULL_UPDATE_SELLER_AFFILIATE_STATISTIC",
CheckAnDInsertCashflowBySeller: "PULL_CHECK_AND_INSERT_CASHFLOW_BY_SELLER",
SubscriberTopic: "PULL_SUBSCRIBER_TOPIC",
UpdateSellerSavingCampaignStatistic: "PULL_UPDATE_SELLER_SAVING_CAMPAIGN_STATISTIC",
GenerateVoucherPromotion: "PULL_GENERATE_VOUCHER_PROMOTION",
}

110
js/model/selly.go Normal file
View File

@ -0,0 +1,110 @@
package jsmodel
import "go.mongodb.org/mongo-driver/bson/primitive"
// PushNotification ...
type PushNotification struct {
User string `json:"user"`
Type string `json:"type"`
TargetID string `json:"targetId"`
IsFromAdmin bool `json:"isFromAdmin"`
Category string `json:"category"`
Options NotificationOptions `json:"options"`
}
// NotificationOptions ...
type NotificationOptions struct {
Title string `json:"title"`
Content string `json:"content"`
CampaignID string `json:"campaignId,omitempty"`
SellerSavingCampaignID string `json:"sellerSavingCampaignId,omitempty"`
SellerSavingCampaignStatus string `json:"sellerSavingCampaignStatus,omitempty"`
}
// PayloadUpdateSellerAffiliateStatistic ...
type PayloadUpdateSellerAffiliateStatistic struct {
SellerID string `json:"sellerId"`
Statistic SellerAffiliateStatistic `json:"statistic"`
}
// SellerAffiliateStatistic ...
type SellerAffiliateStatistic struct {
TransactionTotal int `json:"transactionTotal"`
TransactionCashback int `json:"transactionCashback"`
TransactionPending int `json:"transactionPending"`
TransactionApproved int `json:"transactionApproved"`
TransactionRejected int `json:"transactionRejected"`
CommissionTransactionTotal float64 `json:"commissionTransactionTotal"`
CommissionTransactionCashback float64 `json:"commissionTransactionCashback"`
CommissionTransactionApproved float64 `json:"commissionTransactionApproved"`
CommissionTransactionPending float64 `json:"commissionTransactionPending"`
CommissionTransactionRejected float64 `json:"commissionTransactionRejected"`
}
// PayloadCashflowsBySeller ...
type PayloadCashflowsBySeller struct {
SellerID string `json:"sellerId"`
List []CashflowSeller `json:"list"`
}
// CashflowSeller ...
type CashflowSeller struct {
Value float64 `json:"value"`
Action string `json:"action"`
Category string `json:"category"`
TargetID string `json:"targetId"`
TargetType string `json:"targetType"`
Options *CashFlowOptions `json:"options"`
}
// CashFlowOptions ...
type CashFlowOptions struct {
AffiliateTransactionCode string `json:"affiliateTransactionCode,omitempty"`
AffiliateCampaignID string `json:"affiliateCampaignId,omitempty"`
AffiliateCampaignName string `json:"affiliateCampaignName,omitempty"`
// Campaign
CampaignID string `json:"campaignId,omitempty"`
CampaignName string `json:"campaignName,omitempty"`
// SavingCampaign
SavingCampaignID string `json:"savingCampaignId,omitempty"`
SavingCampaignName string `json:"savingCampaignName,omitempty"`
SavingCampaignItemID string `json:"savingCampaignItemId,omitempty"`
SavingCampaignItemName string `json:"savingCampaignItemName,omitempty"`
}
// PayloadUpdateSellerSavingCampaignStatistic ...
type PayloadUpdateSellerSavingCampaignStatistic struct {
SellerID string `json:"sellerId"`
Statistic SellerSavingCampaignStatistic `json:"statistic"`
}
// SellerSavingCampaignStatistic ...
type SellerSavingCampaignStatistic struct {
SavingCampaignCashPending float64 `json:"savingCampaignCashPending"`
SavingCampaignCashCompleted float64 `json:"savingCampaignCashCompleted"`
}
// GenerateVoucherPromotion ...
type GenerateVoucherPromotion struct {
Cash float64 `json:"cash"`
TargetID primitive.ObjectID `json:"targetId"`
TargetType string `json:"targetType"`
Options GenerateVoucherPromotionOptions `json:"options"`
Seller primitive.ObjectID `json:"seller"`
}
// GenerateVoucherPromotionOptions ...
type GenerateVoucherPromotionOptions struct {
Title string `json:"title"`
}
// SubscriberNotificationTopic ...
type SubscriberNotificationTopic struct {
User string `json:"user"`
Topic string `json:"topic"`
DeviceId string `json:"deviceId"`
FCMToken string `json:"fcmToken"`
}

10
js/subject/config.go Normal file
View File

@ -0,0 +1,10 @@
package jssubject
var root = "js"
// prefixes ...
var prefixes = struct {
Selly string
}{
Selly: "selly",
}

27
js/subject/selly.go Normal file
View File

@ -0,0 +1,27 @@
package jssubject
import (
"fmt"
)
// getSellyValue ...
func getSellyValue(val string) string {
return fmt.Sprintf("%s.%s.%s", root, prefixes.Selly, val)
}
// Selly ...
var Selly = struct {
PushNotification string
UpdateSellerAffiliateStatistic string
CheckAnDInsertCashflowBySeller string
SubscriberTopic string
UpdateSellerSavingCampaignStatistic string
GenerateVoucherPromotion string
}{
PushNotification: getSellyValue("push_notifications"),
UpdateSellerAffiliateStatistic: getSellyValue("update_seller_affiliate_statistic"),
CheckAnDInsertCashflowBySeller: getSellyValue("check_and_insert_cashflow_statistic"),
SubscriberTopic: getSellyValue("subscriber_topic"),
UpdateSellerSavingCampaignStatistic: getSellyValue("update_seller_saving_campaign_statistic"),
GenerateVoucherPromotion: getSellyValue("generate_voucher_promotion"),
}

View File

@ -22,6 +22,17 @@ func (e JSONEncoder) Subscribe(subject string, cb nats.Handler) (*nats.Subscript
return sub, err
}
// QueueSubscribe ...
func (e JSONEncoder) QueueSubscribe(subject, queue string, cb nats.Handler) (*nats.Subscription, error) {
sub, err := e.encConn.QueueSubscribe(subject, queue, cb)
if err != nil {
log.Printf("natsio.JSONEncoder.QueueSubscribe err: %v\n", err)
} else {
log.Printf("natsio.JSONEncoder.QueueSubscribe - subscribed to subject %s successfully\n", subject)
}
return sub, err
}
// Publish ...
func (e JSONEncoder) Publish(reply string, data interface{}) error {
return e.encConn.Publish(reply, data)

View File

@ -0,0 +1,16 @@
package model
import "time"
// GetTransactionsRequest ...
type GetTransactionsRequest struct {
Page int64 `json:"page"`
Limit int64 `json:"limit"`
Keyword string `json:"keyword"`
Status string `json:"status"`
Source string `json:"source"`
Campaign string `json:"campaign"`
Seller string `json:"seller"`
FromAt time.Time `json:"fromAt"`
ToAt time.Time `json:"toAt"`
}

View File

@ -0,0 +1,38 @@
package model
// GetTransactionsResponse ...
type GetTransactionsResponse struct {
Total int64 `json:"total"`
Limit int64 `json:"limit"`
List []TransactionInfo `json:"list"`
}
// TransactionInfo ...
type TransactionInfo struct {
ID string `json:"_id"`
Code string `json:"code"`
Campaign ResponseCampaignShort `json:"campaign"`
Seller ResponseSellerInfo `json:"seller"`
Source string `json:"source"`
Commission ResponseCampaignCommission `json:"commission"`
EstimateSellerCommission float64 `json:"estimateSellerCommission"`
TransactionTime string `json:"transactionTime"`
Status string `json:"status"`
RejectedReason string `json:"rejectedReason"`
EstimateCashbackAt string `json:"estimateCashbackAt"`
}
// ResponseCampaignCommission ...
type ResponseCampaignCommission struct {
Real float64 `json:"real"`
SellerPercent float64 `json:"sellerPercent"`
Selly float64 `json:"selly"`
Seller float64 `json:"seller"`
}
// ResponseCampaignShort ...
type ResponseCampaignShort struct {
ID string `json:"_id"`
Name string `json:"name"`
Logo *FilePhoto `json:"logo"`
}

View File

@ -0,0 +1,11 @@
package model
// BankBranchBrief ...
type BankBranchBrief struct {
ID string `json:"_id"`
City string `json:"city"`
BankCode string `json:"bankCode"`
Bank string `json:"bank"`
Active bool `json:"active"`
Name string `json:"name"`
}

View File

@ -0,0 +1,6 @@
package model
type BankBranchRequest struct {
BankID string `json:"bankId"`
BranchID string `json:"branchId"`
}

21
model/bank_response.go Normal file
View File

@ -0,0 +1,21 @@
package model
// MultiLang ...
type MultiLang struct {
En string `json:"en"`
Vi string `json:"vi"`
}
// BankBrief ...
type BankBrief struct {
ID string `json:"_id"`
Name MultiLang `json:"name"`
ShortName string `json:"shortName"`
Active bool `json:"active"`
BenBankName string `json:"benBankName"`
BankCode int `json:"bankCode"`
IsBranchRequired bool `json:"isBranchRequired"`
SearchString string `json:"searchString"`
BeneficiaryForVietinbank string `json:"beneficiaryForVietinbank"`
CreatedBy string `json:"createdBy,omitempty"`
}

22
model/campaign_request.go Normal file
View File

@ -0,0 +1,22 @@
package model
import (
"go.mongodb.org/mongo-driver/bson/primitive"
"time"
)
// GetCampaignTransactionsRequest ...
type GetCampaignTransactionsRequest struct {
Campaign string `json:"campaign"`
Keyword string `json:"keyword"`
Status string `json:"status"`
FromAt time.Time `json:"fromAt"`
ToAt time.Time `json:"toAt"`
Page int64 `json:"page"`
Limit int64 `json:"limit"`
}
// GetCampaignSellerStatisticBySellerIDs ...
type GetCampaignSellerStatisticBySellerIDs struct {
SellerIDs []primitive.ObjectID
}

View File

@ -0,0 +1,88 @@
package model
import "go.mongodb.org/mongo-driver/bson/primitive"
// ResponseCampaignTransactionAll ...
type ResponseCampaignTransactionAll struct {
List []ResponseNatsCampaignTransaction `json:"list"`
Total int64 `json:"total"`
Limit int64 `json:"limit"`
}
// ResponseNatsCampaignTransaction ...
type ResponseNatsCampaignTransaction struct {
ID string `json:"_id"`
Cash float64 `json:"cash"`
Campaign ResponseCampaignShortInfo `json:"campaign"`
Options ResponseCampaignTransactionOptions `json:"options"`
Seller primitive.ObjectID `json:"seller"`
Type string `json:"type"`
Status string `json:"status"`
RejectedReason string `json:"rejectedReason"`
CreatedAt string `json:"createdAt"`
UpdatedAt string `json:"updatedAt"`
Item *ResponseCampaignItemShortInfo `json:"item"`
ApprovedBy primitive.ObjectID `json:"approvedBy,omitempty"`
RejectedBy primitive.ObjectID `json:"rejectedBy,omitempty"`
ApprovedAt string `json:"approvedAt,omitempty"`
RejectedAt string `json:"rejectedAt,omitempty"`
CompletedAt string `json:"completedAt,omitempty"`
RejectReason string `json:"rejectReason,omitempty"`
AdminConfirmData *ResponseCampaignTransactionAdminConfirmData `json:"adminConfirmData,omitempty"`
}
// ResponseCampaignShortInfo ...
type ResponseCampaignShortInfo struct {
ID string `json:"_id"`
Name string `json:"name"`
Status string `json:"status"`
}
// ResponseCampaignItemShortInfo ...
type ResponseCampaignItemShortInfo struct {
ID string `json:"_id"`
Name string `json:"name"`
Status string `json:"status"`
}
// ResponseCampaignTransactionOptions ...
type ResponseCampaignTransactionOptions struct {
Link string `json:"link"`
SocialChannel string `json:"socialChannel"`
Milestone int64 `json:"milestone"`
MilestoneTitle string `json:"milestoneTitle"`
}
// ResponseCampaignTransactionAdminConfirmData ...
type ResponseCampaignTransactionAdminConfirmData struct {
FriendPublicTotal int64 `json:"friendPublicTotal"`
}
// ResponseCampaignSellerStatisticList ...
type ResponseCampaignSellerStatisticList struct {
List []ResponseCampaignSellerStatistic `json:"list"`
}
// ResponseCampaignSellerStatistic ...
type ResponseCampaignSellerStatistic struct {
SellerID primitive.ObjectID `json:"sellerId"`
Statistic CampaignSellerStatistic `json:"Statistic"`
}
// CampaignSellerStatistic ...
type CampaignSellerStatistic struct {
TotalNotRejected int64 `bson:"totalNotRejected" json:"totalNotRejected"`
CashTotalNotRejected float64 `bson:"cashTotalNotRejected" json:"cashTotalNotRejected"`
TotalCompleted int64 `bson:"totalCompleted" json:"totalCompleted"`
CashTotalCompleted float64 `bson:"cashTotalCompleted" json:"cashTotalCompleted"`
TotalPending int64 `bson:"totalPending" json:"totalPending"`
CashTotalPending float64 `bson:"cashTotalPending" json:"cashTotalPending"`
TotalApproved int64 `bson:"totalApproved" json:"totalApproved"`
CashTotalApproved float64 `bson:"cashTotalApproved" json:"cashTotalApproved"`
TotalRejected int64 `bson:"totalRejected" json:"totalRejected"`
CashTotalRejected float64 `bson:"cashTotalRejected" json:"cashTotalRejected"`
}

56
model/common_request.go Normal file
View File

@ -0,0 +1,56 @@
package model
import "go.mongodb.org/mongo-driver/mongo/options"
type FindWithCondition struct {
Conditions interface{} `json:"conditions"`
Opts []*options.FindOptions `json:"opts"`
}
type FindOneCondition struct {
Conditions interface{} `json:"conditions"`
}
type DistinctWithField struct {
Conditions interface{} `json:"conditions"`
Filed string `json:"filed"`
}
type ActionBy struct {
ID string `json:"id"`
Name string `json:"name"`
}
// RequestCondition ...
type RequestCondition struct {
Code int `json:"code"`
Codes []int `json:"codes"`
DistrictCode int `json:"districtCode"`
ProvinceCode int `json:"provinceCode"`
Slug string `json:"slug"`
OldSlug string `json:"oldSlug"`
Slugs []string `json:"slugs"`
OldSlugs []string `json:"oldSlugs"`
DistrictSlug string `json:"districtSlug"`
ProvinceSlug string `json:"provinceSlug"`
Keyword string `json:"keyword"`
Region string `json:"region"`
Page int64 `json:"page"`
Limit int64 `json:"limit"`
}
type UpdatePayload struct {
Conditions interface{} `json:"conditions"`
Payload interface{} `json:"payload"`
Opts []*options.UpdateOptions `json:"opts"`
}
type WebhookPayloadV2 struct {
Path string `json:"path"` // request URL path from external
Data string `json:"data"` // request body
}

View File

@ -5,6 +5,9 @@ type CommunicationRequestHttp struct {
ResponseImmediately bool `json:"responseImmediately"`
Authentication string `json:"authentication"`
Payload HttpRequest `json:"payload"`
// collection to store log data, will be prepended with log-, default it stored in logs collections
LogTarget string `json:"logTarget"`
}
// HttpRequest ...

56
model/file_response.go Normal file
View File

@ -0,0 +1,56 @@
package model
import "go.mongodb.org/mongo-driver/bson/primitive"
// FilePhoto ...
type FilePhoto struct {
ID string `json:"_id"`
Name string `json:"name,omitempty"`
Dimensions *FileDimensions `json:"dimensions"`
}
// FileSize ...
type FileSize struct {
Width int `json:"width"`
Height int `json:"height"`
URL string `json:"url"`
}
// FileDimensions ...
type FileDimensions struct {
Small *FileSize `json:"sm"`
Medium *FileSize `json:"md"`
}
// ListPhoto ...
type ListPhoto []*FilePhoto
// Video ...
type Video struct {
ID primitive.ObjectID `json:"_id"`
Name string `json:"name"`
Dimensions *FileVideoDimensions `json:"dimensions"`
VideoExtension string `json:"ext"`
Thumbnail *FilePhoto `json:"thumbnail"`
Status string `json:"status"`
}
// FileVideoDimensions ...
type FileVideoDimensions struct {
Dimension480p *FileVideoSize `json:"size480p"`
Dimension720p *FileVideoSize `json:"size720p"`
Dimension1080p *FileVideoSize `json:"size1080p"`
DimensionOriginal *FileVideoSize `json:"original"`
}
// FileVideoSize ...
type FileVideoSize struct {
Name string `json:"name"`
Width int `json:"width"`
Height int `json:"height"`
Size string `json:"size"`
URL string `json:"url"`
}
// ListVideo ...
type ListVideo []Video

66
model/location_request.go Normal file
View File

@ -0,0 +1,66 @@
package model
// LocationRequestPayload ...
type (
// LocationRequestPayload ...
LocationRequestPayload struct {
Province int `json:"province"`
District int `json:"district"`
Ward int `json:"ward"`
}
// ProvinceRequestPayload ...
ProvinceRequestPayload struct {
Codes []int `json:"codes"`
}
// ProvinceRequestCondition ...
ProvinceRequestCondition struct {
Code int `json:"code"`
Codes []int `json:"codes"`
Slug string `json:"slug"`
Slugs []string `json:"slugs"`
Keyword string `json:"keyword"`
Region string `json:"region"`
}
// DistrictRequestPayload ...
DistrictRequestPayload struct {
Codes []int `json:"codes"`
}
// DistrictRequestCondition ...
DistrictRequestCondition struct {
Code int `json:"code"`
Codes []int `json:"codes"`
ProvinceCode int `json:"provinceCode"`
Slug string `json:"slug"`
ProvinceSlug string `json:"provinceSlug"`
Keyword string `json:"keyword"`
}
// WardRequestPayload ...
WardRequestPayload struct {
Codes []int `json:"codes"`
}
// WardRequestCondition ...
WardRequestCondition struct {
Code int `json:"code"`
Codes []int `json:"codes"`
DistrictCode int `json:"districtCode"`
ProvinceCode int `json:"provinceCode"`
Slug string `json:"slug"`
DistrictSlug string `json:"districtSlug"`
ProvinceSlug string `json:"provinceSlug"`
Keyword string `json:"keyword"`
}
// ProvinceDistinctWithField ...
ProvinceDistinctWithField struct {
Conditions struct {
Region string `json:"region"`
} `json:"conditions"`
Field string `json:"filed"`
}
)

View File

@ -0,0 +1,95 @@
package model
type (
// ResponseLocationAddress ...
ResponseLocationAddress struct {
Province LocationProvince `json:"province"`
District LocationDistrict `json:"district"`
Ward LocationWard `json:"ward"`
}
// LocationProvince ...
LocationProvince struct {
ID string `json:"id"`
Name string `json:"name"`
Code int `json:"code"`
Slug string `json:"slug"`
RegionCode string `json:"regionCode"`
MainRegionCode string `json:"mainRegionCode"`
}
// LocationDistrict ...
LocationDistrict struct {
ID string `json:"id"`
Name string `json:"name"`
Code int `json:"code"`
Slug string `json:"slug"`
}
// LocationWard ...
LocationWard struct {
ID string `json:"id"`
Name string `json:"name"`
Code int `json:"code"`
Slug string `json:"slug"`
Location *GEOLocation `json:"location"`
}
// GEOLocation ...
GEOLocation struct {
Type string `bson:"type" json:"type"`
Coordinates []float64 `bson:"coordinates" json:"coordinates"`
}
// LocationProvinceResponse ...
LocationProvinceResponse struct {
Provinces []LocationProvince `json:"provinces"`
}
// LocationDistrictResponse ...
LocationDistrictResponse struct {
Districts []LocationDistrict `json:"districts"`
}
// LocationWardResponse ...
LocationWardResponse struct {
Wards []LocationWard `json:"wards"`
}
// LocationProvinceDetailResponse ...
LocationProvinceDetailResponse struct {
ID string `json:"_id"`
Name string `json:"name"`
Slug string `json:"slug"`
Code int `json:"code"`
CountryCode string `json:"countryCode"`
RegionCode string `json:"regionCode"`
MainRegionCode string `json:"mainRegionCode"`
TotalDistricts int `json:"totalDistricts"`
TotalWards int `json:"totalWards"`
}
// LocationDistrictDetailResponse ...
LocationDistrictDetailResponse struct {
ID string `json:"_id"`
Name string `json:"name"`
OldSlugs []string `json:"oldSlugs"`
Slug string `json:"slug"`
Code int `json:"code"`
ProvinceCode int `json:"provinceCode"`
Area int `json:"area"`
TotalWards int `json:"totalWards"`
}
// LocationWardDetailResponse ...
LocationWardDetailResponse struct {
ID string `json:"_id"`
Name string `json:"name"`
OldSlugs []string `json:"oldSlugs"`
Slug string `json:"slug"`
Code int `json:"code"`
DistrictCode int `json:"districtCode"`
ProvinceCode int `json:"provinceCode"`
Location *GEOLocation `json:"location"`
}
)

6
model/news_request.go Normal file
View File

@ -0,0 +1,6 @@
package model
// GetProductNoticesByInventoryRequest ....
type GetProductNoticesByInventoryRequest struct {
InventoryIds []string `json:"inventoryIds"`
}

38
model/news_response.go Normal file
View File

@ -0,0 +1,38 @@
package model
// GetProductNoticesByInventoryResponse ....
type GetProductNoticesByInventoryResponse struct {
Notices []NewsAppResponse `json:"notices"`
}
// NewsAppResponse ...
type NewsAppResponse struct {
ID string `json:"_id"`
Title string `json:"title,omitempty"`
Target *TargetNewDoc `json:"target,omitempty"`
ActionType *ActionType `json:"action"`
ShortDesc string `json:"shortDesc,omitempty"`
Type string `json:"type"`
ShortTitle string `json:"shortTitle,omitempty"`
Color string `json:"color"`
Options *NewsOptions `json:"options,omitempty"`
DisplayStyle string `json:"displayStyle"`
}
// NewsOptions ...
type NewsOptions struct {
Category string `json:"category"`
}
// TargetNewDoc ...
type TargetNewDoc struct {
Type string `json:"type,omitempty"`
Value string `json:"value,omitempty"`
}
// ActionType ...
type ActionType struct {
Type string `json:"type"`
Value string `json:"value"`
Text string `json:"text,omitempty"`
}

View File

@ -2,13 +2,54 @@ package model
// OrderUpdateORStatus ...
type OrderUpdateORStatus struct {
OrderCode string `json:"orderCode"`
ORCode string `json:"orCode"`
Status string `json:"status"`
Reason string `json:"reason"`
ID string `json:"id"`
OrderCode string `json:"orderCode"`
ORCode string `json:"orCode"`
Status string `json:"status"`
DeliveryStatus string `json:"deliveryStatus"`
Reason string `json:"reason"`
Data OrderORData `json:"data"`
}
// OrderCancelDelivery ...
type OrderCancelDelivery struct {
OrderID string `json:"orderId"`
}
// OrderChangeDeliveryStatus ...
type OrderChangeDeliveryStatus struct {
OrderID string `json:"orderId"`
DeliveryStatus string `json:"deliveryStatus"`
ActionBy ActionBy `json:"actionBy"`
}
// OrderORData ...
type OrderORData struct {
Link string `json:"link"`
}
// OrderUpdateLogisticInfoFailed ...
type OrderUpdateLogisticInfoFailed struct {
OrderID string `json:"orderId"`
ORCode string `json:"orCode"`
Reason string `json:"reason"`
}
// OrderORsNotUpdateStatus ...
type OrderORsNotUpdateStatus struct {
ORCodes []string `json:"orCodes"`
}
// OrderSupplierQuery ...
type OrderSupplierQuery struct {
Limit int64 `json:"limit"`
Page int64 `json:"page"`
FromDate string `json:"fromDate"`
ToDate string `json:"toDate"`
SupplierID string `json:"supplierId"`
WarehouseIDs []string `json:"warehouseIDs"`
}
type OrderGetTotalWarningPayload struct {
UserID string `json:"userId"`
}

42
model/order_response.go Normal file
View File

@ -0,0 +1,42 @@
package model
import "time"
// SupplierOrderList ...
type SupplierOrderList struct {
List []SupplierOrder `json:"list"`
Total int64 `json:"total" example:"100"`
Limit int64 `json:"limit" example:"20"`
}
// SupplierOrder ...
type SupplierOrder struct {
ID string `json:"_id"`
Code string `json:"code"`
CreatedAt time.Time `json:"createdAt"`
Status string `json:"status"`
WarehouseStatus string `json:"warehouseStatus"`
Items []SupplierOrderItem `json:"items"`
Delivery SupplierOrderDelivery `json:"delivery"`
}
// SupplierOrderItem ...
type SupplierOrderItem struct {
ID string `json:"_id" example:"1231"`
SupplierSKU string `json:"supplierSku" example:"SUPPLIER_SKU"`
Quantity int64 `json:"quantity" example:"2"`
}
// SupplierOrderDelivery ...
type SupplierOrderDelivery struct {
Code string `json:"code" example:"123187287"`
Status string `json:"status" enums:"waiting_to_confirm,waiting_to_pick,picking,picked,delay_pickup,pickup_failed,delivering,delay_delivery,delivered,cancelled,delivery_failed,waiting_to_return,returning,delay_return,compensation,returned"`
TPLCode string `json:"tplCode" enums:"SLY,GHTK,GHN,SSC,SPY,VTP,SE,NTL,BEST"`
}
// OrderGetTotalWarningRes ...
type OrderGetTotalWarningRes struct {
UserID string `json:"userId"`
TotalWarningOrder int64 `json:"totalWarningOrder"`
Action ActionType `json:"action"`
}

14
model/product_request.go Normal file
View File

@ -0,0 +1,14 @@
package model
type ProductApplyRequestPayload struct {
RequestID string `json:"requestId"`
}
type ProductCreateStepsPayload struct {
RequestID string `json:"requestId"`
}
type ProductRequestChangeStatus struct {
RequestID string `json:"requestId"`
Status string `json:"status"`
}

8
model/queue_request.go Normal file
View File

@ -0,0 +1,8 @@
package model
type QueueScheduleTaskRequest struct {
ID string `json:"id"`
NatsSubject string `json:"natsSubject"`
Data string `json:"data"`
StartAt int64 `json:"startAt"` // unix
}

6
model/segment_request.go Normal file
View File

@ -0,0 +1,6 @@
package model
// GetListSegmentRequest ...
type GetListSegmentRequest struct {
SegmentIds []string `json:"segmentIds"`
}

12
model/segment_response.go Normal file
View File

@ -0,0 +1,12 @@
package model
// ResponseSegmentInfo ...
type ResponseSegmentInfo struct {
ID string `json:"_id"`
Name string `json:"name"`
}
// ResponseListSegmentInfo ...
type ResponseListSegmentInfo struct {
Segments []ResponseSegmentInfo `json:"segments"`
}

18
model/seller_request.go Normal file
View File

@ -0,0 +1,18 @@
package model
import "go.mongodb.org/mongo-driver/bson/primitive"
// GetSellerByIDRequest ...
type GetSellerByIDRequest struct {
SellerID primitive.ObjectID `json:"sellerId"`
}
// GetListSellerByIDsRequest ...
type GetListSellerByIDsRequest struct {
SellerIDs []primitive.ObjectID `json:"sellerIds"`
}
// GetListSellerSupportChatByIDsRequest ...
type GetListSellerSupportChatByIDsRequest struct {
SellerIDs []primitive.ObjectID `json:"sellerIds"`
}

92
model/seller_response.go Normal file
View File

@ -0,0 +1,92 @@
package model
import "time"
// ResponseSellerInfo ...
type ResponseSellerInfo struct {
ID string `json:"_id"`
Name string `json:"name"`
Code string `json:"code"`
IsAccountPro bool `json:"isAccountPro"`
CashRemaining float64 `json:"cashRemaining"`
}
// ResponseListSellerInfo ...
type ResponseListSellerInfo struct {
Sellers []ResponseSellerInfo `json:"sellers"`
}
// ResponseListSellerInfoSupportChat ...
type ResponseListSellerInfoSupportChat struct {
Sellers []ResponseSellerInfoSupportChat `json:"sellers"`
}
// ResponseSellerInfoSupportChat ...
type ResponseSellerInfoSupportChat struct {
ID string `json:"_id"`
Name string `json:"name"`
Code string `json:"code"`
Membership SellerMembershipInfo `json:"membership"`
Info SellerContactInfo `json:"info"`
Team *TeamInfo `json:"team,omitempty"`
Statistic SellerStatistic `json:"statistic"`
TrackingTime *SellerTrackingTime `json:"trackingTime"`
Invitee *InviteeInfo `json:"invitee"`
CreatedAt time.Time `json:"createdAt"`
PlanPackage *SellerPlanPackageInfo `json:"planPackage"`
}
// SellerPlanPackageInfo ...
type SellerPlanPackageInfo struct {
ID string `json:"_id"`
Name string `json:"name"`
Level int `json:"level"`
CreatedAt time.Time `json:"createdAt"`
}
// SellerTrackingTime ...
type SellerTrackingTime struct {
FirstOrderDeliveredAt time.Time `json:"firstOrderDeliveredAt,omitempty"`
ThirdOrderDeliveredAt time.Time `json:"thirdOrderDeliveredAt,omitempty"`
}
// SellerStatistic ...
type SellerStatistic struct {
ThisMonthSale float64 `bson:"thisMonthSale" json:"thisMonthSale"`
LastMonthSale float64 `bson:"lastMonthSale" json:"lastMonthSale"`
Sale float64 `bson:"sale" json:"sale"`
TransactionTotal int `json:"transactionTotal"`
TransactionPaymentProcessing int `json:"transactionPaymentProcessing"`
TransactionWaitingApprove int `json:"transactionWaitingApprove"`
TransactionPending int `json:"transactionPending"`
TransactionSuccess int `json:"transactionSuccess"`
TransactionRejected int `json:"transactionRejected"`
TransactionDelivering int `json:"transactionDelivering"`
TransactionDelivered int `json:"transactionDelivered"`
}
// TeamInfo ...
type TeamInfo struct {
ID string `json:"_id"`
Name string `json:"name"`
Role string `json:"role"`
}
// InviteeInfo ...
type InviteeInfo struct {
ID string `json:"_id"`
Name string `json:"name"`
}
// SellerContactInfo ...
type SellerContactInfo struct {
City int `json:"cityCode"`
CityName string `json:"cityName"`
Gender string `json:"gender"`
}
// SellerMembershipInfo ...
type SellerMembershipInfo struct {
Level int `json:"level"`
Name string `json:"name"`
}

View File

@ -0,0 +1,13 @@
package model
import "go.mongodb.org/mongo-driver/bson/primitive"
// GetListSocialPostAppByIDsRequest ...
type GetListSocialPostAppByIDsRequest struct {
SocialPostIDs []primitive.ObjectID `json:"socialPostIDs"`
}
// GetBriefInfoSocialPostAdminByIDsRequest ...
type GetBriefInfoSocialPostAdminByIDsRequest struct {
SocialPostIDs []primitive.ObjectID `json:"socialPostIDs"`
}

View File

@ -0,0 +1,61 @@
package model
import (
"go.mongodb.org/mongo-driver/bson/primitive"
"time"
)
// ResponseListSocialPostAppInfo ...
type ResponseListSocialPostAppInfo struct {
SocialPosts []SocialPostAppInfo `json:"socialPosts"`
}
// SocialPostAppInfo ...
type SocialPostAppInfo struct {
ID primitive.ObjectID `json:"_id"`
Title string `json:"title"`
Content string `json:"content"`
Statistic SocialPostStatistic `json:"statistic"`
Author *SocialPostSellerInfo `json:"author"`
Photos ListPhoto `json:"photos"`
PublishedAt time.Time `json:"publishedAt"`
IsLiked bool `json:"isLiked"`
IsPin bool `json:"isPin"`
Contributor *SocialPostSellerInfo `json:"contributor"`
CreatedAt time.Time `json:"createdAt"`
Status string `json:"status"`
HasUpdate bool `json:"hasUpdate"`
Order int `json:"order"`
Videos ListVideo `json:"videos"`
}
// SocialPostStatistic ...
type SocialPostStatistic struct {
Views int `json:"views"`
UniqueViews int `json:"uniqueViews"`
Likes int `json:"likes"`
Shares int `json:"shares"`
UniqueShares int `json:"uniqueShares"`
Comments int `json:"comments"`
}
// SocialPostSellerInfo ...
type SocialPostSellerInfo struct {
ID primitive.ObjectID `json:"_id"`
Name string `json:"name"`
Membership SellerMembershipInfo `json:"membership"`
Logo *FilePhoto `json:"avatar"`
IsMine bool `json:"isMine"`
}
// ResponseListSocialPostAdminInfo ...
type ResponseListSocialPostAdminInfo struct {
SocialPosts []SocialPostAdminInfo `json:"socialPosts"`
}
// SocialPostAdminInfo ...
type SocialPostAdminInfo struct {
ID primitive.ObjectID `json:"_id"`
Title string `json:"title"`
Status string `json:"status"`
}

19
model/socket.go Normal file
View File

@ -0,0 +1,19 @@
package model
// PayloadEmitSocketEvent ...
type PayloadEmitSocketEvent struct {
User string `json:"user"`
Message string `json:"message"`
Data string `json:"data"`
IsNotRemove bool `json:"isNotRemove"`
}
// PayloadEventSocketReward ...
type PayloadEventSocketReward struct {
Type string `json:"type"`
Title string `json:"title"`
Cash float64 `json:"cash"`
Message string `json:"message"`
Photo interface{} `json:"photo"`
Action *ActionType `json:"action"`
}

6
model/staff_request.go Normal file
View File

@ -0,0 +1,6 @@
package model
// GetListStaffRequest ...
type GetListStaffRequest struct {
StaffIds []string `json:"staffIds"`
}

12
model/staff_response.go Normal file
View File

@ -0,0 +1,12 @@
package model
// ResponseListStaffInfo ...
type ResponseListStaffInfo struct {
Staffs []ResponseStaffInfo `json:"staffs"`
}
// ResponseStaffInfo ...
type ResponseStaffInfo struct {
ID string `json:"_id"`
Name string `json:"name"`
}

59
model/supplier_request.go Normal file
View File

@ -0,0 +1,59 @@
package model
import (
"go.mongodb.org/mongo-driver/bson/primitive"
)
// GetSupplierRequest ...
type GetSupplierRequest struct {
ListID []primitive.ObjectID `json:"listID"`
}
// GetDetailSupplierRequest ...
type GetDetailSupplierRequest struct {
Supplier string `json:"supplier"`
}
type GetSupplierContractRequest struct {
SupplierID primitive.ObjectID `json:"supplierID"`
}
// SupplierRequestPayload ...
type SupplierRequestPayload struct {
Limit int
Page int
Keyword string
Status string
PIC string
ContractStatus string
}
type CreateSupplierWarehousePayload struct {
Supplier string `json:"supplier"`
Warehouse string `json:"warehouse"`
ProvinceCode int `json:"provinceCode"`
DistrictCode int `json:"districtCode"`
WardCode int `json:"wardCode"`
}
type UpdateSupplierWarehousePayload struct {
Supplier string `json:"supplier"`
Warehouse string `json:"warehouse"`
ProvinceCode int `json:"provinceCode"`
DistrictCode int `json:"districtCode"`
WardCode int `json:"wardCode"`
}
type SupplierFindAllReq struct {
Page int64 `json:"page"`
Limit int64 `json:"limit"`
Segment string `json:"segment"`
IDs []string `json:"ids"`
Status string `json:"status"` // active,inactive
}
type SupplierCountReq struct {
Segment string `json:"segment"`
IDs []string `json:"ids"`
Status string `json:"status"` // active,inactive
}

View File

@ -0,0 +1,36 @@
package model
// ResponseSupplierInfo ...
type ResponseSupplierInfo struct {
ID string `json:"id"`
Name string `json:"name"`
BusinessType string `json:"businessType"`
IsSellyMall bool `json:"isSellyMall"`
}
// ResponseSupplierContract ...
type ResponseSupplierContract struct {
ID string `json:"id"`
Supplier string `json:"supplier"`
Name string `json:"name"`
Status string `json:"status"`
}
// SupplierBrief ...
type SupplierBrief struct {
ID string `json:"_id"`
Name string `json:"name"`
Status string `json:"status"`
BusinessType string `json:"businessType"`
CreatedAt string `json:"createdAt"`
UpdatedAt string `json:"updatedAt"`
}
type SupplierAll struct {
Suppliers []SupplierBrief `json:"suppliers"`
Total int64 `json:"total"`
}
type SupplierCountRes struct {
Total int64 `json:"total"`
}

View File

@ -0,0 +1,14 @@
package model
type CreateRoleRequest struct {
Name string `json:"name"`
Code string `json:"code"`
Type string `json:"type"`
}
type UpdateRoleRequest struct {
ID string `json:"_id"`
Name string `json:"name"`
Code string `json:"code"`
Type string `json:"type"`
}

View File

@ -0,0 +1,5 @@
package model
type CreateRoleResponse struct {
ID string `json:"_id"`
}

View File

@ -0,0 +1,57 @@
package model
type CreateOwnerRequest struct {
Name string `json:"name"`
Phone string `json:"phone"`
Email string `json:"email"`
SupplierID string `json:"supplierId"`
RoleID string `json:"roleId"`
Password string `json:"password"`
}
type UpdateOwnerRequest struct {
ID string `json:"_id"`
SupplierID string `json:"supplierId"`
Name string `json:"name"`
Phone string `json:"phone"`
Email string `json:"email"`
RoleID string `json:"roleId"`
}
type CreateStaffRequest struct {
Name string `json:"name"`
Phone string `json:"phone"`
Email string `json:"email"`
SupplierID string `json:"supplierId"`
RoleID string `json:"roleId"`
Password string `json:"password"`
Warehouses []string `json:"warehouses"`
}
type UpdateStaffRequest struct {
ID string `json:"_id"`
Name string `json:"name"`
Phone string `json:"phone"`
Email string `json:"email"`
SupplierID string `json:"supplierId"`
RoleID string `json:"roleId"`
Password string `json:"password"`
SupplierUserWarehouseID string `json:"supplierUserWarehouseId"`
Warehouses []string `json:"warehouses"`
}
type UpdateStatusRequest struct {
ID string `json:"_id"`
Status string `json:"status"`
}
type ResetPasswordRequest struct {
ID string `json:"_id"`
Password string `json:"password"`
}
// CheckTokenSupplierUserPayload ...
type CheckTokenSupplierUserPayload struct {
Token string `json:"token"`
Permissions []string `json:"permissions"`
}

View File

@ -0,0 +1,26 @@
package model
type CreateOwnerResponse struct {
ID string `json:"_id"`
}
type CreateStaffResponse struct {
ID string `json:"_id"`
}
type ResetPasswordResponse struct {
Password string `json:"password"`
}
// ResponseCheckTokenSupplierUser ...
type ResponseCheckTokenSupplierUser struct {
IsValid bool `json:"isValid"`
Reason string `json:"reason"`
User ResponseSupplierUserInfo `json:"supplier"`
}
type ResponseSupplierUserInfo struct {
ID string `json:"_id"`
Name string `json:"name"`
SupplierID string `json:"supplierId"`
}

View File

@ -2,29 +2,54 @@ package model
// OutboundRequestPayload ...
type OutboundRequestPayload struct {
OrderID string `json:"orderId"`
OrderCode string `json:"orderCode"`
TrackingCode string `json:"trackingCode"`
WarehouseID string `json:"warehouseId"`
SupplierID string `json:"supplierId"`
Note string `json:"note"`
CODAmount float64 `json:"codAmount"`
TPLCode string `json:"tplCode"`
Customer CustomerInfo `json:"customer"`
Items []OutboundRequestItem `json:"items"`
OrderID string `json:"orderId"`
OrderCode string `json:"orderCode"`
TrackingCode string `json:"trackingCode"`
WarehouseID string `json:"warehouseId"`
SupplierID string `json:"supplierId"`
Note string `json:"note"`
CODAmount float64 `json:"codAmount"`
TPLCode string `json:"tplCode"`
Customer CustomerInfo `json:"customer"`
Items []OutboundRequestItem `json:"items"`
Insurance *InsuranceOpts `json:"insurance"`
PaymentMethod string `json:"paymentMethod"`
}
// InsuranceOpts ...
type InsuranceOpts struct {
InsuranceType string `json:"insuranceType"`
VehicleTypeID string `json:"vehicleTypeId"`
VehicleTypeName string `json:"vehicleTypeName"`
InsuranceTypeID string `json:"insuranceTypeId"`
YearsOfInsurance int `json:"yearsOfInsurance"`
License string `json:"license"`
Chassis string `json:"chassis"`
Engine string `json:"engine"`
BeginDate string `json:"beginDate"`
// For car insurance
NumberOfSeatsCarOccupantAccidentInsurance int `json:"numberOfSeatsCarOccupantAccidentInsurance"`
NumberOfSeats int `json:"numberOfSeats"`
NumberOfSeatsOrTonnageId string `json:"numberOfSeatsOrTonnageId"`
NumberOfSeatsOrTonnageName string `json:"numberOfSeatsOrTonnageName"`
}
// OutboundRequestItem ...
type OutboundRequestItem struct {
SupplierSKU string `json:"supplierSKU"`
Quantity int64 `json:"quantity"`
UnitCode string `json:"unitCode"`
SupplierSKU string `json:"supplierSKU"`
Quantity int64 `json:"quantity"`
UnitCode string `json:"unitCode"`
Price float64 `json:"price"`
Name string `json:"name"`
PartnerProductCode string `json:"partnerProductCode"`
}
// CustomerInfo ...
type CustomerInfo struct {
Name string `json:"name"`
PhoneNumber string `json:"phoneNumber"`
Email string `json:"email"`
Address AddressDetail `json:"address"`
}
@ -39,13 +64,76 @@ type AddressDetail struct {
// UpdateOutboundRequestLogisticInfoPayload ...
type UpdateOutboundRequestLogisticInfoPayload struct {
ShippingLabel string `json:"shippingLabel"`
TrackingCode string `json:"trackingCode"`
ORCode string `json:"orCode"`
ShippingLabel string `json:"shippingLabel,omitempty"`
TrackingCode string `json:"trackingCode,omitempty"`
ORCode string `json:"orCode,omitempty"`
TPLCode string `json:"tplCode,omitempty"`
OrderID string `json:"orderId"`
DeliveryStatus string `json:"deliveryStatus,omitempty"`
}
// CancelOutboundRequest ...
type CancelOutboundRequest struct {
ORCode string `json:"orCode"`
Note string `json:"note"`
ORCode string `json:"orCode"`
OrderID string `json:"orderId"`
Note string `json:"note"`
}
// SyncORStatusRequest ...
type SyncORStatusRequest struct {
ORCode string `json:"orCode"`
OrderCode string `json:"orderCode"`
OrderID string `json:"orderId"`
}
// UpdateSupplierIsClosedRequest ...
type UpdateSupplierIsClosedRequest struct {
Suppliers []SupplierIsClosed `json:"suppliers"`
}
// SupplierIsClosed ...
type SupplierIsClosed struct {
Supplier string `json:"supplier"`
IsClosed bool `json:"isClosed"`
}
// GetWarehousesRequest ...
type GetWarehousesRequest struct {
Keyword string `json:"keyword"`
Status string `json:"status"`
Supplier string `json:"supplier"`
BusinessType string `json:"businessType"`
IDs []string `json:"ids"`
Page int64 `json:"page"`
Limit int64 `json:"limit"`
}
// WarehouseORUpdateDeliveryStatus ...
type WarehouseORUpdateDeliveryStatus struct {
ORCode string `json:"orCode"`
OrderCode string `json:"orderCode"`
OrderID string `json:"orderId"`
DeliveryStatus string `json:"deliveryStatus"`
}
// UpdateStatusWarehousePendingInactiveRequest ...
type UpdateStatusWarehousePendingInactiveRequest struct {
Warehouses []UpdateStatusWarehousePendingInactive `json:"warehouses"`
}
// UpdateIsSellyMallRequest ...
type UpdateIsSellyMallRequest struct {
SupplierID string `json:"supplier"`
}
// UpdateStatusWarehousePendingInactive ...
type UpdateStatusWarehousePendingInactive struct {
WarehouseID string `json:"warehouse"`
PendingInactive bool `json:"pendingInactive"`
}
type GetListWarehouseConfigReq struct {
PartnerCode string `json:"partnerCode"`
PartnerIdentityCode string `json:"partnerIdentityCode"`
}

View File

@ -1,5 +1,7 @@
package model
import "time"
// OutboundRequestResponse ...
type OutboundRequestResponse struct {
// System code
@ -16,12 +18,39 @@ type OutboundRequestResponse struct {
// WarehouseConfiguration ...
type WarehouseConfiguration struct {
Warehouse string `json:"warehouse"`
DoesSupportSellyExpress bool `json:"doesSupportSellyExpress"`
Supplier WarehouseSupplier `json:"supplier"`
Order WarehouseOrder `json:"order"`
Partner WarehousePartner `json:"partner"`
Delivery WarehouseDelivery `json:"delivery"`
Warehouse string `json:"warehouse"`
DoesSupportSellyExpress bool `json:"doesSupportSellyExpress"`
Supplier WarehouseSupplier `json:"supplier"`
Order WarehouseOrder `json:"order"`
Partner WarehousePartner `json:"partner"`
Delivery WarehouseDelivery `json:"delivery"`
Other WarehouseOther `json:"other"`
Food WarehouseFood `json:"food"`
AutoConfirmOrder WarehouseOrderConfirm `json:"autoConfirmOrder"`
}
// WarehouseOrderConfirm ...
type WarehouseOrderConfirm struct {
IsEnable bool `json:"isEnable"`
ConfirmDelayInSeconds int64 `json:"confirmDelayInSeconds"`
}
// WarehouseFood ...
type WarehouseFood struct {
ForceClosed bool `json:"forceClosed"`
IsClosed bool `json:"isClosed"`
TimeRange []TimeRange `json:"timeRange"`
}
// TimeRange ...
type TimeRange struct {
From int64 `json:"from"`
To int64 `json:"to"`
}
// WarehouseOther ...
type WarehouseOther struct {
DoesSupportSellyExpress bool `json:"doesSupportSellyExpress"`
}
// WarehouseSupplier ...
@ -32,16 +61,28 @@ type WarehouseSupplier struct {
// WarehouseOrder ...
type WarehouseOrder struct {
MinimumValue float64 `json:"minimumValue"`
PaymentMethod WarehousePaymentMethod `json:"paymentMethod"`
IsLimitNumberOfPurchases bool `json:"isLimitNumberOfPurchases"`
LimitNumberOfPurchases int64 `json:"limitNumberOfPurchases"`
MinimumValue float64 `json:"minimumValue"`
PaymentMethod WarehousePaymentMethod `json:"paymentMethod"`
IsLimitNumberOfPurchases bool `json:"isLimitNumberOfPurchases"`
LimitNumberOfPurchases int64 `json:"limitNumberOfPurchases"`
NotifyOnNewOrder WarehouseConfigNotifyOnNewOrder `json:"notifyOnNewOrder"`
LabelSize string `json:"labelSize"`
MaximumOrderValue float64 `json:"maximumOrderValue"`
MaximumNumberPerBuyerEachMonth int64 `json:"maximumNumberPerBuyerEachMonth"`
}
// WarehouseConfigNotifyOnNewOrder ...
type WarehouseConfigNotifyOnNewOrder struct {
Enable bool `bson:"enable" json:"enable"`
Channel string `bson:"channel" json:"channel"`
RoomID string `bson:"roomId" json:"roomId"`
}
// WarehousePaymentMethod ...
type WarehousePaymentMethod struct {
Cod bool `json:"cod"`
BankTransfer bool `json:"bankTransfer"`
Fundiin bool `json:"fundiin"`
}
// WarehouseDelivery ...
@ -59,3 +100,95 @@ type WarehousePartner struct {
Enabled bool `json:"enabled"`
Authentication string `json:"authentication"`
}
// SyncORStatusResponse ...
type SyncORStatusResponse struct {
ORCode string `json:"orCode"`
OrderCode string `json:"orderCode"`
Status string `json:"status"`
DeliveryStatus string `json:"deliveryStatus"`
Data OrderORData `json:"data"`
}
// ResponseWarehouseContact ...
type ResponseWarehouseContact struct {
Name string `json:"name"`
Phone string `json:"phone"`
Address string `json:"address"`
Email string `json:"email"`
}
// ResponseWarehouseLocation ...
type ResponseWarehouseLocation struct {
Province CommonLocation `json:"province"`
District CommonLocation `json:"district"`
Ward CommonLocation `json:"ward"`
Address string `json:"address"`
LocationCoordinates ResponseLatLng `json:"locationCoordinates"`
}
type CommonLocation struct {
ID string `json:"id"`
Name string `json:"name"`
Code int `json:"code"`
}
// ResponseLatLng ...
type ResponseLatLng struct {
Latitude float64 `json:"latitude"`
Longitude float64 `json:"longitude"`
}
// WarehouseNatsResponse ...
type WarehouseNatsResponse struct {
ID string `json:"_id"`
Staff string `json:"staff"`
BusinessType string `json:"businessType"`
Name string `json:"name"`
SearchString string `json:"searchString"`
Slug string `json:"slug"`
Status string `json:"status"`
Supplier string `json:"supplier"`
Contact ResponseWarehouseContact `json:"contact"`
Location ResponseWarehouseLocation `json:"location"`
Configurations WarehouseConfiguration `json:"configurations"`
CreatedAt time.Time `json:"createdAt"`
UpdatedAt time.Time `json:"updatedAt"`
ReasonPendingInactive string `json:"reasonPendingInactive"`
IsPendingInactive bool `json:"isPendingInactive"`
IsFromInternational bool `json:"isFromInternational"`
StoreCode string `json:"storeCode"`
}
// WarehouseInfo ...
type WarehouseInfo struct {
ID string `json:"_id"`
Name string `json:"name"`
BusinessType string `json:"businessType"`
Status string `json:"status"`
Slug string `json:"slug"`
Supplier WarehouseSupplierInfo `json:"supplier"`
Location ResponseWarehouseLocation `json:"location"`
Contact ResponseWarehouseContact `json:"contact"`
CreatedAt string `json:"createdAt"`
UpdatedAt string `json:"updatedAt"`
}
// WarehouseSupplierInfo ...
type WarehouseSupplierInfo struct {
ID string `json:"_id"`
Name string `json:"name"`
}
// GetWarehousesResponse ...
type GetWarehousesResponse struct {
Total int64 `json:"total"`
Limit int64 `json:"limit"`
List []WarehouseInfo `json:"list"`
}
type GetListWarehouseConfigRes struct {
Total int64 `json:"total"`
Limit int64 `json:"limit"`
List []WarehouseConfiguration `json:"list"`
}

View File

@ -3,7 +3,6 @@ package natsio
import (
"errors"
"fmt"
"github.com/logrusorgru/aurora"
"github.com/nats-io/nats.go"
)
@ -49,7 +48,7 @@ func Connect(cfg Config) error {
return errors.New(msg)
}
fmt.Println(aurora.Green("*** CONNECTED TO NATS: " + cfg.URL))
fmt.Printf("⚡️[natsio]: connected to %s \n", cfg.URL)
// Set client
natsServer.instance = nc

View File

@ -18,7 +18,11 @@ func (sv Server) Request(subject string, payload []byte) (*nats.Msg, error) {
if sv.Config.RequestTimeout > 0 {
timeout = sv.Config.RequestTimeout
}
return sv.instance.Request(subject, payload, timeout)
msg, err := sv.instance.Request(subject, payload, timeout)
if errors.Is(err, nats.ErrNoResponders) {
log.Printf("[NATS SERVER]: request - no responders for subject: %s", subject)
}
return msg, err
}
// Reply ...
@ -36,6 +40,16 @@ func (sv Server) Subscribe(subject string, cb nats.MsgHandler) (*nats.Subscripti
return sub, nil
}
// QueueSubscribe ...
func (sv Server) QueueSubscribe(subject, queue string, cb nats.MsgHandler) (*nats.Subscription, error) {
sub, err := sv.instance.QueueSubscribe(subject, queue, cb)
if err != nil {
msg := fmt.Sprintf("[NATS SERVER] - queue subscribe subject %s, queue %s error: %s", subject, queue, err.Error())
return nil, errors.New(msg)
}
return sub, nil
}
// NewJSONEncodedConn ...
func (sv Server) NewJSONEncodedConn() (*JSONEncoder, error) {
enc, err := nats.NewEncodedConn(sv.instance, nats.JSON_ENCODER)

13
subject/affiliate.go Normal file
View File

@ -0,0 +1,13 @@
package subject
import "fmt"
func getAffiliateValue(val string) string {
return fmt.Sprintf("%s.%s", prefixes.Affiliate, val)
}
var Affiliate = struct {
GetTransactions string
}{
GetTransactions: getAffiliateValue("get_transactions"),
}

17
subject/bank.go Normal file
View File

@ -0,0 +1,17 @@
package subject
import "fmt"
func getBankValue(val string) string {
return fmt.Sprintf("%s.%s", prefixes.Bank, val)
}
var Bank = struct {
GetBankById string
GetBankBranchById string
CheckBankAndBranchByID string
}{
GetBankById: getBankValue("get_bank_by_id"),
GetBankBranchById: getBankValue("get_bank_branch_by_id"),
CheckBankAndBranchByID: getBankValue("check_bank_and_brach_by_id"),
}

17
subject/campaign.go Normal file
View File

@ -0,0 +1,17 @@
package subject
import "fmt"
// getCampaignValue ...
func getCampaignValue(val string) string {
return fmt.Sprintf("%s.%s", prefixes.Campaign, val)
}
// Campaign ...
var Campaign = struct {
GetListCampaignTransactionAdminInfoByIDs string
GetCampaignSellerStatisticBySellerIDs string
}{
GetListCampaignTransactionAdminInfoByIDs: getCampaignValue("get_list_campaign_transaction_admin_info_by_ids"),
GetCampaignSellerStatisticBySellerIDs: getCampaignValue("get_campaign_seller_statistic_by_seller_ids"),
}

View File

@ -1,10 +1,15 @@
package subject
const communicationPrefix = "communication_"
import "fmt"
const (
CommunicationRequestHTTP = communicationPrefix + "request_http"
CommunicationResponseHTTP = communicationPrefix + "response_http"
CommunicationWebhookTNC = communicationPrefix + "webhook_tnc"
CommunicationWebhookGlobalCare = communicationPrefix + "webhook_global_care"
)
func getCommunicationValue(val string) string {
return fmt.Sprintf("%s.%s", prefixes.Communication, val)
}
var Communication = struct {
RequestHTTP string
ResponseHTTP string
}{
RequestHTTP: getCommunicationValue("request_http"),
ResponseHTTP: getCommunicationValue("response_http"),
}

41
subject/config.go Normal file
View File

@ -0,0 +1,41 @@
package subject
var prefixes = struct {
Communication string
Order string
News string
Warehouse string
Location string
Bank string
Supplier string
Seller string
SupplierUser string
SupplierRole string
SocialPost string
Staff string
Segment string
Product string
Queue string
Campaign string
Affiliate string
Socket string
}{
Communication: "communication",
Order: "order",
News: "news",
Warehouse: "warehouse",
Location: "location",
Supplier: "supplier",
Bank: "bank",
Seller: "seller",
SupplierUser: "supplier_user",
SupplierRole: "supplier_role",
SocialPost: "social_post",
Staff: "staff",
Segment: "segment",
Product: "product",
Queue: "queue",
Campaign: "campaign",
Affiliate: "affiliate",
Socket: "socket",
}

49
subject/location.go Normal file
View File

@ -0,0 +1,49 @@
package subject
import "fmt"
func getLocationValue(val string) string {
return fmt.Sprintf("%s.%s", prefixes.Location, val)
}
var Location = struct {
GetLocationByCode string
GetLocationByCodeFromLocationService string
GetLocationByWardCode string
GetProvincesByCodes string
GetProvincesByCodesFromLocationService string
GetDistrictsByCodes string
GetDistrictsByCodesFromLocationService string
GetWardsByCodes string
GetWardsByCodesFromLocationService string
GetProvinceByCondition string
GetProvincesByCondition string
GetDistrictByCondition string
GetDistrictsByCondition string
GetWardByCondition string
GetWardsByCondition string
CountProvinceByCondition string
CountDistrictByCondition string
CountWardByCondition string
ProvinceDistinctWithField string
}{
GetLocationByCode: getLocationValue("get_location_warehouse"),
GetLocationByCodeFromLocationService: getLocationValue("get_location_warehouse_from_location_service"),
GetLocationByWardCode: getLocationValue("get_location_by_ward_code"),
GetProvincesByCodes: getLocationValue("get_provinces_by_codes"),
GetProvincesByCodesFromLocationService: getLocationValue("get_provinces_by_codes_from_location_service"),
GetDistrictsByCodes: getLocationValue("get_districts_by_codes"),
GetDistrictsByCodesFromLocationService: getLocationValue("get_districts_by_codes_from_location_service"),
GetWardsByCodes: getLocationValue("get_wards_by_codes"),
GetWardsByCodesFromLocationService: getLocationValue("get_wards_by_codes_from_location_service"),
GetProvinceByCondition: getLocationValue("get_province_by_condition"),
GetProvincesByCondition: getLocationValue("get_provinces_by_condition"),
GetDistrictByCondition: getLocationValue("get_district_by_condition"),
GetDistrictsByCondition: getLocationValue("get_districts_byCondition"),
GetWardByCondition: getLocationValue("get_ward_by_condition"),
GetWardsByCondition: getLocationValue("get_wards_by_condition"),
CountProvinceByCondition: getLocationValue("count_province_by_condition"),
CountDistrictByCondition: getLocationValue("count_district_by_condition"),
CountWardByCondition: getLocationValue("count_ward_by_condition"),
ProvinceDistinctWithField: getLocationValue("province_distinct_with_field"),
}

13
subject/news.go Normal file
View File

@ -0,0 +1,13 @@
package subject
import "fmt"
func getNewsValue(val string) string {
return fmt.Sprintf("%s.%s", prefixes.News, val)
}
var News = struct {
GetProductNoticesByInventory string
}{
GetProductNoticesByInventory: getNewsValue("get_product_notices_by_inventory"),
}

View File

@ -1,8 +1,25 @@
package subject
const orderPrefix = "order_"
import "fmt"
const (
OrderUpdateORStatus = orderPrefix + "update_outbound_request_status"
OrderCancelDelivery = orderPrefix + "cancel_delivery"
)
func getOrderValue(val string) string {
return fmt.Sprintf("%s.%s", prefixes.Order, val)
}
var Order = struct {
UpdateORStatus string
GetUserTotalWarningOrders string
CancelDelivery string
ChangeDeliveryStatus string
UpdateLogisticInfoFailed string
ORNotUpdateStatus string
GetSupplierOrders string
}{
UpdateORStatus: getOrderValue("update_outbound_request_status"),
GetUserTotalWarningOrders: getOrderValue("get_user_total_warning_orders"),
CancelDelivery: getOrderValue("cancel_delivery"),
ChangeDeliveryStatus: getOrderValue("change_delivery_status"),
UpdateLogisticInfoFailed: getOrderValue("update_logistic_info_failed"),
ORNotUpdateStatus: getOrderValue("outbound_request_not_update_status"),
GetSupplierOrders: getOrderValue("get_supplier_orders"),
}

26
subject/product.go Normal file
View File

@ -0,0 +1,26 @@
package subject
import "fmt"
// getSegmentValue ...
func getProductValue(val string) string {
return fmt.Sprintf("%s.%s", prefixes.Product, val)
}
var Product = struct {
ApplyRequest string
CreateRequestStep string
ProcessApplyRequest string
RequestChangeStatus string
WebhookStockUpdate string // WebhookStockUpdate Kiotviet queue
OPWebhookStockUpdate string // OPWebhookStockUpdate Onpoint queue
OrderPaymentBankTransferWebhookCheckAndUpdateStatus string
}{
ApplyRequest: getProductValue("apply_request"),
CreateRequestStep: getProductValue("create_request_step"),
ProcessApplyRequest: getProductValue("process_apply_request"),
RequestChangeStatus: getProductValue("request_change_status"),
WebhookStockUpdate: getProductValue("webhook_stock_update"),
OPWebhookStockUpdate: getProductValue("op_webhook_stock_update"),
OrderPaymentBankTransferWebhookCheckAndUpdateStatus: getProductValue("order_payment_bank_transfer_webhook_check_and_update_status"),
}

13
subject/queue.go Normal file
View File

@ -0,0 +1,13 @@
package subject
import "fmt"
func getQueueValue(val string) string {
return fmt.Sprintf("%s.%s", prefixes.Queue, val)
}
var Queue = struct {
ScheduleTask string
}{
ScheduleTask: getQueueValue("schedule_task"),
}

15
subject/segment.go Normal file
View File

@ -0,0 +1,15 @@
package subject
import "fmt"
// getSegmentValue ...
func getSegmentValue(val string) string {
return fmt.Sprintf("%s.%s", prefixes.Segment, val)
}
// Segment ...
var Segment = struct {
GetListSegmentInfo string
}{
GetListSegmentInfo: getSegmentValue("get_list_segment_info"),
}

23
subject/seller.go Normal file
View File

@ -0,0 +1,23 @@
package subject
import "fmt"
func getSellerValue(val string) string {
return fmt.Sprintf("%s.%s", prefixes.Seller, val)
}
// Seller ...
var Seller = struct {
GetSellerInfoByID string
GetListSellerInfoByIDs string
}{
GetSellerInfoByID: getSellerValue("get_seller_info_by_id"),
GetListSellerInfoByIDs: getSellerValue("get_list_seller_info_by_ids"),
}
// SupportChat ...
var SupportChat = struct {
GetListSellerInfoSupportChatByIDs string
}{
GetListSellerInfoSupportChatByIDs: "SELLY_CHAT.REQUEST.SELLER_INFO",
}

17
subject/social_post.go Normal file
View File

@ -0,0 +1,17 @@
package subject
import "fmt"
// getSocialPostValue ...
func getSocialPostValue(val string) string {
return fmt.Sprintf("%s.%s", prefixes.SocialPost, val)
}
// SocialPost ...
var SocialPost = struct {
GetListSocialPostAppInfoByIDs string
GetBriefInfoSocialPostAdminByIDs string
}{
GetListSocialPostAppInfoByIDs: getSocialPostValue("get_list_social_post_app_info_by_ids"),
GetBriefInfoSocialPostAdminByIDs: getSocialPostValue("get_brief_info_social_post_admin_by_ids"),
}

16
subject/socket.go Normal file
View File

@ -0,0 +1,16 @@
package subject
import "fmt"
func getSocketValue(val string) string {
return fmt.Sprintf("%s.%s", prefixes.Socket, val)
}
// Socket ...
var Socket = struct {
EmitEventReward string
EmitEventToUser string
}{
EmitEventReward: getSocketValue("emit_event_reward"),
EmitEventToUser: "send_message_to_socket",
}

14
subject/staff.go Normal file
View File

@ -0,0 +1,14 @@
package subject
import "fmt"
func getStaffValue(val string) string {
return fmt.Sprintf("%s.%s", prefixes.Staff, val)
}
// Staff ...
var Staff = struct {
GetListStaffInfo string
}{
GetListStaffInfo: getStaffValue("get_list_staff_info"),
}

23
subject/supplier.go Normal file
View File

@ -0,0 +1,23 @@
package subject
import "fmt"
func getSupplierValue(val string) string {
return fmt.Sprintf("%s.%s", prefixes.Supplier, val)
}
var Supplier = struct {
GetListSupplierInfo string
GetDetailSupplierInfo string
GetSupplierContractBySupplierID string
FindAll string
FindAllOld string
Count string
}{
GetListSupplierInfo: getSupplierValue("get_list_supplier_info"),
GetDetailSupplierInfo: getSupplierValue("get_detail_supplier_info"),
GetSupplierContractBySupplierID: getSupplierValue("get_supplier_contract_by_supplier_id"),
FindAll: getSupplierValue("find_all"),
FindAllOld: getSupplierValue("find_all_old"),
Count: getSupplierValue("count"),
}

15
subject/supplier_role.go Normal file
View File

@ -0,0 +1,15 @@
package subject
import "fmt"
func getRoleValue(val string) string {
return fmt.Sprintf("%s.%s", prefixes.SupplierRole, val)
}
var SupplierRole = struct {
Create string
Update string
}{
Create: getRoleValue("create"),
Update: getRoleValue("update"),
}

27
subject/supplier_user.go Normal file
View File

@ -0,0 +1,27 @@
package subject
import "fmt"
func getSupplierUserValue(val string) string {
return fmt.Sprintf("%s.%s", prefixes.SupplierUser, val)
}
var SupplierUser = struct {
// Users
CreateOwner string
UpdateOwner string
CreateStaff string
UpdateStaff string
UpdateStatus string
ResetPassword string
CheckTokenSupplierUser string
}{
// Users
CreateOwner: getSupplierUserValue("create_owner"),
UpdateOwner: getSupplierUserValue("update_owner"),
CreateStaff: getSupplierUserValue("create_staff"),
UpdateStaff: getSupplierUserValue("update_staff"),
UpdateStatus: getSupplierUserValue("update_status"),
ResetPassword: getSupplierUserValue("reset_password"),
CheckTokenSupplierUser: getSupplierUserValue("check_token_supplier_user"),
}

View File

@ -1,10 +1,63 @@
package subject
const warehousePrefix = "warehouse_"
const (
WarehouseCreateOutboundRequest = warehousePrefix + "create_outbound_request"
WarehouseUpdateOutboundRequestLogistic = warehousePrefix + "update_outbound_request_logistic_info"
WarehouseCancelOutboundRequest = warehousePrefix + "cancel_outbound_request"
WarehouseGetConfiguration = warehousePrefix + "get_configuration"
import (
"fmt"
)
func getWarehouseValue(val string) string {
return fmt.Sprintf("%s.%s", prefixes.Warehouse, val)
}
var Warehouse = struct {
CreateWarehouseIntoServiceSupplier string
UpdateWarehouseIntoServiceSupplier string
CreateOutboundRequest string
UpdateOutboundRequestLogistic string
CancelOutboundRequest string
GetConfiguration string
SyncORStatus string
WebhookTNC string
WebhookGlobalCare string
WebhookOnPoint string
WebhookViettelFFM string
FindOne string
FindByCondition string
Distinct string
Count string
AfterUpdateWarehouse string
AfterCreateWarehouse string
UpdateIsClosedSupplier string
GetWarehouses string
UpdateORDeliveryStatus string
UpdateStatusWarehousePendingInactive string
UpdateIsSellyMall string
UpdateWarehouseConfig string
BulkWriteWarehouseConfig string
GetListWarehouseConfig string
}{
CreateWarehouseIntoServiceSupplier: getWarehouseValue("create_warehouse_into_service_supplier"),
UpdateWarehouseIntoServiceSupplier: getWarehouseValue("update_warehouse_into_service_supplier"),
AfterCreateWarehouse: getWarehouseValue("after_create_warehouse"),
AfterUpdateWarehouse: getWarehouseValue("after_update_warehouse"),
CreateOutboundRequest: getWarehouseValue("create_outbound_request"),
UpdateOutboundRequestLogistic: getWarehouseValue("update_outbound_request_logistic_info"),
CancelOutboundRequest: getWarehouseValue("cancel_outbound_request"),
GetConfiguration: getWarehouseValue("get_configuration"),
SyncORStatus: getWarehouseValue("sync_or_status"),
WebhookTNC: getWarehouseValue("webhook_tnc"),
WebhookGlobalCare: getWarehouseValue("webhook_global_care"),
WebhookOnPoint: getWarehouseValue("webhook_on_point"),
WebhookViettelFFM: getWarehouseValue("webhook_viettel_ffm"),
FindOne: getWarehouseValue("find_one"),
FindByCondition: getWarehouseValue("find_all_by_condition"),
Distinct: getWarehouseValue("distinct"),
Count: getWarehouseValue("count"),
UpdateIsClosedSupplier: getWarehouseValue("update_is_closed_supplier"),
GetWarehouses: getWarehouseValue("get_warehouses"),
UpdateORDeliveryStatus: getWarehouseValue("update_or_delivery_status"),
UpdateStatusWarehousePendingInactive: getWarehouseValue("update_status_warehouse_pending_inactive"),
UpdateIsSellyMall: getWarehouseValue("update_is_selly_mall"),
UpdateWarehouseConfig: getWarehouseValue("update_warehouse_config"),
BulkWriteWarehouseConfig: getWarehouseValue("bulk_write_warehouse_config"),
GetListWarehouseConfig: getWarehouseValue("get_list_warehouse_config"),
}