商品映射类目

This commit is contained in:
苏尹岚
2020-07-28 11:00:43 +08:00
parent a8664cef65
commit 0c7ecd4a87
2 changed files with 49 additions and 9 deletions

View File

@@ -904,6 +904,8 @@ func AddSkuName(ctx *jxcontext.Context, skuNameExt *model.SkuNameExt, userName s
}
outSkuNameExt = tmpInfo.SkuNames[0]
_, err = CurVendorSync.SyncSku(ctx, db, outSkuNameExt.SkuName.ID, -1, false, false, userName)
updateOrCreateSkuVendorCategoryMap(db, ctx, outSkuNameExt.SkuName.ID, nil, skuNameExt, false)
return outSkuNameExt, err
}
@@ -981,7 +983,7 @@ func UpdateSkuName(ctx *jxcontext.Context, nameID int, payload map[string]interf
return 0, err
}
}
updateOrCreateSkuVendorCategoryMap(db, ctx, nameID, payload, false)
updateOrCreateSkuVendorCategoryMap(db, ctx, nameID, payload, nil, false)
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 {
@@ -1053,23 +1055,55 @@ func UpdateSkuName(ctx *jxcontext.Context, nameID int, payload map[string]interf
return num, err
}
func updateOrCreateSkuVendorCategoryMap(db *dao.DaoDB, ctx *jxcontext.Context, nameID int, payload map[string]interface{}, isDelete bool) {
func updateOrCreateSkuVendorCategoryMap(db *dao.DaoDB, ctx *jxcontext.Context, nameID int, payload map[string]interface{}, skuNameExt *model.SkuNameExt, isDelete bool) {
if isDelete {
skuVendorCatMaps, _ := dao.GetSkuVendorCategoryMaps(db, []int{nameID}, nil, nil)
for _, v := range skuVendorCatMaps {
v.DeletedAt = time.Now()
v.LastOperator = ctx.GetUserName()
dao.UpdateEntity(db, v, "DeletedAt", "LastOperator")
}
} else {
if payload["jdCategoryID"].(string) != "" {
skuVendorCatMaps, _ := dao.GetSkuVendorCategoryMaps(db, []int{nameID}, []int{model.VendorIDJD}, nil)
updateOrCreate := func(vendorID, nameID int, vendorCatID string) {
skuVendorCatMaps, _ := dao.GetSkuVendorCategoryMaps(db, []int{nameID}, []int{vendorID}, nil)
if len(skuVendorCatMaps) > 0 {
skuVendorCatMaps[0].VendorCategoryID = payload["jdCategoryID"].(string)
skuVendorCatMaps[0].VendorCategoryID = vendorCatID
dao.UpdateEntity(db, skuVendorCatMaps[0], "VendorCategoryID")
} else {
skuVendorCatMap := &model.SkuVendorCategoryMap{
NameID: nameID,
VendorID: model.VendorIDJD,
VendorCategoryID: payload["jdCategoryID"].(string),
VendorID: vendorID,
VendorCategoryID: vendorCatID,
}
dao.WrapAddIDCULDEntity(skuVendorCatMap, ctx.GetUserName())
dao.CreateEntity(db, skuVendorCatMap)
}
}
if skuNameExt != nil {
if skuNameExt.JdCategoryID != "" {
updateOrCreate(model.VendorIDJD, nameID, skuNameExt.JdCategoryID)
}
if skuNameExt.JdsCategoryID != "" {
updateOrCreate(model.VendorIDJDShop, nameID, skuNameExt.JdsCategoryID)
}
if skuNameExt.EbaiCategoryID != "" {
updateOrCreate(model.VendorIDEBAI, nameID, skuNameExt.EbaiCategoryID)
}
if skuNameExt.MtwmCategoryID != "" {
updateOrCreate(model.VendorIDMTWM, nameID, skuNameExt.MtwmCategoryID)
}
} else {
if payload["jdCategoryID"].(string) != "" {
updateOrCreate(model.VendorIDJD, nameID, payload["jdCategoryID"].(string))
}
if payload["jdsCategoryID"].(string) != "" {
updateOrCreate(model.VendorIDJDShop, nameID, payload["jdsCategoryID"].(string))
}
if payload["ebaiCategoryID"].(string) != "" {
updateOrCreate(model.VendorIDEBAI, nameID, payload["ebaiCategoryID"].(string))
}
if payload["mtwmCategoryID"].(string) != "" {
updateOrCreate(model.VendorIDMTWM, nameID, payload["mtwmCategoryID"].(string))
}
}
}
@@ -1142,6 +1176,7 @@ func DeleteSkuName(ctx *jxcontext.Context, nameID int, userName string) (num int
if len(skuList) > 0 {
_, err = CurVendorSync.SyncSku(ctx, db, skuName.ID, -1, false, false, userName)
}
updateOrCreateSkuVendorCategoryMap(db, ctx, nameID, nil, nil, true)
return num, err
}

View File

@@ -284,6 +284,11 @@ type SkuNameExt struct {
Places []int `orm:"-" json:"places"`
PlacesStr string `json:"-"`
MidUnitPrice int `json:"midUnitPrice"`
JdCategoryID string `json:"JdCategoryID"`
JdsCategoryID string `json:"JdsCategoryID"`
EbaiCategoryID string `json:"EbaiCategoryID"`
MtwmCategoryID string `json:"MtwmCategoryID"`
}
type SkuExinfoMap struct {