Compare commits

..

82 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
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
Sinh df1fbbcf57 Merge branch 'master' into supplier-setup-product 2023-01-10 16:55:55 +07:00
Sinh 1edc683dd5 add subject process product req 2023-01-09 15:56:46 +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
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
Sinh 46539db236 update get warehouse condition 2022-12-09 10:05:41 +07:00
29 changed files with 639 additions and 98 deletions

View File

@ -38,6 +38,27 @@ func (l Location) GetLocationByCode(payload model.LocationRequestPayload) (*mode
return r.Data, nil
}
// GetLocationByWardCode ...
func (l Location) GetLocationByWardCode(payload model.RequestCondition) (*model.ResponseLocationAddress, error) {
msg, err := natsio.GetServer().Request(subject.Location.GetLocationByWardCode, toBytes(payload))
if err != nil {
return nil, err
}
var r struct {
Data *model.ResponseLocationAddress `json:"data"`
Error string `json:"error"`
}
if err = json.Unmarshal(msg.Data, &r); err != nil {
return nil, err
}
if r.Error != "" {
return nil, errors.New(r.Error)
}
return r.Data, nil
}
// GetProvincesByCodes ...
func (l Location) GetProvincesByCodes(p model.ProvinceRequestPayload) (*model.LocationProvinceResponse, error) {
msg, err := natsio.GetServer().Request(subject.Location.GetProvincesByCodesFromLocationService, toBytes(p))

View File

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

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
}

View File

