1
This commit is contained in:
@@ -37,12 +37,18 @@ type MainSku struct {
|
||||
PageSize int64 `json:"pageSize"`
|
||||
}
|
||||
|
||||
type TiktokIdAndLocalSkuId struct {
|
||||
MainId string `json:"mainId"` // 商城商品主id
|
||||
LocalSkuId int64 `json:"localSkuId"` // 本地商品id
|
||||
SkuAttrId string `json:"skuAttrId"` // 主商品属性id
|
||||
}
|
||||
|
||||
// QueryAllMainSkuList 获取商户账号总的商品,主商品条数.
|
||||
func QueryAllMainSkuList(appOrgCode string, param *MainSku) (map[string]int64, error) {
|
||||
func QueryAllMainSkuList(appOrgCode string, param *MainSku) ([]*TiktokIdAndLocalSkuId, error) {
|
||||
var (
|
||||
page int64 = 1
|
||||
pageSize int64 = 100
|
||||
tiktokIdAndLocalSkuId = make(map[string]int64, 0)
|
||||
tiktokIdAndLocalSkuId = make([]*TiktokIdAndLocalSkuId, 0, 0)
|
||||
api = getAPI(appOrgCode, 0, "")
|
||||
)
|
||||
if param.Page == 0 {
|
||||
@@ -59,24 +65,26 @@ func QueryAllMainSkuList(appOrgCode string, param *MainSku) (map[string]int64, e
|
||||
}
|
||||
for _, v := range mainSkuList.Data {
|
||||
var localSkuId int64 = 0
|
||||
if v.OutProductId != 0 {
|
||||
localSkuId = v.ProductId
|
||||
} else if v.OuterProductId != "" {
|
||||
localSkuId = utils.Str2Int64(v.OuterProductId)
|
||||
} else {
|
||||
skuDetail, err := api.GetSkuDetail(utils.Int64ToStr(v.ProductId), "")
|
||||
if err != nil {
|
||||
localSkuId = 0
|
||||
}
|
||||
if skuDetail.OutProductId != 0 {
|
||||
localSkuId = skuDetail.OutProductId
|
||||
} else if skuDetail.OuterProductId != "" {
|
||||
localSkuId = utils.Str2Int64(skuDetail.OuterProductId)
|
||||
} else {
|
||||
localSkuId = 0
|
||||
}
|
||||
skuDetail, err := api.GetSkuDetail(utils.Int64ToStr(v.ProductId), "")
|
||||
if err != nil {
|
||||
localSkuId = 0
|
||||
}
|
||||
tiktokIdAndLocalSkuId[utils.Int64ToStr(v.ProductId)] = localSkuId
|
||||
if skuDetail.OutProductId != 0 {
|
||||
localSkuId = skuDetail.OutProductId
|
||||
} else if skuDetail.OuterProductId != "" {
|
||||
localSkuId = utils.Str2Int64(skuDetail.OuterProductId)
|
||||
}
|
||||
|
||||
var attrId []string
|
||||
for _, v := range skuDetail.SpecPrices {
|
||||
attrId = append(attrId, utils.Int64ToStr(v.SkuId))
|
||||
}
|
||||
|
||||
tiktokIdAndLocalSkuId = append(tiktokIdAndLocalSkuId, &TiktokIdAndLocalSkuId{
|
||||
MainId: skuDetail.ProductIdStr,
|
||||
LocalSkuId: localSkuId,
|
||||
SkuAttrId: strings.Join(attrId, ","),
|
||||
})
|
||||
}
|
||||
|
||||
if int64(len(mainSkuList.Data)) < pageSize {
|
||||
@@ -169,12 +177,13 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI
|
||||
//if err != nil {
|
||||
// return nil, err
|
||||
//}
|
||||
param.StandardBrandId = 596120136
|
||||
param.StandardBrandId = 596120136 // 默认品牌
|
||||
|
||||
// 根据本地商品id获取线上商品是否存在,存在则只创建子商品
|
||||
var tiktokResultProductId int64 = 0
|
||||
skuMain, err2 := api.GetSkuDetailLocalID("", param.OuterProductId)
|
||||
if err2 != nil { // 线上不存在创建
|
||||
// 获取本地存储映射关系
|
||||
localThing, _ := dao.GetThingToTiktokMapList(dao.GetDB(), model.VendorIDDD, int64(storeSku.SkuID))
|
||||
if len(localThing) == 0 { // 线上不存在创建
|
||||
tiktokResult, err := api.CreateStoreCommodity(param) // 创建主商品
|
||||
if err != nil {
|
||||
failedList = putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDDD], syncType)
|
||||
@@ -187,14 +196,11 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI
|
||||
attrId = append(attrId, utils.Int64ToStr(v.SkuId))
|
||||
}
|
||||
storeSku.VendorSkuAttrId = strings.Join(attrId, ",") // 属性id skuID
|
||||
dao.CreateThingMap(int64(storeSku.SkuID), utils.Int64ToStr(tiktokResult.ProductId), storeDetail.VendorOrgCode, storeSku.VendorSkuAttrId)
|
||||
} else {
|
||||
storeSku.VendorMainId = utils.Int64ToStr(skuMain.ProductId)
|
||||
var attrId []string
|
||||
for _, v := range skuMain.SpecPrices {
|
||||
attrId = append(attrId, utils.Int64ToStr(v.SkuId))
|
||||
}
|
||||
storeSku.VendorSkuAttrId = strings.Join(attrId, ",") // 属性id skuID
|
||||
tiktokResultProductId = skuMain.ProductId
|
||||
storeSku.VendorMainId = localThing[0].VendorThingID
|
||||
storeSku.VendorSkuAttrId = localThing[0].Remark // 属性id skuID
|
||||
tiktokResultProductId = utils.Str2Int64(localThing[0].VendorThingID)
|
||||
}
|
||||
|
||||
// 创建子商品
|
||||
|
||||
Reference in New Issue
Block a user