Merge branch 'jdshop' of https://e.coding.net/rosydev/jx-callback into jdshop

This commit is contained in:
richboo111
2022-12-27 15:25:51 +08:00
3 changed files with 25 additions and 11 deletions

View File

@@ -255,7 +255,7 @@ func Init() {
if beego.BConfig.RunMode != "jxgy" {
ScheduleTimerFuncByInterval(func() {
syncStoreSkuTiktok()
}, 60*time.Second, 10*time.Minute)
}, 60*time.Second, 30*time.Minute)
}
// 定时任务刷新当前订单的物流信息
@@ -589,7 +589,7 @@ func syncStoreSkuTiktok() {
if beego.BConfig.RunMode != "jxgy" {
errList.AddErr(cms.DeleteSkuNameExPrefixOverdue(db))
errList.AddErr(cms.SetMultiStoreSkuSyncModifyStatus(db, partner.GetMultiStoreVendorIDs()))
_, err = cms.CurVendorSync.SyncStoresSkus2(jxcontext.AdminCtx, nil, 0, db, []int{model.VendorIDDD}, []int{668594, 668726}, false, nil, nil, syncFlag, true, true)
_, err = cms.CurVendorSync.SyncStoresSkus2(jxcontext.AdminCtx, nil, 0, db, []int{model.VendorIDDD}, []int{668619}, false, nil, nil, syncFlag, true, true)
errList.AddErr(err)
}
case 1:

View File

@@ -37,6 +37,9 @@ func CreateThingMap(thingId int64, vendorThingID, appOrgCode, err string, thingT
Remark: err,
SyncStatus: syncStatus,
}
if thingMap.VendorThingID == "" {
return nil
}
WrapAddIDCULDEntity(thingMap, "jxadmin")
return CreateEntity(GetDB(), thingMap)

View File

@@ -214,8 +214,15 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI
// 根据本地商品id获取线上商品是否存在,存在则只创建子商品
// 获取本地存储映射关系,获取本地主商品id是否存在
var mainProductId int64 = 0
localThing, _ := dao.GetThingToTiktokMapList(db, model.VendorIDDD, int64(storeSku.SkuID), storeDetail.VendorOrgCode)
mainOrderDetail, err := api.GetSkuDetailLocalID("", utils.Int2Str(storeSku.SkuID))
if mainOrderDetail.MainProductId != 0 {
mainProductId = mainOrderDetail.MainProductId
} else {
mainProductId = mainOrderDetail.ProductId
}
if len(localThing) == 0 {
if err != nil || mainOrderDetail == nil || mainOrderDetail.ProductIdStr == "" {
tiktokResult, err := api.CreateStoreCommodity(param) // 创建主商品,同步主商品
@@ -246,17 +253,17 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI
continue
}
if err := dao.CreateThingMap(int64(storeSku.SkuID), utils.Int64ToStr(mainOrderDetail.MainProductId), storeDetail.VendorOrgCode, storeSku.VendorSkuAttrId, model.ThingTypeSku, 0); err != nil {
if err := dao.CreateThingMap(int64(storeSku.SkuID), utils.Int64ToStr(mainProductId), storeDetail.VendorOrgCode, "线上存在本地不存在", model.ThingTypeSku, 0); err != nil {
failedList = putils.GetErrMsg2FailedSingleList(storeSku, err, storeID, model.VendorChineseNames[model.VendorIDDD], syncType)
}
childrenProductId, err = api.CreateSubProduct(mainOrderDetail.MainProductId, utils.Str2Int64(vendorStoreID))
childrenProductId, err = api.CreateSubProduct(mainProductId, utils.Str2Int64(vendorStoreID))
if err != nil {
failedList = putils.GetErrMsg2FailedSingleList(storeSku, err, storeID, model.VendorChineseNames[model.VendorIDDD], syncType)
continue
}
storeSku.VendorMainId = mainOrderDetail.ProductIdStr
storeSku.VendorMainId = utils.Int64ToStr(mainProductId)
var attrId []string
for _, v := range mainOrderDetail.SpecPrices {
attrId = append(attrId, utils.Int64ToStr(v.SkuId))
@@ -300,8 +307,8 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI
updateParam.Description = detailImg
updateParam.WeightUnit = tiktokShop.WeightUint_G
updateParam.StandardBrandId = param.StandardBrandId // 默认品牌京西菜市
updateParam.ProductId = mainOrderDetail.MainProductId
updateParam.MainProductId = mainOrderDetail.MainProductId
updateParam.ProductId = mainOrderDetail.ProductId
updateParam.MainProductId = mainProductId
updateParam.SpecPrices = param.SpecPrices
//updateParam.StoreId = utils.Str2Int64(vendorStoreID)
if err := api.EditStoreCommodity(updateParam); err != nil {
@@ -396,9 +403,14 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI
failedList = putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDDD], syncType)
continue
}
mainIdInt = mainOrderDetail.MainProductId
if mainOrderDetail.MainProductId != 0 {
mainIdInt = mainOrderDetail.MainProductId
} else {
mainIdInt = mainOrderDetail.ProductId
}
storeSku.VendorMainId = utils.Int64ToStr(mainIdInt)
if err := dao.CreateThingMap(int64(storeSku.SkuID), utils.Int64ToStr(mainIdInt), storeDetail.VendorOrgCode, storeSku.VendorSkuAttrId, model.ThingTypeSku, 0); err != nil {
if err := dao.CreateThingMap(int64(storeSku.SkuID), utils.Int64ToStr(mainIdInt), storeDetail.VendorOrgCode, "更新发现不存在", model.ThingTypeSku, 0); err != nil {
failedList = putils.GetErrMsg2FailedSingleList(storeSku, err, storeID, model.VendorChineseNames[model.VendorIDDD], syncType)
}
} else {
@@ -410,10 +422,9 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI
}
// 修改商品
param.ProductId = mainIdInt
param.ProductId = utils.Str2Int64(storeSku.VendorSkuID)
param.MainProductId = mainIdInt
param.SpecPrices = GetSpecPrices(param.Specs, vendorStoreID, param.MainProductId, storeSku)
//param.StoreId = utils.Str2Int64(vendorStoreID)
if err := api.EditStoreCommodity(param); err != nil {
failedList = putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDDD], syncType)
storeSku.VendorSkuID = utils.Int2Str(storeSku.SkuID)