From 0e3c4ab7fa28c1450f0fbfca84097bf17450ea6b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Thu, 25 May 2023 16:07:39 +0800 Subject: [PATCH] 1 --- business/jxstore/cms/store.go | 27 ++++++++++++++++++++++- business/jxstore/misc/misc.go | 8 ++++++- business/partner/delivery/mtps/store.go | 17 +++++++++----- business/partner/delivery/mtps/waybill.go | 11 +++++++++ 4 files changed, 55 insertions(+), 8 deletions(-) diff --git a/business/jxstore/cms/store.go b/business/jxstore/cms/store.go index 8d0953306..5c9663323 100644 --- a/business/jxstore/cms/store.go +++ b/business/jxstore/cms/store.go @@ -6,6 +6,7 @@ import ( "encoding/json" "errors" "fmt" + "git.rosy.net.cn/jx-callback/business/partner/delivery/mtps" "io" "math" "mime/multipart" @@ -2215,6 +2216,24 @@ func updateCourierStores(ctx *jxcontext.Context, storeID int) (err error) { return errList.GetErrListAsOne() } +func UpdateStoreName() error { + var db = dao.GetDB() + sql := ` SELECT * FROM store_courier_map WHERE vendor_id = ? AND deleted_at = ?` + data := make([]*model.StoreCourierMap, 0, 0) + if err := dao.GetRows(db, data, sql, []interface{}{model.VendorIDMTPS, utils.DefaultTimeValue}...); err != nil { + globals.SugarLogger.Debugf("query Order err := %v", err) + return err + } + for _, v := range data { + storeDetail, _ := dao.GetStoreDetail2(db, v.StoreID, v.VendorStoreID, model.VendorIDMTPS) + formalizeStore4Courier(storeDetail) + err := mtps.UpdateStoreName(storeDetail.VendorStoreID, storeDetail.Name) + globals.SugarLogger.Debug("err := %v", err) + } + + return nil +} + // ====================================第三方店铺创建============================= func updateOrCreateCourierStore(ctx *jxcontext.Context, storeDetail *dao.StoreDetail2) (isCreated bool, err error) { globals.SugarLogger.Debugf("updateOrCreateCourierStore %s, storeID:%d, vendorStoreID:%s", model.VendorChineseNames[storeDetail.VendorID], storeDetail.ID, storeDetail.VendorStoreID) @@ -2329,7 +2348,13 @@ func UpdateOrCreateCourierStores(ctx *jxcontext.Context, storeID int, isForceUpd } func formalizeStore4Courier(storeDetail *dao.StoreDetail2) *dao.StoreDetail2 { - storeDetail.Name = fmt.Sprintf("%s-%s-%s", model.ShopChineseNames[model.VendorIDJD], storeDetail.CityName, storeDetail.Name) + // 获取品牌名称 + brandInfo, err := dao.GetBrands(dao.GetDB(), "", storeDetail.BrandID, "", false, "") + if err != nil { + return nil + } + + storeDetail.Name = fmt.Sprintf("%s-%s-%s", brandInfo[0].Name, storeDetail.CityName, storeDetail.Name) if storeDetail.PayeeName == "" { storeDetail.PayeeName = "店主" } diff --git a/business/jxstore/misc/misc.go b/business/jxstore/misc/misc.go index a850c0968..50fa96fad 100644 --- a/business/jxstore/misc/misc.go +++ b/business/jxstore/misc/misc.go @@ -221,13 +221,19 @@ func Init() { "04:00:00", }) - // 每天更新美团门当的结算信息和配送费等等 + // 每天更新美团-门店结算方式[结算给企业/结算给个人] ScheduleTimerFunc("LoadingStoreOrderSettleAmount", func() { delivery.LoadingStoreOrderSettleAmount(0, 0, nil) }, []string{ "19:50:00", }) + ScheduleTimerFunc("UpdateStoreName ", func() { + cms.UpdateStoreName() + }, []string{ + "16:12:00", + }) + // 定时任务更新昨天的都要商品和本地商品id的映射关系 //ScheduleTimerFunc("RefreshStoreOperator", func() { // t := time.Now() diff --git a/business/partner/delivery/mtps/store.go b/business/partner/delivery/mtps/store.go index ee5563e07..485d4c036 100644 --- a/business/partner/delivery/mtps/store.go +++ b/business/partner/delivery/mtps/store.go @@ -71,12 +71,7 @@ func (c *DeliveryHandler) CreateStore(ctx *jxcontext.Context, storeDetail *dao.S if shopInfo.ShopLat <= 9999999 { shopInfo.ShopLat *= 10 } - // 获取品牌名称 - brandInfo, err := dao.GetBrands(dao.GetDB(), "", storeDetail.BrandID, "", false, "") - if err != nil { - return "", -1, err - } - shopInfo.ShopName = brandInfo[0].Name + "-" + storeDetail.Name + if globals.EnableStoreWrite { shopStatus, err = api.MtpsAPI.ShopCreate(shopInfo) if err == nil { @@ -187,3 +182,13 @@ func (c *DeliveryHandler) UpdateStore(ctx *jxcontext.Context, storeDetail *dao.S } return err } + +// 美团配送,修改门店名称 +func UpdateStoreName(storeId, name string) (err error) { + shopInfo := &mtpsapi.ShopInfo{ + ShopID: storeId, + ShopName: name, + } + _, err = api.MtpsAPI.ShopUpdate(shopInfo) + return err +} diff --git a/business/partner/delivery/mtps/waybill.go b/business/partner/delivery/mtps/waybill.go index 2f3f662b0..5601bafd8 100644 --- a/business/partner/delivery/mtps/waybill.go +++ b/business/partner/delivery/mtps/waybill.go @@ -86,6 +86,17 @@ func (c *DeliveryHandler) OnWaybillExcept(msg *mtpsapi.CallbackOrderExceptionMsg func (c *DeliveryHandler) onWaybillMsg(msg *mtpsapi.CallbackOrderMsg) (retVal *mtpsapi.CallbackResponse) { order := c.callbackMsg2Waybill(msg) + // 多次取消,只处理第一次 + if msg.Status == mtpsapi.OrderStatusCanceled { + bill, err := partner.CurOrderManager.LoadWaybill(msg.MtPeisongID, model.VendorIDMTPS) + if err != nil { + return mtpsapi.Err2CallbackResponse(err, fmt.Sprintf("%s", "获取订单状态错误")) + } + if bill.Status == model.OrderStatusCanceled { + return mtpsapi.SuccessResponse + } + } + switch msg.Status { case mtpsapi.OrderStatusWaitingForSchedule: data, err := api.MtpsAPI.QueryOrderStatus(msg.DeliveryID, msg.MtPeisongID)