@ -146,6 +146,25 @@ func (w Warehouse) GetConfigByWarehouseID(warehouseID string) (*model.WarehouseC
return r.Data, nil
}
// GetListConfig ...
func (w Warehouse) GetListConfig(req model.GetListWarehouseConfigReq) ([]*model.WarehouseConfiguration, error) {
msg, err := natsio.GetServer().Request(subject.Warehouse.GetListWarehouseConfig, toBytes(req))
if err != nil {
return nil, err
}
var r struct {
Data []*model.WarehouseConfiguration `json:"data"`
Error string `json:"error"`
}
if err = json.Unmarshal(msg.Data, &r); err != nil {
return nil, err
}
if r.Error != "" {
return nil, errors.New(r.Error)
}
return r.Data, nil
}
// GetWarehouses ...
func (w Warehouse) GetWarehouses(p model.GetWarehousesRequest) (*model.GetWarehousesResponse, error) {
msg, err := natsio.GetServer().Request(subject.Warehouse.GetWarehouses, toBytes(p))
@ -182,3 +201,43 @@ func (w Warehouse) UpdateORDeliveryStatus(p model.WarehouseORUpdateDeliveryStatu
}
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 (
"encoding/json"
"errors"
"git.selly.red/Selly-Modules/natsio"
"git.selly.red/Selly-Modules/natsio/model"
"git.selly.red/Selly-Modules/natsio/subject"
@ -83,3 +84,39 @@ func (w Warehouse) FindByCondition(p model.FindWithCondition) ([]*model.Warehous
}
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 ...
var Selly = struct {
PushNotification string
UpdateSellerAffiliateStatistic string
CheckAnDInsertCashflowBySeller string
PushNotification string
UpdateSellerAffiliateStatistic string
CheckAnDInsertCashflowBySeller string
SubscriberTopic string
UpdateSellerSavingCampaignStatistic string
GenerateVoucherPromotion string
}{
PushNotification: "PULL_PUSH_NOTIFICATION",
UpdateSellerAffiliateStatistic: "PULL_UPDATE_SELLER_AFFILIATE_STATISTIC",
CheckAnDInsertCashflowBySeller: "PULL_CHECK_AND_INSERT_CASHFLOW_BY_SELLER",
PushNotification: "PULL_PUSH_NOTIFICATION",
UpdateSellerAffiliateStatistic: "PULL_UPDATE_SELLER_AFFILIATE_STATISTIC",
CheckAnDInsertCashflowBySeller: "PULL_CHECK_AND_INSERT_CASHFLOW_BY_SELLER",
SubscriberTopic: "PULL_SUBSCRIBER_TOPIC",
UpdateSellerSavingCampaignStatistic: "PULL_UPDATE_SELLER_SAVING_CAMPAIGN_STATISTIC",
GenerateVoucherPromotion: "PULL_GENERATE_VOUCHER_PROMOTION",
}

View File

@ -1,5 +1,7 @@
package jsmodel
import "go.mongodb.org/mongo-driver/bson/primitive"
// PushNotification ...
type PushNotification struct {
User string `json:"user"`
@ -12,9 +14,11 @@ type PushNotification struct {
// NotificationOptions ...
type NotificationOptions struct {
Title string `json:"title"`
Content string `json:"content"`
CampaignID string `json:"campaignId,omitempty"`
Title string `json:"title"`
Content string `json:"content"`
CampaignID string `json:"campaignId,omitempty"`
SellerSavingCampaignID string `json:"sellerSavingCampaignId,omitempty"`
SellerSavingCampaignStatus string `json:"sellerSavingCampaignStatus,omitempty"`
}
// PayloadUpdateSellerAffiliateStatistic ...
@ -62,4 +66,45 @@ type CashFlowOptions struct {
// 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 ...
var Selly = struct {
PushNotification string
UpdateSellerAffiliateStatistic string
CheckAnDInsertCashflowBySeller string
PushNotification string
UpdateSellerAffiliateStatistic string
CheckAnDInsertCashflowBySeller string
SubscriberTopic string
UpdateSellerSavingCampaignStatistic string
GenerateVoucherPromotion string
}{
PushNotification: getSellyValue("push_notifications"),
UpdateSellerAffiliateStatistic: getSellyValue("update_seller_affiliate_statistic"),
CheckAnDInsertCashflowBySeller: getSellyValue("check_and_insert_cashflow_statistic"),
PushNotification: getSellyValue("push_notifications"),
UpdateSellerAffiliateStatistic: getSellyValue("update_seller_affiliate_statistic"),
CheckAnDInsertCashflowBySeller: getSellyValue("check_and_insert_cashflow_statistic"),
SubscriberTopic: getSellyValue("subscriber_topic"),
UpdateSellerSavingCampaignStatistic: getSellyValue("update_seller_saving_campaign_statistic"),
GenerateVoucherPromotion: getSellyValue("generate_voucher_promotion"),
}

View File

@ -43,3 +43,14 @@ type RequestCondition struct {
Page int64 `json:"page"`
Limit int64 `json:"limit"`
}
type UpdatePayload struct {
Conditions interface{} `json:"conditions"`
Payload interface{} `json:"payload"`
Opts []*options.UpdateOptions `json:"opts"`
}
type WebhookPayloadV2 struct {
Path string `json:"path"` // request URL path from external
Data string `json:"data"` // request body
}

View File

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

View File

@ -28,10 +28,17 @@ type (
// LocationWard ...
LocationWard struct {
ID string `json:"id"`
Name string `json:"name"`
Code int `json:"code"`
Slug string `json:"slug"`
ID string `json:"id"`
Name string `json:"name"`
Code int `json:"code"`
Slug string `json:"slug"`
Location *GEOLocation `json:"location"`
}
// GEOLocation ...
GEOLocation struct {
Type string `bson:"type" json:"type"`
Coordinates []float64 `bson:"coordinates" json:"coordinates"`
}
// LocationProvinceResponse ...
@ -76,12 +83,13 @@ type (
// LocationWardDetailResponse ...
LocationWardDetailResponse struct {
ID string `json:"_id"`
Name string `json:"name"`
OldSlugs []string `json:"oldSlugs"`
Slug string `json:"slug"`
Code int `json:"code"`
DistrictCode int `json:"districtCode"`
ProvinceCode int `json:"provinceCode"`
ID string `json:"_id"`
Name string `json:"name"`
OldSlugs []string `json:"oldSlugs"`
Slug string `json:"slug"`
Code int `json:"code"`
DistrictCode int `json:"districtCode"`
ProvinceCode int `json:"provinceCode"`
Location *GEOLocation `json:"location"`
}
)

View File

@ -49,3 +49,7 @@ type OrderSupplierQuery struct {
SupplierID string `json:"supplierId"`
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"`
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
}

View File

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

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

View File

@ -5,6 +5,7 @@ type ResponseSupplierInfo struct {
ID string `json:"id"`
Name string `json:"name"`
BusinessType string `json:"businessType"`
IsSellyMall bool `json:"isSellyMall"`
}
// ResponseSupplierContract ...

View File

@ -37,11 +37,12 @@ type InsuranceOpts struct {
// OutboundRequestItem ...
type OutboundRequestItem struct {
SupplierSKU string `json:"supplierSKU"`
Quantity int64 `json:"quantity"`
UnitCode string `json:"unitCode"`
Price float64 `json:"price"`
Name string `json:"name"`
SupplierSKU string `json:"supplierSKU"`
Quantity int64 `json:"quantity"`
UnitCode string `json:"unitCode"`
Price float64 `json:"price"`
Name string `json:"name"`
PartnerProductCode string `json:"partnerProductCode"`
}
// CustomerInfo ...
@ -63,11 +64,12 @@ type AddressDetail struct {
// UpdateOutboundRequestLogisticInfoPayload ...
type UpdateOutboundRequestLogisticInfoPayload struct {
ShippingLabel string `json:"shippingLabel"`
TrackingCode string `json:"trackingCode"`
ORCode string `json:"orCode"`
TPLCode string `json:"tplCode"`
OrderID string `json:"orderId"`
ShippingLabel string `json:"shippingLabel,omitempty"`
TrackingCode string `json:"trackingCode,omitempty"`
ORCode string `json:"orCode,omitempty"`
TPLCode string `json:"tplCode,omitempty"`
OrderID string `json:"orderId"`
DeliveryStatus string `json:"deliveryStatus,omitempty"`
}
// CancelOutboundRequest ...
@ -97,10 +99,11 @@ type SupplierIsClosed struct {
// GetWarehousesRequest ...
type GetWarehousesRequest struct {
Keyword string `json:"keyword"`
Status string `json:"status"`
Supplier string `json:"supplier"`
BusinessType string `json:"businessType"`
Keyword string `json:"keyword"`
Status string `json:"status"`
Supplier string `json:"supplier"`
BusinessType string `json:"businessType"`
IDs []string `json:"ids"`
Page int64 `json:"page"`
Limit int64 `json:"limit"`
@ -113,3 +116,24 @@ type WarehouseORUpdateDeliveryStatus struct {
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

@ -61,16 +61,28 @@ type WarehouseSupplier struct {
// WarehouseOrder ...
type WarehouseOrder struct {
MinimumValue float64 `json:"minimumValue"`
PaymentMethod WarehousePaymentMethod `json:"paymentMethod"`
IsLimitNumberOfPurchases bool `json:"isLimitNumberOfPurchases"`
LimitNumberOfPurchases int64 `json:"limitNumberOfPurchases"`
MinimumValue float64 `json:"minimumValue"`
PaymentMethod WarehousePaymentMethod `json:"paymentMethod"`
IsLimitNumberOfPurchases bool `json:"isLimitNumberOfPurchases"`
LimitNumberOfPurchases int64 `json:"limitNumberOfPurchases"`
NotifyOnNewOrder WarehouseConfigNotifyOnNewOrder `json:"notifyOnNewOrder"`
LabelSize string `json:"labelSize"`
MaximumOrderValue float64 `json:"maximumOrderValue"`
MaximumNumberPerBuyerEachMonth int64 `json:"maximumNumberPerBuyerEachMonth"`
}
// WarehouseConfigNotifyOnNewOrder ...
type WarehouseConfigNotifyOnNewOrder struct {
Enable bool `bson:"enable" json:"enable"`
Channel string `bson:"channel" json:"channel"`
RoomID string `bson:"roomId" json:"roomId"`
}
// WarehousePaymentMethod ...
type WarehousePaymentMethod struct {
Cod bool `json:"cod"`
BankTransfer bool `json:"bankTransfer"`
Fundiin bool `json:"fundiin"`
}
// WarehouseDelivery ...
@ -144,6 +156,8 @@ type WarehouseNatsResponse struct {
UpdatedAt time.Time `json:"updatedAt"`
ReasonPendingInactive string `json:"reasonPendingInactive"`
IsPendingInactive bool `json:"isPendingInactive"`
IsFromInternational bool `json:"isFromInternational"`
StoreCode string `json:"storeCode"`
}
// WarehouseInfo ...
@ -172,3 +186,9 @@ type GetWarehousesResponse struct {
Limit int64 `json:"limit"`
List []WarehouseInfo `json:"list"`
}
type GetListWarehouseConfigRes struct {
Total int64 `json:"total"`
Limit int64 `json:"limit"`
List []WarehouseConfiguration `json:"list"`
}

View File

@ -14,8 +14,11 @@ var prefixes = struct {
SocialPost string
Staff string
Segment string
Product string
Queue string
Campaign string
Affiliate string
Socket string
}{
Communication: "communication",
Order: "order",
@ -30,6 +33,9 @@ var prefixes = struct {
SocialPost: "social_post",
Staff: "staff",
Segment: "segment",
Product: "product",
Queue: "queue",
Campaign: "campaign",
Affiliate: "affiliate",
Socket: "socket",
}

View File

@ -9,6 +9,7 @@ func getLocationValue(val string) string {
var Location = struct {
GetLocationByCode string
GetLocationByCodeFromLocationService string
GetLocationByWardCode string
GetProvincesByCodes string
GetProvincesByCodesFromLocationService string
GetDistrictsByCodes string
@ -28,6 +29,7 @@ var Location = struct {
}{
GetLocationByCode: getLocationValue("get_location_warehouse"),
GetLocationByCodeFromLocationService: getLocationValue("get_location_warehouse_from_location_service"),
GetLocationByWardCode: getLocationValue("get_location_by_ward_code"),
GetProvincesByCodes: getLocationValue("get_provinces_by_codes"),
GetProvincesByCodesFromLocationService: getLocationValue("get_provinces_by_codes_from_location_service"),
GetDistrictsByCodes: getLocationValue("get_districts_by_codes"),

View File

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

26
subject/product.go Normal file
View File

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

13
subject/queue.go Normal file
View File

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

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

View File

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