This commit is contained in:
邹宗楠
2022-12-14 13:42:36 +08:00
parent 0c2026f4fd
commit dabbd8a5b1
2 changed files with 21 additions and 17 deletions

View File

@@ -27,20 +27,16 @@ func GetThingMapList(db *DaoDB, thingType int, vendorIDs, thingIDs []int, vendor
return cats, err
}
func CreateThingMap(thingId int64, vendorThingID, appOrgCode, skuAttrId string, thingType, syncStatus int8) error {
func CreateThingMap(thingId int64, vendorThingID, appOrgCode, err string, thingType, syncStatus int8) error {
thingMap := &model.ThingMap{
ThingID: thingId,
ThingType: thingType,
VendorID: model.VendorIDDD,
VendorOrgCode: appOrgCode,
VendorThingID: vendorThingID,
Remark: skuAttrId,
Remark: err,
SyncStatus: syncStatus,
}
// 正常来说这个skuAttrId 不应该为空
if skuAttrId == "" {
thingMap.Remark = "这个值不应该为空才对"
}
WrapAddIDCULDEntity(thingMap, "jxadmin")
return CreateEntity(GetDB(), thingMap)

View File

@@ -152,7 +152,7 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI
OuterProductId: utils.Int2Str(storeSku.SkuID), // 本地skuId为外部商品id
}
if len(param.Name) < 23 { // 中文字符一个汉字三个长度符号/数字/字母两个长度,商品名称不能大于
param.Name += "【惊喜到家】"
param.Name += "【同城配送】"
} else if len(param.Name) > 90 { // 抖音最大60个字符,三十个汉字
param.Name = param.Name[0:90]
}
@@ -218,11 +218,15 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI
if len(localThing) == 0 {
mainOrderDetail, err := api.GetSkuDetailLocalID("", utils.Int2Str(storeSku.SkuID))
if err != nil || mainOrderDetail == nil || mainOrderDetail.ProductIdStr == "" {
globals.SugarLogger.Debugf("========result %s", "本地不存在,线上也不存在")
tiktokResult, err := api.CreateStoreCommodity(param) // 创建主商品,同步主商品
globals.SugarLogger.Debugf("========result %s", utils.Format4Output(tiktokResult, false))
globals.SugarLogger.Debugf("========err %s", utils.Format4Output(err, false))
if err != nil {
if err := dao.CreateThingMap(int64(storeSku.SkuID), utils.Int64ToStr(tiktokResult.ProductId), storeDetail.VendorOrgCode, storeSku.VendorSkuAttrId, model.ThingTypeSku, model.SyncFlagNewMask); err != nil {
if err := dao.CreateThingMap(int64(storeSku.SkuID), utils.Int64ToStr(tiktokResult.ProductId), storeDetail.VendorOrgCode, err.Error(), model.ThingTypeSku, model.SyncFlagNewMask); err != nil {
failedList = putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDDD], syncType)
}
} else {
failedList = putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDDD], syncType)
storeSku.VendorSkuID = utils.Int2Str(storeSku.SkuID)
continue
@@ -236,15 +240,19 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI
storeSku.VendorSkuAttrId = strings.Join(attrId, ",") // 属性id skuID
storeSku.VendorSonSkuID = utils.Int2Str(storeSku.SkuID) // 还没同步子商品
} else {
globals.SugarLogger.Debugf("========result %s", "本地不存在,线上存在,创建本地主品,分配子商品")
// 本地不存在,线上存在.直接创建子商品保存本地同步记录
var childrenProductId int64 = 0
if mainOrderDetail.CheckStatus == 3 {
childrenProductId, err = api.CreateSubProduct(mainOrderDetail.MainProductId, utils.Str2Int64(vendorStoreID))
if err != nil {
failedList = putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDDD], syncType)
if storeSku.VendorSkuID == "" {
storeSku.VendorSkuID = utils.Int2Str(storeSku.SkuID)
}
if mainOrderDetail.CheckStatus != tiktokShop.SkuCheckStatusPass && mainOrderDetail.CheckStatus != tiktokShop.SkuCheckStatusPassNotPutOn {
failedList = putils.GetErrMsg2FailedSingleList(storeSkuList, fmt.Errorf("主商品审核中或审核失败:[%d]", storeSku.SkuID), storeID, model.VendorChineseNames[model.VendorIDDD], syncType)
continue
}
childrenProductId, err = api.CreateSubProduct(mainOrderDetail.MainProductId, utils.Str2Int64(vendorStoreID))
if err != nil {
failedList = putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDDD], syncType)
if storeSku.VendorSkuID == "" {
storeSku.VendorSkuID = utils.Int2Str(storeSku.SkuID)
}
}
if err := dao.CreateThingMap(int64(storeSku.SkuID), mainOrderDetail.ProductIdStr, storeDetail.VendorOrgCode, storeSku.VendorSkuAttrId, model.ThingTypeSku, 0); err != nil {
@@ -263,7 +271,7 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI
storeSku.VendorSkuID = utils.Int64ToStr(childrenProductId) // 子商品主id
}
} else {
globals.SugarLogger.Debugf("========result %s", "本地存在,直接创建子商品")
// 主商品存在,直接同步子商品
childrenProductId, err := api.CreateSubProduct(utils.Str2Int64(localThing[0].VendorThingID), utils.Str2Int64(vendorStoreID))
if err != nil {
@@ -309,7 +317,7 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI
}
if len(param.Name) < 23 { // 中文字符一个汉字三个长度符号/数字/字母两个长度,商品名称不能大于
param.Name += "【惊喜到家】"
param.Name += "【同城配送】"
} else if len(param.Name) > 90 { // 抖音最大60个字符,三十个汉字
param.Name = param.Name[0:90]
}