This commit is contained in:
邹宗楠
2022-10-10 13:40:29 +08:00
parent d5425670e1
commit e4a6349902
3 changed files with 130 additions and 100 deletions

View File

@@ -755,6 +755,7 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, causeFlag
} }
} }
successList := putils.UnselectStoreSkuSyncListByVendorSkuIDs(batchedStoreSkuList, GetVendorSkuIDList(failedList)) successList := putils.UnselectStoreSkuSyncListByVendorSkuIDs(batchedStoreSkuList, GetVendorSkuIDList(failedList))
globals.SugarLogger.Debugf("successList================%s", utils.Format4Output(successList, false))
if len(successList) > 0 { if len(successList) > 0 {
updateStoreSku(dao.GetDB(), vendorID, successList, model.SyncFlagNewMask) updateStoreSku(dao.GetDB(), vendorID, successList, model.SyncFlagNewMask)
} }

View File

@@ -383,70 +383,98 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI
storeSku.VendorSkuID = utils.Int64ToStr(tiktokResultChildren.ProductId) storeSku.VendorSkuID = utils.Int64ToStr(tiktokResultChildren.ProductId)
} }
} else { } else {
syncType = "更新商品" //syncType = "更新商品"
for _, storeSku := range storeSkuList { //for _, storeSku := range storeSkuList {
param := &product_editV2_request.ProductEditV2Param{ // // 创建子商品
ProductId: utils.Str2Int64(storeSku.VendorSkuID), // param := &product_addV2_request.ProductAddV2Param{
CategoryLeafId: utils.Str2Int64(storeSku.VendorCatID), // CategoryLeafId: utils.Str2Int64(storeSku.SkuVendorMapCatID),
Name: storeSku.Name, // Name: storeSku.Name,
PayType: tiktokShop.TiktokPayType1, // PayType: tiktokShop.TiktokPayType1,
ReduceType: tiktokShop.SkuReduceTypePayMakeOrder, // ReduceType: tiktokShop.SkuReduceTypePayMakeOrder,
FreightId: freightId, // Weight: utils.Int2Float64(storeSku.Weight),
Weight: utils.Int2Float64(storeSku.Weight), // DeliveryDelayDay: tiktokShop.DeliveryDelayDayToDay,
DeliveryDelayDay: tiktokShop.DeliveryDelayDayToDay, // PresellType: tiktokShop.SendGoodsTypeNow,
PresellType: tiktokShop.SendGoodsTypeNow, // Supply7dayReturn: 0,
Supply7dayReturn: 0, // Mobile: storeDetail.Tel1,
Mobile: storeDetail.Tel1, // Commit: true,
Commit: true, // Specs: "净重|" + fmt.Sprintf("%f", storeSku.SpecQuality) + storeSku.SpecUnit,
Specs: "净重|" + fmt.Sprintf("%f", storeSku.SpecQuality) + storeSku.SpecUnit, // NeedRechargeMode: false,
NeedRechargeMode: false, // SellChannel: []int64{0},
SellChannel: []int64{0}, // StartSaleType: 0,
StartSaleType: 0, // PickupMethod: "0",
PickupMethod: "0", // }
StoreId: int64(storeSku.StoreID), // // param.AccountTemplateId = ""
MainProductId: int64(storeSku.NameID), // // 获取上传图,商品轮播图
} // img, err := GetTiktokImgList(utils.Int2Str(storeSku.StoreID), storeDetail.VendorOrgCode, storeSku.ImgOrigin, storeSku.Img2, storeSku.Img3, storeSku.Img4, storeSku.Img5)
// if err != nil {
// 获取上传图,商品轮播图 // return nil, err
img, err := GetTiktokImgList(utils.Int2Str(storeSku.StoreID), storeDetail.VendorOrgCode, storeSku.ImgOrigin, storeSku.Img2, storeSku.Img3, storeSku.Img4, storeSku.Img5) // }
if err != nil { // param.Pic = img
return nil, err // // 商品详情图
} // img2, err := GetTiktokImgList(utils.Int2Str(storeSku.StoreID), storeDetail.VendorOrgCode, storeSku.DescImg)
param.Pic = img // if err != nil {
// 商品详情图 // return nil, err
img2, err := GetTiktokImgList(utils.Int2Str(storeSku.StoreID), storeDetail.VendorOrgCode, storeSku.DescImg) // }
if err != nil { // param.Description = img2
return nil, err //
} // // weight_unit 目前抖音只支持g和kg两种
param.Description = img2 // switch storeSku.Unit {
// case "g", "ml", "G", "ML":
// weight_unit 目前抖音只支持g和kg两种 // param.WeightUnit = tiktokShop.WeightUint_G
switch storeSku.Unit { // case "kg", "l", "L", "KG":
case "g", "ml", "G", "ML": // param.WeightUnit = tiktokShop.WeightUint_G
param.WeightUnit = tiktokShop.WeightUint_G // }
case "kg", "l", "L", "KG": //
param.WeightUnit = tiktokShop.WeightUint_G // // spec_prices
} // param.SpecPrices = GetSpecPrices(param.Specs, vendorStoreID, 0, storeSku)
// // ProductFormatNew 获取商品属性
// spec_prices // productFormatNew, err := GetProductFormatNew(param.CategoryLeafId, storeDetail.VendorOrgCode)
param.SpecPrices = GetSpecPrices(param.Specs, vendorStoreID, 0, storeSku) // globals.SugarLogger.Debug("创建=============productFormatNew", productFormatNew)
// ProductFormatNew // globals.SugarLogger.Debug("创建=============productFormatNew err", err)
productFormatNew, err := GetProductFormatNew(param.CategoryLeafId, storeDetail.VendorOrgCode) // if err != nil {
globals.SugarLogger.Debug("更新=============productFormatNew", productFormatNew) // return nil, err
globals.SugarLogger.Debug("更新=============productFormatNew err", err) // }
if err != nil { // param.ProductFormatNew = productFormatNew
return nil, err // globals.SugarLogger.Debug("创建=============param", utils.Format4Output(param, false))
} //
param.ProductFormatNew = productFormatNew // // 获取品牌
// brandID, err := api.GetSkuBrand(param.CategoryLeafId)
// 抖店更新商品 // if err != nil {
if err := api.EditStoreCommodity(param); err != nil { // return nil, err
failedList = putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDDD], syncType) // }
storeSku.VendorSkuID = utils.Int2Str(storeSku.SkuID) // param.StandardBrandId = brandID
continue //
} // tiktokResult, err := api.EditStoreCommodity(param) // 创建主商品
} // if err != nil {
return // failedList = putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDDD], syncType)
// storeSku.VendorSkuID = utils.Int2Str(storeSku.SkuID)
// continue
// }
// globals.SugarLogger.Debugf("tiktokResult main ===%s", utils.Format4Output(tiktokResult, false))
//
// // 创建子商品
// param.FreightId = freightId
// param.MainProductId = tiktokResult.ProductId
// param.SpecPrices = GetSpecPrices(param.Specs, vendorStoreID, tiktokResult.ProductId, storeSku)
// // 获取门店限售模板
// saleLimitId, err := CreateSaleTemp(utils.Str2Int64(vendorStoreID), api)
// globals.SugarLogger.Debug("==22213123131231231", saleLimitId)
// if err != nil {
// return nil, err
// }
// param.SaleLimitId = saleLimitId
// param.StoreId = utils.Str2Int64(vendorStoreID)
// // 抖店创建商品
// globals.SugarLogger.Debugf("zishangping=============%s", utils.Format4Output(param, false))
// tiktokResultChildren, err := api.EditStoreCommodity(param)
// if err != nil {
// failedList = putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDDD], syncType)
// storeSku.VendorSkuID = utils.Int2Str(storeSku.SkuID)
// continue
// }
// storeSku.VendorSkuID = utils.Int64ToStr(tiktokResultChildren.ProductId)
//}
//return
} }
if len(failedList) > 0 { if len(failedList) > 0 {

69
main.go
View File

@@ -134,44 +134,45 @@ func checkCmdFlags() bool {
func main() { func main() {
if !checkCmdFlags() { if !checkCmdFlags() {
Init() Init()
if err := tasks.RefreshWeixinToken(); err != nil { //if err := tasks.RefreshWeixinToken(); err != nil {
globals.SugarLogger.Errorf("RefreshWeixinToken failed with error:%s", err) // globals.SugarLogger.Errorf("RefreshWeixinToken failed with error:%s", err)
return
}
if err := tasks.RefreshWeixin2Token(); err != nil {
globals.SugarLogger.Errorf("RefreshWeixin2Token failed with error:%s", err)
return
}
if err := tasks.RefreshWeixin3Token(); err != nil {
globals.SugarLogger.Errorf("RefreshWeixin3Token failed with error:%s", err)
return
}
// if err := tasks.RefreshWeimobToken(); err != nil {
// globals.SugarLogger.Errorf("RefreshWeimobToken failed with error:%s", err)
// return // return
//} //}
if err := tasks.RefreshYilianyunToken(); err != nil { //if err := tasks.RefreshWeixin2Token(); err != nil {
globals.SugarLogger.Errorf("RefreshYilianyunToken failed with error:%s", err) // globals.SugarLogger.Errorf("RefreshWeixin2Token failed with error:%s", err)
return
}
if err := tasks.RefreshPushToken(); err != nil {
globals.SugarLogger.Errorf("RefreshPushToken failed with error:%s", err)
return
}
if web.BConfig.RunMode != "jxgy" {
if err := tasks.RefreshFnToken(); err != nil {
globals.SugarLogger.Errorf("RefreshFnToken failed with error:%s", err)
return
}
}
//if err := tasks.RefreshTiktokToken(); err != nil {
// globals.SugarLogger.Errorf("RefreshTiktokToken failed with error:%s", err)
// return // return
//} //}
if err := tasks.RefreshQywxToken(); err != nil { //if err := tasks.RefreshWeixin3Token(); err != nil {
globals.SugarLogger.Errorf("RefreshQywxToken failed with error:%s", err) // globals.SugarLogger.Errorf("RefreshWeixin3Token failed with error:%s", err)
return // return
} //}
//// if err := tasks.RefreshWeimobToken(); err != nil {
//// globals.SugarLogger.Errorf("RefreshWeimobToken failed with error:%s", err)
//// return
//// }
//if err := tasks.RefreshYilianyunToken(); err != nil {
// globals.SugarLogger.Errorf("RefreshYilianyunToken failed with error:%s", err)
// return
//}
//if err := tasks.RefreshPushToken(); err != nil {
// globals.SugarLogger.Errorf("RefreshPushToken failed with error:%s", err)
// return
//}
//if web.BConfig.RunMode != "jxgy" {
// if err := tasks.RefreshFnToken(); err != nil {
// globals.SugarLogger.Errorf("RefreshFnToken failed with error:%s", err)
// return
// }
//}
////if err := tasks.RefreshTiktokToken(); err != nil {
//// globals.SugarLogger.Errorf("RefreshTiktokToken failed with error:%s", err)
//// return
////}
//if err := tasks.RefreshQywxToken(); err != nil {
// globals.SugarLogger.Errorf("RefreshQywxToken failed with error:%s", err)
// return
//}
// if globals.IsProductEnv() { // if globals.IsProductEnv() {
// orderman.SaveJdsOrders(nil, time.Now().Add(-2*time.Hour), time.Now()) // orderman.SaveJdsOrders(nil, time.Now().Add(-2*time.Hour), time.Now())
// } // }