Merge remote-tracking branch 'origin/mark' into yonghui

This commit is contained in:
苏尹岚
2019-12-03 10:26:52 +08:00
3 changed files with 37 additions and 12 deletions

View File

@@ -5,6 +5,7 @@ import (
"fmt"
"strconv"
"strings"
"time"
"git.rosy.net.cn/baseapi/utils"
"git.rosy.net.cn/jx-callback/business/jxutils"
@@ -116,8 +117,9 @@ func UpdateCategory(ctx *jxcontext.Context, categoryID int, payload map[string]i
if valid["name"] != nil {
valid["name"] = strings.Trim(valid["name"].(string), " ")
syncStatus = model.SyncFlagModifiedMask
valid[model.FieldJdSyncStatus] = int8(syncStatus) | cat.JdSyncStatus
}
if num, err = dao.UpdateEntityLogicallyAndUpdateSyncStatus(db, cat, valid, userName, nil, model.FieldJdSyncStatus, syncStatus); err == nil {
if num, err = dao.UpdateEntityLogically(db, cat, valid, userName, nil); err == nil {
SetStoreCategorySyncStatus2(db, nil, []int{categoryID}, model.SyncFlagModifiedMask)
var skuIDs []int
if valid["jdCategoryID"] != nil || valid["ebaiCategoryID"] != nil || valid["mtwmCategoryID"] != nil ||
@@ -725,7 +727,8 @@ func UpdateSkuName(ctx *jxcontext.Context, nameID int, payload map[string]interf
panic(r)
}
}()
if num, err = dao.UpdateEntityLogicallyAndUpdateSyncStatus(db, skuName, valid, userName, nil, model.FieldJdSyncStatus, model.SyncFlagModifiedMask); err == nil {
valid[model.FieldJdSyncStatus] = model.SyncFlagModifiedMask | skuName.JdSyncStatus
if num, err = dao.UpdateEntityLogically(db, skuName, valid, userName, nil); err == nil {
if utils.Interface2Int64WithDefault(payload["isGlobal"], 0) == 0 && payload["places"] != nil {
if places, ok := payload["places"].([]interface{}); ok {
if _, err = dao.DeleteSkuNamePlace(db, nameID, nil); err == nil {
@@ -745,10 +748,16 @@ func UpdateSkuName(ctx *jxcontext.Context, nameID int, payload map[string]interf
}
}
if err == nil {
sku := &model.Sku{}
_, err = dao.UpdateEntityLogicallyAndUpdateSyncStatus(db, sku, nil, userName, map[string]interface{}{
model.FieldNameID: nameID,
}, model.FieldJdSyncStatus, model.SyncFlagModifiedMask)
skuList, err2 := dao.GetSkus(db, nil, []int{nameID}, nil, nil)
if err = err2; err == nil {
for _, v := range skuList {
sku := &v.Sku
sku.JdSyncStatus |= model.SyncFlagModifiedMask
sku.LastOperator = userName
sku.UpdatedAt = time.Now()
dao.UpdateEntity(db, sku)
}
}
if err == nil {
skuIDs, err2 := dao.GetSkuIDByNames(db, []int{nameID})
if err = err2; err == nil && len(skuIDs) > 0 {
@@ -873,11 +882,12 @@ func UpdateSku(ctx *jxcontext.Context, skuID int, payload map[string]interface{}
panic(r)
}
}()
maskValue := model.SyncFlagModifiedMask
maskValue := int8(model.SyncFlagModifiedMask)
if valid["specQuality"] != nil || valid["specUnit"] != nil {
maskValue |= model.SyncFlagSpecMask
}
if num, err = dao.UpdateEntityLogicallyAndUpdateSyncStatus(db, sku, valid, userName, nil, model.FieldJdSyncStatus, maskValue); err == nil {
valid[model.FieldJdSyncStatus] = maskValue | sku.JdSyncStatus
if num, err = dao.UpdateEntityLogically(db, sku, valid, userName, nil); err == nil {
if num == 1 {
if num, err = dao.ExecuteSQL(db, `
UPDATE sku_name t1

View File

@@ -661,7 +661,7 @@ func amendAndPruneStoreStuff(ctx *jxcontext.Context, parentTask tasksch.ITask, v
if opType == AmendPruneOnlyAmend || opType == AmendPruneAll {
for _, v := range localSkuList {
if !model.IsSyncStatusDelete(v.StoreSkuSyncStatus) && v.BindID != 0 {
syncStatus := 0
syncStatus := int8(0)
if remoteSkuMap[v.VendorSkuID] == 0 {
if !model.IsSyncStatusNew(v.StoreSkuSyncStatus) {
syncStatus = model.SyncFlagNewMask
@@ -672,7 +672,10 @@ func amendAndPruneStoreStuff(ctx *jxcontext.Context, parentTask tasksch.ITask, v
if syncStatus != 0 {
skuBind := &model.StoreSkuBind{}
skuBind.ID = v.BindID
dao.UpdateEntityLogicallyAndUpdateSyncStatus(db, skuBind, nil, ctx.GetUserName(), nil, dao.GetSyncStatusStructField(model.VendorNames[vendorID]), syncStatus)
skuBind.LastOperator = ctx.GetUserName()
skuBind.UpdatedAt = time.Now()
dao.SetStoreSkuBindSyncStatus(skuBind, vendorID, syncStatus|v.StoreSkuSyncStatus)
dao.UpdateEntity(db, skuBind, dao.GetSyncStatusStructField(model.VendorNames[vendorID]), model.FieldLastOperator, model.FieldUpdatedAt)
}
}
}
@@ -708,7 +711,7 @@ func amendAndPruneStoreStuff(ctx *jxcontext.Context, parentTask tasksch.ITask, v
for _, v := range localCatList {
if !model.IsSyncStatusDelete(v.StoreCatSyncStatus) && v.MapID != 0 {
syncStatus := 0
syncStatus := int8(0)
if remoteCatMap[v.VendorCatID] == 0 {
if !model.IsSyncStatusNew(v.StoreCatSyncStatus) {
syncStatus = model.SyncFlagNewMask
@@ -719,7 +722,10 @@ func amendAndPruneStoreStuff(ctx *jxcontext.Context, parentTask tasksch.ITask, v
if syncStatus != 0 {
catBind := &model.StoreSkuCategoryMap{}
catBind.ID = v.MapID
dao.UpdateEntityLogicallyAndUpdateSyncStatus(db, catBind, nil, ctx.GetUserName(), nil, dao.GetSyncStatusStructField(model.VendorNames[vendorID]), syncStatus)
catBind.LastOperator = ctx.GetUserName()
catBind.UpdatedAt = time.Now()
dao.SetStoreCatMapSyncStatus(catBind, vendorID, syncStatus|v.StoreCatSyncStatus)
dao.UpdateEntity(db, catBind, dao.GetSyncStatusStructField(model.VendorNames[vendorID]), model.FieldLastOperator, model.FieldUpdatedAt)
}
}
}

View File

@@ -742,3 +742,12 @@ func GetStoreSkuBindSyncStatus(storeSkuBind *model.StoreSkuBind, vendorID int) (
}
return syncStatus
}
func SetStoreCatMapSyncStatus(storeCatMap *model.StoreSkuCategoryMap, vendorID int, syncStatus int8) {
switch vendorID {
case model.VendorIDMTWM:
storeCatMap.MtwmSyncStatus = syncStatus
case model.VendorIDEBAI:
storeCatMap.EbaiSyncStatus = syncStatus
}
}