From ea4844fa549ad5b9a8e998129967595d61b107bd Mon Sep 17 00:00:00 2001 From: gazebo Date: Fri, 4 Jan 2019 14:04:44 +0800 Subject: [PATCH] - add sku.index for jd spu sku index. --- business/jxstore/cms/sync.go | 13 +++++++++++-- business/model/sku.go | 1 + 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/business/jxstore/cms/sync.go b/business/jxstore/cms/sync.go index e88c59ef5..d2082e7fc 100644 --- a/business/jxstore/cms/sync.go +++ b/business/jxstore/cms/sync.go @@ -255,8 +255,17 @@ func (v *VendorSync) SyncSku(ctx *jxcontext.Context, db *dao.DaoDB, nameID, skuI if syncStatus&model.SyncFlagDeletedMask != 0 { // 删除 err = multiStoresHandler.DeleteSku(db, sku, userName) } else if syncStatus&model.SyncFlagNewMask != 0 { // 新增 - err = multiStoresHandler.CreateSku(db, sku, userName) - updateFields = append(updateFields, dao.GetVendorThingIDStructField(model.VendorNames[multiStoresHandler.GetVendorID()])) + if err = multiStoresHandler.CreateSku(db, sku, userName); err == nil { + var tmpStruct struct { + MaxIndex int + } + // todo hard code 得到京东spu中sku的顺序(以方便以后修改销售属性) + if dao.GetRow(db, &tmpStruct, "SELECT MAX(index) max_index FROM sku WHERE name_id = ? AND jd_id > 0 AND jd_id < 4024012631406 ", sku.NameID) == nil { + sku.Index = tmpStruct.MaxIndex + 1 + updateFields = append(updateFields, "Index") + } + updateFields = append(updateFields, dao.GetVendorThingIDStructField(model.VendorNames[multiStoresHandler.GetVendorID()])) + } } else if syncStatus&model.SyncFlagModifiedMask != 0 { // 修改 err = multiStoresHandler.UpdateSku(db, sku, userName) } diff --git a/business/model/sku.go b/business/model/sku.go index 83a5b617c..4af48838d 100644 --- a/business/model/sku.go +++ b/business/model/sku.go @@ -184,6 +184,7 @@ type Sku struct { CategoryID int `orm:"column(category_id)" json:"categoryID"` // 特殊类别,一般用于秒杀,特价之类的特殊类别 NameID int `orm:"column(name_id)" json:"nameID"` // todo 这个索引应该要求唯一 + Index int `json:"-"` Comment string `orm:"size(255)" json:"comment"` SpecQuality float32 `json:"specQuality"` SpecUnit string `orm:"size(8)" json:"specUnit"` // 质量或容量