From 2e2a636228f4a9883c5f9092c58efddb3401245f Mon Sep 17 00:00:00 2001 From: suyl <770236076@qq.com> Date: Tue, 31 Aug 2021 10:26:27 +0800 Subject: [PATCH] aa --- business/jxstore/cms/store.go | 45 +++++++++++++++++++++++++++ business/jxutils/smsmsg/smsmsg.go | 28 +++++++++++------ business/model/store.go | 6 ++++ controllers/cms_store.go | 15 +++++++++ routers/commentsRouter_controllers.go | 9 ++++++ 5 files changed, 94 insertions(+), 9 deletions(-) diff --git a/business/jxstore/cms/store.go b/business/jxstore/cms/store.go index 2eef60f80..a442e368e 100644 --- a/business/jxstore/cms/store.go +++ b/business/jxstore/cms/store.go @@ -5119,3 +5119,48 @@ func UpdateBrandUser(ctx *jxcontext.Context, brandID int, userID string, isDel b } return err } + +func UpdateOrCreateCourierStoresByBrand(ctx *jxcontext.Context, brandID, vendorID int) (hint string, err error) { + var ( + db = dao.GetDB() + ) + stores, _ := dao.GetStoreList(db, nil, nil, nil, []int{brandID}, nil, "") + task := tasksch.NewParallelTask("UpdateOrCreateCourierStoresByBrand", tasksch.NewParallelConfig().SetIsContinueWhenError(true), ctx, + func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { + var resultList []interface{} + store := batchItemList[0].(*model.Store) + errList := errlist.New() + v := partner.GetDeliveryPlatformFromVendorID(vendorID) + if v.Use4CreateWaybill { + if _, ok := v.Handler.(partner.IDeliveryUpdateStoreHandler); ok { + storeDetail, err2 := dao.GetStoreDetail2(db, store.ID, "", vendorID) + if err = err2; err2 == nil { + isNeedAdd := storeDetail.VendorStoreID == "" + if isNeedAdd { + storeDetail.VendorID = vendorID + storeDetail.VendorStoreID = utils.Int2Str(storeDetail.ID) + } + if _, err = updateOrCreateCourierStore(ctx, storeDetail); err == nil && isNeedAdd { + storeCourier := &model.StoreCourierMap{ + VendorStoreID: storeDetail.VendorStoreID, + Status: model.StoreStatusOpened, + AuditStatus: storeDetail.AuditStatus, + VendorStoreName: storeDetail.Name, + } + if storeDetail.AuditStatus != model.StoreAuditStatusOnline { + storeCourier.Status = model.StoreStatusDisabled + } + if _, err = addStoreCourierMap(ctx, db, storeDetail.ID, storeDetail.VendorID, storeCourier, false); err == nil { + resultList = append(resultList, 1) + } + } + errList.AddErr(err) + } + } + } + return resultList, errList.GetErrListAsOne() + }, stores) + tasksch.HandleTask(task, nil, true).Run() + hint = task.ID + return hint, err +} diff --git a/business/jxutils/smsmsg/smsmsg.go b/business/jxutils/smsmsg/smsmsg.go index 6cba6b055..e3ed5a2fb 100644 --- a/business/jxutils/smsmsg/smsmsg.go +++ b/business/jxutils/smsmsg/smsmsg.go @@ -126,23 +126,33 @@ func NotifyPickOrder(order *model.GoodsOrder) (err error) { mobileList = append(mobileList, store.Tel2) } if order.NotifyType == 0 && store.SMSNotify != 0 && store.IsOrder == model.NO && store.ID != model.MatterStoreID && store.ID != model.JdShopMainStoreID && len(mobileList) > 0 { + globals.SugarLogger.Debugf("NotifyPickOrder orderID: %s , smsNotify :%d", order.VendorOrderID, store.SMSNotify) switch store.SMSNotify { case model.NotifyTypeSMS: - err = SendSMSMsg(mobileList, globals.SMSSignName, globals.SMSPickOrderTemplate, nil, order) + if store.BrandIsOpen&model.BrandOpenSMS != 0 { + if err = SendSMSMsg(mobileList, globals.SMSSignName, globals.SMSPickOrderTemplate, nil, order); err == nil { + order.NotifyType = int(store.SMSNotify) + partner.CurOrderManager.UpdateOrderFields(order, []string{"NotifyType"}) + } + } else { + globals.SugarLogger.Debugf("NotifyPickOrder sms brand is close , orderID: %s ,isOpen: %d", order.VendorOrderID, store.BrandIsOpen) + } case model.NotifyTypeVoice: - globals.SugarLogger.Debugf("NotifyPickOrder orderID: %s , smsNotify :%d", order.VendorOrderID, store.SMSNotify) if store.MarketManPhone == "" { store.MarketManPhone = "18048531223" } - err = SendVoiceMsg(mobileList, map[string]interface{}{ - "tel": store.MarketManPhone, - }) + if store.BrandIsOpen&model.BrandOpenVoice != 0 { + if err = SendVoiceMsg(mobileList, map[string]interface{}{ + "tel": store.MarketManPhone, + }); err == nil { + order.NotifyType = int(store.SMSNotify) + partner.CurOrderManager.UpdateOrderFields(order, []string{"NotifyType"}) + } + } else { + globals.SugarLogger.Debugf("NotifyPickOrder voice brand is close , orderID: %s ,isOpen: %d", order.VendorOrderID, store.BrandIsOpen) + } } } - if err == nil { - order.NotifyType = int(store.SMSNotify) - partner.CurOrderManager.UpdateOrderFields(order, []string{"NotifyType"}) - } //} return err } diff --git a/business/model/store.go b/business/model/store.go index 7fd98b040..dc123490d 100644 --- a/business/model/store.go +++ b/business/model/store.go @@ -27,6 +27,12 @@ const ( BrandBillFeeTypeSms = 3 //短信费用 BrandBillFeeTypeVoice = 4 //语音费用 BrandBillFeeTypeDelivery = 5 //三方配送费 + + BrandOpenMTPS = 1 //品牌开关标志, 美团配送 + BrandOpenDaDa = 2 //达达 + BrandOpenFN = 4 //蜂鸟 + BrandOpenSMS = 8 //短信 + BrandOpenVoice = 16 //语音 ) const ( diff --git a/controllers/cms_store.go b/controllers/cms_store.go index 9af02cd75..0e66fefe1 100644 --- a/controllers/cms_store.go +++ b/controllers/cms_store.go @@ -1195,3 +1195,18 @@ func (c *StoreController) UpdateBrandUser() { return retVal, "", err }) } + +// @Title 根据品牌自动创建或更新快递门店 +// @Description 根据品牌自动创建或更新快递门店 +// @Param token header string true "认证token" +// @Param brandID formData int true "品牌ID" +// @Param vendorID formData int true "平台ID" +// @Success 200 {object} controllers.CallResult +// @Failure 200 {object} controllers.CallResult +// @router /UpdateOrCreateCourierStoresByBrand [post] +func (c *StoreController) UpdateOrCreateCourierStoresByBrand() { + c.callUpdateOrCreateCourierStoresByBrand(func(params *tStoreUpdateOrCreateCourierStoresByBrandParams) (retVal interface{}, errCode string, err error) { + retVal, err = cms.UpdateOrCreateCourierStoresByBrand(params.Ctx, params.BrandID, params.VendorID) + return retVal, "", err + }) +} diff --git a/routers/commentsRouter_controllers.go b/routers/commentsRouter_controllers.go index 69f19772b..0b79a179f 100644 --- a/routers/commentsRouter_controllers.go +++ b/routers/commentsRouter_controllers.go @@ -2178,6 +2178,15 @@ func init() { Filters: nil, Params: nil}) + web.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"] = append(web.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"], + web.ControllerComments{ + Method: "UpdateOrCreateCourierStoresByBrand", + Router: `/UpdateOrCreateCourierStoresByBrand`, + AllowHTTPMethods: []string{"post"}, + MethodParams: param.Make(), + Filters: nil, + Params: nil}) + web.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"] = append(web.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"], web.ControllerComments{ Method: "AddStoreCategoryMap",