From 938e42a86b84407c11bfab6d81e8d2fe94ab9133 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Wed, 25 Dec 2019 13:49:23 +0800 Subject: [PATCH] =?UTF-8?q?=E5=95=86=E5=93=81=E5=89=8D=E7=BC=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/cms/sku.go | 40 ++++++++++++++++++++++--------------- 1 file changed, 24 insertions(+), 16 deletions(-) diff --git a/business/jxstore/cms/sku.go b/business/jxstore/cms/sku.go index 68ea5d79e..b4d180b3f 100644 --- a/business/jxstore/cms/sku.go +++ b/business/jxstore/cms/sku.go @@ -1380,23 +1380,31 @@ func UpdateSkuNamesExPrefix(ctx *jxcontext.Context, nameIDs []int, exPrefix, fro payload["exPrefixEnd"] = nil _, err = UpdateSkuName(ctx, nameID, payload) } else { - skuName := &model.SkuName{ - ExPrefix: exPrefix, - ExPrefixBegin: &fromTimeP, - ExPrefixEnd: &toTimeP, - } - skuName.ID = nameID - skuName.LastOperator = ctx.GetLoginID() - skuName.UpdatedAt = time.Now() - dao.Begin(db) - defer func() { - if r := recover(); r != nil { - dao.Rollback(db) - panic(r) + skuList, err := dao.GetSkus(db, nil, []int{nameID}, nil, nil) + if err == nil && len(skuList) > 0 { + if skuList[0].ExPrefixBegin != nil { + _, err = UpdateSkuName(ctx, nameID, payload) + CurVendorSync.SyncStoresSkus2(ctx, db, partner.GetSingleStoreVendorIDs(), nil, false, []int{skuList[0].ID}, nil, model.SyncFlagModifiedMask, true, true) + } else { + skuName := &model.SkuName{ + ExPrefix: exPrefix, + ExPrefixBegin: &fromTimeP, + ExPrefixEnd: &toTimeP, + } + skuName.ID = nameID + skuName.LastOperator = ctx.GetLoginID() + skuName.UpdatedAt = time.Now() + dao.Begin(db) + defer func() { + if r := recover(); r != nil { + dao.Rollback(db) + panic(r) + } + }() + _, err = dao.UpdateEntity(db, skuName, "ExPrefix", "ExPrefixBegin", "ExPrefixEnd", "LastOperator", "UpdatedAt") + dao.Commit(db) } - }() - _, err = dao.UpdateEntity(db, skuName, "ExPrefix", "ExPrefixBegin", "ExPrefixEnd", "LastOperator", "UpdatedAt") - dao.Commit(db) + } } return retVal, err }, nameIDs)