From 48e4d079b02795087ed4c7bbc48508a11d87ff9e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Tue, 10 Oct 2023 10:37:22 +0800 Subject: [PATCH 01/31] 1 --- .../purchase/tiktok_store/store_sku2_utils.go | 191 +++++++++++++----- 1 file changed, 143 insertions(+), 48 deletions(-) diff --git a/business/partner/purchase/tiktok_store/store_sku2_utils.go b/business/partner/purchase/tiktok_store/store_sku2_utils.go index 859a2dadb..83952e9ac 100644 --- a/business/partner/purchase/tiktok_store/store_sku2_utils.go +++ b/business/partner/purchase/tiktok_store/store_sku2_utils.go @@ -304,26 +304,27 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI } param.Name = checkNameLenght(param.Name) - // 获取上传图,商品轮播图 - img, detailImg, err := GetTiktokImgList(api, utils.Int2Str(storeSku.StoreID), storeDetail.VendorOrgCode, storeSku.DescImg, storeSku.ImgOrigin, storeSku.Img2, storeSku.Img3, storeSku.Img4, storeSku.Img5) + // 暂时只考虑修改白底图,提高效率.其余图片不做修改 + img, descImg, whiteImg, err := GetTiktokImgList(api, utils.Int2Str(storeSku.StoreID), storeSku.SkuID, storeSku.DescImg, storeSku.Img, storeSku.ImgOrigin, storeSku.Img2, storeSku.Img3, storeSku.Img4, storeSku.Img5) if err != nil { failedList = putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDDD], syncType) continue } param.Pic = img - param.Description = detailImg + param.Description = descImg + param.WhiteBackGroundPicUrl = whiteImg param.WeightUnit = tiktokShop.WeightUint_G // 部分商品没有所属的分类,直接跳过! - if storeSku.SkuVendorMapCatID != "" { - param.CategoryLeafId = utils.Str2Int64(storeSku.SkuVendorMapCatID) - } else if len(param.Pic) != 0 { // 自动推导分类id - param.CategoryLeafId, err = api.GetRecommendCategory(strings.Split(img, "|")) - if param.CategoryLeafId == 0 || err != nil { - failedList = putils.GetErrMsg2FailedSingleList(storeSku, errors.New("当前商品本地未设置抖音分类/抖音推荐分类查询错误:"+err.Error()), storeID, model.VendorChineseNames[model.VendorIDDD], syncType) - continue - } - } + //if storeSku.SkuVendorMapCatID != "" { + // param.CategoryLeafId = utils.Str2Int64(storeSku.SkuVendorMapCatID) + //} else if len(param.Pic) != 0 { // 自动推导分类id + // param.CategoryLeafId, err = api.GetRecommendCategory(strings.Split(img, "|")) + // if param.CategoryLeafId == 0 || err != nil { + // failedList = putils.GetErrMsg2FailedSingleList(storeSku, errors.New("当前商品本地未设置抖音分类/抖音推荐分类查询错误:"+err.Error()), storeID, model.VendorChineseNames[model.VendorIDDD], syncType) + // continue + // } + //} // 获取主商品id var mainIdInt int64 @@ -341,36 +342,17 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI } // 更新商品,主品如果名字和类目没变化,则更新子品价格! - mainProductDetail, err := api.GetSkuDetail(utils.Int64ToStr(mainIdInt), "") - if err != nil || mainProductDetail == nil { - failedList = putils.GetErrMsg2FailedSingleList(storeSku, err, storeID, model.VendorChineseNames[model.VendorIDDD], syncType) - continue - } - if mainProductDetail.Name == param.Name && (mainProductDetail.CategoryDetail.ThirdCid == param.CategoryLeafId || mainProductDetail.CategoryDetail.FourthCid == param.CategoryLeafId) { - // 更新子品,同步方法会更新子品的同时去更新库存和价格!删除之后接下的同步步骤失效! - //if err := api.DeleteStoreCommodity(utils.Str2Int64(storeSku.VendorSkuID)); err != nil { - // failedList = putils.GetErrMsg2FailedSingleList(storeSku, err, storeID, model.VendorChineseNames[model.VendorIDDD], syncType) - // storeSku.SkuSyncStatus = model.SyncFlagStoreSkuModifiedMask - // continue - //} - //childrenProductId, err := api.CreateSubProduct(mainIdInt, utils.Str2Int64(vendorStoreID)) - //if err != nil { - // failedList = putils.GetErrMsg2FailedSingleList(storeSku, err, storeID, model.VendorChineseNames[model.VendorIDDD], syncType) - // storeSku.SkuSyncStatus = model.SyncFlagStoreSkuModifiedMask - // continue - //} - //if (err != nil || childrenProductId == 0) && !strings.Contains(err.Error(), "2010001") { // 2010001:重复创建渠道商品,就去更新 - // continue - //} - // - //// 同步价格,库存,上架 - //storeSku.VendorSonSkuID = utils.Int64ToStr(childrenProductId) // (属性id skuID方案一)(自商品的商品id方案二) - //storeSku.VendorSkuID = utils.Int64ToStr(childrenProductId) // 子商品主id - failedList2 := upDateChildrenPriceStockLaunch(api, storeSku, utils.Str2Int64(storeSku.VendorSkuID), vendorStoreID, syncType) - failedList = append(failedList, failedList2...) - - continue - } + //mainProductDetail, err := api.GetSkuDetail(utils.Int64ToStr(mainIdInt), "") + //if err != nil || mainProductDetail == nil { + // failedList = putils.GetErrMsg2FailedSingleList(storeSku, err, storeID, model.VendorChineseNames[model.VendorIDDD], syncType) + // continue + //} + //if mainProductDetail.Name == param.Name && (mainProductDetail.CategoryDetail.ThirdCid == param.CategoryLeafId || mainProductDetail.CategoryDetail.FourthCid == param.CategoryLeafId) { + // // 更新子品,同步方法会更新子品的同时去更新库存和价格!删除之后接下的同步步骤失效! + // failedList2 := upDateChildrenPriceStockLaunch(api, storeSku, utils.Str2Int64(storeSku.VendorSkuID), vendorStoreID, syncType) + // failedList = append(failedList, failedList2...) + // continue + //} // 获取商品的属性 if storeSku.TiktokAttribute == "" || storeSku.TiktokAttribute == "{}" || storeSku.UpcTiktokBrandId == "" { @@ -397,6 +379,9 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI if err := api.EditStoreCommodity(param); err != nil { failedList = putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDDD], syncType) storeSku.VendorSkuID = utils.Int2Str(storeSku.SkuID) + } else { + // todo 暂时关闭之后解开 + //upDateChildrenPriceStockLaunch(api, storeSku, utils.Str2Int64(storeSku.VendorSkuID), vendorStoreID, syncType) } storeSku.SkuSyncStatus = model.SyncFlagStoreSkuModifiedMask // 品库修改 售卖状态待同步 价格待同步 @@ -427,13 +412,14 @@ func makeMainProductSku(db *dao.DaoDB, api *tiktokShop.API, storeSku *dao.StoreS param.Name = checkNameLenght(param.Name) // 获取上传图,商品轮播图 - img, detailImg, err := GetTiktokImgList(api, utils.Int2Str(storeSku.StoreID), storeDetail.VendorOrgCode, storeSku.DescImg, storeSku.ImgOrigin, storeSku.Img2, storeSku.Img3, storeSku.Img4, storeSku.Img5) + img, detailImg, whiteImg, err := GetTiktokImgList(api, utils.Int2Str(storeSku.StoreID), storeSku.SkuID, storeSku.DescImg, storeSku.Img, storeSku.ImgOrigin, storeSku.Img2, storeSku.Img3, storeSku.Img4, storeSku.Img5) if err != nil { failedList = putils.GetErrMsg2FailedSingleList(storeSku, err, storeID, model.VendorChineseNames[model.VendorIDDD], syncType) return } param.Pic = img param.Description = detailImg + param.WhiteBackGroundPicUrl = whiteImg // 部分商品没有所属的分类,直接跳过! if storeSku.SkuVendorMapCatID != "" { @@ -882,8 +868,35 @@ func GetProductFormatNew(categoryLeftId int64, vendorOrgCode string) (*product_g //return string(productFormatNew), nil } -// GetTiktokImgList 获取抖音图片链接 -func GetTiktokImgList(api *tiktokShop.API, storeId, appOrgCode string, detailImg string, img ...string) (string, string, error) { +// GetTiktokImgList 获取抖音图片链接 whiteImg 白底图,有的商品可能没有白底图随便用一张(创建商品专用,更新商品只考虑更新白底图,不然太慢了) +func GetTiktokImgList(api *tiktokShop.API, storeId string, skuId int, detailImg, whiteImg string, img ...string) (string, string, string, error) { + detailTiktok := "" + whiteTiktok := "" + tiktokImgLocal, err := dao.GetVendorImg(skuId, model.VendorIDDD) + if err == nil && tiktokImgLocal != nil && tiktokImgLocal.Img != "" { + localImgs := make([]string, 0, 0) + localImgs = append(localImgs, tiktokImgLocal.Img) + whiteTiktok = tiktokImgLocal.Img + if tiktokImgLocal.Img2 != "" { + localImgs = append(localImgs, tiktokImgLocal.Img2) + } + if tiktokImgLocal.Img3 != "" { + localImgs = append(localImgs, tiktokImgLocal.Img3) + } + if tiktokImgLocal.Img4 != "" { + localImgs = append(localImgs, tiktokImgLocal.Img4) + } + if tiktokImgLocal.Img5 != "" { + localImgs = append(localImgs, tiktokImgLocal.Img5) + } + if tiktokImgLocal.DescImg != "" { + detailTiktok = tiktokImgLocal.DescImg + } else { + detailTiktok = tiktokImgLocal.Img + } + return strings.Join(localImgs, "|"), detailTiktok, whiteTiktok, nil + } + imgs := make([]tiktokShop.Imgs, 0, 0) for _, v := range img { if v != "" { @@ -899,27 +912,109 @@ func GetTiktokImgList(api *tiktokShop.API, storeId, appOrgCode string, detailImg Url: detailImg, }) } + if whiteImg != "" { + imgs = append(imgs, tiktokShop.Imgs{ + Name: "white_" + storeId + "_" + detailImg[21:54], + Url: detailImg, + }) + } tiktokImgList, err := api.BatchUploadImages(imgs) if err != nil { - return "", "", err + return "", "", "", err } - detailTiktok := "" var tiktokImg []string + var localTiktokObj = &model.TaoSkuImg{ + SkuID: skuId, + VendorID: model.VendorIDDD, + } for k, v := range tiktokImgList { if strings.Contains(k, "detail_") { detailTiktok = v.ByteUrl + localTiktokObj.DescImg = v.ByteUrl + continue + } + if strings.Contains(k, "white_") { + whiteTiktok = v.ByteUrl + localTiktokObj.Img = v.ByteUrl continue } tiktokImg = append(tiktokImg, v.ByteUrl) } + if detailTiktok == "" { detailTiktok = tiktokImg[0] + localTiktokObj.DescImg = detailTiktok + } + if whiteTiktok == "" { + whiteTiktok = tiktokImg[0] + localTiktokObj.Img = whiteTiktok } - return strings.Join(tiktokImg, "|"), detailTiktok, nil + switch len(tiktokImg) { + case 1: + localTiktokObj.Img2 = tiktokImg[0] + case 2: + localTiktokObj.Img2 = tiktokImg[0] + localTiktokObj.Img3 = tiktokImg[1] + case 3: + localTiktokObj.Img2 = tiktokImg[0] + localTiktokObj.Img3 = tiktokImg[1] + localTiktokObj.Img4 = tiktokImg[2] + case 4: + localTiktokObj.Img2 = tiktokImg[0] + localTiktokObj.Img3 = tiktokImg[1] + localTiktokObj.Img4 = tiktokImg[2] + localTiktokObj.Img5 = tiktokImg[3] + + } + dao.CreateEntity(dao.GetDB(), localTiktokObj) + return strings.Join(tiktokImg, "|"), detailTiktok, whiteTiktok, nil } +// GetWhiteImg 更新专用暂时只考虑更新白底图 +//func GetWhiteImg(api *tiktokShop.API, skuId int, storeId, whiteImg string) (string, error) { +// //每个图片都上传太慢了 +// tiktokImgLocal, err := dao.GetVendorImg(skuId, model.VendorIDDD) +// if err == nil && tiktokImgLocal != nil && tiktokImgLocal.Img != "" { +// return tiktokImgLocal.Img, nil +// } +// +// imgs := make([]tiktokShop.Imgs, 0, 0) +// if whiteImg == "" { +// return "", fmt.Errorf("商品白底图不能为空") +// } +// +// imgs = append(imgs, tiktokShop.Imgs{ +// Name: "white_" + storeId + "_" + whiteImg[21:54], +// Url: whiteImg, +// }) +// +// tiktokImgList, err := api.BatchUploadImages(imgs) +// if err != nil { +// return "", err +// } +// if len(tiktokImgList) == model.NO { +// return "", fmt.Errorf("白底图片上传失败") +// } +// +// whiteTiktok := "" +// var tiktokImg []string +// for k, v := range tiktokImgList { +// if strings.Contains(k, "white_") { +// whiteTiktok = v.ByteUrl +// continue +// } +// tiktokImg = append(tiktokImg, v.ByteUrl) +// } +// +// if whiteTiktok == "" { +// whiteTiktok = tiktokImg[0] +// } +// +// return whiteTiktok, nil +//} + func MakeProductFormatNew(api *tiktokShop.API, skuNameId int64, categoryLeafId int64, upcCode, upcBrandName, upcTiktokBrandId string) (string, int64, error) { db := dao.GetDB() categoryList, err := api.GetCatePropertyV2(categoryLeafId) From 847a1d64f494e80b6e2c5e8b27bb37e71c66129b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Tue, 10 Oct 2023 10:42:46 +0800 Subject: [PATCH 02/31] 1 --- .../purchase/tiktok_store/store_sku2_utils.go | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/business/partner/purchase/tiktok_store/store_sku2_utils.go b/business/partner/purchase/tiktok_store/store_sku2_utils.go index 83952e9ac..909450dcd 100644 --- a/business/partner/purchase/tiktok_store/store_sku2_utils.go +++ b/business/partner/purchase/tiktok_store/store_sku2_utils.go @@ -316,15 +316,15 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI param.WeightUnit = tiktokShop.WeightUint_G // 部分商品没有所属的分类,直接跳过! - //if storeSku.SkuVendorMapCatID != "" { - // param.CategoryLeafId = utils.Str2Int64(storeSku.SkuVendorMapCatID) - //} else if len(param.Pic) != 0 { // 自动推导分类id - // param.CategoryLeafId, err = api.GetRecommendCategory(strings.Split(img, "|")) - // if param.CategoryLeafId == 0 || err != nil { - // failedList = putils.GetErrMsg2FailedSingleList(storeSku, errors.New("当前商品本地未设置抖音分类/抖音推荐分类查询错误:"+err.Error()), storeID, model.VendorChineseNames[model.VendorIDDD], syncType) - // continue - // } - //} + if storeSku.SkuVendorMapCatID != "" { + param.CategoryLeafId = utils.Str2Int64(storeSku.SkuVendorMapCatID) + } else if len(param.Pic) != 0 { // 自动推导分类id + param.CategoryLeafId, err = api.GetRecommendCategory(strings.Split(img, "|")) + if param.CategoryLeafId == 0 || err != nil { + failedList = putils.GetErrMsg2FailedSingleList(storeSku, errors.New("当前商品本地未设置抖音分类/抖音推荐分类查询错误:"+err.Error()), storeID, model.VendorChineseNames[model.VendorIDDD], syncType) + continue + } + } // 获取主商品id var mainIdInt int64 From 5762e9dc9f24fb60e1034b7c49fb540545bc2b35 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Tue, 10 Oct 2023 11:54:54 +0800 Subject: [PATCH 03/31] 1 --- business/jxcallback/orderman/order_afs.go | 5 +++++ business/partner/purchase/mtwm/order_afs.go | 1 + business/partner/purchase/tiktok_store/store_sku2_utils.go | 3 +++ 3 files changed, 9 insertions(+) diff --git a/business/jxcallback/orderman/order_afs.go b/business/jxcallback/orderman/order_afs.go index 5fe5c9bfa..5cc8526fe 100644 --- a/business/jxcallback/orderman/order_afs.go +++ b/business/jxcallback/orderman/order_afs.go @@ -201,6 +201,8 @@ func (c *OrderManager) addAfsOrderStatus(db *dao.DaoDB, orderStatus *model.Order db = dao.GetDB() } isDuplicated, err = addOrderOrWaybillStatus(orderStatus, db) + globals.SugarLogger.Debugf("=========isDuplicated :%s", utils.Format4Output(isDuplicated, false)) + globals.SugarLogger.Debugf("=========err :%s", utils.Format4Output(err, false)) if err == nil && !isDuplicated && (orderStatus.Status != model.OrderStatusUnknown && orderStatus.Status != model.OrderStatusMsg) { order = &model.AfsOrder{ AfsOrderID: orderStatus.VendorOrderID, @@ -234,6 +236,9 @@ func (c *OrderManager) addAfsOrderStatus(db *dao.DaoDB, orderStatus *model.Order updateFields = append(updateFields, "AfsTotalShopMoney") } } + globals.SugarLogger.Debugf("=========order :%s", utils.Format4Output(order, false)) + globals.SugarLogger.Debugf("=========updateFields :%s", utils.Format4Output(updateFields, false)) + utils.CallFuncLogError(func() error { _, err = dao.UpdateEntity(db, order, updateFields...) return err diff --git a/business/partner/purchase/mtwm/order_afs.go b/business/partner/purchase/mtwm/order_afs.go index 7a3f768cb..622d011d0 100644 --- a/business/partner/purchase/mtwm/order_afs.go +++ b/business/partner/purchase/mtwm/order_afs.go @@ -168,6 +168,7 @@ func (c *PurchaseHandler) onAfsOrderMsg(msg *mtwmapi.CallbackMsg) (retVal *mtwma } } } + } } return mtwmapi.Err2CallbackResponse(err, "") diff --git a/business/partner/purchase/tiktok_store/store_sku2_utils.go b/business/partner/purchase/tiktok_store/store_sku2_utils.go index 909450dcd..e48bb892e 100644 --- a/business/partner/purchase/tiktok_store/store_sku2_utils.go +++ b/business/partner/purchase/tiktok_store/store_sku2_utils.go @@ -4,6 +4,7 @@ import ( "encoding/json" "errors" "fmt" + "git.rosy.net.cn/jx-callback/globals" "strings" "time" "unicode" @@ -315,6 +316,8 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI param.WhiteBackGroundPicUrl = whiteImg param.WeightUnit = tiktokShop.WeightUint_G + globals.SugarLogger.Debugf("==param.Pic===== :%s", utils.Format4Output(param.Pic, false)) + globals.SugarLogger.Debugf("==storeSku.SkuVendorMapCatID ===== :%s", utils.Format4Output(storeSku.SkuVendorMapCatID, false)) // 部分商品没有所属的分类,直接跳过! if storeSku.SkuVendorMapCatID != "" { param.CategoryLeafId = utils.Str2Int64(storeSku.SkuVendorMapCatID) From cefbd4c886dc7f70bd585c4e9fd2a95821bf4cb1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Tue, 10 Oct 2023 13:43:47 +0800 Subject: [PATCH 04/31] 1 --- business/jxcallback/orderman/orderman.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/business/jxcallback/orderman/orderman.go b/business/jxcallback/orderman/orderman.go index 23824ab64..2008f8be9 100644 --- a/business/jxcallback/orderman/orderman.go +++ b/business/jxcallback/orderman/orderman.go @@ -83,6 +83,8 @@ func addOrderOrWaybillStatus(status *model.OrderStatus, db *dao.DaoDB) (isDuplic status.ID = 0 status.Remark = utils.LimitUTF8StringLen(status.Remark, 255) created, _, err := db.Db.ReadOrCreate(status, "VendorOrderID", "VendorID", "OrderType", "Status", "VendorStatus", "StatusTime") + globals.SugarLogger.Debugf("=================created:%v", created) + globals.SugarLogger.Debugf("=================err:%v", err) if err == nil { if !created { isDuplicated = true @@ -99,6 +101,7 @@ func addOrderOrWaybillStatus(status *model.OrderStatus, db *dao.DaoDB) (isDuplic } else { dao.Commit(db, txDB) } + globals.SugarLogger.Debugf("=================isDuplicated:%v", isDuplicated) return isDuplicated, err } From 8a208b2100eaa40abc07056318f05504b740e019 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Tue, 10 Oct 2023 13:59:09 +0800 Subject: [PATCH 05/31] 1 --- business/jxcallback/orderman/order_afs.go | 7 ++----- business/jxcallback/orderman/orderman.go | 3 --- business/partner/purchase/tiktok_store/store_sku2_utils.go | 2 +- 3 files changed, 3 insertions(+), 9 deletions(-) diff --git a/business/jxcallback/orderman/order_afs.go b/business/jxcallback/orderman/order_afs.go index 5cc8526fe..21bb07231 100644 --- a/business/jxcallback/orderman/order_afs.go +++ b/business/jxcallback/orderman/order_afs.go @@ -201,9 +201,8 @@ func (c *OrderManager) addAfsOrderStatus(db *dao.DaoDB, orderStatus *model.Order db = dao.GetDB() } isDuplicated, err = addOrderOrWaybillStatus(orderStatus, db) - globals.SugarLogger.Debugf("=========isDuplicated :%s", utils.Format4Output(isDuplicated, false)) - globals.SugarLogger.Debugf("=========err :%s", utils.Format4Output(err, false)) - if err == nil && !isDuplicated && (orderStatus.Status != model.OrderStatusUnknown && orderStatus.Status != model.OrderStatusMsg) { + //if err == nil && !isDuplicated && (orderStatus.Status != model.OrderStatusUnknown && orderStatus.Status != model.OrderStatusMsg) { + if err == nil && (orderStatus.Status != model.OrderStatusUnknown && orderStatus.Status != model.OrderStatusMsg) { order = &model.AfsOrder{ AfsOrderID: orderStatus.VendorOrderID, VendorID: orderStatus.VendorID, @@ -236,8 +235,6 @@ func (c *OrderManager) addAfsOrderStatus(db *dao.DaoDB, orderStatus *model.Order updateFields = append(updateFields, "AfsTotalShopMoney") } } - globals.SugarLogger.Debugf("=========order :%s", utils.Format4Output(order, false)) - globals.SugarLogger.Debugf("=========updateFields :%s", utils.Format4Output(updateFields, false)) utils.CallFuncLogError(func() error { _, err = dao.UpdateEntity(db, order, updateFields...) diff --git a/business/jxcallback/orderman/orderman.go b/business/jxcallback/orderman/orderman.go index 2008f8be9..23824ab64 100644 --- a/business/jxcallback/orderman/orderman.go +++ b/business/jxcallback/orderman/orderman.go @@ -83,8 +83,6 @@ func addOrderOrWaybillStatus(status *model.OrderStatus, db *dao.DaoDB) (isDuplic status.ID = 0 status.Remark = utils.LimitUTF8StringLen(status.Remark, 255) created, _, err := db.Db.ReadOrCreate(status, "VendorOrderID", "VendorID", "OrderType", "Status", "VendorStatus", "StatusTime") - globals.SugarLogger.Debugf("=================created:%v", created) - globals.SugarLogger.Debugf("=================err:%v", err) if err == nil { if !created { isDuplicated = true @@ -101,7 +99,6 @@ func addOrderOrWaybillStatus(status *model.OrderStatus, db *dao.DaoDB) (isDuplic } else { dao.Commit(db, txDB) } - globals.SugarLogger.Debugf("=================isDuplicated:%v", isDuplicated) return isDuplicated, err } diff --git a/business/partner/purchase/tiktok_store/store_sku2_utils.go b/business/partner/purchase/tiktok_store/store_sku2_utils.go index e48bb892e..3805b00fc 100644 --- a/business/partner/purchase/tiktok_store/store_sku2_utils.go +++ b/business/partner/purchase/tiktok_store/store_sku2_utils.go @@ -322,7 +322,7 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI if storeSku.SkuVendorMapCatID != "" { param.CategoryLeafId = utils.Str2Int64(storeSku.SkuVendorMapCatID) } else if len(param.Pic) != 0 { // 自动推导分类id - param.CategoryLeafId, err = api.GetRecommendCategory(strings.Split(img, "|")) + param.CategoryLeafId, err = api.GetRecommendCategory([]string{whiteImg}) if param.CategoryLeafId == 0 || err != nil { failedList = putils.GetErrMsg2FailedSingleList(storeSku, errors.New("当前商品本地未设置抖音分类/抖音推荐分类查询错误:"+err.Error()), storeID, model.VendorChineseNames[model.VendorIDDD], syncType) continue From aa4d3718ec52171f16033b446a8d9964f4ed59a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Tue, 10 Oct 2023 14:33:39 +0800 Subject: [PATCH 06/31] 1 --- business/partner/purchase/tiktok_store/store_sku2_utils.go | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/business/partner/purchase/tiktok_store/store_sku2_utils.go b/business/partner/purchase/tiktok_store/store_sku2_utils.go index 3805b00fc..f96c33879 100644 --- a/business/partner/purchase/tiktok_store/store_sku2_utils.go +++ b/business/partner/purchase/tiktok_store/store_sku2_utils.go @@ -316,12 +316,11 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI param.WhiteBackGroundPicUrl = whiteImg param.WeightUnit = tiktokShop.WeightUint_G - globals.SugarLogger.Debugf("==param.Pic===== :%s", utils.Format4Output(param.Pic, false)) - globals.SugarLogger.Debugf("==storeSku.SkuVendorMapCatID ===== :%s", utils.Format4Output(storeSku.SkuVendorMapCatID, false)) // 部分商品没有所属的分类,直接跳过! if storeSku.SkuVendorMapCatID != "" { param.CategoryLeafId = utils.Str2Int64(storeSku.SkuVendorMapCatID) } else if len(param.Pic) != 0 { // 自动推导分类id + globals.SugarLogger.Debugf("whiteImg ============= %s", utils.Format4Output(whiteImg, false)) param.CategoryLeafId, err = api.GetRecommendCategory([]string{whiteImg}) if param.CategoryLeafId == 0 || err != nil { failedList = putils.GetErrMsg2FailedSingleList(storeSku, errors.New("当前商品本地未设置抖音分类/抖音推荐分类查询错误:"+err.Error()), storeID, model.VendorChineseNames[model.VendorIDDD], syncType) From dd3fcfb23d575762b0261d6a024cb4e0dbcc3f75 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Tue, 10 Oct 2023 15:01:16 +0800 Subject: [PATCH 07/31] 1 --- business/partner/purchase/tiktok_store/store_sku2_utils.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/business/partner/purchase/tiktok_store/store_sku2_utils.go b/business/partner/purchase/tiktok_store/store_sku2_utils.go index f96c33879..d3557fe80 100644 --- a/business/partner/purchase/tiktok_store/store_sku2_utils.go +++ b/business/partner/purchase/tiktok_store/store_sku2_utils.go @@ -930,6 +930,8 @@ func GetTiktokImgList(api *tiktokShop.API, storeId string, skuId int, detailImg, SkuID: skuId, VendorID: model.VendorIDDD, } + globals.SugarLogger.Debugf("===========imgs := %s", utils.Format4Output(imgs, false)) + globals.SugarLogger.Debugf("===========tiktokImgList := %s", utils.Format4Output(tiktokImgList, false)) for k, v := range tiktokImgList { if strings.Contains(k, "detail_") { detailTiktok = v.ByteUrl @@ -952,7 +954,7 @@ func GetTiktokImgList(api *tiktokShop.API, storeId string, skuId int, detailImg, whiteTiktok = tiktokImg[0] localTiktokObj.Img = whiteTiktok } - + globals.SugarLogger.Debugf("===========tiktokImg := %s", utils.Format4Output(tiktokImg, false)) switch len(tiktokImg) { case 1: localTiktokObj.Img2 = tiktokImg[0] @@ -968,8 +970,8 @@ func GetTiktokImgList(api *tiktokShop.API, storeId string, skuId int, detailImg, localTiktokObj.Img3 = tiktokImg[1] localTiktokObj.Img4 = tiktokImg[2] localTiktokObj.Img5 = tiktokImg[3] - } + globals.SugarLogger.Debugf("===========localTiktokObj := %s", utils.Format4Output(localTiktokObj, false)) dao.CreateEntity(dao.GetDB(), localTiktokObj) return strings.Join(tiktokImg, "|"), detailTiktok, whiteTiktok, nil } From bac8cf0a4ad0a9c5c403d0bdcb29ac40f6d69f67 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Tue, 10 Oct 2023 15:08:49 +0800 Subject: [PATCH 08/31] 1 --- business/partner/purchase/tiktok_store/store_sku2_utils.go | 1 + 1 file changed, 1 insertion(+) diff --git a/business/partner/purchase/tiktok_store/store_sku2_utils.go b/business/partner/purchase/tiktok_store/store_sku2_utils.go index d3557fe80..febfcb2cf 100644 --- a/business/partner/purchase/tiktok_store/store_sku2_utils.go +++ b/business/partner/purchase/tiktok_store/store_sku2_utils.go @@ -414,6 +414,7 @@ func makeMainProductSku(db *dao.DaoDB, api *tiktokShop.API, storeSku *dao.StoreS param.Name = checkNameLenght(param.Name) // 获取上传图,商品轮播图 + globals.SugarLogger.Debugf("store_sku=========: %s", utils.Format4Output(storeSku, false)) img, detailImg, whiteImg, err := GetTiktokImgList(api, utils.Int2Str(storeSku.StoreID), storeSku.SkuID, storeSku.DescImg, storeSku.Img, storeSku.ImgOrigin, storeSku.Img2, storeSku.Img3, storeSku.Img4, storeSku.Img5) if err != nil { failedList = putils.GetErrMsg2FailedSingleList(storeSku, err, storeID, model.VendorChineseNames[model.VendorIDDD], syncType) From ab55cfb42ba86ba18f6e4600acbf29d3f0071648 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Tue, 10 Oct 2023 15:11:17 +0800 Subject: [PATCH 09/31] 1 --- business/partner/purchase/tiktok_store/store_sku2_utils.go | 1 + 1 file changed, 1 insertion(+) diff --git a/business/partner/purchase/tiktok_store/store_sku2_utils.go b/business/partner/purchase/tiktok_store/store_sku2_utils.go index febfcb2cf..925bc27dc 100644 --- a/business/partner/purchase/tiktok_store/store_sku2_utils.go +++ b/business/partner/purchase/tiktok_store/store_sku2_utils.go @@ -306,6 +306,7 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI param.Name = checkNameLenght(param.Name) // 暂时只考虑修改白底图,提高效率.其余图片不做修改 + globals.SugarLogger.Debugf("store_sku=========: %s", utils.Format4Output(storeSku, false)) img, descImg, whiteImg, err := GetTiktokImgList(api, utils.Int2Str(storeSku.StoreID), storeSku.SkuID, storeSku.DescImg, storeSku.Img, storeSku.ImgOrigin, storeSku.Img2, storeSku.Img3, storeSku.Img4, storeSku.Img5) if err != nil { failedList = putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDDD], syncType) From c26eb7f3546a8854b2aa868de1ecf49c159c3d0d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Tue, 10 Oct 2023 15:18:28 +0800 Subject: [PATCH 10/31] 1 --- business/partner/purchase/tiktok_store/store_sku2_utils.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/business/partner/purchase/tiktok_store/store_sku2_utils.go b/business/partner/purchase/tiktok_store/store_sku2_utils.go index 925bc27dc..605fbaff6 100644 --- a/business/partner/purchase/tiktok_store/store_sku2_utils.go +++ b/business/partner/purchase/tiktok_store/store_sku2_utils.go @@ -307,7 +307,7 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI // 暂时只考虑修改白底图,提高效率.其余图片不做修改 globals.SugarLogger.Debugf("store_sku=========: %s", utils.Format4Output(storeSku, false)) - img, descImg, whiteImg, err := GetTiktokImgList(api, utils.Int2Str(storeSku.StoreID), storeSku.SkuID, storeSku.DescImg, storeSku.Img, storeSku.ImgOrigin, storeSku.Img2, storeSku.Img3, storeSku.Img4, storeSku.Img5) + img, descImg, whiteImg, err := GetTiktokImgList(api, utils.Int2Str(storeSku.StoreID), storeSku.SkuID, storeSku.DescImg, storeSku.Img, storeSku.Img2, storeSku.Img3, storeSku.Img4, storeSku.Img5) if err != nil { failedList = putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDDD], syncType) continue @@ -416,7 +416,7 @@ func makeMainProductSku(db *dao.DaoDB, api *tiktokShop.API, storeSku *dao.StoreS // 获取上传图,商品轮播图 globals.SugarLogger.Debugf("store_sku=========: %s", utils.Format4Output(storeSku, false)) - img, detailImg, whiteImg, err := GetTiktokImgList(api, utils.Int2Str(storeSku.StoreID), storeSku.SkuID, storeSku.DescImg, storeSku.Img, storeSku.ImgOrigin, storeSku.Img2, storeSku.Img3, storeSku.Img4, storeSku.Img5) + img, detailImg, whiteImg, err := GetTiktokImgList(api, utils.Int2Str(storeSku.StoreID), storeSku.SkuID, storeSku.DescImg, storeSku.Img, storeSku.Img2, storeSku.Img3, storeSku.Img4, storeSku.Img5) if err != nil { failedList = putils.GetErrMsg2FailedSingleList(storeSku, err, storeID, model.VendorChineseNames[model.VendorIDDD], syncType) return From 92f5641592c7347787b87ca8778132537f56625a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Tue, 10 Oct 2023 15:25:30 +0800 Subject: [PATCH 11/31] 1 --- business/partner/purchase/tiktok_store/store_sku2_utils.go | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/business/partner/purchase/tiktok_store/store_sku2_utils.go b/business/partner/purchase/tiktok_store/store_sku2_utils.go index 605fbaff6..e8bfeae0e 100644 --- a/business/partner/purchase/tiktok_store/store_sku2_utils.go +++ b/business/partner/purchase/tiktok_store/store_sku2_utils.go @@ -306,7 +306,6 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI param.Name = checkNameLenght(param.Name) // 暂时只考虑修改白底图,提高效率.其余图片不做修改 - globals.SugarLogger.Debugf("store_sku=========: %s", utils.Format4Output(storeSku, false)) img, descImg, whiteImg, err := GetTiktokImgList(api, utils.Int2Str(storeSku.StoreID), storeSku.SkuID, storeSku.DescImg, storeSku.Img, storeSku.Img2, storeSku.Img3, storeSku.Img4, storeSku.Img5) if err != nil { failedList = putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDDD], syncType) @@ -321,8 +320,7 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI if storeSku.SkuVendorMapCatID != "" { param.CategoryLeafId = utils.Str2Int64(storeSku.SkuVendorMapCatID) } else if len(param.Pic) != 0 { // 自动推导分类id - globals.SugarLogger.Debugf("whiteImg ============= %s", utils.Format4Output(whiteImg, false)) - param.CategoryLeafId, err = api.GetRecommendCategory([]string{whiteImg}) + param.CategoryLeafId, err = api.GetRecommendCategory(strings.Split(img, "|")) if param.CategoryLeafId == 0 || err != nil { failedList = putils.GetErrMsg2FailedSingleList(storeSku, errors.New("当前商品本地未设置抖音分类/抖音推荐分类查询错误:"+err.Error()), storeID, model.VendorChineseNames[model.VendorIDDD], syncType) continue @@ -943,7 +941,6 @@ func GetTiktokImgList(api *tiktokShop.API, storeId string, skuId int, detailImg, if strings.Contains(k, "white_") { whiteTiktok = v.ByteUrl localTiktokObj.Img = v.ByteUrl - continue } tiktokImg = append(tiktokImg, v.ByteUrl) } @@ -973,6 +970,7 @@ func GetTiktokImgList(api *tiktokShop.API, storeId string, skuId int, detailImg, localTiktokObj.Img4 = tiktokImg[2] localTiktokObj.Img5 = tiktokImg[3] } + globals.SugarLogger.Debugf("===========localTiktokObj := %s", utils.Format4Output(localTiktokObj, false)) dao.CreateEntity(dao.GetDB(), localTiktokObj) return strings.Join(tiktokImg, "|"), detailTiktok, whiteTiktok, nil From 50037d6971622fc9ee901bac148502a673c9db8c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Tue, 10 Oct 2023 15:38:12 +0800 Subject: [PATCH 12/31] 1 --- .../partner/purchase/tiktok_store/store_sku2_utils.go | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/business/partner/purchase/tiktok_store/store_sku2_utils.go b/business/partner/purchase/tiktok_store/store_sku2_utils.go index e8bfeae0e..c8c6557cc 100644 --- a/business/partner/purchase/tiktok_store/store_sku2_utils.go +++ b/business/partner/purchase/tiktok_store/store_sku2_utils.go @@ -306,7 +306,8 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI param.Name = checkNameLenght(param.Name) // 暂时只考虑修改白底图,提高效率.其余图片不做修改 - img, descImg, whiteImg, err := GetTiktokImgList(api, utils.Int2Str(storeSku.StoreID), storeSku.SkuID, storeSku.DescImg, storeSku.Img, storeSku.Img2, storeSku.Img3, storeSku.Img4, storeSku.Img5) + globals.SugarLogger.Debugf("==========storeSku %s", utils.Format4Output(storeSku, false)) + img, descImg, whiteImg, err := GetTiktokImgList(api, utils.Int2Str(storeSku.StoreID), storeSku.SkuID, storeSku.DescImg, storeSku.Img, []string{storeSku.Img2, storeSku.Img3, storeSku.Img4, storeSku.Img5}) if err != nil { failedList = putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDDD], syncType) continue @@ -413,8 +414,7 @@ func makeMainProductSku(db *dao.DaoDB, api *tiktokShop.API, storeSku *dao.StoreS param.Name = checkNameLenght(param.Name) // 获取上传图,商品轮播图 - globals.SugarLogger.Debugf("store_sku=========: %s", utils.Format4Output(storeSku, false)) - img, detailImg, whiteImg, err := GetTiktokImgList(api, utils.Int2Str(storeSku.StoreID), storeSku.SkuID, storeSku.DescImg, storeSku.Img, storeSku.Img2, storeSku.Img3, storeSku.Img4, storeSku.Img5) + img, detailImg, whiteImg, err := GetTiktokImgList(api, utils.Int2Str(storeSku.StoreID), storeSku.SkuID, storeSku.DescImg, storeSku.Img, []string{storeSku.Img2, storeSku.Img3, storeSku.Img4, storeSku.Img5}) if err != nil { failedList = putils.GetErrMsg2FailedSingleList(storeSku, err, storeID, model.VendorChineseNames[model.VendorIDDD], syncType) return @@ -871,7 +871,7 @@ func GetProductFormatNew(categoryLeftId int64, vendorOrgCode string) (*product_g } // GetTiktokImgList 获取抖音图片链接 whiteImg 白底图,有的商品可能没有白底图随便用一张(创建商品专用,更新商品只考虑更新白底图,不然太慢了) -func GetTiktokImgList(api *tiktokShop.API, storeId string, skuId int, detailImg, whiteImg string, img ...string) (string, string, string, error) { +func GetTiktokImgList(api *tiktokShop.API, storeId string, skuId int, detailImg, whiteImg string, img []string) (string, string, string, error) { detailTiktok := "" whiteTiktok := "" tiktokImgLocal, err := dao.GetVendorImg(skuId, model.VendorIDDD) @@ -931,7 +931,6 @@ func GetTiktokImgList(api *tiktokShop.API, storeId string, skuId int, detailImg, VendorID: model.VendorIDDD, } globals.SugarLogger.Debugf("===========imgs := %s", utils.Format4Output(imgs, false)) - globals.SugarLogger.Debugf("===========tiktokImgList := %s", utils.Format4Output(tiktokImgList, false)) for k, v := range tiktokImgList { if strings.Contains(k, "detail_") { detailTiktok = v.ByteUrl From 9f7fe7d80ab66dce85ed09b4ebef3eeed14b871a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Tue, 10 Oct 2023 16:12:58 +0800 Subject: [PATCH 13/31] 1 --- business/partner/purchase/tiktok_store/store_sku2_utils.go | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/business/partner/purchase/tiktok_store/store_sku2_utils.go b/business/partner/purchase/tiktok_store/store_sku2_utils.go index c8c6557cc..408e9d4a4 100644 --- a/business/partner/purchase/tiktok_store/store_sku2_utils.go +++ b/business/partner/purchase/tiktok_store/store_sku2_utils.go @@ -916,8 +916,8 @@ func GetTiktokImgList(api *tiktokShop.API, storeId string, skuId int, detailImg, } if whiteImg != "" { imgs = append(imgs, tiktokShop.Imgs{ - Name: "white_" + storeId + "_" + detailImg[21:54], - Url: detailImg, + Name: "white_" + storeId + "_" + whiteImg[21:54], + Url: whiteImg, }) } tiktokImgList, err := api.BatchUploadImages(imgs) @@ -930,7 +930,6 @@ func GetTiktokImgList(api *tiktokShop.API, storeId string, skuId int, detailImg, SkuID: skuId, VendorID: model.VendorIDDD, } - globals.SugarLogger.Debugf("===========imgs := %s", utils.Format4Output(imgs, false)) for k, v := range tiktokImgList { if strings.Contains(k, "detail_") { detailTiktok = v.ByteUrl From 1a63d683bb53d8618007d7d4f1820dfee8adc15d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Tue, 10 Oct 2023 16:26:36 +0800 Subject: [PATCH 14/31] =?UTF-8?q?=E6=B7=98=E9=B2=9C=E8=BE=BE=E7=99=BD?= =?UTF-8?q?=E5=BA=95=E5=9B=BE=E4=B8=8A=E4=BC=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/cms/store.go | 4 ---- business/jxstore/cms/system_store_sku.go | 2 -- business/partner/purchase/tiktok_store/store_sku2_utils.go | 6 ------ controllers/jx_order.go | 2 -- 4 files changed, 14 deletions(-) diff --git a/business/jxstore/cms/store.go b/business/jxstore/cms/store.go index 44a2209ca..36646928e 100644 --- a/business/jxstore/cms/store.go +++ b/business/jxstore/cms/store.go @@ -796,7 +796,6 @@ func GetVendorStore(ctx *jxcontext.Context, vendorID int, vendorOrgCode, vendorS if vendorID == model.VendorIDSFPS { flag := false if store, err := dao.GetStoreDetail(dao.GetDB(), utils.Str2Int(vendorStoreID), 0, ""); err == nil { - globals.SugarLogger.Debugf("store.CityName=%s", store.CityName) for k, _ := range sfps2.SFCityStoreIDs { if strings.Contains(store.CityName, k) || store.CityName == k { flag = true @@ -1802,7 +1801,6 @@ func UpdateStoreVendorMap(ctx *jxcontext.Context, db *dao.DaoDB, storeID, vendor DDFlag = true } //特殊处理抖店运费模板、打包费 if DDFlag { - globals.SugarLogger.Debug("进入DDFlag 特殊处理运费模板、起送价、打包费、自动运力设置") if err := tiktok_store.SpecialTreat(storeMap.VendorOrgCode, utils.Str2Int64(storeMap.VendorStoreID), int64(storeMap.StoreID), int64(storeMap.DeliveryFeeDeductionFee), int64(storeMap.DeliveryFeeDeductionSill), utils.Str2Int64(storeMap.YbStorePrefix), storeMap.YbAppID); err != nil { errList.AddErr(fmt.Errorf("抖店运费模板、起送价、打包费、自动运力设置相关处理错误:%v", err)) } @@ -2289,7 +2287,6 @@ func UpdateStoreName() error { sql := ` SELECT * FROM store_courier_map WHERE vendor_id IN (?,?,?,?) AND deleted_at = ?` courierList := make([]*model.StoreCourierMap, 0, 0) if err := dao.GetRows(db, &courierList, sql, []interface{}{model.VendorIDMTPS, model.VendorIDFengNiao, model.VendorIDDada, model.VendorIDUUPT, utils.DefaultTimeValue}...); err != nil { - globals.SugarLogger.Debugf("query Order err := %v", err) return err } @@ -2309,7 +2306,6 @@ func UpdateStoreName() error { // ====================================第三方店铺创建============================= 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) if handlerInfo := partner.GetDeliveryPlatformFromVendorID(storeDetail.VendorID); handlerInfo != nil && handlerInfo.Use4CreateWaybill { if storeDetail.DistrictName == "" { diff --git a/business/jxstore/cms/system_store_sku.go b/business/jxstore/cms/system_store_sku.go index 898e49522..41f23da78 100644 --- a/business/jxstore/cms/system_store_sku.go +++ b/business/jxstore/cms/system_store_sku.go @@ -159,7 +159,6 @@ type Skus struct { // BatchInitData 批量创建商品 func BatchInitData(ctx *jxcontext.Context, fromSku []*mtwmapi.AppFood, toApi *mtwmapi.API, vendorStoreID string) error { - globals.SugarLogger.Debugf("===========[] %d", len(fromSku)) foodDataList := make([]map[string]interface{}, len(fromSku)) for i, storeSku := range fromSku { foodData := make(map[string]interface{}) @@ -226,7 +225,6 @@ func BatchInitData(ctx *jxcontext.Context, fromSku []*mtwmapi.AppFood, toApi *mt if len(foodDataList)%10 != 0 { count += 1 } - globals.SugarLogger.Debugf("===========[count] %d", count) for i := 0; i < count; i++ { if i == count-1 { failedFoodList, err2 := toApi.RetailBatchInitData(ctx.GetTrackInfo(), vendorStoreID, foodDataList[i*10:]) diff --git a/business/partner/purchase/tiktok_store/store_sku2_utils.go b/business/partner/purchase/tiktok_store/store_sku2_utils.go index 408e9d4a4..cc4ea1920 100644 --- a/business/partner/purchase/tiktok_store/store_sku2_utils.go +++ b/business/partner/purchase/tiktok_store/store_sku2_utils.go @@ -4,7 +4,6 @@ import ( "encoding/json" "errors" "fmt" - "git.rosy.net.cn/jx-callback/globals" "strings" "time" "unicode" @@ -306,7 +305,6 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI param.Name = checkNameLenght(param.Name) // 暂时只考虑修改白底图,提高效率.其余图片不做修改 - globals.SugarLogger.Debugf("==========storeSku %s", utils.Format4Output(storeSku, false)) img, descImg, whiteImg, err := GetTiktokImgList(api, utils.Int2Str(storeSku.StoreID), storeSku.SkuID, storeSku.DescImg, storeSku.Img, []string{storeSku.Img2, storeSku.Img3, storeSku.Img4, storeSku.Img5}) if err != nil { failedList = putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDDD], syncType) @@ -951,10 +949,7 @@ func GetTiktokImgList(api *tiktokShop.API, storeId string, skuId int, detailImg, whiteTiktok = tiktokImg[0] localTiktokObj.Img = whiteTiktok } - globals.SugarLogger.Debugf("===========tiktokImg := %s", utils.Format4Output(tiktokImg, false)) switch len(tiktokImg) { - case 1: - localTiktokObj.Img2 = tiktokImg[0] case 2: localTiktokObj.Img2 = tiktokImg[0] localTiktokObj.Img3 = tiktokImg[1] @@ -969,7 +964,6 @@ func GetTiktokImgList(api *tiktokShop.API, storeId string, skuId int, detailImg, localTiktokObj.Img5 = tiktokImg[3] } - globals.SugarLogger.Debugf("===========localTiktokObj := %s", utils.Format4Output(localTiktokObj, false)) dao.CreateEntity(dao.GetDB(), localTiktokObj) return strings.Join(tiktokImg, "|"), detailTiktok, whiteTiktok, nil } diff --git a/controllers/jx_order.go b/controllers/jx_order.go index 46b81a5a0..fa97393f5 100644 --- a/controllers/jx_order.go +++ b/controllers/jx_order.go @@ -6,7 +6,6 @@ import ( "fmt" "git.rosy.net.cn/jx-callback/business/bidding" "git.rosy.net.cn/jx-callback/business/partner/delivery" - "git.rosy.net.cn/jx-callback/globals" "strings" "time" @@ -872,7 +871,6 @@ func (c *OrderController) PartRefundOrder() { order, err = partner.CurOrderManager.LoadOrder(params.VendorOrderID, params.VendorID) if err == nil { removedAll, err2 := fillSkuList(skuList, order.Skus) - globals.SugarLogger.Debugf("========removedAll := %v", removedAll) if err = err2; err == nil { if removedAll { err = defsch.FixedScheduler.RefundOrder(params.Ctx, order, params.Reason) From a6707c71d6922adebc4b35a1aab5aaf34bec22c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Tue, 10 Oct 2023 16:33:07 +0800 Subject: [PATCH 15/31] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=90=8C=E6=AD=A5?= =?UTF-8?q?=E6=A0=87=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/partner/purchase/tiktok_store/store_sku2_utils.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/business/partner/purchase/tiktok_store/store_sku2_utils.go b/business/partner/purchase/tiktok_store/store_sku2_utils.go index cc4ea1920..0a49956e2 100644 --- a/business/partner/purchase/tiktok_store/store_sku2_utils.go +++ b/business/partner/purchase/tiktok_store/store_sku2_utils.go @@ -384,7 +384,8 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI //upDateChildrenPriceStockLaunch(api, storeSku, utils.Str2Int64(storeSku.VendorSkuID), vendorStoreID, syncType) } - storeSku.SkuSyncStatus = model.SyncFlagStoreSkuModifiedMask // 品库修改 售卖状态待同步 价格待同步 + //storeSku.SkuSyncStatus = model.SyncFlagStoreSkuModifiedMask // 品库修改 售卖状态待同步 价格待同步 + storeSku.SkuSyncStatus = 0 // 品库修改 售卖状态待同步 价格待同步 } return } From 88bb777be199e88fd4211717870396b604510b1c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Tue, 10 Oct 2023 17:04:21 +0800 Subject: [PATCH 16/31] 1 --- .../purchase/tiktok_store/store_sku2_utils.go | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/business/partner/purchase/tiktok_store/store_sku2_utils.go b/business/partner/purchase/tiktok_store/store_sku2_utils.go index 0a49956e2..2110ce1c8 100644 --- a/business/partner/purchase/tiktok_store/store_sku2_utils.go +++ b/business/partner/purchase/tiktok_store/store_sku2_utils.go @@ -319,11 +319,17 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI if storeSku.SkuVendorMapCatID != "" { param.CategoryLeafId = utils.Str2Int64(storeSku.SkuVendorMapCatID) } else if len(param.Pic) != 0 { // 自动推导分类id - param.CategoryLeafId, err = api.GetRecommendCategory(strings.Split(img, "|")) - if param.CategoryLeafId == 0 || err != nil { + var vendorCategoryId int64 = 0 + // 根据图片推导分类 + vendorCategoryId, _ = api.GetRecommendCategory(strings.Split(img, "|")) + if vendorCategoryId == 0 { + vendorCategoryId, _ = api.GetRecommendCategoryByName(storeSku.SkuName) + } + if vendorCategoryId == 0 || err != nil { failedList = putils.GetErrMsg2FailedSingleList(storeSku, errors.New("当前商品本地未设置抖音分类/抖音推荐分类查询错误:"+err.Error()), storeID, model.VendorChineseNames[model.VendorIDDD], syncType) continue } + param.CategoryLeafId = vendorCategoryId } // 获取主商品id @@ -426,11 +432,16 @@ func makeMainProductSku(db *dao.DaoDB, api *tiktokShop.API, storeSku *dao.StoreS if storeSku.SkuVendorMapCatID != "" { param.CategoryLeafId = utils.Str2Int64(storeSku.SkuVendorMapCatID) } else if len(param.Pic) != 0 { // 自动推导分类id - param.CategoryLeafId, err = api.GetRecommendCategory(strings.Split(img, "|")) - if param.CategoryLeafId == 0 || err != nil { + var vendorCategoryId int64 = 0 + vendorCategoryId, _ = api.GetRecommendCategory(strings.Split(img, "|")) // 根据图片推导分类 + if vendorCategoryId == 0 { + vendorCategoryId, _ = api.GetRecommendCategoryByName(storeSku.SkuName) // 根据名字推导分类 + } + if vendorCategoryId == 0 || err != nil { failedList = putils.GetErrMsg2FailedSingleList(storeSku, errors.New("当前商品本地未设置抖音分类/抖音推荐分类查询错误:"+err.Error()), storeID, model.VendorChineseNames[model.VendorIDDD], syncType) return } + param.CategoryLeafId = vendorCategoryId } // 这个情况是原有商品不存在和推荐查询不到类目id是,使用京西类目和抖音类目的绑定关系 // 但是不太实用,导致商品类目错误被暂停营业等 From 553a226cba7317c0fffa1d7544e66f4f78c692cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Wed, 11 Oct 2023 09:15:01 +0800 Subject: [PATCH 17/31] 1 --- .../purchase/tiktok_store/store_sku2_utils.go | 28 +++++++++++++++++-- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/business/partner/purchase/tiktok_store/store_sku2_utils.go b/business/partner/purchase/tiktok_store/store_sku2_utils.go index 2110ce1c8..a568b1766 100644 --- a/business/partner/purchase/tiktok_store/store_sku2_utils.go +++ b/business/partner/purchase/tiktok_store/store_sku2_utils.go @@ -4,6 +4,7 @@ import ( "encoding/json" "errors" "fmt" + product_addV2_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/product_addV2/response" "strings" "time" "unicode" @@ -157,10 +158,31 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI } tiktokResult, err := api.CreateStoreCommodity(param) // 创建主商品,同步主商品 if err != nil { + if strings.Contains(err.Error(), "outProductId或者outerProductId已经存在") { // 主品以创建但是未返回出来 + mainProductDetail, _ := api.GetSkuDetail("", utils.Int2Str(storeSku.SkuID)) + if mainProductDetail != nil || mainProductDetail.ProductId != 0 { + tiktokResult.ProductId = mainProductDetail.ProductId + + specPrices := make([]product_addV2_response.SkuItem, 0, 0) + for _, v := range mainProductDetail.SpecPrices { + specPrices = append(specPrices, product_addV2_response.SkuItem{ + SkuId: v.SkuId, + OutSkuId: v.OutSkuId, + OuterSkuId: v.OuterSkuId, + Code: v.Code, + SpecDetailId1: v.SpecDetailId1, + SpecDetailId2: v.SpecDetailId2, + SpecDetailId3: v.SpecDetailId3, + }) + } + tiktokResult.Sku = specPrices + } else { + storeSku.SkuSyncStatus = model.SyncFlagNewMask // 只创建主品,子品都没做 + failedList = putils.GetErrMsg2FailedSingleList(storeSku, err, storeID, model.VendorChineseNames[model.VendorIDDD], syncType) + continue + } + } //dao.UpdateThingMap(db, model.ThingTypeSyncFail, utils.Int64ToStr(time.Now().Unix()), storeSku.SkuID, model.VendorIDDD, storeDetail.VendorOrgCode) - storeSku.SkuSyncStatus = model.SyncFlagNewMask // 只创建主品,子品都没做 - failedList = putils.GetErrMsg2FailedSingleList(storeSku, err, storeID, model.VendorChineseNames[model.VendorIDDD], syncType) - continue } if tiktokResult.ProductId > model.NO { From 72f0b2358a0f0693bff5b22eb6b8812cb013d7d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Wed, 11 Oct 2023 11:42:27 +0800 Subject: [PATCH 18/31] 1 --- business/model/dao/store.go | 2 +- business/partner/purchase/tao_vegetable/order.go | 2 +- .../partner/purchase/tao_vegetable/order_utils.go | 2 +- business/partner/purchase/tao_vegetable/store.go | 2 +- business/partner/purchase/tao_vegetable/tao.go | 15 +++++++++++++++ 5 files changed, 19 insertions(+), 4 deletions(-) diff --git a/business/model/dao/store.go b/business/model/dao/store.go index 8470d2258..6d08fc6e6 100644 --- a/business/model/dao/store.go +++ b/business/model/dao/store.go @@ -64,7 +64,7 @@ type StoreDetail struct { YbAppKey string `json:"ybAppKey"` YbStorePrefix string `json:"ybStorePrefix"` //vendorID=14 暂存打包费 - MtwmToken string `json:"mtwmToken"` // 当vendor为美团时存储美团token,为抖店时存储抖店token + MtwmToken string `json:"mtwmToken"` // 当vendor为美团时存储美团token,为抖店时存储抖店token,也储存淘鲜达token,其他品牌门店授权时appkey相同时token不相同 EbaiSupplierID string `json:"ebaiSupplierID"` BrandName string `json:"brandName"` //品牌信息 diff --git a/business/partner/purchase/tao_vegetable/order.go b/business/partner/purchase/tao_vegetable/order.go index 22081b195..97d4153cc 100644 --- a/business/partner/purchase/tao_vegetable/order.go +++ b/business/partner/purchase/tao_vegetable/order.go @@ -765,7 +765,7 @@ func (c *PurchaseHandler) AdjustOrder(ctx *jxcontext.Context, order *model.Goods workCallbackSubOrderInfoList := make([]domain591.AlibabaAelophyOrderWorkCallbackWorkCallbackSubOrderInfo, 0, 0) - orderDetail, err := getAPI(order.VendorOrgCode, 0, "").QueryOrderDetail(&request591.AlibabaAelophyOrderGetRequest{OrderGetRequest: &domain591.AlibabaAelophyOrderGetOrderGetRequest{ + orderDetail, err := getAPI(order.VendorOrgCode, order.JxStoreID, order.VendorStoreID).QueryOrderDetail(&request591.AlibabaAelophyOrderGetRequest{OrderGetRequest: &domain591.AlibabaAelophyOrderGetOrderGetRequest{ StoreId: utils.String2Pointer(order.VendorStoreID), BizOrderId: utils.Int64ToPointer(utils.Str2Int64(order.VendorOrderID)), }}) diff --git a/business/partner/purchase/tao_vegetable/order_utils.go b/business/partner/purchase/tao_vegetable/order_utils.go index 94589d0ac..cce0a5a7b 100644 --- a/business/partner/purchase/tao_vegetable/order_utils.go +++ b/business/partner/purchase/tao_vegetable/order_utils.go @@ -31,7 +31,7 @@ func orderStatusChangeNotice(order *model.GoodsOrder, orderStatus string) (*requ if len(skuList) == model.NO { return nil, fmt.Errorf("订单商品列表为零,请管理员检查") } - orderDetail, err := getAPI(order.VendorOrgCode, 0, "").QueryOrderDetail(&request591.AlibabaAelophyOrderGetRequest{OrderGetRequest: &domain591.AlibabaAelophyOrderGetOrderGetRequest{ + orderDetail, err := getAPI(order.VendorOrgCode, order.JxStoreID, order.VendorStoreID).QueryOrderDetail(&request591.AlibabaAelophyOrderGetRequest{OrderGetRequest: &domain591.AlibabaAelophyOrderGetOrderGetRequest{ StoreId: utils.String2Pointer(order.VendorStoreID), BizOrderId: utils.Int64ToPointer(utils.Str2Int64(order.VendorOrderID)), }}) diff --git a/business/partner/purchase/tao_vegetable/store.go b/business/partner/purchase/tao_vegetable/store.go index 042cfc311..139e86b20 100644 --- a/business/partner/purchase/tao_vegetable/store.go +++ b/business/partner/purchase/tao_vegetable/store.go @@ -84,7 +84,7 @@ type Point struct { // UpdateTxdStore 单独更新淘鲜达门店营业时间/状态 销售范围 func UpdateTxdStore(store TxdStore, vendorOrgCode string) (err error) { - a := getAPI(vendorOrgCode, 0, "") + a := getAPI(vendorOrgCode, 0, store.TxdStoreID) errList := errlist.New() for _, v := range store.Flag { switch v { diff --git a/business/partner/purchase/tao_vegetable/tao.go b/business/partner/purchase/tao_vegetable/tao.go index 2bd7000d3..b4cdab24c 100644 --- a/business/partner/purchase/tao_vegetable/tao.go +++ b/business/partner/purchase/tao_vegetable/tao.go @@ -3,6 +3,7 @@ package tao_vegetable import ( "fmt" "git.rosy.net.cn/baseapi/platformapi/tao_vegetable" + "git.rosy.net.cn/jx-callback/business/model/dao" "strings" "sync" @@ -219,5 +220,19 @@ func getAPI(appOrgCode string, storeID int, vendorStoreID string) (apiObj *tao_v } else { apiObj = nil } + + if apiObj != nil { + if storeID != model.NO { + storeMap, _ := dao.GetStoreDetail(dao.GetDB(), storeID, model.VendorIDTaoVegetable, "") + if storeMap.MtwmToken != "" { + apiObj.SetToken(storeMap.MtwmToken) + } + } else if vendorStoreID != "" { + storeMap, _ := dao.GetStoreDetailForDD(dao.GetDB(), 0, model.VendorIDTaoVegetable, vendorStoreID, "") + if storeMap.MtwmToken != "" { + apiObj.SetToken(storeMap.MtwmToken) + } + } + } return apiObj } From 0d5c284c21e4d270432d4b71a96206be35235811 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Wed, 11 Oct 2023 15:13:38 +0800 Subject: [PATCH 19/31] 1 --- .../jxcallback/auto_delivery/auto_delivery.go | 22 +++++++++++-------- .../jxcallback/scheduler/defsch/defsch_ext.go | 3 +++ business/jxstore/misc/misc.go | 9 ++++---- business/partner/delivery/rider.go | 8 +++++-- .../purchase/tao_vegetable/order_utils.go | 4 ++-- 5 files changed, 29 insertions(+), 17 deletions(-) diff --git a/business/jxcallback/auto_delivery/auto_delivery.go b/business/jxcallback/auto_delivery/auto_delivery.go index 614433e88..2798b0c7f 100644 --- a/business/jxcallback/auto_delivery/auto_delivery.go +++ b/business/jxcallback/auto_delivery/auto_delivery.go @@ -3,6 +3,8 @@ package auto_delivery import ( "crypto/rand" "encoding/json" + "fmt" + "git.rosy.net.cn/baseapi/platformapi/tao_vegetable" "git.rosy.net.cn/jx-callback/business/jxcallback/scheduler/defsch" "git.rosy.net.cn/jx-callback/business/jxutils/jxcontext" "git.rosy.net.cn/jx-callback/business/partner" @@ -131,7 +133,7 @@ func AutoSettingFakeDelivery() { } } - for _, v := range orderList { + for _, order := range orderList { if len(riderListInfo[riderKey]) == model.NO { // 骑手列表 configRiderList, err := dao.QueryConfigs(db, "riderList", "Sys", "") @@ -152,17 +154,18 @@ func AutoSettingFakeDelivery() { if randTime >= int64(len(riderListInfo[riderKey])) { randTime = int64(len(riderListInfo[riderKey])) - 1 } - if (v.PhoneAscription == "" || strings.Split(v.PhoneAscription, "-")[0] != model.PhoneAscriptionAddressYes) && v.VendorID == model.VendorIDDD { + if (order.PhoneAscription == "" || strings.Split(order.PhoneAscription, "-")[0] != model.PhoneAscriptionAddressYes) && order.VendorID == model.VendorIDDD { continue } // 自动拣货 - if v.Status < model.OrderStatusFinishedPickup { // 未拣货 - handler := partner.GetPurchaseOrderHandlerFromVendorID(v.VendorID) - flag := model.IsOrderDeliveryByStore(v) || model.IsOrderDeliveryBySelf(v) - if err := handler.PickupGoods(v, flag, jxcontext.AdminCtx.GetUserName()); err != nil { - globals.SugarLogger.Errorf("自动拣货错误:[%v]", err) + if order.Status < model.OrderStatusFinishedPickup { // 未拣货 + handler := partner.GetPurchaseOrderHandlerFromVendorID(order.VendorID) + flag := model.IsOrderDeliveryByStore(order) || model.IsOrderDeliveryBySelf(order) + if err := handler.PickupGoods(order, flag, jxcontext.AdminCtx.GetUserName()); err != nil { + partner.CurOrderManager.OnOrderMsg(order, tao_vegetable.OrderStatusPickedUp, fmt.Sprintf("自动拣货错误:[%v]", err)) break } + partner.CurOrderManager.OnOrderMsg(order, tao_vegetable.OrderStatusPickedUp, "fake自动拣货,已拣货") } //自动发单 if len(riderListInfo[riderKey]) == 0 { @@ -170,10 +173,11 @@ func AutoSettingFakeDelivery() { break } for riderName, riderPhone := range riderListInfo[riderKey][randTime] { - if err := defsch.FixedScheduler.SelfDeliveringAndUpdateStatus(jxcontext.AdminCtx, v.VendorOrderID, v.VendorID, jxcontext.AdminCtx.GetUserName(), riderName, riderPhone); err != nil { - globals.SugarLogger.Errorf("自动发货错误:[%v]", err) + if err := defsch.FixedScheduler.SelfDeliveringAndUpdateStatus(jxcontext.AdminCtx, order.VendorOrderID, order.VendorID, jxcontext.AdminCtx.GetUserName(), riderName, riderPhone); err != nil { + partner.CurOrderManager.OnOrderMsg(order, tao_vegetable.OrderStatusPickedUp, fmt.Sprintf("自动发货错误:[%v]", err)) break } + partner.CurOrderManager.OnOrderMsg(order, tao_vegetable.OrderStatusCallRider, "自动发货,出库") } } diff --git a/business/jxcallback/scheduler/defsch/defsch_ext.go b/business/jxcallback/scheduler/defsch/defsch_ext.go index b63154176..6e364b402 100644 --- a/business/jxcallback/scheduler/defsch/defsch_ext.go +++ b/business/jxcallback/scheduler/defsch/defsch_ext.go @@ -112,6 +112,9 @@ func (s *DefScheduler) SelfDeliveringAndUpdateStatus(ctx *jxcontext.Context, ven VendorOrgCode: order.VendorOrgCode, } err = dao.CreateEntity(dao.GetDB(), bill) + order.VendorWaybillID = order.VendorOrderID + order.WaybillVendorID = model.VendorJXFakeWL + dao.UpdateEntity(dao.GetDB(), order, "VendorWaybillID", "WaybillVendorID") } return err }() diff --git a/business/jxstore/misc/misc.go b/business/jxstore/misc/misc.go index 937c1c586..0935c3b33 100644 --- a/business/jxstore/misc/misc.go +++ b/business/jxstore/misc/misc.go @@ -2,6 +2,7 @@ package misc import ( "fmt" + "git.rosy.net.cn/jx-callback/business/jxcallback/auto_delivery" "sync" "time" @@ -216,10 +217,10 @@ func Init() { }, 10*time.Second, 5*time.Minute) // (自动发单拣货,设置骑手) 刷单用 - //ScheduleTimerFuncByInterval(func() { - // auto_delivery.Init() // 初始化骑手列表 - // auto_delivery.AutoSettingFakeDelivery() - //}, 10*time.Second, 5*time.Minute) + ScheduleTimerFuncByInterval(func() { + auto_delivery.Init() // 初始化骑手列表 + auto_delivery.AutoSettingFakeDelivery() + }, 10*time.Second, 5*time.Minute) // 定时任务更新负责人信息 ScheduleTimerFunc("RefreshStoreOperator", func() { diff --git a/business/partner/delivery/rider.go b/business/partner/delivery/rider.go index b0ec98f49..11f9107d3 100644 --- a/business/partner/delivery/rider.go +++ b/business/partner/delivery/rider.go @@ -445,7 +445,9 @@ func UpdateFakeWayBillToTiktok() { if handler != nil { order, _ := partner.CurOrderManager.LoadOrder(fakeWayBill[i].VendorOrderID, fakeWayBill[i].OrderVendorID) if err := handler.GetOrderRider(fakeWayBill[i].VendorOrgCode, order.VendorStoreID, paramsMap); err != nil { - globals.SugarLogger.Debugf("Fake Pull Rider Info Err :%s--%s--%v", riderInfo.OrderId, riderInfo.ThirdCarrierOrderId, err) + partner.CurOrderManager.OnOrderMsg(order, tao_vegetable.OrderStatusDelivery, fmt.Sprintf("Fake Pull Rider Info Err :%s--%s--%v", riderInfo.OrderId, riderInfo.ThirdCarrierOrderId, err)) + } else { + partner.CurOrderManager.OnOrderMsg(order, tao_vegetable.OrderStatusDelivery, "订单配送中") } } @@ -479,7 +481,9 @@ func UpdateFakeWayBillToTiktok() { // 饿百订单推送订单送达 if fakeWayBill[i].OrderVendorID == model.VendorIDEBAI || fakeWayBill[i].OrderVendorID == model.VendorIDTaoVegetable || fakeWayBill[i].OrderVendorID == model.VendorIDMTWM { if err := handler.Swtich2SelfDelivered(order, "JingXiAdmin"); err != nil { - globals.SugarLogger.Errorf("Swtich2SelfDelivered err := %v", err) + partner.CurOrderManager.OnOrderMsg(order, tao_vegetable.OrderStatusDeliveryOver, fmt.Sprintf("%v", err)) + } else { + partner.CurOrderManager.OnOrderMsg(order, tao_vegetable.OrderStatusDeliveryOver, "订单送达") } } diff --git a/business/partner/purchase/tao_vegetable/order_utils.go b/business/partner/purchase/tao_vegetable/order_utils.go index cce0a5a7b..6dd5d5466 100644 --- a/business/partner/purchase/tao_vegetable/order_utils.go +++ b/business/partner/purchase/tao_vegetable/order_utils.go @@ -92,8 +92,8 @@ func OrderStatusChangeDelivery(order *model.GoodsOrder, orderStatus string) *req } if param.WorkCallbackRequest.DelivererName == nil || param.WorkCallbackRequest.DelivererPhone == nil { - param.WorkCallbackRequest.DelivererName = utils.String2Pointer(storeDetail.Tel1) - param.WorkCallbackRequest.DelivererPhone = utils.String2Pointer("门店老板") + param.WorkCallbackRequest.DelivererName = utils.String2Pointer("门店老板") + param.WorkCallbackRequest.DelivererPhone = utils.String2Pointer(storeDetail.Tel1) param.WorkCallbackRequest.DelivererCompany = utils.String2Pointer(tao_vegetable.TaoDeliveryTypeSELF) param.WorkCallbackRequest.LogisticsNo = utils.String2Pointer(order.VendorOrderID + "_1") } From c16f50899963c4a83721558acb5a859c7bbcf1dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Wed, 11 Oct 2023 16:27:54 +0800 Subject: [PATCH 20/31] 1 --- business/partner/purchase/tao_vegetable/order.go | 1 + 1 file changed, 1 insertion(+) diff --git a/business/partner/purchase/tao_vegetable/order.go b/business/partner/purchase/tao_vegetable/order.go index 97d4153cc..0db3b0354 100644 --- a/business/partner/purchase/tao_vegetable/order.go +++ b/business/partner/purchase/tao_vegetable/order.go @@ -344,6 +344,7 @@ func (c *PurchaseHandler) onOrderMsg(orderStatus, orderId string, orderCallback // 商户接单/支付完成代表新订单 if msg.OrderStatus == tao_vegetable.OrderStatusPayFinsh { order, orderMap, err2 := c.getOrder("", msg.BizOrderId, msg.StoreId) + globals.SugarLogger.Debugf("err2================ %v", err2) if err = err2; err == nil { err = partner.CurOrderManager.OnOrderNew(order, status) if err == nil { From 8f33fff63fa229bbce8944638461f17a10b88c41 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Wed, 11 Oct 2023 17:22:40 +0800 Subject: [PATCH 21/31] 1 --- business/partner/purchase/tao_vegetable/order.go | 1 + 1 file changed, 1 insertion(+) diff --git a/business/partner/purchase/tao_vegetable/order.go b/business/partner/purchase/tao_vegetable/order.go index 0db3b0354..13cda2fc2 100644 --- a/business/partner/purchase/tao_vegetable/order.go +++ b/business/partner/purchase/tao_vegetable/order.go @@ -58,6 +58,7 @@ func (p *PurchaseHandler) getOrder(vendorOrgCode string, vendorOrderID int64, ve }} api := getAPI(vendorOrgCode, 0, vendorStoreID) orderDetail, err := api.QueryOrderDetail(requestParam) + globals.SugarLogger.Debugf("===========QueryOrderDetail := %v", err) if err != nil { return nil, nil, err } From d1eb821df37e7a03af9ad036670d2b5526b8cca2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Wed, 11 Oct 2023 17:30:14 +0800 Subject: [PATCH 22/31] 1 --- .../partner/purchase/tao_vegetable/order.go | 2 -- globals/api/apimanager/apimanager.go | 30 +++++++++---------- 2 files changed, 14 insertions(+), 18 deletions(-) diff --git a/business/partner/purchase/tao_vegetable/order.go b/business/partner/purchase/tao_vegetable/order.go index 13cda2fc2..97d4153cc 100644 --- a/business/partner/purchase/tao_vegetable/order.go +++ b/business/partner/purchase/tao_vegetable/order.go @@ -58,7 +58,6 @@ func (p *PurchaseHandler) getOrder(vendorOrgCode string, vendorOrderID int64, ve }} api := getAPI(vendorOrgCode, 0, vendorStoreID) orderDetail, err := api.QueryOrderDetail(requestParam) - globals.SugarLogger.Debugf("===========QueryOrderDetail := %v", err) if err != nil { return nil, nil, err } @@ -345,7 +344,6 @@ func (c *PurchaseHandler) onOrderMsg(orderStatus, orderId string, orderCallback // 商户接单/支付完成代表新订单 if msg.OrderStatus == tao_vegetable.OrderStatusPayFinsh { order, orderMap, err2 := c.getOrder("", msg.BizOrderId, msg.StoreId) - globals.SugarLogger.Debugf("err2================ %v", err2) if err = err2; err == nil { err = partner.CurOrderManager.OnOrderNew(order, status) if err == nil { diff --git a/globals/api/apimanager/apimanager.go b/globals/api/apimanager/apimanager.go index 8c1dc82fb..05a247815 100644 --- a/globals/api/apimanager/apimanager.go +++ b/globals/api/apimanager/apimanager.go @@ -69,26 +69,24 @@ func (a *APIManager) GetAPI(vendorID int, appOrgCode string) (pfAPI interface{}) } case model.VendorIDTaoVegetable: api2 := api.TaoVegetableApi - if api2 == nil || api2.GetToken() == "" { - codes, _ := dao.GetVendorOrgCode(db, vendorID, appOrgCode, "platform") - if len(codes) == 0 { + codes, _ := dao.GetVendorOrgCode(db, vendorID, appOrgCode, "platform") + if len(codes) == 0 { + return nil + } + code := codes[0] + api2 = tao_vegetable.NewTaoVegetable(code.AppKey, code.AppSecret, beego.AppConfig.DefaultString("taoVegetableServerUrl", "")) + if code.Token != "" { + var tokenInfo *tao_vegetable.StoreTokenInfo + if err := json.Unmarshal([]byte(code.Token), &tokenInfo); err != nil { return nil } - code := codes[0] - api2 = tao_vegetable.NewTaoVegetable(code.AppKey, code.AppSecret, beego.AppConfig.DefaultString("taoVegetableServerUrl", "")) - if code.Token != "" { - var tokenInfo *tao_vegetable.StoreTokenInfo - if err := json.Unmarshal([]byte(code.Token), &tokenInfo); err != nil { - return nil - } - if tokenInfo.AccessToken != "" && tokenInfo.ExpireTime > time.Now().UnixNano()/1e6 { - api2.SetToken(tokenInfo.AccessToken) - } else { - ddmsg.SendUserMessage(dingdingapi.MsgTyeText, "2452A93EEB9111EC9B06525400E86DC0", "淘鲜达token过期", ",请重新授权") - } + if tokenInfo.AccessToken != "" && tokenInfo.ExpireTime > time.Now().UnixNano()/1e6 { + api2.SetToken(tokenInfo.AccessToken) + } else { + ddmsg.SendUserMessage(dingdingapi.MsgTyeText, "2452A93EEB9111EC9B06525400E86DC0", "淘鲜达token过期", ",请重新授权") } - api.TaoVegetableApi = api2 } + api.TaoVegetableApi = api2 pfAPI = api2 case model.VendorIDEBAI: From 15f64bad0fed7c9f65a4cfe087df6ed7dfb7e6aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Thu, 12 Oct 2023 11:27:44 +0800 Subject: [PATCH 23/31] 1 --- business/partner/purchase/tao_vegetable/order.go | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/business/partner/purchase/tao_vegetable/order.go b/business/partner/purchase/tao_vegetable/order.go index 97d4153cc..bcf555b8a 100644 --- a/business/partner/purchase/tao_vegetable/order.go +++ b/business/partner/purchase/tao_vegetable/order.go @@ -488,9 +488,11 @@ func (c *PurchaseHandler) AcceptOrRefuseOrder(order *model.GoodsOrder, isAcceptI DelivererCompany: nil, LogisticsNo: nil, } - err = getAPI(order.VendorOrgCode, jxutils.GetSaleStoreIDFromOrder(order), order.VendorStoreID).DeliveryFinish(param) - if err != nil { - globals.SugarLogger.Warnf("tao AcceptOrRefuseOrder orderID:%s failed with err:%v", order.VendorOrderID, err) + for i := 0; i < 3; i++ { + err = getAPI(order.VendorOrgCode, jxutils.GetSaleStoreIDFromOrder(order), order.VendorStoreID).DeliveryFinish(param) + if err != nil { + continue + } } } else { err = c.CancelOrder(jxcontext.AdminCtx, order, "bu") From 6572f7b5add155b0d9cdf135cf67a5352ac099af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Thu, 12 Oct 2023 14:05:48 +0800 Subject: [PATCH 24/31] 1 --- business/jxstore/cms/system_store_sku.go | 50 ++++++++++----------- business/partner/purchase/ebai/order_afs.go | 50 ++++++++------------- 2 files changed, 44 insertions(+), 56 deletions(-) diff --git a/business/jxstore/cms/system_store_sku.go b/business/jxstore/cms/system_store_sku.go index 41f23da78..1881070ca 100644 --- a/business/jxstore/cms/system_store_sku.go +++ b/business/jxstore/cms/system_store_sku.go @@ -49,31 +49,31 @@ func CopyOnStoreSkuToOther(ctx *jxcontext.Context, fromVendorStoreId, toStoreId //} case 2: // 同步分类 - //fromCategoryList, _ := fromApi.RetailCatList(utils.Int2Str(fromVendorStoreId)) - // - //for _, v := range fromCategoryList { - // err := toApi.RetailCatUpdate(toStore.VendorStoreID, v.Name, &mtwmapi.Param4UpdateCat{ - // CategoryCode: v.Code, - // Sequence: v.Sequence, - // }) - // if err != nil { - // globals.SugarLogger.Debugf("err := RetailCatUpdate : %s", utils.Format4Output(err, false)) - // } - // if v.Children != nil && len(v.Children) != 0 { - // for _, c := range v.Children { - // if err := toApi.RetailCatUpdate(toStore.VendorStoreID, v.Name, &mtwmapi.Param4UpdateCat{ - // CategoryNameOrigin: v.Name, - // //CategoryCodeOrigin: v.Code, - // //CategoryCode: v.Code, - // SecondaryCategoryCode: c.Code, - // SecondaryCategoryName: c.Name, - // Sequence: c.Sequence, - // }); err != nil { - // globals.SugarLogger.Debugf("err := RetailCatUpdate Children : %s", utils.Format4Output(c, false)) - // } - // } - // } - //} + fromCategoryList, _ := fromApi.RetailCatList(utils.Int2Str(fromVendorStoreId)) + + for _, v := range fromCategoryList { + err := toApi.RetailCatUpdate(toStore.VendorStoreID, v.Name, &mtwmapi.Param4UpdateCat{ + CategoryCode: v.Code, + Sequence: v.Sequence, + }) + if err != nil { + globals.SugarLogger.Debugf("err := RetailCatUpdate : %s", utils.Format4Output(err, false)) + } + if v.Children != nil && len(v.Children) != 0 { + for _, c := range v.Children { + if err := toApi.RetailCatUpdate(toStore.VendorStoreID, v.Name, &mtwmapi.Param4UpdateCat{ + CategoryNameOrigin: v.Name, + //CategoryCodeOrigin: v.Code, + //CategoryCode: v.Code, + SecondaryCategoryCode: c.Code, + SecondaryCategoryName: c.Name, + Sequence: c.Sequence, + }); err != nil { + globals.SugarLogger.Debugf("err := RetailCatUpdate Children : %s", utils.Format4Output(c, false)) + } + } + } + } case 3: i := offSet diff --git a/business/partner/purchase/ebai/order_afs.go b/business/partner/purchase/ebai/order_afs.go index 6b6a1ab03..f92362b7c 100644 --- a/business/partner/purchase/ebai/order_afs.go +++ b/business/partner/purchase/ebai/order_afs.go @@ -307,31 +307,30 @@ func (c *PurchaseHandler) PartRefundOrder(ctx *jxcontext.Context, order *model.G if err != nil { return err } - if date == nil { - return fmt.Errorf("GetReverseOrder 饿百售后数据查询为空") - } refundProductList := make([]*ebaiapi.RefundProductList, 0, 0) removerAll := false - for k, v := range date { - v2 := v.(map[string]interface{}) - refundProduct := &ebaiapi.RefundProductList{ - SubBizOrderId: v2["sub_biz_order_id"].(string), - PlatformSkuId: utils.Int64ToStr(utils.Interface2Int64WithDefault(v2["platform_sku_id"], 0)), + if date != nil && len(date) != model.NO { + for k, v := range date { + v2 := v.(map[string]interface{}) + refundProduct := &ebaiapi.RefundProductList{ + SubBizOrderId: v2["sub_biz_order_id"].(string), + PlatformSkuId: utils.Int64ToStr(utils.Interface2Int64WithDefault(v2["platform_sku_id"], 0)), + } + // 全退 + if k == model.NO && utils.MustInterface2Int64(v2["is_refund_all"]) == model.YES { + removerAll = true + } + switch utils.MustInterface2Int64(v2["fund_calculate_type"]) { + case 0: + refundProduct.Number = utils.Int64ToStr(utils.MustInterface2Int64(v2["refund_quantity"])) + case 1: + refundProduct.RefundAmount = utils.Int64ToStr(utils.MustInterface2Int64(v2["refund_user_amount"])) + } + refundProductList = append(refundProductList, refundProduct) } - // 全退 - if k == model.NO && utils.MustInterface2Int64(v2["is_refund_all"]) == model.YES { - removerAll = true - } - switch utils.MustInterface2Int64(v2["fund_calculate_type"]) { - case 0: - refundProduct.Number = utils.Int64ToStr(utils.MustInterface2Int64(v2["refund_quantity"])) - case 1: - refundProduct.RefundAmount = utils.Int64ToStr(utils.MustInterface2Int64(v2["refund_user_amount"])) - } - refundProductList = append(refundProductList, refundProduct) + param.RefundProductList = refundProductList } - param.RefundProductList = refundProductList //售后部分多次退款 if removerAll { @@ -340,17 +339,6 @@ func (c *PurchaseHandler) PartRefundOrder(ctx *jxcontext.Context, order *model.G if reason == "" { return fmt.Errorf("拒绝退单时,请填写拒单原因") } - - //param := &ebaiapi.RefundOrderExamine{ - // ReverseOrderId: afsOrderInfo.AfsOrderID, - // OrderId: afsOrderInfo.VendorOrderID, - // IdempotentId: utils.Int64ToStr(time.Now().UnixNano()), - // ActionType: ebaiapi.RefundTypeRefuse, - // ReasonCode: "7001", - // ReasonRemarks: reason, - // RefundProductList: "", - //} - //err = api.EbaiAPI.OrderPartRefund(param) if err := api.EbaiAPI.OrderPartRefund(order.VendorOrderID, orderSkus2AfsSkus(refundSkuList)); err != nil { return err } From f984b980fdba31a880a47f8496735f205444a119 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Thu, 12 Oct 2023 14:29:56 +0800 Subject: [PATCH 25/31] 1 --- business/jxstore/cms/system_store_sku.go | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/business/jxstore/cms/system_store_sku.go b/business/jxstore/cms/system_store_sku.go index 1881070ca..40ce42e4c 100644 --- a/business/jxstore/cms/system_store_sku.go +++ b/business/jxstore/cms/system_store_sku.go @@ -52,24 +52,24 @@ func CopyOnStoreSkuToOther(ctx *jxcontext.Context, fromVendorStoreId, toStoreId fromCategoryList, _ := fromApi.RetailCatList(utils.Int2Str(fromVendorStoreId)) for _, v := range fromCategoryList { - err := toApi.RetailCatUpdate(toStore.VendorStoreID, v.Name, &mtwmapi.Param4UpdateCat{ + categoryErr := toApi.RetailCatUpdate(toStore.VendorStoreID, v.Name, &mtwmapi.Param4UpdateCat{ CategoryCode: v.Code, Sequence: v.Sequence, }) - if err != nil { - globals.SugarLogger.Debugf("err := RetailCatUpdate : %s", utils.Format4Output(err, false)) + if categoryErr != nil { + globals.SugarLogger.Debugf("err := RetailCatUpdate : %v", categoryErr) } if v.Children != nil && len(v.Children) != 0 { for _, c := range v.Children { - if err := toApi.RetailCatUpdate(toStore.VendorStoreID, v.Name, &mtwmapi.Param4UpdateCat{ + if err3 := toApi.RetailCatUpdate(toStore.VendorStoreID, v.Name, &mtwmapi.Param4UpdateCat{ CategoryNameOrigin: v.Name, //CategoryCodeOrigin: v.Code, //CategoryCode: v.Code, SecondaryCategoryCode: c.Code, SecondaryCategoryName: c.Name, Sequence: c.Sequence, - }); err != nil { - globals.SugarLogger.Debugf("err := RetailCatUpdate Children : %s", utils.Format4Output(c, false)) + }); err3 != nil { + globals.SugarLogger.Debugf("err := RetailCatUpdate Children : %v", err3) } } } From f464d624aaf3e000023cdd87be854124f3076e46 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Thu, 12 Oct 2023 14:39:21 +0800 Subject: [PATCH 26/31] 1 --- business/jxstore/cms/system_store_sku.go | 32 ++++++++++++------------ 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/business/jxstore/cms/system_store_sku.go b/business/jxstore/cms/system_store_sku.go index 40ce42e4c..044a6d2f1 100644 --- a/business/jxstore/cms/system_store_sku.go +++ b/business/jxstore/cms/system_store_sku.go @@ -76,22 +76,22 @@ func CopyOnStoreSkuToOther(ctx *jxcontext.Context, fromVendorStoreId, toStoreId } case 3: - i := offSet - for { - // 同步商品 - fromFoodList, err1 := fromApi.RetailListAll(utils.Int2Str(fromVendorStoreId), i) - if len(fromFoodList) == 0 || fromFoodList == nil { - return nil, fmt.Errorf("fromFoodList 为空 %s ,i:= %d", utils.Format4Output(err1, false), i) - } - - if err := BatchInitData(ctx, fromFoodList, toApi, toStore.VendorStoreID); err != nil { - globals.SugarLogger.Debugf("BatchInitData : %s", utils.Format4Output(err, false)) - } - if len(fromFoodList) < 100 { - break - } - i++ - } + //i := offSet + //for { + // // 同步商品 + // fromFoodList, err1 := fromApi.RetailListAll(utils.Int2Str(fromVendorStoreId), i) + // if len(fromFoodList) == 0 || fromFoodList == nil { + // return nil, fmt.Errorf("fromFoodList 为空 %s ,i:= %d", utils.Format4Output(err1, false), i) + // } + // + // if err := BatchInitData(ctx, fromFoodList, toApi, toStore.VendorStoreID); err != nil { + // globals.SugarLogger.Debugf("BatchInitData : %s", utils.Format4Output(err, false)) + // } + // if len(fromFoodList) < 100 { + // break + // } + // i++ + //} } return From 07da9c323e1588ca362f5b5785c97c2cbfc82555 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Thu, 12 Oct 2023 14:44:08 +0800 Subject: [PATCH 27/31] 1 --- business/jxstore/cms/system_store_sku.go | 82 ++++++++++++------------ 1 file changed, 41 insertions(+), 41 deletions(-) diff --git a/business/jxstore/cms/system_store_sku.go b/business/jxstore/cms/system_store_sku.go index 044a6d2f1..5626ed7b0 100644 --- a/business/jxstore/cms/system_store_sku.go +++ b/business/jxstore/cms/system_store_sku.go @@ -49,49 +49,49 @@ func CopyOnStoreSkuToOther(ctx *jxcontext.Context, fromVendorStoreId, toStoreId //} case 2: // 同步分类 - fromCategoryList, _ := fromApi.RetailCatList(utils.Int2Str(fromVendorStoreId)) - - for _, v := range fromCategoryList { - categoryErr := toApi.RetailCatUpdate(toStore.VendorStoreID, v.Name, &mtwmapi.Param4UpdateCat{ - CategoryCode: v.Code, - Sequence: v.Sequence, - }) - if categoryErr != nil { - globals.SugarLogger.Debugf("err := RetailCatUpdate : %v", categoryErr) - } - if v.Children != nil && len(v.Children) != 0 { - for _, c := range v.Children { - if err3 := toApi.RetailCatUpdate(toStore.VendorStoreID, v.Name, &mtwmapi.Param4UpdateCat{ - CategoryNameOrigin: v.Name, - //CategoryCodeOrigin: v.Code, - //CategoryCode: v.Code, - SecondaryCategoryCode: c.Code, - SecondaryCategoryName: c.Name, - Sequence: c.Sequence, - }); err3 != nil { - globals.SugarLogger.Debugf("err := RetailCatUpdate Children : %v", err3) - } - } - } - } + //fromCategoryList, _ := fromApi.RetailCatList(utils.Int2Str(fromVendorStoreId)) + // + //for _, v := range fromCategoryList { + // categoryErr := toApi.RetailCatUpdate(toStore.VendorStoreID, v.Name, &mtwmapi.Param4UpdateCat{ + // CategoryCode: v.Code, + // Sequence: v.Sequence, + // }) + // if categoryErr != nil { + // globals.SugarLogger.Debugf("err := RetailCatUpdate : %v", categoryErr) + // } + // if v.Children != nil && len(v.Children) != 0 { + // for _, c := range v.Children { + // if err3 := toApi.RetailCatUpdate(toStore.VendorStoreID, v.Name, &mtwmapi.Param4UpdateCat{ + // CategoryNameOrigin: v.Name, + // //CategoryCodeOrigin: v.Code, + // //CategoryCode: v.Code, + // SecondaryCategoryCode: c.Code, + // SecondaryCategoryName: c.Name, + // Sequence: c.Sequence, + // }); err3 != nil { + // globals.SugarLogger.Debugf("err := RetailCatUpdate Children : %v", err3) + // } + // } + // } + //} case 3: - //i := offSet - //for { - // // 同步商品 - // fromFoodList, err1 := fromApi.RetailListAll(utils.Int2Str(fromVendorStoreId), i) - // if len(fromFoodList) == 0 || fromFoodList == nil { - // return nil, fmt.Errorf("fromFoodList 为空 %s ,i:= %d", utils.Format4Output(err1, false), i) - // } - // - // if err := BatchInitData(ctx, fromFoodList, toApi, toStore.VendorStoreID); err != nil { - // globals.SugarLogger.Debugf("BatchInitData : %s", utils.Format4Output(err, false)) - // } - // if len(fromFoodList) < 100 { - // break - // } - // i++ - //} + i := offSet + for { + // 同步商品 + fromFoodList, err1 := fromApi.RetailListAll(utils.Int2Str(fromVendorStoreId), i) + if len(fromFoodList) == 0 || fromFoodList == nil { + return nil, fmt.Errorf("fromFoodList 为空 %s ,i:= %d", utils.Format4Output(err1, false), i) + } + + if err := BatchInitData(ctx, fromFoodList, toApi, toStore.VendorStoreID); err != nil { + globals.SugarLogger.Debugf("BatchInitData : %s", utils.Format4Output(err, false)) + } + if len(fromFoodList) < 100 { + break + } + i++ + } } return From c29d8d0b6915941564e27b3141db798de1950b27 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Thu, 12 Oct 2023 15:02:45 +0800 Subject: [PATCH 28/31] 1 --- business/jxstore/cms/system_store_sku.go | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/business/jxstore/cms/system_store_sku.go b/business/jxstore/cms/system_store_sku.go index 5626ed7b0..967969027 100644 --- a/business/jxstore/cms/system_store_sku.go +++ b/business/jxstore/cms/system_store_sku.go @@ -189,6 +189,15 @@ func BatchInitData(ctx *jxcontext.Context, fromSku []*mtwmapi.AppFood, toApi *mt } else { foodData["category_name"] = storeSku.SecondaryCategoryName } + + if storeSku.SecondaryCategoryName == "" && storeSku.SecondaryCategoryCode == "" { + if storeSku.SecondaryCategoryCode != "" { + foodData["category_code"] = storeSku.CategoryCode + } else { + foodData["category_name"] = storeSku.CategoryName + } + } + foodData["is_sold_out"] = storeSku.IsSoldOut foodData["picture"] = storeSku.Picture foodData["picture_contents"] = storeSku.PictureContents From 37b086e2fb7f7dd53c6a5387868b22a23364aaa7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Thu, 12 Oct 2023 15:30:59 +0800 Subject: [PATCH 29/31] 1 --- controllers/taobao_vegetable.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/controllers/taobao_vegetable.go b/controllers/taobao_vegetable.go index 68fc1aa71..ac503eacb 100644 --- a/controllers/taobao_vegetable.go +++ b/controllers/taobao_vegetable.go @@ -223,8 +223,9 @@ func (c *TaoBaoVegetableController) CancelOnSaleRefundOrder() { return } default: - callbackResponse := taoVegetable.OnCallbackMsg(tao_vegetable.OrderStatusOnSaleCancel, utils.Int64ToStr(afsOrder.PartCancelRequest.BizOrderId), afsOrder) - c.Data["json"] = callbackResponse + //callbackResponse := taoVegetable.OnCallbackMsg(tao_vegetable.OrderStatusOnSaleCancel, utils.Int64ToStr(afsOrder.PartCancelRequest.BizOrderId), afsOrder) + //c.Data["json"] = callbackResponse + c.Data["json"] = tao_vegetable.CallBackResultOnSaleCancel(fmt.Errorf("不支持售中取消")) c.ServeJSON() return } From c8b5b9d1adb30604a645ed3565ffb36d73a21a1c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Thu, 12 Oct 2023 17:00:20 +0800 Subject: [PATCH 30/31] =?UTF-8?q?=E8=87=AA=E5=8A=A8=E5=9B=9E=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxcallback/orderman/order_comment.go | 12 ++++++++++-- business/partner/purchase/mtwm/order_comment.go | 6 ++++++ 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/business/jxcallback/orderman/order_comment.go b/business/jxcallback/orderman/order_comment.go index 02151b26e..10707ffdb 100644 --- a/business/jxcallback/orderman/order_comment.go +++ b/business/jxcallback/orderman/order_comment.go @@ -2,6 +2,9 @@ package orderman import ( "encoding/json" + "fmt" + "git.rosy.net.cn/baseapi/platformapi/dingdingapi" + "git.rosy.net.cn/jx-callback/business/jxutils/ddmsg" "math/rand" "time" @@ -77,15 +80,20 @@ func (c *OrderManager) OnOrderComments(orderCommentList []*model.OrderComment) ( OrderId: orderComment.VendorOrderID, } err = dao.GetEntity(db, comment2, "OrderId") + if orderComment.StoreID == 669247 { + ddmsg.SendUserMessage(dingdingapi.MsgTyeText, "2452A93EEB9111EC9B06525400E86DC0", "自动好评回复err:", fmt.Sprintf("%v", err)) + } if err == nil || dao.IsNoRowsError(err) { isNewComment := false if dao.IsNoRowsError(err) { err = nil isNewComment = true + if orderComment.StoreID == 669247 { + ddmsg.SendUserMessage(dingdingapi.MsgTyeText, "2452A93EEB9111EC9B06525400E86DC0", "自动好评回复orderCommentList:", utils.Format4Output(orderCommentList[0], false)) + } if orderComment.IsReplied == 0 && time.Now().Sub(orderComment.CommentCreatedAt) < time.Duration(orderComment.ModifyDuration)*time.Hour { if storeDetail, err2 := dao.GetStoreDetail(db, orderComment.StoreID, orderComment.VendorID, ""); err2 == nil { - if storeDetail.AutoReplyType == model.AutoReplyAll || - orderComment.Score > JX_BAD_COMMENTS_MAX_LEVEL && storeDetail.AutoReplyType == model.AutoReplyGoodComment { + if storeDetail.AutoReplyType == model.AutoReplyAll || orderComment.Score > JX_BAD_COMMENTS_MAX_LEVEL && storeDetail.AutoReplyType == model.AutoReplyGoodComment { c.replyOrderComment(storeDetail.VendorOrgCode, orderComment) } } diff --git a/business/partner/purchase/mtwm/order_comment.go b/business/partner/purchase/mtwm/order_comment.go index 299d5c8ce..6f31507d2 100644 --- a/business/partner/purchase/mtwm/order_comment.go +++ b/business/partner/purchase/mtwm/order_comment.go @@ -1,6 +1,8 @@ package mtwm import ( + "git.rosy.net.cn/baseapi/platformapi/dingdingapi" + "git.rosy.net.cn/jx-callback/business/jxutils/ddmsg" "strings" "time" @@ -53,9 +55,13 @@ func (c *PurchaseHandler) RefreshComment(fromTime, toTime time.Time) (err error) task := tasksch.NewParallelTask("mtwm RefreshComment", nil, jxcontext.AdminCtx, func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { storeID := batchItemList[0].(int) + storeDetail, _ := dao.GetStoreDetail(dao.GetDB(), storeID, model.VendorIDMTWM, "") commentList, _ := getAPI(storeDetail.VendorOrgCode, storeID, storeDetail.VendorStoreID).CommentQuery(storeDetail.VendorStoreID, startDateStr, endDateStr, 0, 0, mtwmapi.CommentReplyStatusNotReplied) var orderCommentList []*model.OrderComment + if storeID == 669247 { + ddmsg.SendUserMessage(dingdingapi.MsgTyeText, "2452A93EEB9111EC9B06525400E86DC0", "自动好评回复:", utils.Int2Str(669247)+":"+utils.Int2Str(len(commentList))) + } if len(commentList) == model.NO || commentList == nil { return nil, nil } From e4169620840acf91507b33c402cae907a4a57083 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Thu, 12 Oct 2023 17:35:29 +0800 Subject: [PATCH 31/31] 1 --- business/jxcallback/orderman/order_comment.go | 4 ---- business/partner/purchase/mtwm/order_comment.go | 5 ----- 2 files changed, 9 deletions(-) diff --git a/business/jxcallback/orderman/order_comment.go b/business/jxcallback/orderman/order_comment.go index 10707ffdb..f3d06e4ec 100644 --- a/business/jxcallback/orderman/order_comment.go +++ b/business/jxcallback/orderman/order_comment.go @@ -2,7 +2,6 @@ package orderman import ( "encoding/json" - "fmt" "git.rosy.net.cn/baseapi/platformapi/dingdingapi" "git.rosy.net.cn/jx-callback/business/jxutils/ddmsg" "math/rand" @@ -80,9 +79,6 @@ func (c *OrderManager) OnOrderComments(orderCommentList []*model.OrderComment) ( OrderId: orderComment.VendorOrderID, } err = dao.GetEntity(db, comment2, "OrderId") - if orderComment.StoreID == 669247 { - ddmsg.SendUserMessage(dingdingapi.MsgTyeText, "2452A93EEB9111EC9B06525400E86DC0", "自动好评回复err:", fmt.Sprintf("%v", err)) - } if err == nil || dao.IsNoRowsError(err) { isNewComment := false if dao.IsNoRowsError(err) { diff --git a/business/partner/purchase/mtwm/order_comment.go b/business/partner/purchase/mtwm/order_comment.go index 6f31507d2..1d54e3e80 100644 --- a/business/partner/purchase/mtwm/order_comment.go +++ b/business/partner/purchase/mtwm/order_comment.go @@ -1,8 +1,6 @@ package mtwm import ( - "git.rosy.net.cn/baseapi/platformapi/dingdingapi" - "git.rosy.net.cn/jx-callback/business/jxutils/ddmsg" "strings" "time" @@ -59,9 +57,6 @@ func (c *PurchaseHandler) RefreshComment(fromTime, toTime time.Time) (err error) storeDetail, _ := dao.GetStoreDetail(dao.GetDB(), storeID, model.VendorIDMTWM, "") commentList, _ := getAPI(storeDetail.VendorOrgCode, storeID, storeDetail.VendorStoreID).CommentQuery(storeDetail.VendorStoreID, startDateStr, endDateStr, 0, 0, mtwmapi.CommentReplyStatusNotReplied) var orderCommentList []*model.OrderComment - if storeID == 669247 { - ddmsg.SendUserMessage(dingdingapi.MsgTyeText, "2452A93EEB9111EC9B06525400E86DC0", "自动好评回复:", utils.Int2Str(669247)+":"+utils.Int2Str(len(commentList))) - } if len(commentList) == model.NO || commentList == nil { return nil, nil }