From dd8884971088ec21d69aac6f2ce33ea21e259df0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Tue, 5 Mar 2024 18:32:46 +0800 Subject: [PATCH] 1 --- business/jxstore/cms/vendor_sku.go | 156 ++++++++++++----------- business/partner/purchase/jd/callback.go | 3 - business/partner/purchase/mtwm/store.go | 3 - controllers/cms_sku.go | 4 +- 4 files changed, 82 insertions(+), 84 deletions(-) diff --git a/business/jxstore/cms/vendor_sku.go b/business/jxstore/cms/vendor_sku.go index 01a5bf87c..bb6329385 100644 --- a/business/jxstore/cms/vendor_sku.go +++ b/business/jxstore/cms/vendor_sku.go @@ -1,85 +1,89 @@ package cms import ( + "fmt" + "git.rosy.net.cn/baseapi/utils" + "git.rosy.net.cn/jx-callback/business/jxutils/jxcontext" "git.rosy.net.cn/jx-callback/business/model" + "git.rosy.net.cn/jx-callback/business/partner" + "git.rosy.net.cn/jx-callback/business/partner/purchase/mtwm" ) -// -//// GetMtSkuDetailInfo 获取美团商品信息,暂时只支持美团 -//func GetMtSkuDetailInfo(ctx *jxcontext.Context, vendorOrderID string, vendorSkuName string) (outSkuNameExt *model.SkuNameExt, err error) { -// orderDetail, err := partner.CurOrderManager.LoadOrder(vendorOrderID, model.VendorIDMTWM) -// if err != nil { -// return nil, err -// } -// -// // 获取订单详情 -// mtApi := mtwm.GetAPI(orderDetail.VendorOrgCode, orderDetail.JxStoreID, orderDetail.VendorStoreID) -// mtOrderDetail, err := mtApi.OrderGetOrderDetail(utils.Str2Int64(vendorOrderID), false) -// if err != nil { -// return nil, err -// } -// var detail []map[string]interface{} -// if err = utils.UnmarshalUseNumber([]byte(mtOrderDetail["detail"].(string)), &detail); err != nil { -// return nil, err -// } -// -// mtCode := "" -// for _, product := range detail { -// if product["food_name"].(string) == vendorSkuName { -// if product["app_food_code"].(string) == "" { -// return nil, fmt.Errorf("[%s] 未获取到商品的美团code,无法创建商品", vendorSkuName) -// } -// mtCode = product["app_food_code"].(string) -// break -// } -// } -// if mtCode == "" { -// return nil, fmt.Errorf("[%s] 未获取到商品的美团code,无法创建商品", vendorSkuName) -// } -// -// // 获取美团商品详情 -// mtSkuDetail, err := mtApi.RetailGet(orderDetail.VendorStoreID, mtCode) -// if err != nil { -// return nil, err -// } -// -// skuName := &model.SkuNameExt{ -// SkuName: model.SkuName{ -// Prefix: "", -// Name: mtSkuDetail.Name, -// Upc: utils.String2Pointer(mtSkuDetail.UpcCode), -// Status: 1, -// CategoryID: 291, // ? -// IsGlobal: 1, -// Unit: mtSkuDetail.Unit, -// Price: utils.Float64TwoInt(mtSkuDetail.Price * float64(100)), -// DescImg: mtSkuDetail.PictureContents, -// }, -// Skus: nil, -// } -// -// skus := make([]*model.SkuWithVendor, 0, 0) -// for _, mtSks := range mtSkuDetail.SkuList { -// sku := &model.SkuWithVendor{ -// Sku: &model.Sku{ -// MinOrderCount: utils.Str2Int(mtSks.MinOrderCount), -// LadderBoxNum: utils.Str2Int(mtSks.LadderBoxNum), -// LadderBoxPrice: utils.Float64TwoInt(utils.Str2Float64(mtSks.Price) * float64(100)), -// SpecQuality: utils.Str2Int(mtSks.Weight), -// Weight: utils.Str2Int(mtSks.Weight), -// SpecUnit: mtSks.Unit, -// Status: 1, -// Comment: "", -// EclpID: "", -// }, -// } -// skus = append(skus, sku) -// } -// skuName.Skus = skus -// -// mTImg2Jx(skuName, mtSkuDetail.PictureList) -// return AddSkuName(ctx, skuName, ctx.GetUserName()) -//} +// GetMtSkuDetailInfo 获取美团商品信息,暂时只支持美团 +func GetMtSkuDetailInfo(ctx *jxcontext.Context, vendorOrderID string, vendorSkuName string) (outSkuNameExt *model.SkuNameExt, err error) { + orderDetail, err := partner.CurOrderManager.LoadOrder(vendorOrderID, model.VendorIDMTWM) + if err != nil { + return nil, err + } + + // 获取订单详情 + mtApi := mtwm.GetAPI(orderDetail.VendorOrgCode, orderDetail.JxStoreID, orderDetail.VendorStoreID) + mtOrderDetail, err := mtApi.OrderGetOrderDetail(utils.Str2Int64(vendorOrderID), false) + if err != nil { + return nil, err + } + var detail []map[string]interface{} + if err = utils.UnmarshalUseNumber([]byte(mtOrderDetail["detail"].(string)), &detail); err != nil { + return nil, err + } + + mtCode := "" + for _, product := range detail { + if product["food_name"].(string) == vendorSkuName { + if product["app_food_code"].(string) == "" { + return nil, fmt.Errorf("[%s] 未获取到商品的美团code,无法创建商品", vendorSkuName) + } + mtCode = product["app_food_code"].(string) + break + } + } + if mtCode == "" { + return nil, fmt.Errorf("[%s] 未获取到商品的美团code,无法创建商品", vendorSkuName) + } + + // 获取美团商品详情 + mtSkuDetail, err := mtApi.RetailGet(orderDetail.VendorStoreID, mtCode) + if err != nil { + return nil, err + } + + skuName := &model.SkuNameExt{ + SkuName: model.SkuName{ + Prefix: "", + Name: mtSkuDetail.Name, + Upc: utils.String2Pointer(mtSkuDetail.UpcCode), + Status: 1, + CategoryID: 291, // ? + IsGlobal: 1, + Unit: mtSkuDetail.Unit, + Price: utils.Float64TwoInt(mtSkuDetail.Price * float64(100)), + DescImg: mtSkuDetail.PictureContents, + }, + Skus: nil, + } + + skus := make([]*model.SkuWithVendor, 0, 0) + for _, mtSks := range mtSkuDetail.SkuList { + sku := &model.SkuWithVendor{ + Sku: &model.Sku{ + MinOrderCount: utils.Str2Int(mtSks.MinOrderCount), + LadderBoxNum: utils.Str2Int(mtSks.LadderBoxNum), + LadderBoxPrice: utils.Float64TwoInt(utils.Str2Float64(mtSks.Price) * float64(100)), + SpecQuality: float32(utils.Str2Float64(mtSks.Weight)), + Weight: utils.Str2Int(mtSks.Weight), + SpecUnit: mtSks.Unit, + Status: 1, + Comment: "", + EclpID: "", + }, + } + skus = append(skus, sku) + } + skuName.Skus = skus + + mTImg2Jx(skuName, mtSkuDetail.PictureList) + return AddSkuName(ctx, skuName, ctx.GetUserName()) +} func mTImg2Jx(sku *model.SkuNameExt, pictureList []string) { switch len(pictureList) { diff --git a/business/partner/purchase/jd/callback.go b/business/partner/purchase/jd/callback.go index 8f655d039..395cdc5e3 100644 --- a/business/partner/purchase/jd/callback.go +++ b/business/partner/purchase/jd/callback.go @@ -2,8 +2,6 @@ package jd import ( "git.rosy.net.cn/baseapi/platformapi/jdapi" - "git.rosy.net.cn/baseapi/utils" - "git.rosy.net.cn/jx-callback/globals" ) func OnOrderMsg(msg *jdapi.CallbackOrderMsg, a *jdapi.API) (retVal *jdapi.CallbackResponse) { @@ -23,7 +21,6 @@ func OnWaybillMsg(msg *jdapi.CallbackDeliveryStatusMsg) (retVal *jdapi.CallbackR func OnStoreMsg(msg *jdapi.CallbackOrderMsg) (retVal *jdapi.CallbackResponse) { if CurPurchaseHandler != nil { retVal = CurPurchaseHandler.OnStoreMsg(AppKey2OrgCode(msg.AppKey), msg) - globals.SugarLogger.Debugf("retVal========= %s", utils.Format4Output(retVal, false)) } return retVal } diff --git a/business/partner/purchase/mtwm/store.go b/business/partner/purchase/mtwm/store.go index 3012fbd22..be3c62e39 100644 --- a/business/partner/purchase/mtwm/store.go +++ b/business/partner/purchase/mtwm/store.go @@ -230,7 +230,6 @@ func (p *PurchaseHandler) DeleteStore(db *dao.DaoDB, storeID int, userName strin } func (p *PurchaseHandler) UpdateStore(db *dao.DaoDB, storeID int, userName string) (err error) { - globals.SugarLogger.Debugf("=========storeID := %s", utils.Format4Output(storeID, false)) if db == nil { db = dao.GetDB() } @@ -280,9 +279,7 @@ func (p *PurchaseHandler) UpdateStore(db *dao.DaoDB, storeID int, userName strin params["address"] = storeDetail.YbStorePrefix } - globals.SugarLogger.Debugf("=========data := %s", utils.Format4Output(params, false)) if globals.EnableMtwmStoreWrite { - globals.SugarLogger.Debugf("=========data := %s", utils.Format4Output(1111111, false)) errList.AddErr(mtapi.PoiSave(storeDetail.VendorStoreID, params)) } if storeDetail.SyncStatus&(model.SyncFlagNewMask|model.SyncFlagStoreStatus) != 0 { diff --git a/controllers/cms_sku.go b/controllers/cms_sku.go index e35f3ce19..096fda78c 100644 --- a/controllers/cms_sku.go +++ b/controllers/cms_sku.go @@ -207,14 +207,14 @@ func (c *SkuController) AddSkuName() { // @Title 获取美团商品信息添加到本地 // @Description 获取美团商品信息添加到本地 // @Param token header string true "认证token" -// @Param orderSkuID formData int true "本地商品存储id" +// @Param vendorSkuName formData string true "平台商品名称" // @Param vendorOrderID formData string true "订单id" // @Success 200 {object} controllers.CallResult // @Failure 200 {object} controllers.CallResult // @router /MTSku2Local [post] func (c *SkuController) MTSku2Local() { c.callMTSku2Local(func(params *tSkuMTSku2LocalParams) (retVal interface{}, errCode string, err error) { - + retVal, err = cms.GetMtSkuDetailInfo(params.Ctx, params.VendorOrderID, params.VendorSkuName) return retVal, "", err }) }