From 54fb48e6f1a363f5c154fe82cb6fe0bd5609867a 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 11:44:18 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E6=A0=B9=E6=8D=AEskuID=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/cms/sku.go | 10 +++++----- business/jxstore/cms/store_sku.go | 15 +++++++++++++-- 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/business/jxstore/cms/sku.go b/business/jxstore/cms/sku.go index f6a0e6c8c..8accef530 100644 --- a/business/jxstore/cms/sku.go +++ b/business/jxstore/cms/sku.go @@ -876,10 +876,10 @@ func UpdateSkuName(ctx *jxcontext.Context, nameID int, payload map[string]interf return 0, err } - if err = OnUpdateThing(ctx, db, nil, int64(v.ID), model.ThingTypeSku); err != nil { - dao.Rollback(db) - return 0, err - } + // if err = OnUpdateThing(ctx, db, nil, int64(v.ID), model.ThingTypeSku); err != nil { + // dao.Rollback(db) + // return 0, err + // } } } skuIDs, err2 := dao.GetSkuIDByNames(db, []int{nameID}) @@ -1409,7 +1409,7 @@ func UpdateSkuNamesExPrefix(ctx *jxcontext.Context, nameIDs []int, exPrefix, fro for _, v := range skuList { skuIDs = append(skuIDs, v.ID) } - CurVendorSync.SyncStoresSkus2(ctx, db, partner.GetSingleStoreVendorIDs(), nil, false, skuIDs, nil, 0, true, true) + // CurVendorSync.SyncStoresSkus2(ctx, db, partner.GetSingleStoreVendorIDs(), nil, false, skuIDs, nil, model.SyncFlagModifiedMask, true, true) } } } diff --git a/business/jxstore/cms/store_sku.go b/business/jxstore/cms/store_sku.go index ffab3276c..aec4c983e 100644 --- a/business/jxstore/cms/store_sku.go +++ b/business/jxstore/cms/store_sku.go @@ -2758,13 +2758,13 @@ func FocusStoreSkusByExcelBin(ctx *jxcontext.Context, reader io.Reader, isAsync, db = dao.GetDB() storeIDs []int skuIDs []int - price int ) sheetParam := &SheetParam{ OutSkuIDCol: 1, SkuPriceCol: 3, SkuRow: 1, } + // xlsx, err := excelize.OpenFile("111.xlsx") xlsx, err := excelize.OpenReader(reader) if err != nil { return "", err @@ -2784,8 +2784,19 @@ func FocusStoreSkusByExcelBin(ctx *jxcontext.Context, reader io.Reader, isAsync, return } for _, v := range skuList { + var ( + price int + specQuality float64 + ) if v.Unit == model.SpecialUnit { - price = model.SpecialSpecQuality / int(utils.Float64TwoInt64(float64(v.SpecQuality))) * skuMap[v.ID] + if v.SpecUnit == model.SpecUnitNames[1] || v.SpecUnit == model.SpecUnitNames[2] { + specQuality = float64(v.SpecQuality) * 1000 + } else { + specQuality = float64(v.SpecQuality) + } + price = int(utils.Float64TwoInt64(utils.Int2Float64(model.SpecialSpecQuality) / specQuality * utils.Int2Float64(skuMap[v.ID]))) + } else { + price = skuMap[v.ID] } if skuNameMap[v.NameID] < price { skuNameMap[v.NameID] = price From c16e0dbab57e06f8c135711005c4b4dc88f89638 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 11:49:25 +0800 Subject: [PATCH 2/4] =?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 | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/business/jxstore/cms/sku.go b/business/jxstore/cms/sku.go index 88033b8a2..68ea5d79e 100644 --- a/business/jxstore/cms/sku.go +++ b/business/jxstore/cms/sku.go @@ -878,10 +878,10 @@ func UpdateSkuName(ctx *jxcontext.Context, nameID int, payload map[string]interf return 0, err } - // if err = OnUpdateThing(ctx, db, nil, int64(v.ID), model.ThingTypeSku); err != nil { - // dao.Rollback(db) - // return 0, err - // } + if err = OnUpdateThing(ctx, db, nil, int64(v.ID), model.ThingTypeSku); err != nil { + dao.Rollback(db) + return 0, err + } } } skuIDs, err2 := dao.GetSkuIDByNames(db, []int{nameID}) @@ -1411,7 +1411,7 @@ func UpdateSkuNamesExPrefix(ctx *jxcontext.Context, nameIDs []int, exPrefix, fro for _, v := range skuList { skuIDs = append(skuIDs, v.ID) } - // CurVendorSync.SyncStoresSkus2(ctx, db, partner.GetSingleStoreVendorIDs(), nil, false, skuIDs, nil, model.SyncFlagModifiedMask, true, true) + CurVendorSync.SyncStoresSkus2(ctx, db, partner.GetSingleStoreVendorIDs(), nil, false, skuIDs, nil, model.SyncFlagModifiedMask, true, true) } } } From b998a8938d69918467d39386b10a7fc31e168637 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 11:55:07 +0800 Subject: [PATCH 3/4] =?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/jxutils/jxutils.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/business/jxutils/jxutils.go b/business/jxutils/jxutils.go index 1ee21e3ef..b666a5ea3 100644 --- a/business/jxutils/jxutils.go +++ b/business/jxutils/jxutils.go @@ -360,10 +360,10 @@ func ComposeSkuName(prefix, name, comment, unit string, spec_quality float32, sp func ComposeSkuNameSync(prefix, name, comment, unit string, spec_quality float32, spec_unit string, maxLen int, exPrefix string, exPrefixBegin, exPrefixEnd *time.Time) (skuName string) { if exPrefix != "" && exPrefixBegin != nil && exPrefixEnd != nil { - if utils.Time2Date(time.Now().Add(6*time.Hour)).Sub(*exPrefixBegin) >= 0 && utils.Time2Date(time.Now()).Sub(*exPrefixEnd) < 0 { + if utils.Time2Date(time.Now().Add(6*time.Hour)).Sub(*exPrefixBegin) >= 0 && utils.Time2Date(time.Now()).Sub(*exPrefixEnd) <= 0 { skuName = exPrefix } - if utils.Time2Date(time.Now().Add(6*time.Hour)).Sub(*exPrefixEnd) >= 0 { + if utils.Time2Date(time.Now().Add(6*time.Hour)).Sub(*exPrefixEnd) > 0 { skuName = "" } } 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 4/4] =?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)