From b0771601f6c432a9f98197cba68f8727eeb2e358 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Fri, 10 Jan 2020 17:02:17 +0800 Subject: [PATCH 1/7] =?UTF-8?q?=E5=90=8C=E6=AD=A5=E5=87=BD=E6=95=B0?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0parentTask?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/cms/sku.go | 4 ++-- business/jxstore/cms/store_sku.go | 20 +++++++++++--------- business/jxstore/cms/sync.go | 18 +++++++++--------- business/jxstore/misc/misc.go | 4 ++-- controllers/cms_store_sku.go | 4 ++-- controllers/cms_sync.go | 2 +- 6 files changed, 27 insertions(+), 25 deletions(-) diff --git a/business/jxstore/cms/sku.go b/business/jxstore/cms/sku.go index 11f6656f5..26972db3d 100644 --- a/business/jxstore/cms/sku.go +++ b/business/jxstore/cms/sku.go @@ -1381,7 +1381,7 @@ func UpdateSkuNamesExPrefix(ctx *jxcontext.Context, nameIDs []int, exPrefix, fro 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) + CurVendorSync.SyncStoresSkus2(ctx, nil, db, partner.GetSingleStoreVendorIDs(), nil, false, []int{skuList[0].ID}, nil, model.SyncFlagModifiedMask, true, true) } else { skuName := &model.SkuName{ ExPrefix: exPrefix, @@ -1416,7 +1416,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, nil, 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 de976ca29..ca0c2e6eb 100644 --- a/business/jxstore/cms/store_sku.go +++ b/business/jxstore/cms/store_sku.go @@ -797,7 +797,7 @@ func UpdateStoresSkus(ctx *jxcontext.Context, storeIDs []int, skuBindInfos []*St isAsync = asyncStoreSkuOpFilter(ctx, isAsync) num = int64(len(skuIDs)) if num > 0 { - hint, err = CurVendorSync.SyncStoresSkus(ctx, db, nil, storeIDs, skuIDs, false, isAsync, isContinueWhenError) + hint, err = CurVendorSync.SyncStoresSkus(ctx, nil, db, nil, storeIDs, skuIDs, false, isAsync, isContinueWhenError) } if num == 0 || !isAsync || hint == "" { hint = utils.Int64ToStr(num) @@ -805,7 +805,7 @@ func UpdateStoresSkus(ctx *jxcontext.Context, storeIDs []int, skuBindInfos []*St return hint, err } -func UpdateStoresSkusByBind(ctx *jxcontext.Context, skuBindInfos []*StoreSkuBindInfo, isAsync, isContinueWhenError bool) (hint string, err error) { +func UpdateStoresSkusByBind(ctx *jxcontext.Context, parentTask tasksch.ITask, skuBindInfos []*StoreSkuBindInfo, isAsync, isContinueWhenError bool) (hint string, err error) { if len(skuBindInfos) > maxStoreNameBind { return "", fmt.Errorf("门店商品信息大于%d", maxStoreNameBind) } @@ -848,7 +848,7 @@ func UpdateStoresSkusByBind(ctx *jxcontext.Context, skuBindInfos []*StoreSkuBind isAsync = asyncStoreSkuOpFilter(ctx, isAsync) if num > 0 { skuIDs := jxutils.IntMap2List(skuIDMap) - hint, err = CurVendorSync.SyncStoresSkus(ctx, db, nil, storeIDs, skuIDs, false, isAsync, isContinueWhenError) + hint, err = CurVendorSync.SyncStoresSkus(ctx, parentTask, db, nil, storeIDs, skuIDs, false, isAsync, isContinueWhenError) } if num == 0 || !isAsync || hint == "" { hint = utils.Int64ToStr(num) @@ -1292,7 +1292,7 @@ func UpdateStoresSkusSale(ctx *jxcontext.Context, storeIDs []int, skuBindSkuInfo skuIDs = append(skuIDs, v.SkuID) } db := dao.GetDB() - hint, err = CurVendorSync.SyncStoresSkus(ctx, db, nil, storeIDs, skuIDs, false, isAsync, isContinueWhenError) + hint, err = CurVendorSync.SyncStoresSkus(ctx, nil, db, nil, storeIDs, skuIDs, false, isAsync, isContinueWhenError) } if num == 0 || !isAsync || hint == "" { hint = utils.Int64ToStr(num) @@ -2165,7 +2165,7 @@ func AutoSaleStoreSku(ctx *jxcontext.Context, storeIDs []int, isNeedSync bool) ( } } if isNeedSync && len(skuIDs) > 0 { - if _, err = CurVendorSync.SyncStoresSkus(ctx, db, nil, []int{storeID}, skuIDs, false, true, true); err != nil { + if _, err = CurVendorSync.SyncStoresSkus(ctx, nil, db, nil, []int{storeID}, skuIDs, false, true, true); err != nil { return err } } @@ -2895,6 +2895,7 @@ func FocusStoreSkusByExcelBin(ctx *jxcontext.Context, reader io.Reader, isAsync, } } } + var storeSkuBindInfo []*StoreSkuBindInfo for k, v := range skuNameMap { skuBindInfo := &StoreSkuBindInfo{ StoreID: store.ID, @@ -2904,8 +2905,9 @@ func FocusStoreSkusByExcelBin(ctx *jxcontext.Context, reader io.Reader, isAsync, IsSale: 1, Skus: skuInfoMap[k], } - retVal = []*StoreSkuBindInfo{skuBindInfo} + storeSkuBindInfo = append(storeSkuBindInfo, skuBindInfo) } + retVal = storeSkuBindInfo return retVal, err } taskParallel := tasksch.NewParallelTask("根据skuID关注商品", tasksch.NewParallelConfig().SetIsContinueWhenError(isContinueWhenError), ctx, taskFunc, storeList) @@ -2916,7 +2918,7 @@ func FocusStoreSkusByExcelBin(ctx *jxcontext.Context, reader io.Reader, isAsync, for _, v := range result1 { skuBindInfos = append(skuBindInfos, v.(*StoreSkuBindInfo)) } - UpdateStoresSkusByBind(ctx, skuBindInfos, true, true) + UpdateStoresSkusByBind(ctx, task, skuBindInfos, true, true) } return result, err } @@ -3011,7 +3013,7 @@ func FocusStoreSkusBySku(ctx *jxcontext.Context, skuBindInfos []*StoreSkuBindInf for _, v := range result1 { skuBindInfos = append(skuBindInfos, v.(*StoreSkuBindInfo)) } - hint, err = UpdateStoresSkusByBind(ctx, skuBindInfos, isAsync, isContinueWhenError) + hint, err = UpdateStoresSkusByBind(ctx, task, skuBindInfos, isAsync, isContinueWhenError) } return result, err } @@ -3101,7 +3103,7 @@ func AutoFocusStoreSkusWithoutFocusForTopSkus(ctx *jxcontext.Context, isAsync, i for _, v := range result1 { skuBindInfos = append(skuBindInfos, v.(*StoreSkuBindInfo)) } - UpdateStoresSkusByBind(ctx, skuBindInfos, isAsync, isContinueWhenError) + UpdateStoresSkusByBind(ctx, nil, skuBindInfos, isAsync, isContinueWhenError) } return result, err } diff --git a/business/jxstore/cms/sync.go b/business/jxstore/cms/sync.go index 605af66c0..3a8c02b94 100644 --- a/business/jxstore/cms/sync.go +++ b/business/jxstore/cms/sync.go @@ -228,7 +228,7 @@ func (v *VendorSync) SyncStore2(ctx *jxcontext.Context, db *dao.DaoDB, vendorIDs globals.SugarLogger.Debugf("SyncStore2, storeIDs:%d", storeIDs) userName := ctx.GetUserName() isManageIt := len(storeIDs) == 0 || len(storeIDs) > 5 - _, hint, err = v.LoopStoresMap2(ctx, db, fmt.Sprintf("同步门店信息:%v", storeIDs), isAsync, isManageIt, vendorIDs, storeIDs, mustDirty, func(t *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (resultList interface{}, err error) { + _, hint, err = v.LoopStoresMap2(ctx, nil, db, fmt.Sprintf("同步门店信息:%v", storeIDs), isAsync, isManageIt, vendorIDs, storeIDs, mustDirty, func(t *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (resultList interface{}, err error) { loopMapInfo := batchItemList[0].(*LoopStoreMapInfo) handler := v.GetStoreHandler(loopMapInfo.VendorID) if handler != nil { @@ -426,10 +426,10 @@ func (v *VendorSync) SyncStoresCategory(ctx *jxcontext.Context, db *dao.DaoDB, v } // -func (v *VendorSync) SyncStoresSkus2(ctx *jxcontext.Context, db *dao.DaoDB, vendorIDs []int, storeIDs []int, syncDisabled bool, skuIDs, excludeSkuIDs []int, setSyncStatus int, isAsync, isContinueWhenError bool) (hint string, err error) { +func (v *VendorSync) SyncStoresSkus2(ctx *jxcontext.Context, parentTask tasksch.ITask, db *dao.DaoDB, vendorIDs []int, storeIDs []int, syncDisabled bool, skuIDs, excludeSkuIDs []int, setSyncStatus int, isAsync, isContinueWhenError bool) (hint string, err error) { globals.SugarLogger.Debug("SyncStoresSkus2") isManageIt := len(storeIDs) != 1 || len(skuIDs) == 0 || len(skuIDs) > 8 - task, hint, err := v.LoopStoresMap2(ctx, db, fmt.Sprintf("同步门店商品信息:%v", storeIDs), isAsync, isManageIt, vendorIDs, storeIDs, false, + task, hint, err := v.LoopStoresMap2(ctx, parentTask, db, fmt.Sprintf("同步门店商品信息:%v", storeIDs), isAsync, isManageIt, vendorIDs, storeIDs, false, func(t *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (interface{}, error) { loopMapInfo := batchItemList[0].(*LoopStoreMapInfo) if handler := v.GetStoreHandler(loopMapInfo.VendorID); handler != nil { @@ -462,12 +462,12 @@ func (v *VendorSync) SyncStoresSkus2(ctx *jxcontext.Context, db *dao.DaoDB, vend return hint, err } -func (v *VendorSync) SyncStoresSkus(ctx *jxcontext.Context, db *dao.DaoDB, vendorIDs []int, storeIDs []int, skuIDs []int, isForce, isAsync, isContinueWhenError bool) (hint string, err error) { +func (v *VendorSync) SyncStoresSkus(ctx *jxcontext.Context, parentTask tasksch.ITask, db *dao.DaoDB, vendorIDs []int, storeIDs []int, skuIDs []int, isForce, isAsync, isContinueWhenError bool) (hint string, err error) { setSyncStatus := 0 if isForce { setSyncStatus = model.SyncFlagStoreSkuModifiedMask } - return v.SyncStoresSkus2(ctx, db, vendorIDs, storeIDs, true, skuIDs, nil, setSyncStatus, isAsync, isContinueWhenError) + return v.SyncStoresSkus2(ctx, parentTask, db, vendorIDs, storeIDs, true, skuIDs, nil, setSyncStatus, isAsync, isContinueWhenError) } func (v *VendorSync) proxySyncStoreCategory(ctx *jxcontext.Context, parentTask tasksch.ITask, storeMap *model.StoreMap, nameIDs, skuIDs []int, isAsync, isContinueWhenError bool) (hint string, err error) { @@ -606,7 +606,7 @@ func (v *VendorSync) AmendAndPruneStoreStuff(ctx *jxcontext.Context, vendorIDs [ return hint, makeSyncError(err) } -func (v *VendorSync) LoopStoresMap2(ctx *jxcontext.Context, db *dao.DaoDB, taskName string, isAsync, isManageIt bool, vendorIDs []int, storeIDs []int, mustDirty bool, handler tasksch.WorkFunc, isContinueWhenError bool) (task tasksch.ITask, hint string, err error) { +func (v *VendorSync) LoopStoresMap2(ctx *jxcontext.Context, parentTask tasksch.ITask, db *dao.DaoDB, taskName string, isAsync, isManageIt bool, vendorIDs []int, storeIDs []int, mustDirty bool, handler tasksch.WorkFunc, isContinueWhenError bool) (task tasksch.ITask, hint string, err error) { var storeMapList []*model.StoreMap if storeMapList, err = dao.GetStoresMapList2(db, vendorIDs, storeIDs, model.StoreStatusAll, model.StoreIsSyncYes, "", mustDirty); err != nil { return nil, "", err @@ -647,7 +647,7 @@ func (v *VendorSync) LoopStoresMap2(ctx *jxcontext.Context, db *dao.DaoDB, taskN } }) } - tasksch.HandleTask(task, nil, isManageIt).Run() + tasksch.HandleTask(task, parentTask, isManageIt).Run() if !isAsync { resultList, err2 := task.GetResult(0) if len(task.GetFailedList()) > 0 { @@ -699,7 +699,7 @@ func buildErrMsgJson(task tasksch.ITask) (resultL []*SyncErrResult) { } func (v *VendorSync) LoopStoresMap(ctx *jxcontext.Context, db *dao.DaoDB, taskName string, isAsync, isManageIt bool, vendorIDs []int, storeIDs []int, handler tasksch.WorkFunc, isContinueWhenError bool) (hint string, err error) { - _, hint, err = v.LoopStoresMap2(ctx, db, taskName, isAsync, isManageIt, vendorIDs, storeIDs, false, handler, isContinueWhenError) + _, hint, err = v.LoopStoresMap2(ctx, nil, db, taskName, isAsync, isManageIt, vendorIDs, storeIDs, false, handler, isContinueWhenError) return hint, err } @@ -819,7 +819,7 @@ func (v *VendorSync) ChangeStoreSkuSaleStatus(ctx *jxcontext.Context, storeID in } vendorIDs := partner.GetPurchasePlatformVendorIDs() dao.UpdateStoreSkuBindSyncStatusForSaleStatus(db, vendorIDs, storeID) - v.SyncStoresSkus(ctx, db, vendorIDs, storeIDs, skuIDs, false, isAsync, isContinueWhenError) + v.SyncStoresSkus(ctx, nil, db, vendorIDs, storeIDs, skuIDs, false, isAsync, isContinueWhenError) return err } diff --git a/business/jxstore/misc/misc.go b/business/jxstore/misc/misc.go index fa1b06226..6fa312cd7 100644 --- a/business/jxstore/misc/misc.go +++ b/business/jxstore/misc/misc.go @@ -183,7 +183,7 @@ func syncStoreSku() { }) errList.AddErr(err) - _, err = cms.CurVendorSync.SyncStoresSkus2(jxcontext.AdminCtx, db, partner.GetMultiStoreVendorIDs(), nil, false, nil, []int{27379}, syncFlag, true, true) + _, err = cms.CurVendorSync.SyncStoresSkus2(jxcontext.AdminCtx, nil, db, partner.GetMultiStoreVendorIDs(), nil, false, nil, []int{27379}, syncFlag, true, true) // _, err = cms.CurVendorSync.FullSyncStoresSkus(jxcontext.AdminCtx, db, partner.GetMultiStoreVendorIDs(), nil, false, []int{27379}, true, true) errList.AddErr(err) case 1: @@ -193,7 +193,7 @@ func syncStoreSku() { errList.AddErr(err) SaveImportantTaskID(TaskNameSyncStoreSku, SpecialTaskID) - taskID, err2 := cms.CurVendorSync.SyncStoresSkus2(jxcontext.AdminCtx, db, partner.GetSingleStoreVendorIDs(), nil, false, nil, nil, syncFlag, true, true) + taskID, err2 := cms.CurVendorSync.SyncStoresSkus2(jxcontext.AdminCtx, nil, db, partner.GetSingleStoreVendorIDs(), nil, false, nil, nil, syncFlag, true, true) errList.AddErr(err2) SaveImportantTaskID(TaskNameSyncStoreSku, taskID) } diff --git a/controllers/cms_store_sku.go b/controllers/cms_store_sku.go index ba3b0e9e6..04638b07b 100644 --- a/controllers/cms_store_sku.go +++ b/controllers/cms_store_sku.go @@ -196,7 +196,7 @@ func (c *StoreSkuController) SyncStoresSkus() { if err = jxutils.Strings2Objs(params.StoreIDs, &storeIDs, params.SkuIDs, &skuIDs, params.VendorIDs, &vendorIDs); err != nil { return retVal, "", err } - retVal, err = cms.CurVendorSync.SyncStoresSkus(params.Ctx, db, vendorIDs, storeIDs, skuIDs, params.IsForce, params.IsAsync, params.IsContinueWhenError) + retVal, err = cms.CurVendorSync.SyncStoresSkus(params.Ctx, nil, db, vendorIDs, storeIDs, skuIDs, params.IsForce, params.IsAsync, params.IsContinueWhenError) return retVal, "", err }) } @@ -239,7 +239,7 @@ func (c *StoreSkuController) UpdateStoresSkusByBind() { if err = jxutils.Strings2Objs(params.Payload, &skuBindInfos); err != nil { return retVal, "", err } - retVal, err = cms.UpdateStoresSkusByBind(params.Ctx, skuBindInfos, params.IsAsync, params.IsContinueWhenError) + retVal, err = cms.UpdateStoresSkusByBind(params.Ctx, nil, skuBindInfos, params.IsAsync, params.IsContinueWhenError) return retVal, "", err }) } diff --git a/controllers/cms_sync.go b/controllers/cms_sync.go index 926c3537f..96fd368df 100644 --- a/controllers/cms_sync.go +++ b/controllers/cms_sync.go @@ -33,7 +33,7 @@ func (c *SyncController) SyncStoresSkus() { if err = jxutils.Strings2Objs(params.StoreIDs, &storeIDs, params.SkuIDs, &skuIDs, params.VendorIDs, &vendorIDs); err != nil { return retVal, "", err } - retVal, err = cms.CurVendorSync.SyncStoresSkus(params.Ctx, db, vendorIDs, storeIDs, skuIDs, params.IsForce, params.IsAsync, params.IsContinueWhenError) + retVal, err = cms.CurVendorSync.SyncStoresSkus(params.Ctx, nil, db, vendorIDs, storeIDs, skuIDs, params.IsForce, params.IsAsync, params.IsContinueWhenError) return retVal, "", err }) } From 65a54b603b6b06e5c9f5802cdab5f2d887e1572c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Fri, 10 Jan 2020 17:44:47 +0800 Subject: [PATCH 2/7] =?UTF-8?q?=E6=89=B9=E9=87=8F=E5=85=B3=E6=B3=A8?= =?UTF-8?q?=E8=BF=94=E5=9B=9E=E5=80=BC=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/cms/store_sku.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/business/jxstore/cms/store_sku.go b/business/jxstore/cms/store_sku.go index ca0c2e6eb..07c413db6 100644 --- a/business/jxstore/cms/store_sku.go +++ b/business/jxstore/cms/store_sku.go @@ -3031,8 +3031,7 @@ func FocusStoreSkusBySku(ctx *jxcontext.Context, skuBindInfos []*StoreSkuBindInf func AutoFocusStoreSkusWithoutFocusForTopSkus(ctx *jxcontext.Context, isAsync, isContinueWhenError bool) (hint string, err error) { db := dao.GetDB() var ( - skuBindInfoList []*StoreSkuBindInfo - result1 []interface{} + result1 []interface{} ) storeList, err := dao.GetStoreList(db, nil, nil, "") taskSeqFunc := func(task *tasksch.SeqTask, step int, params ...interface{}) (result interface{}, err error) { @@ -3077,6 +3076,7 @@ func AutoFocusStoreSkusWithoutFocusForTopSkus(ctx *jxcontext.Context, isAsync, i payPercentage = v.PayPercentage } if len(skuNameAndPlaceList) > 0 { + var skuBindInfoList []*StoreSkuBindInfo for _, vv := range skuNameAndPlaceList { if skuNameMap[vv.ID] != 0 { priceReferList, err := dao.GetPriceReferSnapshotNoPage(db, []int{vv.CityCode}, nil, []int{vv.ID}, utils.Time2Date(time.Now().AddDate(0, 0, -1))) @@ -3092,6 +3092,7 @@ func AutoFocusStoreSkusWithoutFocusForTopSkus(ctx *jxcontext.Context, isAsync, i } } } + retVal = skuBindInfoList } return retVal, err } From 78fcdeaf39a0f12b30099e2eaa5f5eda150a1a9e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Mon, 13 Jan 2020 09:03:02 +0800 Subject: [PATCH 3/7] =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E6=8E=A8=E8=8D=90?= =?UTF-8?q?=E5=93=81=EF=BC=8C=E6=96=B0=E5=A2=9E=E6=B4=BB=E5=8A=A8=E7=B3=BB?= =?UTF-8?q?=E5=88=97=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/cms/store_sku.go | 19 ++++++++++++++++++- business/model/dao/store_sku.go | 13 +++++++------ business/model/sku.go | 23 +++++++++++++++-------- 3 files changed, 40 insertions(+), 15 deletions(-) diff --git a/business/jxstore/cms/store_sku.go b/business/jxstore/cms/store_sku.go index 07c413db6..7c91e6143 100644 --- a/business/jxstore/cms/store_sku.go +++ b/business/jxstore/cms/store_sku.go @@ -2276,11 +2276,28 @@ func GetTopSkusByCityCode(ctx *jxcontext.Context, cityCode, storeID int) (skuNam if skuNameMap[v.ID] != nil { priceReferList, _ := dao.GetPriceReferSnapshotNoPage(db, []int{cityCode}, nil, []int{v.ID}, utils.Time2Date(time.Now().AddDate(0, 0, -1))) if len(priceReferList) > 0 { - v.Price = priceReferList[0].MidUnitPrice * payPercentage / 100 + v.UnitPrice = priceReferList[0].MidUnitPrice * payPercentage / 100 } v.Type = skuNameMap[v.ID].BrandID skuList, _ := dao.GetSkus(db, nil, []int{v.ID}, nil, nil) v.Skus = skuList + var storeSkuNameExt []*dao.StoreSkuNameExt + for _, vv := range skuList { + storeSkuName := &dao.StoreSkuNameExt{ + SkuID: vv.ID, + } + var skuNamesInfo = &dao.StoreSkuNamesInfo{ + SkuNames: storeSkuNameExt, + } + dao.UpdateActPrice4StoreSkuNameNew(db, []int{storeID}, []int{vv.ID}, skuNamesInfo, -1) + vv.StoreSkuStatus = model.StoreSkuBindStatusDontSale + vv.ActPrice = skuNamesInfo.SkuNames[0].Skus[0].ActPrice + vv.ActID = skuNamesInfo.SkuNames[0].Skus[0].ActID + vv.ActType = skuNamesInfo.SkuNames[0].Skus[0].ActType + vv.EarningPrice = skuNamesInfo.SkuNames[0].Skus[0].EarningPrice + vv.EarningActID = skuNamesInfo.SkuNames[0].Skus[0].EarningActID + storeSkuNameExt = append(storeSkuNameExt, storeSkuName) + } skuNameAndPlaceList = append(skuNameAndPlaceList, v) } } diff --git a/business/model/dao/store_sku.go b/business/model/dao/store_sku.go index 3b94744b0..c166ec610 100644 --- a/business/model/dao/store_sku.go +++ b/business/model/dao/store_sku.go @@ -210,12 +210,13 @@ type StoreSkuExt struct { type SkuNameAndPlace struct { model.SkuName - CityCode int `json:"cityCode"` - CityName string `json:"cityName"` - Sequence int `json:"sequence"` - Count int `json:"count"` - Type int `json:"type"` - Skus []*model.SkuAndName `json:"skus"` + UnitPrice int `json:"unitPrice"` + CityCode int `json:"cityCode"` + CityName string `json:"cityName"` + Sequence int `json:"sequence"` + Count int `json:"count"` + Type int `json:"type"` + Skus []*model.SkuAndName `json:"skus"` } type StoreSkuPriceAndWeight struct { diff --git a/business/model/sku.go b/business/model/sku.go index f7f013323..3c6203e24 100644 --- a/business/model/sku.go +++ b/business/model/sku.go @@ -231,14 +231,21 @@ type Sku struct { type SkuAndName struct { Sku - Name string - Unit string - Prefix string - IsSpu int - ExPrefix string - ExPrefixBegin *time.Time - ExPrefixEnd *time.Time - Price int + Name string + Unit string + Prefix string + IsSpu int + ExPrefix string + ExPrefixBegin *time.Time + ExPrefixEnd *time.Time + Price int + StoreSkuStatus int + ActPrice int `json:"actPrice"` + ActID int `orm:"column(act_id)" json:"actID"` + ActType int `orm:"column(act_type)" json:"actType"` + + EarningPrice int `json:"earningPrice"` + EarningActID int `orm:"column(earning_act_id)" json:"earningActID"` } func (*Sku) TableUnique() [][]string { From 2f168f2c74443e61cb137a0130a53b0c7f0117f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Mon, 13 Jan 2020 09:12:02 +0800 Subject: [PATCH 4/7] =?UTF-8?q?=E7=95=85=E9=94=80=E5=93=81=E6=8E=A8?= =?UTF-8?q?=E8=8D=90=E5=A2=9E=E5=8A=A0=E6=B4=BB=E5=8A=A8=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/cms/store_sku.go | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/business/jxstore/cms/store_sku.go b/business/jxstore/cms/store_sku.go index 7c91e6143..192c4a9f8 100644 --- a/business/jxstore/cms/store_sku.go +++ b/business/jxstore/cms/store_sku.go @@ -2283,10 +2283,15 @@ func GetTopSkusByCityCode(ctx *jxcontext.Context, cityCode, storeID int) (skuNam v.Skus = skuList var storeSkuNameExt []*dao.StoreSkuNameExt for _, vv := range skuList { - storeSkuName := &dao.StoreSkuNameExt{ + var skusList []*dao.StoreSkuExt + skus := &dao.StoreSkuExt{ SkuID: vv.ID, } - var skuNamesInfo = &dao.StoreSkuNamesInfo{ + skusList = append(skusList, skus) + storeSkuName := &dao.StoreSkuNameExt{ + Skus: skusList, + } + skuNamesInfo := &dao.StoreSkuNamesInfo{ SkuNames: storeSkuNameExt, } dao.UpdateActPrice4StoreSkuNameNew(db, []int{storeID}, []int{vv.ID}, skuNamesInfo, -1) From f6d171936a8e8328ee45313c4fe8cfd400086158 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Mon, 13 Jan 2020 09:13:53 +0800 Subject: [PATCH 5/7] =?UTF-8?q?=E7=95=85=E9=94=80=E5=93=81=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E5=A2=9E=E5=8A=A0=E6=B4=BB=E5=8A=A8=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/cms/store_sku.go | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/business/jxstore/cms/store_sku.go b/business/jxstore/cms/store_sku.go index 192c4a9f8..651293978 100644 --- a/business/jxstore/cms/store_sku.go +++ b/business/jxstore/cms/store_sku.go @@ -2296,11 +2296,11 @@ func GetTopSkusByCityCode(ctx *jxcontext.Context, cityCode, storeID int) (skuNam } dao.UpdateActPrice4StoreSkuNameNew(db, []int{storeID}, []int{vv.ID}, skuNamesInfo, -1) vv.StoreSkuStatus = model.StoreSkuBindStatusDontSale - vv.ActPrice = skuNamesInfo.SkuNames[0].Skus[0].ActPrice - vv.ActID = skuNamesInfo.SkuNames[0].Skus[0].ActID - vv.ActType = skuNamesInfo.SkuNames[0].Skus[0].ActType - vv.EarningPrice = skuNamesInfo.SkuNames[0].Skus[0].EarningPrice - vv.EarningActID = skuNamesInfo.SkuNames[0].Skus[0].EarningActID + // vv.ActPrice = skuNamesInfo.SkuNames[0].Skus[0].ActPrice + // vv.ActID = skuNamesInfo.SkuNames[0].Skus[0].ActID + // vv.ActType = skuNamesInfo.SkuNames[0].Skus[0].ActType + // vv.EarningPrice = skuNamesInfo.SkuNames[0].Skus[0].EarningPrice + // vv.EarningActID = skuNamesInfo.SkuNames[0].Skus[0].EarningActID storeSkuNameExt = append(storeSkuNameExt, storeSkuName) } skuNameAndPlaceList = append(skuNameAndPlaceList, v) From 93d1c464080de1f94c06d3f067ac1b4d146d7a61 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Mon, 13 Jan 2020 09:56:42 +0800 Subject: [PATCH 6/7] =?UTF-8?q?=E7=95=85=E9=94=80=E5=93=81=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/cms/store_sku.go | 18 ++++++++++-------- business/model/sku.go | 24 ++++++++++++------------ 2 files changed, 22 insertions(+), 20 deletions(-) diff --git a/business/jxstore/cms/store_sku.go b/business/jxstore/cms/store_sku.go index 651293978..b0bc59a97 100644 --- a/business/jxstore/cms/store_sku.go +++ b/business/jxstore/cms/store_sku.go @@ -2232,7 +2232,7 @@ func GetTopSkusByCityCode(ctx *jxcontext.Context, cityCode, storeID int) (skuNam skuNameAndPlace, err := dao.GetTopSkusByCityCode(db, cityCode, orderCreate) if storeID > 0 { var skuNameList []*model.SkuName - //未关注,不可售的商品nameID列表 + //不可售的商品nameID列表 sql := ` SELECT DISTINCT b.name_id id,1 brand_id FROM store_sku_bind a @@ -2281,8 +2281,8 @@ func GetTopSkusByCityCode(ctx *jxcontext.Context, cityCode, storeID int) (skuNam v.Type = skuNameMap[v.ID].BrandID skuList, _ := dao.GetSkus(db, nil, []int{v.ID}, nil, nil) v.Skus = skuList - var storeSkuNameExt []*dao.StoreSkuNameExt for _, vv := range skuList { + var storeSkuNameExt []*dao.StoreSkuNameExt var skusList []*dao.StoreSkuExt skus := &dao.StoreSkuExt{ SkuID: vv.ID, @@ -2294,14 +2294,16 @@ func GetTopSkusByCityCode(ctx *jxcontext.Context, cityCode, storeID int) (skuNam skuNamesInfo := &dao.StoreSkuNamesInfo{ SkuNames: storeSkuNameExt, } + storeSkuNameExt = append(storeSkuNameExt, storeSkuName) dao.UpdateActPrice4StoreSkuNameNew(db, []int{storeID}, []int{vv.ID}, skuNamesInfo, -1) vv.StoreSkuStatus = model.StoreSkuBindStatusDontSale - // vv.ActPrice = skuNamesInfo.SkuNames[0].Skus[0].ActPrice - // vv.ActID = skuNamesInfo.SkuNames[0].Skus[0].ActID - // vv.ActType = skuNamesInfo.SkuNames[0].Skus[0].ActType - // vv.EarningPrice = skuNamesInfo.SkuNames[0].Skus[0].EarningPrice - // vv.EarningActID = skuNamesInfo.SkuNames[0].Skus[0].EarningActID - storeSkuNameExt = append(storeSkuNameExt, storeSkuName) + if skuNamesInfo.SkuNames[0].Skus[0] != nil { + vv.ActPrice = skuNamesInfo.SkuNames[0].Skus[0].ActPrice + vv.ActID = skuNamesInfo.SkuNames[0].Skus[0].ActID + vv.ActType = skuNamesInfo.SkuNames[0].Skus[0].ActType + vv.EarningPrice = skuNamesInfo.SkuNames[0].Skus[0].EarningPrice + vv.EarningActID = skuNamesInfo.SkuNames[0].Skus[0].EarningActID + } } skuNameAndPlaceList = append(skuNameAndPlaceList, v) } diff --git a/business/model/sku.go b/business/model/sku.go index 3c6203e24..cd540411c 100644 --- a/business/model/sku.go +++ b/business/model/sku.go @@ -231,18 +231,18 @@ type Sku struct { type SkuAndName struct { Sku - Name string - Unit string - Prefix string - IsSpu int - ExPrefix string - ExPrefixBegin *time.Time - ExPrefixEnd *time.Time - Price int - StoreSkuStatus int - ActPrice int `json:"actPrice"` - ActID int `orm:"column(act_id)" json:"actID"` - ActType int `orm:"column(act_type)" json:"actType"` + Name string `json:"name"` + Unit string `json:"unit"` + Prefix string `json:"prefix"` + IsSpu int `json:"isSpu"` + ExPrefix string `json:"exPrefix"` + ExPrefixBegin *time.Time `json:"exPrefixBegin"` + ExPrefixEnd *time.Time `json:"eExPrefixEndxPrefixEnd"` + Price int `json:"price"` + StoreSkuStatus int `json:"storeSkuStatus"` + ActPrice int `json:"actPrice"` + ActID int `orm:"column(act_id)" json:"actID"` + ActType int `orm:"column(act_type)" json:"actType"` EarningPrice int `json:"earningPrice"` EarningActID int `orm:"column(earning_act_id)" json:"earningActID"` From 8d5f9cd9a669d900a56459c7a5523b0fdb55607b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Mon, 13 Jan 2020 10:00:40 +0800 Subject: [PATCH 7/7] =?UTF-8?q?=E7=95=85=E9=94=80=E5=93=81=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/cms/store_sku.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/business/jxstore/cms/store_sku.go b/business/jxstore/cms/store_sku.go index b0bc59a97..3bebf83cc 100644 --- a/business/jxstore/cms/store_sku.go +++ b/business/jxstore/cms/store_sku.go @@ -2291,10 +2291,10 @@ func GetTopSkusByCityCode(ctx *jxcontext.Context, cityCode, storeID int) (skuNam storeSkuName := &dao.StoreSkuNameExt{ Skus: skusList, } + storeSkuNameExt = append(storeSkuNameExt, storeSkuName) skuNamesInfo := &dao.StoreSkuNamesInfo{ SkuNames: storeSkuNameExt, } - storeSkuNameExt = append(storeSkuNameExt, storeSkuName) dao.UpdateActPrice4StoreSkuNameNew(db, []int{storeID}, []int{vv.ID}, skuNamesInfo, -1) vv.StoreSkuStatus = model.StoreSkuBindStatusDontSale if skuNamesInfo.SkuNames[0].Skus[0] != nil {