获取某商品各平台价
This commit is contained in:
@@ -126,12 +126,11 @@ type SheetParam struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
type DataVendorStoreSkuPrice struct {
|
type DataVendorStoreSkuPrice struct {
|
||||||
StoreID int `json:"门店ID"`
|
StoreID string `json:"门店ID"`
|
||||||
StoreName string `json:"门店名"`
|
StoreName string `json:"门店名"`
|
||||||
SkuID int `json:"商品ID"`
|
SkuID int `json:"商品ID"`
|
||||||
SkuNameID int `json:"商品NameID"`
|
|
||||||
SkuName string `json:"商品名"`
|
SkuName string `json:"商品名"`
|
||||||
VendorPrice int64 `json:"平台价"`
|
VendorPrice string `json:"平台价"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type DataSuccess struct {
|
type DataSuccess struct {
|
||||||
@@ -173,7 +172,6 @@ var (
|
|||||||
"门店ID",
|
"门店ID",
|
||||||
"门店名",
|
"门店名",
|
||||||
"商品ID",
|
"商品ID",
|
||||||
"商品NameID",
|
|
||||||
"商品名",
|
"商品名",
|
||||||
"平台价",
|
"平台价",
|
||||||
}
|
}
|
||||||
@@ -2527,8 +2525,7 @@ func GetVendorStoreSkuPrice(ctx *jxcontext.Context, vendorIDs []int, skuID int,
|
|||||||
for _, v := range apimanager.CurAPIManager.GetAppOrgCodeList(vendorID) {
|
for _, v := range apimanager.CurAPIManager.GetAppOrgCodeList(vendorID) {
|
||||||
vendorStoreIDs, err2 := handlerStore.GetAllStoresVendorID(ctx, v)
|
vendorStoreIDs, err2 := handlerStore.GetAllStoresVendorID(ctx, v)
|
||||||
err = err2
|
err = err2
|
||||||
task := tasksch.NewParallelTask("获取各平台所有门店某商品价格", tasksch.NewParallelConfig().SetIsContinueWhenError(isContinueWhenError), ctx,
|
taskFunc := func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
|
||||||
func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
|
|
||||||
vendorStoreID := batchItemList[0].(string)
|
vendorStoreID := batchItemList[0].(string)
|
||||||
var inStoreSkuList []*partner.StoreSkuInfo
|
var inStoreSkuList []*partner.StoreSkuInfo
|
||||||
var storeDetail *dao.StoreDetail
|
var storeDetail *dao.StoreDetail
|
||||||
@@ -2536,38 +2533,55 @@ func GetVendorStoreSkuPrice(ctx *jxcontext.Context, vendorIDs []int, skuID int,
|
|||||||
SkuID: skuID,
|
SkuID: skuID,
|
||||||
}
|
}
|
||||||
inStoreSkuList = append(inStoreSkuList, inStoreSku)
|
inStoreSkuList = append(inStoreSkuList, inStoreSku)
|
||||||
db := dao.GetDB()
|
if partner.IsMultiStore(vendorID) {
|
||||||
storeDetail, err = dao.GetStoreDetailByVendorStoreID(db, vendorStoreID, vendorID)
|
multiHandler, _ := partner.GetPurchasePlatformFromVendorID(vendorID).(partner.IMultipleStoresHandler)
|
||||||
|
storeDetail, err = multiHandler.ReadStore(ctx, "", vendorStoreID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return retVal, err
|
return retVal, err
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
singleHandler, _ := partner.GetPurchasePlatformFromVendorID(vendorID).(partner.ISingleStoreHandler)
|
||||||
|
storeDetail, err = singleHandler.ReadStore(ctx, "", vendorStoreID)
|
||||||
|
if err != nil {
|
||||||
|
return retVal, err
|
||||||
|
}
|
||||||
|
}
|
||||||
outStoreSkuList, err := handler.GetStoreSkusBareInfo(ctx, v, task, 0, vendorStoreID, inStoreSkuList)
|
outStoreSkuList, err := handler.GetStoreSkusBareInfo(ctx, v, task, 0, vendorStoreID, inStoreSkuList)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return retVal, err
|
return retVal, err
|
||||||
}
|
}
|
||||||
if len(outStoreSkuList) > 0 {
|
skuNameList, err := dao.GetSkus(dao.GetDB(), []int{skuID}, nil, nil, nil)
|
||||||
if storeDetail != nil {
|
|
||||||
skuNameList, err := dao.GetSkus(db, []int{outStoreSkuList[0].SkuID}, nil, nil, nil)
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return retVal, err
|
return retVal, err
|
||||||
}
|
}
|
||||||
|
if storeDetail != nil {
|
||||||
if len(skuNameList) > 0 {
|
if len(skuNameList) > 0 {
|
||||||
|
if len(outStoreSkuList) > 0 {
|
||||||
data := DataVendorStoreSkuPrice{
|
data := DataVendorStoreSkuPrice{
|
||||||
StoreID: storeDetail.ID,
|
StoreID: vendorStoreID,
|
||||||
StoreName: storeDetail.Name,
|
StoreName: storeDetail.Name,
|
||||||
SkuID: outStoreSkuList[0].SkuID,
|
SkuID: skuID,
|
||||||
SkuNameID: outStoreSkuList[0].NameID,
|
|
||||||
SkuName: skuNameList[0].Name,
|
SkuName: skuNameList[0].Name,
|
||||||
VendorPrice: outStoreSkuList[0].VendorPrice,
|
VendorPrice: utils.Float64ToStr(utils.Str2Float64(utils.Int64ToStr(outStoreSkuList[0].VendorPrice)) / 100),
|
||||||
|
}
|
||||||
|
retVal = []DataVendorStoreSkuPrice{data}
|
||||||
|
} else {
|
||||||
|
data := DataVendorStoreSkuPrice{
|
||||||
|
StoreID: vendorStoreID,
|
||||||
|
StoreName: storeDetail.Name,
|
||||||
|
SkuID: skuID,
|
||||||
|
SkuName: skuNameList[0].Name,
|
||||||
|
VendorPrice: "",
|
||||||
}
|
}
|
||||||
retVal = []DataVendorStoreSkuPrice{data}
|
retVal = []DataVendorStoreSkuPrice{data}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return retVal, err
|
return retVal, err
|
||||||
}, vendorStoreIDs)
|
}
|
||||||
tasksch.HandleTask(task, nil, true).Run()
|
taskParallel := tasksch.NewParallelTask("获取各平台所有门店某商品价格", tasksch.NewParallelConfig().SetIsContinueWhenError(isContinueWhenError), ctx, taskFunc, vendorStoreIDs)
|
||||||
storeSkuList, _ := task.GetResult(0)
|
tasksch.HandleTask(taskParallel, task, true).Run()
|
||||||
|
storeSkuList, _ := taskParallel.GetResult(0)
|
||||||
for _, v := range storeSkuList {
|
for _, v := range storeSkuList {
|
||||||
if vendorID == model.VendorIDJD {
|
if vendorID == model.VendorIDJD {
|
||||||
storeSkuListJD = append(storeSkuListJD, v.(DataVendorStoreSkuPrice))
|
storeSkuListJD = append(storeSkuListJD, v.(DataVendorStoreSkuPrice))
|
||||||
|
|||||||
Reference in New Issue
Block a user