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

This commit is contained in:
richboo111
2022-11-16 09:52:12 +08:00
4 changed files with 63 additions and 17 deletions

View File

@@ -120,7 +120,8 @@ func GetSkuDetailList(api *tiktokShop.API, param *MainSku) (*product_listV2_resp
// 抖店的商品只管创建,创建接口会返回成功,但是审核的时候不一定成功.当前系统无法判定此商品是否已经创建过了!
func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeID int, vendorStoreID string, storeSkuList []*dao.StoreSkuSyncInfo, isCreate bool) (failedList []*partner.StoreSkuInfoWithErr, err error) {
var syncType string
storeDetail, _ := dao.GetStoreDetail(dao.GetDB(), storeID, model.VendorIDDD, "")
db := dao.GetDB()
storeDetail, _ := dao.GetStoreDetail(db, storeID, model.VendorIDDD, "")
api := getAPI(storeDetail.VendorOrgCode, storeID, vendorStoreID)
if isCreate {
syncType = "创建商品"
@@ -204,7 +205,7 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI
// 根据本地商品id获取线上商品是否存在,存在则只创建子商品
var tiktokResultProductId int64 = 0
// 获取本地存储映射关系
localThing, err := dao.GetThingToTiktokMapList(dao.GetDB(), model.VendorIDDD, int64(storeSku.SkuID))
localThing, err := dao.GetThingToTiktokMapList(db, model.VendorIDDD, int64(storeSku.SkuID))
if len(localThing) == 0 { // 线上不存在创建
tiktokResult, err := api.CreateStoreCommodity(param) // 创建主商品
if err != nil {
@@ -227,8 +228,8 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI
}
// 创建子商品
temp, err := dao.QueryStoreBindInfo(storeDetail.ID)
if err != nil || temp == nil || temp.TemplateID == 0 {
temp, err := dao.QueryStoreBindInfo(storeDetail.Store.ID)
if err != nil || temp == nil || temp.ID == 0 {
// 运费模板
param.FreightId, err = GetDeliveryTemp(api, vendorStoreID, storeDetail)
if err != nil {
@@ -248,11 +249,32 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI
FenceID: "",
TradeLimitID: param.SaleLimitId,
}
dao.WrapAddIDCULDEntity(freightTemplate, "jxAdmin")
err = dao.CreateEntity(dao.GetDB(), freightTemplate)
err = dao.CreateEntity(db, freightTemplate)
} else {
param.FreightId = temp.TemplateID
param.SaleLimitId = temp.TradeLimitID
if temp.TemplateID != 0 {
param.FreightId = temp.TemplateID
} else {
// 运费模板
param.FreightId, err = GetDeliveryTemp(api, vendorStoreID, storeDetail)
if err != nil {
return nil, err
}
temp.TemplateID = param.FreightId
_, err = dao.UpdateEntity(db, temp, "TemplateID")
dao.FreightTemplateMap[temp.StoreID] = temp
}
if temp.TradeLimitID != 0 {
param.SaleLimitId = temp.TradeLimitID
} else {
// 获取门店限售模板
param.SaleLimitId, err = CreateSaleTemp(utils.Str2Int64(vendorStoreID), api)
if err != nil {
return nil, err
}
temp.TradeLimitID = param.SaleLimitId
_, err = dao.UpdateEntity(db, temp, "TradeLimitID")
dao.FreightTemplateMap[temp.StoreID] = temp
}
}
param.MainProductId = tiktokResultProductId
@@ -479,7 +501,6 @@ func GetDeliveryTemp(api *tiktokShop.API, vendorStoreID string, storeDetail *dao
return 0, err
}
freightId = temp.TemplateId
dao.InsertIntoFreightTemplate(storeDetail.Store.ID, storeDetail.VendorStoreID, freightId, 0, 0, 0)
}
globals.SugarLogger.Debugf("freightId =last %d", freightId)
return freightId, nil