diff --git a/business/enterprise/vendor_sku_compare.go b/business/enterprise/vendor_sku_compare.go index 6a51e1b4a..af691309c 100644 --- a/business/enterprise/vendor_sku_compare.go +++ b/business/enterprise/vendor_sku_compare.go @@ -95,6 +95,10 @@ func MtWmSyncSkuPriceAndStatus(db *dao.DaoDB, sm *model.StoreMap, skuMap map[str vendorStatus = 0 ) + if len(skuMap) == 0 || sm.IsSync != model.YES { + return fmt.Errorf("门店未打开同步或者未关注商品") + } + if sm.VendorOrgCode == globals.Mtwm2Code { mtApi = mtwmapi.New(beego.AppConfig.DefaultString("mtwmAppID2", ""), beego.AppConfig.DefaultString("mtwmSecret2", ""), beego.AppConfig.DefaultString("mtwmCallbackURL2", ""), "") mtApi.SetToken(sm.MtwmToken) @@ -148,6 +152,20 @@ func MtWmSyncSkuPriceAndStatus(db *dao.DaoDB, sm *model.StoreMap, skuMap map[str errs = append(errs, fmt.Sprintf("skuCode:%s,修改美团可售状态错误:%s", fel.AppFoodCode, fel.ErrorMsg)) } } + } else { + param := []*mtwmapi.BareStoreFoodInfo{ + &mtwmapi.BareStoreFoodInfo{ + AppFoodCode: utils.Int64ToStr(sku.MtwmID), + Skus: nil, + }, + } + foodErrList, err := mtApi.RetailSellStatus(jxcontext.AdminCtx.GetTrackInfo(), sm.VendorStoreID, param, mtwmapi.SellStatusOffline) + if err != nil { + errs = append(errs, fmt.Sprintf("skuCode:%d,修改美团可售状态错误%v", sku.SkuID, err)) + } + for _, fel := range foodErrList { + errs = append(errs, fmt.Sprintf("skuCode:%s,修改美团可售状态错误:%s", fel.AppFoodCode, fel.ErrorMsg)) + } } } if len(errs) == model.NO { @@ -166,6 +184,10 @@ func EBaiSyncSkuPriceAndStatus(db *dao.DaoDB, sm *model.StoreMap, skuMap map[str errs = make([]string, 0, 0) ) + if len(skuMap) == 0 || sm.IsSync != model.YES { + return fmt.Errorf("门店未打开同步或者未关注商品") + } + for { param := &ebaiapi.SkuListParams{ Page: 1, @@ -211,6 +233,11 @@ func EBaiSyncSkuPriceAndStatus(db *dao.DaoDB, sm *model.StoreMap, skuMap map[str } } } + } else { + err = ebaiApi.SkuOfflineOne(jxcontext.AdminCtx.GetTrackInfo(), utils.Int2Str(sm.StoreID), sku.EbaiID, "", "") + if err != nil { + errs = append(errs, fmt.Sprintf("skuCode:%d,修改饿百不可售状态错误%v", sku.SkuID, err)) + } } } @@ -229,7 +256,9 @@ func TaoSyncSkuPriceAndStatus(db *dao.DaoDB, sm *model.StoreMap, skuMap map[stri foodListData = make([]domain585.AlibabaWdkSkuQuerySkuDo, 0, 0) onlineStatus int64 = 0 ) - + if len(skuMap) == 0 || sm.IsSync != model.YES { + return fmt.Errorf("门店未打开同步或者未关注商品") + } if len(skuIdList)%100 != 0 { length += 1 } @@ -295,6 +324,29 @@ func TaoSyncSkuPriceAndStatus(db *dao.DaoDB, sm *model.StoreMap, skuMap map[stri // errs = append(errs, fmt.Sprintf("%v", err)) //} } + } else { + // 平台上架本地下架,将平台商品下架 + param := &request585.AlibabaWdkSkuUpdateRequest{} + updateSkuList := make([]domain585.AlibabaWdkSkuUpdateSkuDo, 0, 0) + onlineStatus = tao.CreateOfflineSaleFlag + updateSkuList = append(updateSkuList, domain585.AlibabaWdkSkuUpdateSkuDo{ + OuCode: utils.String2Pointer(utils.Int64ToStr(sku.TaoID)), + SkuCode: utils.String2Pointer(utils.Int2Str(sku.SkuID)), + OnlineSaleFlag: utils.Int64ToPointer(onlineStatus), + SubTitle: utils.String2Pointer("小时达"), + AllowAppSale: utils.Int64ToPointer(onlineStatus), + //CleanSkuMemberPrice: utils.Int64ToPointer(model.YES), + }) + param.ParamList = &updateSkuList + result, err := taoApi.UpdateStoreSku(param) + if err != nil { + errs = append(errs, fmt.Sprintf("skuCode:%d,修改饿百可售状态错误%v", sku.SkuID, err)) + } + for _, fel := range *result { + if fel.ErrMsg != "" { + errs = append(errs, fmt.Sprintf("skuCode:%s,修改饿百可售状态错误:%s", fel.SkuID, fel.ErrMsg)) + } + } } } if len(errs) == model.NO { @@ -312,7 +364,9 @@ func TiktokSyncSkuPriceAndStatus(db *dao.DaoDB, sm *model.StoreMap, skuMap map[s foodListData = make([]product_listV2_response.DataItem, 0, 0) errs = make([]string, 0, 0) ) - + if len(skuMap) == 0 || sm.IsSync != model.YES { + return fmt.Errorf("门店未打开同步或者未关注商品") + } for { param := &product_listV2_request.ProductListV2Param{ Page: int64(page), @@ -367,6 +421,16 @@ func TiktokSyncSkuPriceAndStatus(db *dao.DaoDB, sm *model.StoreMap, skuMap map[s } } } + } else { + param := &sku_syncStock_request.SkuSyncStockParam{ + ProductId: sku.DdID, + Incremental: false, + StockNum: 0, + OutSkuId: int64(sku.SkuID), + } + if err = tiktokApi.UpdateSkuStock(param); err != nil { + errs = append(errs, fmt.Sprintf("抖音对比商品下架异常skuid:%d,错误%v", sku.SkuID, err)) + } } } diff --git a/business/model/dao/dao_order_sku_financial.go b/business/model/dao/dao_order_sku_financial.go index 7abbd82a2..444ca2246 100644 --- a/business/model/dao/dao_order_sku_financial.go +++ b/business/model/dao/dao_order_sku_financial.go @@ -32,7 +32,7 @@ func GetBadCommentOrderId(jxStoreId int, startTime, endTime time.Time, foodNameL // 是在不行误差有一两个商品也行 for _, v := range commentOrder { - if v.Count == len(foodNameList)-1 { + if v.Count == len(foodNameList)-1 || v.Count == len(foodNameList)+1 { return v.VendorOrderId, nil } } diff --git a/business/partner/purchase/mtwm/order_comment.go b/business/partner/purchase/mtwm/order_comment.go index 218401be4..d76ba6a9c 100644 --- a/business/partner/purchase/mtwm/order_comment.go +++ b/business/partner/purchase/mtwm/order_comment.go @@ -91,21 +91,20 @@ func (c *PurchaseHandler) RefreshComment(fromTime, toTime time.Time) (err error) } } - if len(mtwmComment.CommentOrderDetail) > 0 { - foodNameList := make([]string, 0, len(mtwmComment.CommentOrderDetail)) - for _, fn := range mtwmComment.CommentOrderDetail { - if len(fn.FoodName)-strings.LastIndex(fn.FoodName, ")") > 3 { - foodNameList = append(foodNameList, fn.FoodName) - } else { - foodNameList = append(foodNameList, fn.FoodName[0:strings.LastIndex(fn.FoodName, "(")]) - } - } + foodNameList := make([]string, 0, 0) + for _, fn := range mtwmComment.PraiseRetailList { + foodNameList = append(foodNameList, fn.Name) + } + for _, fn := range mtwmComment.CriticRetailList { + foodNameList = append(foodNameList, fn.Name) + } + + if len(foodNameList) > 0 { vendorOrderID, _ := dao.GetBadCommentOrderId(storeDetail.ID, startTime, endTime, foodNameList) if vendorOrderID != "" { orderComment.VendorOrderID2 = vendorOrderID } } - orderCommentList = append(orderCommentList, orderComment) } }