Compare commits

..

193 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
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
65 changed files with 1973 additions and 202 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
}

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

@ -19,7 +19,28 @@ func GetLocation() Location {
// GetLocationByCode ... // GetLocationByCode ...
func (l Location) GetLocationByCode(payload model.LocationRequestPayload) (*model.ResponseLocationAddress, error) { func (l Location) GetLocationByCode(payload model.LocationRequestPayload) (*model.ResponseLocationAddress, error) {
msg, err := natsio.GetServer().Request(subject.Location.GetLocationByCode, toBytes(payload)) 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 { if err != nil {
return nil, err return nil, err
} }
@ -40,7 +61,7 @@ func (l Location) GetLocationByCode(payload model.LocationRequestPayload) (*mode
// GetProvincesByCodes ... // GetProvincesByCodes ...
func (l Location) GetProvincesByCodes(p model.ProvinceRequestPayload) (*model.LocationProvinceResponse, error) { func (l Location) GetProvincesByCodes(p model.ProvinceRequestPayload) (*model.LocationProvinceResponse, error) {
msg, err := natsio.GetServer().Request(subject.Location.GetProvincesByCodes, toBytes(p)) msg, err := natsio.GetServer().Request(subject.Location.GetProvincesByCodesFromLocationService, toBytes(p))
if err != nil { if err != nil {
return nil, err return nil, err
} }
@ -62,7 +83,7 @@ func (l Location) GetProvincesByCodes(p model.ProvinceRequestPayload) (*model.Lo
// GetDistrictsByCodes ... // GetDistrictsByCodes ...
func (l Location) GetDistrictsByCodes(p model.DistrictRequestPayload) (*model.LocationDistrictResponse, error) { func (l Location) GetDistrictsByCodes(p model.DistrictRequestPayload) (*model.LocationDistrictResponse, error) {
msg, err := natsio.GetServer().Request(subject.Location.GetDistrictsByCodes, toBytes(p)) msg, err := natsio.GetServer().Request(subject.Location.GetDistrictsByCodesFromLocationService, toBytes(p))
if err != nil { if err != nil {
return nil, err return nil, err
} }
@ -84,7 +105,7 @@ func (l Location) GetDistrictsByCodes(p model.DistrictRequestPayload) (*model.Lo
// GetWardsByCodes ... // GetWardsByCodes ...
func (l Location) GetWardsByCodes(p model.WardRequestPayload) (*model.LocationWardResponse, error) { func (l Location) GetWardsByCodes(p model.WardRequestPayload) (*model.LocationWardResponse, error) {
msg, err := natsio.GetServer().Request(subject.Location.GetWardsByCodes, toBytes(p)) msg, err := natsio.GetServer().Request(subject.Location.GetWardsByCodesFromLocationService, toBytes(p))
if err != nil { if err != nil {
return nil, err return nil, err
} }
@ -106,7 +127,7 @@ func (l Location) GetWardsByCodes(p model.WardRequestPayload) (*model.LocationWa
} }
// GetProvinceByCondition ... // GetProvinceByCondition ...
func (l Location) GetProvinceByCondition(p model.ProvinceRequestCondition) (*model.LocationProvinceDetailResponse, error) { func (l Location) GetProvinceByCondition(p model.RequestCondition) (*model.LocationProvinceDetailResponse, error) {
msg, err := natsio.GetServer().Request(subject.Location.GetProvinceByCondition, toBytes(p)) msg, err := natsio.GetServer().Request(subject.Location.GetProvinceByCondition, toBytes(p))
if err != nil { if err != nil {
return nil, err return nil, err
@ -128,7 +149,7 @@ func (l Location) GetProvinceByCondition(p model.ProvinceRequestCondition) (*mod
} }
// GetProvincesByCondition ... // GetProvincesByCondition ...
func (l Location) GetProvincesByCondition(p model.ProvinceRequestCondition) ([]*model.LocationProvinceDetailResponse, error) { func (l Location) GetProvincesByCondition(p model.RequestCondition) ([]*model.LocationProvinceDetailResponse, error) {
msg, err := natsio.GetServer().Request(subject.Location.GetProvincesByCondition, toBytes(p)) msg, err := natsio.GetServer().Request(subject.Location.GetProvincesByCondition, toBytes(p))
if err != nil { if err != nil {
return nil, err return nil, err
@ -150,7 +171,7 @@ func (l Location) GetProvincesByCondition(p model.ProvinceRequestCondition) ([]*
} }
// GetDistrictByCondition ... // GetDistrictByCondition ...
func (l Location) GetDistrictByCondition(p model.DistrictRequestCondition) (*model.LocationDistrictDetailResponse, error) { func (l Location) GetDistrictByCondition(p model.RequestCondition) (*model.LocationDistrictDetailResponse, error) {
msg, err := natsio.GetServer().Request(subject.Location.GetDistrictByCondition, toBytes(p)) msg, err := natsio.GetServer().Request(subject.Location.GetDistrictByCondition, toBytes(p))
if err != nil { if err != nil {
return nil, err return nil, err
@ -172,7 +193,7 @@ func (l Location) GetDistrictByCondition(p model.DistrictRequestCondition) (*mod
} }
// GetDistrictsByCondition ... // GetDistrictsByCondition ...
func (l Location) GetDistrictsByCondition(p model.DistrictRequestCondition) ([]*model.LocationDistrictDetailResponse, error) { func (l Location) GetDistrictsByCondition(p model.RequestCondition) ([]*model.LocationDistrictDetailResponse, error) {
msg, err := natsio.GetServer().Request(subject.Location.GetDistrictsByCondition, toBytes(p)) msg, err := natsio.GetServer().Request(subject.Location.GetDistrictsByCondition, toBytes(p))
if err != nil { if err != nil {
return nil, err return nil, err
@ -194,7 +215,7 @@ func (l Location) GetDistrictsByCondition(p model.DistrictRequestCondition) ([]*
} }
// GetWardByCondition ... // GetWardByCondition ...
func (l Location) GetWardByCondition(p model.WardRequestCondition) (*model.LocationWardDetailResponse, error) { func (l Location) GetWardByCondition(p model.RequestCondition) (*model.LocationWardDetailResponse, error) {
msg, err := natsio.GetServer().Request(subject.Location.GetWardByCondition, toBytes(p)) msg, err := natsio.GetServer().Request(subject.Location.GetWardByCondition, toBytes(p))
if err != nil { if err != nil {
return nil, err return nil, err
@ -216,7 +237,7 @@ func (l Location) GetWardByCondition(p model.WardRequestCondition) (*model.Locat
} }
// GetWardsByCondition ... // GetWardsByCondition ...
func (l Location) GetWardsByCondition(p model.WardRequestCondition) ([]*model.LocationWardDetailResponse, error) { func (l Location) GetWardsByCondition(p model.RequestCondition) ([]*model.LocationWardDetailResponse, error) {
msg, err := natsio.GetServer().Request(subject.Location.GetWardsByCondition, toBytes(p)) msg, err := natsio.GetServer().Request(subject.Location.GetWardsByCondition, toBytes(p))
if err != nil { if err != nil {
return nil, err return nil, err
@ -238,7 +259,7 @@ func (l Location) GetWardsByCondition(p model.WardRequestCondition) ([]*model.Lo
} }
// CountProvinceByCondition ... // CountProvinceByCondition ...
func (l Location) CountProvinceByCondition(p model.ProvinceRequestCondition) (int64, error) { func (l Location) CountProvinceByCondition(p model.RequestCondition) (int64, error) {
msg, err := natsio.GetServer().Request(subject.Location.CountProvinceByCondition, toBytes(p)) msg, err := natsio.GetServer().Request(subject.Location.CountProvinceByCondition, toBytes(p))
if err != nil { if err != nil {
return 0, err return 0, err
@ -257,7 +278,7 @@ func (l Location) CountProvinceByCondition(p model.ProvinceRequestCondition) (in
} }
// CountDistrictByCondition ... // CountDistrictByCondition ...
func (l Location) CountDistrictByCondition(p model.DistrictRequestCondition) (int64, error) { func (l Location) CountDistrictByCondition(p model.RequestCondition) (int64, error) {
msg, err := natsio.GetServer().Request(subject.Location.CountDistrictByCondition, toBytes(p)) msg, err := natsio.GetServer().Request(subject.Location.CountDistrictByCondition, toBytes(p))
if err != nil { if err != nil {
return 0, err return 0, err
@ -276,7 +297,7 @@ func (l Location) CountDistrictByCondition(p model.DistrictRequestCondition) (in
} }
// CountWardByCondition ... // CountWardByCondition ...
func (l Location) CountWardByCondition(p model.WardRequestCondition) (int64, error) { func (l Location) CountWardByCondition(p model.RequestCondition) (int64, error) {
msg, err := natsio.GetServer().Request(subject.Location.CountWardByCondition, toBytes(p)) msg, err := natsio.GetServer().Request(subject.Location.CountWardByCondition, toBytes(p))
if err != nil { if err != nil {
return 0, err return 0, err

View File

@ -119,3 +119,22 @@ func (o Order) GetSupplierOrders(p model.OrderSupplierQuery) (*model.SupplierOrd
} }
return &r.Data, nil 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
}

View File

@ -79,7 +79,6 @@ func (s Seller) GetListSellerInfoSupportChatByIDs(p model.GetListSellerSupportCh
if err := json.Unmarshal(msg.Data, &r); err != nil { if err := json.Unmarshal(msg.Data, &r); err != nil {
return nil, err return nil, err
} }
if r.Error != "" { if r.Error != "" {
return nil, errors.New(r.Error) return nil, errors.New(r.Error)

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
}

View File

@ -38,6 +38,28 @@ func (s Supplier) GetListSupplierInfo(p model.GetSupplierRequest) ([]*model.Resp
return r.Data, nil 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) { func (s Supplier) GetSupplierContractBySupplierID(p model.GetSupplierContractRequest) (*model.ResponseSupplierContract, error) {
msg, err := natsio.GetServer().Request(subject.Supplier.GetSupplierContractBySupplierID, toBytes(p)) msg, err := natsio.GetServer().Request(subject.Supplier.GetSupplierContractBySupplierID, toBytes(p))
if err != nil { if err != nil {
@ -80,6 +102,69 @@ func (s Supplier) FindAll(supplierID model.SupplierRequestPayload) (*model.Suppl
return r.Data, nil 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 ... // CreateWarehouseIntoServiceSupplier ...
func (s Supplier) CreateWarehouseIntoServiceSupplier(p model.CreateSupplierWarehousePayload) error { func (s Supplier) CreateWarehouseIntoServiceSupplier(p model.CreateSupplierWarehousePayload) error {
msg, err := natsio.GetServer().Request(subject.Warehouse.CreateWarehouseIntoServiceSupplier, toBytes(p)) msg, err := natsio.GetServer().Request(subject.Warehouse.CreateWarehouseIntoServiceSupplier, toBytes(p))

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

@ -3,6 +3,7 @@ package client
import ( import (
"encoding/json" "encoding/json"
"errors" "errors"
"fmt"
"git.selly.red/Selly-Modules/natsio" "git.selly.red/Selly-Modules/natsio"
"git.selly.red/Selly-Modules/natsio/model" "git.selly.red/Selly-Modules/natsio/model"
@ -145,6 +146,25 @@ func (w Warehouse) GetConfigByWarehouseID(warehouseID string) (*model.WarehouseC
return r.Data, nil 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 ... // GetWarehouses ...
func (w Warehouse) GetWarehouses(p model.GetWarehousesRequest) (*model.GetWarehousesResponse, error) { func (w Warehouse) GetWarehouses(p model.GetWarehousesRequest) (*model.GetWarehousesResponse, error) {
msg, err := natsio.GetServer().Request(subject.Warehouse.GetWarehouses, toBytes(p)) msg, err := natsio.GetServer().Request(subject.Warehouse.GetWarehouses, toBytes(p))
@ -163,3 +183,61 @@ func (w Warehouse) GetWarehouses(p model.GetWarehousesRequest) (*model.GetWareho
} }
return r.Data, nil 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
}

View File

@ -3,6 +3,7 @@ package client
import ( import (
"encoding/json" "encoding/json"
"errors" "errors"
"git.selly.red/Selly-Modules/natsio" "git.selly.red/Selly-Modules/natsio"
"git.selly.red/Selly-Modules/natsio/model" "git.selly.red/Selly-Modules/natsio/model"
"git.selly.red/Selly-Modules/natsio/subject" "git.selly.red/Selly-Modules/natsio/subject"
@ -83,3 +84,39 @@ func (w Warehouse) FindByCondition(p model.FindWithCondition) ([]*model.Warehous
} }
return r.Data, nil 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
}

View File

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

View File

@ -1,5 +1,7 @@
package jsmodel package jsmodel
import "go.mongodb.org/mongo-driver/bson/primitive"
// PushNotification ... // PushNotification ...
type PushNotification struct { type PushNotification struct {
User string `json:"user"` User string `json:"user"`
@ -12,8 +14,11 @@ type PushNotification struct {
// NotificationOptions ... // NotificationOptions ...
type NotificationOptions struct { type NotificationOptions struct {
Title string `json:"title"` Title string `json:"title"`
Content string `json:"content"` Content string `json:"content"`
CampaignID string `json:"campaignId,omitempty"`
SellerSavingCampaignID string `json:"sellerSavingCampaignId,omitempty"`
SellerSavingCampaignStatus string `json:"sellerSavingCampaignStatus,omitempty"`
} }
// PayloadUpdateSellerAffiliateStatistic ... // PayloadUpdateSellerAffiliateStatistic ...
@ -57,4 +62,49 @@ type CashFlowOptions struct {
AffiliateTransactionCode string `json:"affiliateTransactionCode,omitempty"` AffiliateTransactionCode string `json:"affiliateTransactionCode,omitempty"`
AffiliateCampaignID string `json:"affiliateCampaignId,omitempty"` AffiliateCampaignID string `json:"affiliateCampaignId,omitempty"`
AffiliateCampaignName string `json:"affiliateCampaignName,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"`
} }

View File

@ -11,11 +11,17 @@ func getSellyValue(val string) string {
// Selly ... // Selly ...
var Selly = struct { var Selly = struct {
PushNotification string PushNotification string
UpdateSellerAffiliateStatistic string UpdateSellerAffiliateStatistic string
CheckAnDInsertCashflowBySeller string CheckAnDInsertCashflowBySeller string
SubscriberTopic string
UpdateSellerSavingCampaignStatistic string
GenerateVoucherPromotion string
}{ }{
PushNotification: getSellyValue("push_notifications"), PushNotification: getSellyValue("push_notifications"),
UpdateSellerAffiliateStatistic: getSellyValue("update_seller_affiliate_statistic"), UpdateSellerAffiliateStatistic: getSellyValue("update_seller_affiliate_statistic"),
CheckAnDInsertCashflowBySeller: getSellyValue("check_and_insert_cashflow_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 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 ... // Publish ...
func (e JSONEncoder) Publish(reply string, data interface{}) error { func (e JSONEncoder) Publish(reply string, data interface{}) error {
return e.encConn.Publish(reply, data) 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"`
}

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"`
}

View File

@ -20,3 +20,37 @@ type ActionBy struct {
ID string `json:"id"` ID string `json:"id"`
Name string `json:"name"` 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"` ResponseImmediately bool `json:"responseImmediately"`
Authentication string `json:"authentication"` Authentication string `json:"authentication"`
Payload HttpRequest `json:"payload"` 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 ... // 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

View File

@ -2,6 +2,7 @@ package model
// LocationRequestPayload ... // LocationRequestPayload ...
type ( type (
// LocationRequestPayload ...
LocationRequestPayload struct { LocationRequestPayload struct {
Province int `json:"province"` Province int `json:"province"`
District int `json:"district"` District int `json:"district"`
@ -52,6 +53,7 @@ type (
Slug string `json:"slug"` Slug string `json:"slug"`
DistrictSlug string `json:"districtSlug"` DistrictSlug string `json:"districtSlug"`
ProvinceSlug string `json:"provinceSlug"` ProvinceSlug string `json:"provinceSlug"`
Keyword string `json:"keyword"`
} }
// ProvinceDistinctWithField ... // ProvinceDistinctWithField ...

View File

@ -1,7 +1,5 @@
package model package model
import "time"
type ( type (
// ResponseLocationAddress ... // ResponseLocationAddress ...
ResponseLocationAddress struct { ResponseLocationAddress struct {
@ -15,6 +13,7 @@ type (
ID string `json:"id"` ID string `json:"id"`
Name string `json:"name"` Name string `json:"name"`
Code int `json:"code"` Code int `json:"code"`
Slug string `json:"slug"`
RegionCode string `json:"regionCode"` RegionCode string `json:"regionCode"`
MainRegionCode string `json:"mainRegionCode"` MainRegionCode string `json:"mainRegionCode"`
} }
@ -24,13 +23,22 @@ type (
ID string `json:"id"` ID string `json:"id"`
Name string `json:"name"` Name string `json:"name"`
Code int `json:"code"` Code int `json:"code"`
Slug string `json:"slug"`
} }
// LocationWard ... // LocationWard ...
LocationWard struct { LocationWard struct {
ID string `json:"id"` ID string `json:"id"`
Name string `json:"name"` Name string `json:"name"`
Code int `json:"code"` 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 ...
@ -50,47 +58,38 @@ type (
// LocationProvinceDetailResponse ... // LocationProvinceDetailResponse ...
LocationProvinceDetailResponse struct { LocationProvinceDetailResponse struct {
ID string `json:"_id"` ID string `json:"_id"`
Name string `json:"name"` Name string `json:"name"`
SearchString string `json:"searchString"` Slug string `json:"slug"`
Slug string `json:"slug"` Code int `json:"code"`
OldSlug string `json:"oldSlug"` CountryCode string `json:"countryCode"`
Code int `json:"code"` RegionCode string `json:"regionCode"`
CountryCode string `json:"countryCode"` MainRegionCode string `json:"mainRegionCode"`
RegionCode string `json:"regionCode"` TotalDistricts int `json:"totalDistricts"`
MainRegionCode string `json:"mainRegionCode"` TotalWards int `json:"totalWards"`
TotalDistricts int `json:"totalDistricts"`
TotalWards int `json:"totalWards"`
CreatedAt time.Time `json:"createdAt"`
UpdatedAt time.Time `json:"updatedAt"`
} }
// LocationDistrictDetailResponse ... // LocationDistrictDetailResponse ...
LocationDistrictDetailResponse struct { LocationDistrictDetailResponse struct {
ID string `json:"_id"` ID string `json:"_id"`
Name string `json:"name"` Name string `json:"name"`
SearchString string `json:"searchString"` OldSlugs []string `json:"oldSlugs"`
Slug string `json:"slug"` Slug string `json:"slug"`
OldSlug string `json:"oldSlug"` Code int `json:"code"`
Code int `json:"code"` ProvinceCode int `json:"provinceCode"`
ProvinceCode int `json:"provinceCode"` Area int `json:"area"`
Area int `json:"area"` TotalWards int `json:"totalWards"`
TotalWards int `json:"totalWards"`
CreatedAt time.Time `json:"createdAt"`
UpdatedAt time.Time `json:"updatedAt"`
} }
// LocationWardDetailResponse ... // LocationWardDetailResponse ...
LocationWardDetailResponse struct { LocationWardDetailResponse struct {
ID string `json:"_id"` ID string `json:"_id"`
Name string `json:"name"` Name string `json:"name"`
SearchString string `json:"searchString"` OldSlugs []string `json:"oldSlugs"`
Slug string `json:"slug"` Slug string `json:"slug"`
OldSlugs []string `json:"oldSlugs"` Code int `json:"code"`
Code int `json:"code"` DistrictCode int `json:"districtCode"`
DistrictCode int `json:"districtCode"` ProvinceCode int `json:"provinceCode"`
ProvinceCode int `json:"provinceCode"` Location *GEOLocation `json:"location"`
CreatedAt time.Time `json:"createdAt"`
UpdatedAt time.Time `json:"updatedAt"`
} }
) )

View File

@ -2,6 +2,7 @@ package model
// OrderUpdateORStatus ... // OrderUpdateORStatus ...
type OrderUpdateORStatus struct { type OrderUpdateORStatus struct {
ID string `json:"id"`
OrderCode string `json:"orderCode"` OrderCode string `json:"orderCode"`
ORCode string `json:"orCode"` ORCode string `json:"orCode"`
Status string `json:"status"` Status string `json:"status"`
@ -48,3 +49,7 @@ type OrderSupplierQuery struct {
SupplierID string `json:"supplierId"` SupplierID string `json:"supplierId"`
WarehouseIDs []string `json:"warehouseIDs"` WarehouseIDs []string `json:"warehouseIDs"`
} }
type OrderGetTotalWarningPayload struct {
UserID string `json:"userId"`
}

View File

@ -33,3 +33,10 @@ type SupplierOrderDelivery struct {
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"` 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"` 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"`
}

View File

@ -4,9 +4,11 @@ import "time"
// ResponseSellerInfo ... // ResponseSellerInfo ...
type ResponseSellerInfo struct { type ResponseSellerInfo struct {
ID string `json:"_id"` ID string `json:"_id"`
Name string `json:"name"` Name string `json:"name"`
Code string `json:"code"` Code string `json:"code"`
IsAccountPro bool `json:"isAccountPro"`
CashRemaining float64 `json:"cashRemaining"`
} }
// ResponseListSellerInfo ... // ResponseListSellerInfo ...

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"`
}

View File

@ -9,6 +9,11 @@ type GetSupplierRequest struct {
ListID []primitive.ObjectID `json:"listID"` ListID []primitive.ObjectID `json:"listID"`
} }
// GetDetailSupplierRequest ...
type GetDetailSupplierRequest struct {
Supplier string `json:"supplier"`
}
type GetSupplierContractRequest struct { type GetSupplierContractRequest struct {
SupplierID primitive.ObjectID `json:"supplierID"` SupplierID primitive.ObjectID `json:"supplierID"`
} }
@ -38,3 +43,17 @@ type UpdateSupplierWarehousePayload struct {
DistrictCode int `json:"districtCode"` DistrictCode int `json:"districtCode"`
WardCode int `json:"wardCode"` 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

@ -5,6 +5,7 @@ type ResponseSupplierInfo struct {
ID string `json:"id"` ID string `json:"id"`
Name string `json:"name"` Name string `json:"name"`
BusinessType string `json:"businessType"` BusinessType string `json:"businessType"`
IsSellyMall bool `json:"isSellyMall"`
} }
// ResponseSupplierContract ... // ResponseSupplierContract ...
@ -29,3 +30,7 @@ type SupplierAll struct {
Suppliers []SupplierBrief `json:"suppliers"` Suppliers []SupplierBrief `json:"suppliers"`
Total int64 `json:"total"` 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,17 +2,18 @@ package model
// OutboundRequestPayload ... // OutboundRequestPayload ...
type OutboundRequestPayload struct { type OutboundRequestPayload struct {
OrderID string `json:"orderId"` OrderID string `json:"orderId"`
OrderCode string `json:"orderCode"` OrderCode string `json:"orderCode"`
TrackingCode string `json:"trackingCode"` TrackingCode string `json:"trackingCode"`
WarehouseID string `json:"warehouseId"` WarehouseID string `json:"warehouseId"`
SupplierID string `json:"supplierId"` SupplierID string `json:"supplierId"`
Note string `json:"note"` Note string `json:"note"`
CODAmount float64 `json:"codAmount"` CODAmount float64 `json:"codAmount"`
TPLCode string `json:"tplCode"` TPLCode string `json:"tplCode"`
Customer CustomerInfo `json:"customer"` Customer CustomerInfo `json:"customer"`
Items []OutboundRequestItem `json:"items"` Items []OutboundRequestItem `json:"items"`
Insurance *InsuranceOpts `json:"insurance"` Insurance *InsuranceOpts `json:"insurance"`
PaymentMethod string `json:"paymentMethod"`
} }
// InsuranceOpts ... // InsuranceOpts ...
@ -36,11 +37,12 @@ type InsuranceOpts struct {
// OutboundRequestItem ... // OutboundRequestItem ...
type OutboundRequestItem struct { type OutboundRequestItem struct {
SupplierSKU string `json:"supplierSKU"` SupplierSKU string `json:"supplierSKU"`
Quantity int64 `json:"quantity"` Quantity int64 `json:"quantity"`
UnitCode string `json:"unitCode"` UnitCode string `json:"unitCode"`
Price float64 `json:"price"` Price float64 `json:"price"`
Name string `json:"name"` Name string `json:"name"`
PartnerProductCode string `json:"partnerProductCode"`
} }
// CustomerInfo ... // CustomerInfo ...
@ -62,22 +64,26 @@ type AddressDetail struct {
// UpdateOutboundRequestLogisticInfoPayload ... // UpdateOutboundRequestLogisticInfoPayload ...
type UpdateOutboundRequestLogisticInfoPayload struct { type UpdateOutboundRequestLogisticInfoPayload struct {
ShippingLabel string `json:"shippingLabel"` ShippingLabel string `json:"shippingLabel,omitempty"`
TrackingCode string `json:"trackingCode"` TrackingCode string `json:"trackingCode,omitempty"`
ORCode string `json:"orCode"` ORCode string `json:"orCode,omitempty"`
TPLCode string `json:"tplCode"` TPLCode string `json:"tplCode,omitempty"`
OrderID string `json:"orderId"`
DeliveryStatus string `json:"deliveryStatus,omitempty"`
} }
// CancelOutboundRequest ... // CancelOutboundRequest ...
type CancelOutboundRequest struct { type CancelOutboundRequest struct {
ORCode string `json:"orCode"` ORCode string `json:"orCode"`
Note string `json:"note"` OrderID string `json:"orderId"`
Note string `json:"note"`
} }
// SyncORStatusRequest ... // SyncORStatusRequest ...
type SyncORStatusRequest struct { type SyncORStatusRequest struct {
ORCode string `json:"orCode"` ORCode string `json:"orCode"`
OrderCode string `json:"orderCode"` OrderCode string `json:"orderCode"`
OrderID string `json:"orderId"`
} }
// UpdateSupplierIsClosedRequest ... // UpdateSupplierIsClosedRequest ...
@ -93,11 +99,41 @@ type SupplierIsClosed struct {
// GetWarehousesRequest ... // GetWarehousesRequest ...
type GetWarehousesRequest struct { type GetWarehousesRequest struct {
Keyword string `json:"keyword"` Keyword string `json:"keyword"`
Status string `json:"status"` Status string `json:"status"`
Supplier string `json:"supplier"` Supplier string `json:"supplier"`
BusinessType string `json:"businessType"` BusinessType string `json:"businessType"`
IDs []string `json:"ids"`
Page int64 `json:"page"` Page int64 `json:"page"`
Limit int64 `json:"limit"` 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

@ -18,14 +18,21 @@ type OutboundRequestResponse struct {
// WarehouseConfiguration ... // WarehouseConfiguration ...
type WarehouseConfiguration struct { type WarehouseConfiguration struct {
Warehouse string `json:"warehouse"` Warehouse string `json:"warehouse"`
DoesSupportSellyExpress bool `json:"doesSupportSellyExpress"` DoesSupportSellyExpress bool `json:"doesSupportSellyExpress"`
Supplier WarehouseSupplier `json:"supplier"` Supplier WarehouseSupplier `json:"supplier"`
Order WarehouseOrder `json:"order"` Order WarehouseOrder `json:"order"`
Partner WarehousePartner `json:"partner"` Partner WarehousePartner `json:"partner"`
Delivery WarehouseDelivery `json:"delivery"` Delivery WarehouseDelivery `json:"delivery"`
Other WarehouseOther `json:"other"` Other WarehouseOther `json:"other"`
Food WarehouseFood `json:"food"` Food WarehouseFood `json:"food"`
AutoConfirmOrder WarehouseOrderConfirm `json:"autoConfirmOrder"`
}
// WarehouseOrderConfirm ...
type WarehouseOrderConfirm struct {
IsEnable bool `json:"isEnable"`
ConfirmDelayInSeconds int64 `json:"confirmDelayInSeconds"`
} }
// WarehouseFood ... // WarehouseFood ...
@ -54,16 +61,28 @@ type WarehouseSupplier struct {
// WarehouseOrder ... // WarehouseOrder ...
type WarehouseOrder struct { type WarehouseOrder struct {
MinimumValue float64 `json:"minimumValue"` MinimumValue float64 `json:"minimumValue"`
PaymentMethod WarehousePaymentMethod `json:"paymentMethod"` PaymentMethod WarehousePaymentMethod `json:"paymentMethod"`
IsLimitNumberOfPurchases bool `json:"isLimitNumberOfPurchases"` IsLimitNumberOfPurchases bool `json:"isLimitNumberOfPurchases"`
LimitNumberOfPurchases int64 `json:"limitNumberOfPurchases"` 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 ... // WarehousePaymentMethod ...
type WarehousePaymentMethod struct { type WarehousePaymentMethod struct {
Cod bool `json:"cod"` Cod bool `json:"cod"`
BankTransfer bool `json:"bankTransfer"` BankTransfer bool `json:"bankTransfer"`
Fundiin bool `json:"fundiin"`
} }
// WarehouseDelivery ... // WarehouseDelivery ...
@ -84,10 +103,11 @@ type WarehousePartner struct {
// SyncORStatusResponse ... // SyncORStatusResponse ...
type SyncORStatusResponse struct { type SyncORStatusResponse struct {
ORCode string `json:"orCode"` ORCode string `json:"orCode"`
OrderCode string `json:"orderCode"` OrderCode string `json:"orderCode"`
Status string `json:"status"` Status string `json:"status"`
DeliveryStatus string `json:"deliveryStatus"` DeliveryStatus string `json:"deliveryStatus"`
Data OrderORData `json:"data"`
} }
// ResponseWarehouseContact ... // ResponseWarehouseContact ...
@ -121,19 +141,23 @@ type ResponseLatLng struct {
// WarehouseNatsResponse ... // WarehouseNatsResponse ...
type WarehouseNatsResponse struct { type WarehouseNatsResponse struct {
ID string `json:"_id"` ID string `json:"_id"`
Staff string `json:"staff"` Staff string `json:"staff"`
BusinessType string `json:"businessType"` BusinessType string `json:"businessType"`
Name string `json:"name"` Name string `json:"name"`
SearchString string `json:"searchString"` SearchString string `json:"searchString"`
Slug string `json:"slug"` Slug string `json:"slug"`
Status string `json:"status"` Status string `json:"status"`
Supplier string `json:"supplier"` Supplier string `json:"supplier"`
Contact ResponseWarehouseContact `json:"contact"` Contact ResponseWarehouseContact `json:"contact"`
Location ResponseWarehouseLocation `json:"location"` Location ResponseWarehouseLocation `json:"location"`
Configurations WarehouseConfiguration `json:"configurations"` Configurations WarehouseConfiguration `json:"configurations"`
CreatedAt time.Time `json:"createdAt"` CreatedAt time.Time `json:"createdAt"`
UpdatedAt time.Time `json:"updatedAt"` UpdatedAt time.Time `json:"updatedAt"`
ReasonPendingInactive string `json:"reasonPendingInactive"`
IsPendingInactive bool `json:"isPendingInactive"`
IsFromInternational bool `json:"isFromInternational"`
StoreCode string `json:"storeCode"`
} }
// WarehouseInfo ... // WarehouseInfo ...
@ -162,3 +186,9 @@ type GetWarehousesResponse struct {
Limit int64 `json:"limit"` Limit int64 `json:"limit"`
List []WarehouseInfo `json:"list"` List []WarehouseInfo `json:"list"`
} }
type GetListWarehouseConfigRes struct {
Total int64 `json:"total"`
Limit int64 `json:"limit"`
List []WarehouseConfiguration `json:"list"`
}

View File

@ -40,6 +40,16 @@ func (sv Server) Subscribe(subject string, cb nats.MsgHandler) (*nats.Subscripti
return sub, nil 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 ... // NewJSONEncodedConn ...
func (sv Server) NewJSONEncodedConn() (*JSONEncoder, error) { func (sv Server) NewJSONEncodedConn() (*JSONEncoder, error) {
enc, err := nats.NewEncodedConn(sv.instance, nats.JSON_ENCODER) 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/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

@ -9,6 +9,16 @@ var prefixes = struct {
Bank string Bank string
Supplier string Supplier string
Seller 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", Communication: "communication",
Order: "order", Order: "order",
@ -18,4 +28,14 @@ var prefixes = struct {
Supplier: "supplier", Supplier: "supplier",
Bank: "bank", Bank: "bank",
Seller: "seller", 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",
} }

View File

@ -7,33 +7,43 @@ func getLocationValue(val string) string {
} }
var Location = struct { var Location = struct {
GetLocationByCode string GetLocationByCode string
GetProvincesByCodes string GetLocationByCodeFromLocationService string
GetDistrictsByCodes string GetLocationByWardCode string
GetWardsByCodes string GetProvincesByCodes string
GetProvinceByCondition string GetProvincesByCodesFromLocationService string
GetProvincesByCondition string GetDistrictsByCodes string
GetDistrictByCondition string GetDistrictsByCodesFromLocationService string
GetDistrictsByCondition string GetWardsByCodes string
GetWardByCondition string GetWardsByCodesFromLocationService string
GetWardsByCondition string GetProvinceByCondition string
CountProvinceByCondition string GetProvincesByCondition string
CountDistrictByCondition string GetDistrictByCondition string
CountWardByCondition string GetDistrictsByCondition string
ProvinceDistinctWithField string GetWardByCondition string
GetWardsByCondition string
CountProvinceByCondition string
CountDistrictByCondition string
CountWardByCondition string
ProvinceDistinctWithField string
}{ }{
GetLocationByCode: getLocationValue("get_location_warehouse"), GetLocationByCode: getLocationValue("get_location_warehouse"),
GetProvincesByCodes: getLocationValue("get_provinces_by_codes"), GetLocationByCodeFromLocationService: getLocationValue("get_location_warehouse_from_location_service"),
GetDistrictsByCodes: getLocationValue("get_districts_by_codes"), GetLocationByWardCode: getLocationValue("get_location_by_ward_code"),
GetWardsByCodes: getLocationValue("get_wards_by_codes"), GetProvincesByCodes: getLocationValue("get_provinces_by_codes"),
GetProvinceByCondition: getLocationValue("get_province_by_condition"), GetProvincesByCodesFromLocationService: getLocationValue("get_provinces_by_codes_from_location_service"),
GetProvincesByCondition: getLocationValue("get_provinces_by_condition"), GetDistrictsByCodes: getLocationValue("get_districts_by_codes"),
GetDistrictByCondition: getLocationValue("get_district_by_condition"), GetDistrictsByCodesFromLocationService: getLocationValue("get_districts_by_codes_from_location_service"),
GetDistrictsByCondition: getLocationValue("get_districts_byCondition"), GetWardsByCodes: getLocationValue("get_wards_by_codes"),
GetWardByCondition: getLocationValue("get_ward_by_condition"), GetWardsByCodesFromLocationService: getLocationValue("get_wards_by_codes_from_location_service"),
GetWardsByCondition: getLocationValue("get_wards_by_condition"), GetProvinceByCondition: getLocationValue("get_province_by_condition"),
CountProvinceByCondition: getLocationValue("count_province_by_condition"), GetProvincesByCondition: getLocationValue("get_provinces_by_condition"),
CountDistrictByCondition: getLocationValue("count_district_by_condition"), GetDistrictByCondition: getLocationValue("get_district_by_condition"),
CountWardByCondition: getLocationValue("count_ward_by_condition"), GetDistrictsByCondition: getLocationValue("get_districts_byCondition"),
ProvinceDistinctWithField: getLocationValue("province_distinct_with_field"), 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"),
} }

View File

@ -7,17 +7,19 @@ func getOrderValue(val string) string {
} }
var Order = struct { var Order = struct {
UpdateORStatus string UpdateORStatus string
CancelDelivery string GetUserTotalWarningOrders string
ChangeDeliveryStatus string CancelDelivery string
UpdateLogisticInfoFailed string ChangeDeliveryStatus string
ORNotUpdateStatus string UpdateLogisticInfoFailed string
GetSupplierOrders string ORNotUpdateStatus string
GetSupplierOrders string
}{ }{
UpdateORStatus: getOrderValue("update_outbound_request_status"), UpdateORStatus: getOrderValue("update_outbound_request_status"),
CancelDelivery: getOrderValue("cancel_delivery"), GetUserTotalWarningOrders: getOrderValue("get_user_total_warning_orders"),
ChangeDeliveryStatus: getOrderValue("change_delivery_status"), CancelDelivery: getOrderValue("cancel_delivery"),
UpdateLogisticInfoFailed: getOrderValue("update_logistic_info_failed"), ChangeDeliveryStatus: getOrderValue("change_delivery_status"),
ORNotUpdateStatus: getOrderValue("outbound_request_not_update_status"), UpdateLogisticInfoFailed: getOrderValue("update_logistic_info_failed"),
GetSupplierOrders: getOrderValue("get_supplier_orders"), 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"),
}

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"),
}

View File

@ -8,10 +8,16 @@ func getSupplierValue(val string) string {
var Supplier = struct { var Supplier = struct {
GetListSupplierInfo string GetListSupplierInfo string
GetDetailSupplierInfo string
GetSupplierContractBySupplierID string GetSupplierContractBySupplierID string
FindAll string FindAll string
FindAllOld string
Count string
}{ }{
GetListSupplierInfo: getSupplierValue("get_list_supplier_info"), GetListSupplierInfo: getSupplierValue("get_list_supplier_info"),
GetDetailSupplierInfo: getSupplierValue("get_detail_supplier_info"),
GetSupplierContractBySupplierID: getSupplierValue("get_supplier_contract_by_supplier_id"), GetSupplierContractBySupplierID: getSupplierValue("get_supplier_contract_by_supplier_id"),
FindAll: getSupplierValue("find_all"), 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,47 +1,63 @@
package subject package subject
import "fmt" import (
"fmt"
)
func getWarehouseValue(val string) string { func getWarehouseValue(val string) string {
return fmt.Sprintf("%s.%s", prefixes.Warehouse, val) return fmt.Sprintf("%s.%s", prefixes.Warehouse, val)
} }
var Warehouse = struct { var Warehouse = struct {
CreateOutboundRequest string CreateWarehouseIntoServiceSupplier string
UpdateOutboundRequestLogistic string UpdateWarehouseIntoServiceSupplier string
CancelOutboundRequest string CreateOutboundRequest string
GetConfiguration string UpdateOutboundRequestLogistic string
SyncORStatus string CancelOutboundRequest string
WebhookTNC string GetConfiguration string
WebhookGlobalCare string SyncORStatus string
WebhookOnPoint string WebhookTNC string
FindOne string WebhookGlobalCare string
FindByCondition string WebhookOnPoint string
Distinct string WebhookViettelFFM string
Count string FindOne string
AfterUpdateWarehouse string FindByCondition string
AfterCreateWarehouse string Distinct string
UpdateIsClosedSupplier string Count string
CreateWarehouseIntoServiceSupplier string AfterUpdateWarehouse string
UpdateWarehouseIntoServiceSupplier string AfterCreateWarehouse string
GetWarehouses string UpdateIsClosedSupplier string
GetWarehouses string
UpdateORDeliveryStatus string
UpdateStatusWarehousePendingInactive string
UpdateIsSellyMall string
UpdateWarehouseConfig string
BulkWriteWarehouseConfig string
GetListWarehouseConfig string
}{ }{
AfterCreateWarehouse: getWarehouseValue("after_create_warehouse"), CreateWarehouseIntoServiceSupplier: getWarehouseValue("create_warehouse_into_service_supplier"),
AfterUpdateWarehouse: getWarehouseValue("after_update_warehouse"), UpdateWarehouseIntoServiceSupplier: getWarehouseValue("update_warehouse_into_service_supplier"),
CreateOutboundRequest: getWarehouseValue("create_outbound_request"), AfterCreateWarehouse: getWarehouseValue("after_create_warehouse"),
UpdateOutboundRequestLogistic: getWarehouseValue("update_outbound_request_logistic_info"), AfterUpdateWarehouse: getWarehouseValue("after_update_warehouse"),
CancelOutboundRequest: getWarehouseValue("cancel_outbound_request"), CreateOutboundRequest: getWarehouseValue("create_outbound_request"),
GetConfiguration: getWarehouseValue("get_configuration"), UpdateOutboundRequestLogistic: getWarehouseValue("update_outbound_request_logistic_info"),
SyncORStatus: getWarehouseValue("sync_or_status"), CancelOutboundRequest: getWarehouseValue("cancel_outbound_request"),
WebhookTNC: getWarehouseValue("webhook_tnc"), GetConfiguration: getWarehouseValue("get_configuration"),
WebhookGlobalCare: getWarehouseValue("webhook_global_care"), SyncORStatus: getWarehouseValue("sync_or_status"),
WebhookOnPoint: getWarehouseValue("webhook_on_point"), WebhookTNC: getWarehouseValue("webhook_tnc"),
FindOne: getWarehouseValue("find_one"), WebhookGlobalCare: getWarehouseValue("webhook_global_care"),
FindByCondition: getWarehouseValue("find_all_by_condition"), WebhookOnPoint: getWarehouseValue("webhook_on_point"),
Distinct: getWarehouseValue("distinct"), WebhookViettelFFM: getWarehouseValue("webhook_viettel_ffm"),
Count: getWarehouseValue("count"), FindOne: getWarehouseValue("find_one"),
UpdateIsClosedSupplier: getWarehouseValue("update_is_closed_supplier"), FindByCondition: getWarehouseValue("find_all_by_condition"),
CreateWarehouseIntoServiceSupplier: getWarehouseValue("create_warehouse_into_service_supplier"), Distinct: getWarehouseValue("distinct"),
UpdateWarehouseIntoServiceSupplier: getWarehouseValue("update_warehouse_into_service_supplier"), Count: getWarehouseValue("count"),
GetWarehouses: getWarehouseValue("get_warehouses"), 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"),
} }