txd
This commit is contained in:
@@ -177,6 +177,8 @@ func getVendorPriceFromStoreSkuBind(bind *model.StoreSkuBind, vendorID int) (ven
|
||||
vendorPrice = bind.JxPrice
|
||||
case model.VendorIDDD:
|
||||
vendorPrice = bind.DdPrice
|
||||
case model.VendorIDTaoVegetable:
|
||||
vendorPrice = bind.TaoPrice
|
||||
}
|
||||
return vendorPrice
|
||||
}
|
||||
|
||||
@@ -451,6 +451,7 @@ func DeleteCategoryMap(ctx *jxcontext.Context, db *dao.DaoDB, categoryID int) (n
|
||||
return dao.DeleteEntityLogically(db, catMap, map[string]interface{}{
|
||||
model.FieldEbaiSyncStatus: model.SyncFlagDeletedMask,
|
||||
model.FieldMtwmSyncStatus: model.SyncFlagDeletedMask,
|
||||
model.FieldTaoSyncStatus: model.SyncFlagDeletedMask,
|
||||
}, ctx.GetUserName(), map[string]interface{}{
|
||||
model.FieldCategoryID: categoryID,
|
||||
model.FieldDeletedAt: utils.DefaultTimeValue,
|
||||
@@ -1188,10 +1189,10 @@ func getCategoryByImg(img ...string) string {
|
||||
}
|
||||
|
||||
// 根据平台返回的分类id,获取本地绑定的映射分类id
|
||||
func getJDCategoryLoadingLocalCategoryReflex(jdCategoryId, jdsCategoryID, ebaiCategoryID, mtwmCategoryID string, jxCategoryId int) (string, string, string, int) {
|
||||
func getJDCategoryLoadingLocalCategoryReflex(jdCategoryId, jdsCategoryID, ebaiCategoryID, mtwmCategoryID, taoCategoryID string, jxCategoryId int) (string, string, string, string, int) {
|
||||
cats, err := dao.GetCategoriesByName(dao.GetDB(), "", jdCategoryId)
|
||||
if len(cats) == 0 || err != nil {
|
||||
return jdsCategoryID, ebaiCategoryID, mtwmCategoryID, 0
|
||||
return jdsCategoryID, ebaiCategoryID, mtwmCategoryID, taoCategoryID, 0
|
||||
} else {
|
||||
if jdsCategoryID == "" && cats[0].JdsCategoryID != 0 {
|
||||
jdsCategoryID = utils.Int64ToStr(cats[0].JdsCategoryID)
|
||||
@@ -1202,11 +1203,14 @@ func getJDCategoryLoadingLocalCategoryReflex(jdCategoryId, jdsCategoryID, ebaiCa
|
||||
if mtwmCategoryID == "" && cats[0].MtwmCategoryID != 0 {
|
||||
mtwmCategoryID = utils.Int64ToStr(cats[0].MtwmCategoryID)
|
||||
}
|
||||
if taoCategoryID == "" && cats[0].TaoCategoryID != 0 {
|
||||
taoCategoryID = utils.Int64ToStr(cats[0].TaoCategoryID)
|
||||
}
|
||||
if jxCategoryId == 0 || jxCategoryId == 291 {
|
||||
jxCategoryId = cats[0].ID
|
||||
}
|
||||
}
|
||||
return jdsCategoryID, ebaiCategoryID, mtwmCategoryID, jxCategoryId
|
||||
return jdsCategoryID, ebaiCategoryID, mtwmCategoryID, taoCategoryID, jxCategoryId
|
||||
}
|
||||
|
||||
func updateOrCreateSkuVendorCategoryMap(db *dao.DaoDB, ctx *jxcontext.Context, nameID int, payload map[string]interface{}, skuNameExt *model.SkuNameExt, isDelete bool) (flag bool) {
|
||||
@@ -1242,6 +1246,7 @@ func updateOrCreateSkuVendorCategoryMap(db *dao.DaoDB, ctx *jxcontext.Context, n
|
||||
jdsCategoryID := ""
|
||||
ebaiCategoryID := ""
|
||||
mtwmCategoryID := ""
|
||||
taoCategoryID := ""
|
||||
ddCategoryID := ""
|
||||
jxCategoryID := 0
|
||||
if skuNameExt != nil {
|
||||
@@ -1252,7 +1257,7 @@ func updateOrCreateSkuVendorCategoryMap(db *dao.DaoDB, ctx *jxcontext.Context, n
|
||||
}
|
||||
|
||||
if jdCategoryId != "" && jdCategoryId != "0" {
|
||||
jdsCategoryID, ebaiCategoryID, mtwmCategoryID, jxCategoryID = getJDCategoryLoadingLocalCategoryReflex(jdCategoryId, skuNameExt.JdsCategoryID, skuNameExt.EbaiCategoryID, skuNameExt.MtwmCategoryID, skuNameExt.CategoryID)
|
||||
jdsCategoryID, ebaiCategoryID, mtwmCategoryID, taoCategoryID, jxCategoryID = getJDCategoryLoadingLocalCategoryReflex(jdCategoryId, skuNameExt.JdsCategoryID, skuNameExt.EbaiCategoryID, skuNameExt.MtwmCategoryID, skuNameExt.TaoCategoryID, skuNameExt.CategoryID)
|
||||
} else {
|
||||
jdsCategoryID = skuNameExt.JdsCategoryID
|
||||
ebaiCategoryID = skuNameExt.EbaiCategoryID
|
||||
@@ -1323,7 +1328,7 @@ func updateOrCreateSkuVendorCategoryMap(db *dao.DaoDB, ctx *jxcontext.Context, n
|
||||
}
|
||||
|
||||
if jdCategoryId != "" {
|
||||
jdsCategoryID, ebaiCategoryID, mtwmCategoryID, jxCategoryID = getJDCategoryLoadingLocalCategoryReflex(jdCategoryId, jdsCategoryID, ebaiCategoryID, mtwmCategoryID, jxCategoryID)
|
||||
jdsCategoryID, ebaiCategoryID, mtwmCategoryID, taoCategoryID, jxCategoryID = getJDCategoryLoadingLocalCategoryReflex(jdCategoryId, jdsCategoryID, ebaiCategoryID, mtwmCategoryID, taoCategoryID, jxCategoryID)
|
||||
}
|
||||
|
||||
if payload["ddCategoryID"] != nil {
|
||||
@@ -1645,6 +1650,7 @@ func refreshStoreSkuPrice(ctx *jxcontext.Context, db *dao.DaoDB, skuID int) (err
|
||||
storeSku.ID = v.BindID
|
||||
storeSku.JdSyncStatus = v.JdSyncStatus | model.SyncFlagPriceMask
|
||||
storeSku.MtwmSyncStatus = v.MtwmSyncStatus | model.SyncFlagPriceMask
|
||||
storeSku.TaoSyncStatus = v.TaoSyncStatus | model.SyncFlagPriceMask
|
||||
storeSku.EbaiSyncStatus = v.EbaiSyncStatus | model.SyncFlagPriceMask
|
||||
storeSku.Price = jxutils.CaculateSkuPrice(int(v.UnitPrice), v.SpecQuality, v.SpecUnit, v.Unit)
|
||||
storeSku.JxPrice = jxutils.CaculatePriceByPricePack(storeDetail.PricePercentagePackObj, int(storeDetail.PricePercentage), int(storeSku.Price))
|
||||
@@ -1659,7 +1665,7 @@ func refreshStoreSkuPrice(ctx *jxcontext.Context, db *dao.DaoDB, skuID int) (err
|
||||
}
|
||||
}
|
||||
}()
|
||||
dao.UpdateEntity(db, storeSku, "Price", "JdSyncStatus", "MtwmSyncStatus", "EbaiSyncStatus", "JxPrice", "LastOperator")
|
||||
dao.UpdateEntity(db, storeSku, "Price", "JdSyncStatus", "MtwmSyncStatus", "TaoSyncStatus", "EbaiSyncStatus", "JxPrice", "LastOperator")
|
||||
dao.Commit(db, txDB)
|
||||
return retVal, err
|
||||
}, list)
|
||||
@@ -1730,6 +1736,7 @@ func DeleteStoreSku(ctx *jxcontext.Context, db *dao.DaoDB, nameID, skuID int) (n
|
||||
_, err = dao.DeleteEntityLogically(db, storeSkuBind, map[string]interface{}{
|
||||
model.FieldJdSyncStatus: model.SyncFlagDeletedMask,
|
||||
model.FieldMtwmSyncStatus: model.SyncFlagDeletedMask,
|
||||
model.FieldTaoSyncStatus: model.SyncFlagDeletedMask,
|
||||
model.FieldEbaiSyncStatus: model.SyncFlagDeletedMask,
|
||||
model.FieldJdsSyncStatus: model.SyncFlagDeletedMask,
|
||||
}, ctx.GetUserName(), map[string]interface{}{
|
||||
|
||||
@@ -719,7 +719,7 @@ func getGetStoresSkusBaseSQL(db *dao.DaoDB, storeIDs, skuIDs []int, upcs []strin
|
||||
sql += " AND t4.status >= ? AND t4.status <= ?"
|
||||
sqlParams = append(sqlParams, fromStatus, toStatus)
|
||||
}
|
||||
if params["jdSyncStatus"] != nil || params["ebaiSyncStatus"] != nil || params["mtwmSyncStatus"] != nil {
|
||||
if params["jdSyncStatus"] != nil || params["ebaiSyncStatus"] != nil || params["mtwmSyncStatus"] != nil || params["taoSyncStatus"] != nil {
|
||||
realVendorMap, err2 := getValidStoreVendorMap(db, storeIDs)
|
||||
if err = err2; err != nil {
|
||||
return "", nil, err
|
||||
@@ -741,6 +741,10 @@ func getGetStoresSkusBaseSQL(db *dao.DaoDB, storeIDs, skuIDs []int, upcs []strin
|
||||
sql += " OR (t4.mtwm_sync_status & ? <> 0 AND NOT (t4.mtwm_sync_status & ? <> 0 AND (t4.status <> ? OR t2.status <> ?)) )"
|
||||
sqlParams = append(sqlParams, params["mtwmSyncStatus"], model.SyncFlagNewMask, model.SkuStatusNormal, model.SkuStatusNormal)
|
||||
}
|
||||
if params["taoSyncStatus"] != nil && realVendorMap[model.VendorIDTaoVegetable] == 1 {
|
||||
sql += " OR (t4.tao_sync_status & ? <> 0 AND NOT (t4.tao_sync_status & ? <> 0 AND (t4.status <> ? OR t2.status <> ?)) )"
|
||||
sqlParams = append(sqlParams, params["taoSyncStatus"], model.SyncFlagNewMask, model.SkuStatusNormal, model.SkuStatusNormal)
|
||||
}
|
||||
sql += ")"
|
||||
}
|
||||
}
|
||||
@@ -981,7 +985,7 @@ func getGetStoresSkusBaseSQL2(db *dao.DaoDB, storeIDs, skuIDs []int, upcs []stri
|
||||
sql += " AND t4.status >= ? AND t4.status <= ?"
|
||||
sqlParams = append(sqlParams, fromStatus, toStatus)
|
||||
}
|
||||
if params["jdSyncStatus"] != nil || params["ebaiSyncStatus"] != nil || params["mtwmSyncStatus"] != nil {
|
||||
if params["jdSyncStatus"] != nil || params["ebaiSyncStatus"] != nil || params["mtwmSyncStatus"] != nil || params["taoSyncStatus"] != nil {
|
||||
realVendorMap, err2 := getValidStoreVendorMap(db, storeIDs)
|
||||
if err = err2; err != nil {
|
||||
return "", nil, err
|
||||
@@ -1003,6 +1007,10 @@ func getGetStoresSkusBaseSQL2(db *dao.DaoDB, storeIDs, skuIDs []int, upcs []stri
|
||||
sql += " OR (t4.dd_sync_status & ? <> 0 AND NOT (t4.dd_sync_status & ? <> 0 AND (t4.status <> ? OR t2.status <> ?)) )"
|
||||
sqlParams = append(sqlParams, params["ddSyncStatus"], model.SyncFlagNewMask, model.SkuStatusNormal, model.SkuStatusNormal)
|
||||
}
|
||||
if params["taoSyncStatus"] != nil && realVendorMap[model.VendorIDTaoVegetable] == 1 {
|
||||
sql += " OR (t4.tao_sync_status & ? <> 0 AND NOT (t4.tao_sync_status & ? <> 0 AND (t4.status <> ? OR t2.status <> ?)) )"
|
||||
sqlParams = append(sqlParams, params["taoSyncStatus"], model.SyncFlagNewMask, model.SkuStatusNormal, model.SkuStatusNormal)
|
||||
}
|
||||
sql += ")"
|
||||
}
|
||||
}
|
||||
@@ -2066,6 +2074,7 @@ func updateStoresSkusWithoutSync(ctx *jxcontext.Context, db *dao.DaoDB, storeIDs
|
||||
skuBind.ID = deletedSku.ID
|
||||
// vendorSkuID的赋值意义不大
|
||||
skuBind.MtwmID = deletedSku.MtwmID
|
||||
skuBind.TaoID = deletedSku.TaoID
|
||||
skuBind.EbaiID = deletedSku.EbaiID
|
||||
skuBind.JdsID = deletedSku.JdsID
|
||||
skuBind.JdsWareID = deletedSku.JdsWareID
|
||||
@@ -2125,6 +2134,7 @@ func updateStoresSkusWithoutSync(ctx *jxcontext.Context, db *dao.DaoDB, storeIDs
|
||||
model.FieldJdSyncStatus: model.SyncFlagDeletedMask,
|
||||
model.FieldEbaiSyncStatus: model.SyncFlagDeletedMask,
|
||||
model.FieldMtwmSyncStatus: model.SyncFlagDeletedMask,
|
||||
model.FieldTaoSyncStatus: model.SyncFlagDeletedMask,
|
||||
model.FieldYbSyncStatus: model.SyncFlagDeletedMask,
|
||||
model.FieldJdsSyncStatus: model.SyncFlagDeletedMask,
|
||||
model.FieldDdSyncStatus: model.SyncFlagDeletedMask,
|
||||
@@ -2262,6 +2272,7 @@ func updateStoresSkusWithoutSync(ctx *jxcontext.Context, db *dao.DaoDB, storeIDs
|
||||
updateFieldMap[model.FieldJdSyncStatus] = 1
|
||||
updateFieldMap[model.FieldEbaiSyncStatus] = 1
|
||||
updateFieldMap[model.FieldMtwmSyncStatus] = 1
|
||||
updateFieldMap[model.FieldTaoSyncStatus] = 1
|
||||
updateFieldMap[model.FieldDdSyncStatus] = 1
|
||||
updateFieldMap[model.FieldUpdatedAt] = 1
|
||||
updateFieldMap[model.FieldLastOperator] = 1
|
||||
@@ -2424,6 +2435,7 @@ func updateStoreSkusSaleWithoutSync(ctx *jxcontext.Context, storeID int, skuBind
|
||||
model.FieldJdSyncStatus: skuBind.JdSyncStatus | model.SyncFlagSaleMask,
|
||||
model.FieldEbaiSyncStatus: skuBind.EbaiSyncStatus | model.SyncFlagSaleMask,
|
||||
model.FieldMtwmSyncStatus: skuBind.MtwmSyncStatus | model.SyncFlagSaleMask,
|
||||
model.FieldTaoSyncStatus: skuBind.TaoSyncStatus | model.SyncFlagSaleMask,
|
||||
model.FieldDdSyncStatus: skuBind.DdSyncStatus | model.SyncFlagSaleMask,
|
||||
}
|
||||
if utils.IsTimeZero(autoSaleTime) || skuBind.Status == model.SkuStatusNormal {
|
||||
@@ -3195,6 +3207,7 @@ func setStoreSkuBindStatus(skuBind *model.StoreSkuBind, status int8) {
|
||||
skuBind.JdSyncStatus |= status
|
||||
skuBind.EbaiSyncStatus |= status
|
||||
skuBind.MtwmSyncStatus |= status
|
||||
skuBind.TaoSyncStatus |= status
|
||||
skuBind.YbSyncStatus |= status
|
||||
skuBind.JdsSyncStatus |= status
|
||||
skuBind.DdSyncStatus |= status
|
||||
@@ -5495,6 +5508,7 @@ func buildStoreSkuBindInfosAndFocus(ctx *jxcontext.Context, db *dao.DaoDB, store
|
||||
JxPrice: jxPrice,
|
||||
YbSyncStatus: 0,
|
||||
MtwmSyncStatus: model.SyncFlagNewMask,
|
||||
TaoSyncStatus: model.SyncFlagNewMask,
|
||||
JdSyncStatus: model.SyncFlagNewMask,
|
||||
EbaiSyncStatus: model.SyncFlagNewMask,
|
||||
}
|
||||
|
||||
@@ -397,6 +397,8 @@ func CompareJxAndVendor(vendorID int, storeIDStr, vendorStoreID, storeName strin
|
||||
status = jxSkuInfo.Skus[0].EbaiSyncStatus
|
||||
} else if vendorID == model.VendorIDJD {
|
||||
status = jxSkuInfo.Skus[0].JdSyncStatus
|
||||
} else if vendorID == model.VendorIDTaoVegetable {
|
||||
status = jxSkuInfo.Skus[0].TaoSyncStatus
|
||||
}
|
||||
syncStatus := utils.Int2Str(int(status))
|
||||
toBeCreate := GetBoolName(model.IsSyncStatusNeedCreate(status))
|
||||
|
||||
@@ -69,6 +69,10 @@ func CreateStoreCategoryByStoreSku(ctx *jxcontext.Context, vendorID, storeID int
|
||||
}
|
||||
|
||||
func SyncStoreCategories(ctx *jxcontext.Context, parentTask tasksch.ITask, vendorID, storeID int, vendorStoreID string, nameIDs, skuIDs []int, isAsync, isContinueWhenError bool) (hint string, err error) {
|
||||
// 668594 正式服印象汇 668469 测试服芬姐
|
||||
if storeID != 668594 && storeID != 668469 && vendorID == model.VendorIDTaoVegetable {
|
||||
return "", nil
|
||||
}
|
||||
handler := partner.GetPurchasePlatformFromVendorID(vendorID).(partner.ISingleStoreStoreSkuHandler)
|
||||
num := 0
|
||||
db := dao.GetDB()
|
||||
@@ -551,9 +555,7 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, causeFlag
|
||||
}
|
||||
} else {
|
||||
if sku.MergedStatus == model.SkuStatusNormal {
|
||||
if vendorID == model.VendorIDDD {
|
||||
createList = append(createList, sku)
|
||||
} else if dao.IsVendorThingIDEmpty(sku.VendorCatID) && !strings.Contains(sku.StoreName, model.ExdStoreName) && vendorID != model.VendorIDYB && vendorID != model.VendorIDJDShop {
|
||||
if dao.IsVendorThingIDEmpty(sku.VendorCatID) && !strings.Contains(sku.StoreName, model.ExdStoreName) && vendorID != model.VendorIDYB && vendorID != model.VendorIDDD || vendorID != model.VendorIDJDShop {
|
||||
globals.SugarLogger.Warnf("syncStoreSkuNew 创建门店:%d商品:%d,但没有平台分类ID", storeID, sku.SkuID)
|
||||
} else if dao.IsVendorThingIDEmpty(utils.Int64ToStr(sku.VendorVendorCatID)) && vendorID == model.VendorIDJDShop {
|
||||
globals.SugarLogger.Warnf("syncStoreSkuNew 创建门店:%d商品:%d,但没有映射的平台ID", storeID, sku.SkuID)
|
||||
|
||||
Reference in New Issue
Block a user