-partner.ReadSku
修改partner.GetSkus原型,添加vendorOrgCode,去除skuName
This commit is contained in:
@@ -1207,12 +1207,12 @@ func DeleteSkuNamePlace(ctx *jxcontext.Context, nameID, placeCode int, userName
|
||||
return num, err
|
||||
}
|
||||
|
||||
func GetVendorSku(ctx *jxcontext.Context, vendorID int, vendorOrgCode, vendorSkuID string) (skuNameInfo *model.SkuNameExt, err error) {
|
||||
if handler := CurVendorSync.GetMultiStoreHandler(vendorID); handler != nil {
|
||||
return handler.ReadSku(ctx, vendorOrgCode, vendorSkuID)
|
||||
}
|
||||
return nil, ErrCanNotFindVendor
|
||||
}
|
||||
// func GetVendorSku(ctx *jxcontext.Context, vendorID int, vendorOrgCode, vendorSkuID string) (skuNameInfo *model.SkuNameExt, err error) {
|
||||
// if handler := CurVendorSync.GetMultiStoreHandler(vendorID); handler != nil {
|
||||
// return handler.ReadSku(ctx, vendorOrgCode, vendorSkuID)
|
||||
// }
|
||||
// return nil, ErrCanNotFindVendor
|
||||
// }
|
||||
|
||||
func SortCategorySkus(ctx *jxcontext.Context, catID int, skuIDList []int) (err error) {
|
||||
db := dao.GetDB()
|
||||
|
||||
@@ -202,7 +202,8 @@ func GetMultiStoreAllSkuInfo(ctx *jxcontext.Context, vendorMap map[int]bool) {
|
||||
}
|
||||
if partner.IsMultiStore(vendorID) {
|
||||
multiHandler := partner.GetPurchasePlatformFromVendorID(vendorID).(partner.IMultipleStoresHandler)
|
||||
allSkuNameInfoList, err := multiHandler.GetSkus(ctx, 0, "", "")
|
||||
// TODO vendorOrgCode处理
|
||||
allSkuNameInfoList, err := multiHandler.GetSkus(ctx, "", 0, "")
|
||||
skuNameInfoList = allSkuNameInfoList
|
||||
if err != nil {
|
||||
baseapi.SugarLogger.Errorf("GetMultiStoreAllSkuInfo error:%v", err)
|
||||
|
||||
@@ -172,15 +172,14 @@ type IMultipleStoresHandler interface {
|
||||
UpdateSku(db *dao.DaoDB, sku *model.Sku, userName string) (err error)
|
||||
DeleteSku(db *dao.DaoDB, sku *model.Sku, userName string) (err error)
|
||||
|
||||
ReadSku(ctx *jxcontext.Context, vendorOrgCode, vendorSkuID string) (skuNameExt *model.SkuNameExt, err error)
|
||||
// ReadSku(ctx *jxcontext.Context, vendorOrgCode, vendorSkuID string) (skuNameExt *model.SkuNameExt, err error)
|
||||
CreateSku2(ctx *jxcontext.Context, sku *dao.StoreSkuSyncInfo) (err error)
|
||||
UpdateSku2(ctx *jxcontext.Context, sku *dao.StoreSkuSyncInfo) (err error)
|
||||
DeleteSku2(ctx *jxcontext.Context, sku *dao.StoreSkuSyncInfo) (err error)
|
||||
|
||||
// RefreshAllSkusID(ctx *jxcontext.Context, parentTask tasksch.ITask, isAsync bool) (hint string, err error)
|
||||
|
||||
// TODO 此接口需要添加vendorOrgCode
|
||||
GetSkus(ctx *jxcontext.Context, skuID int, vendorSkuID, skuName string) (skuNameList []*SkuNameInfo, err error)
|
||||
GetSkus(ctx *jxcontext.Context, vendorOrgCode string, skuID int, vendorSkuID string) (skuNameList []*SkuNameInfo, err error)
|
||||
}
|
||||
|
||||
type ISingleStoreHandler interface {
|
||||
|
||||
@@ -41,7 +41,11 @@ func TestListOrders(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestGetSelfTakeCode(t *testing.T) {
|
||||
selfTakeCode, err := CurPurchaseHandler.GetSelfTakeCode(jxcontext.AdminCtx, "921160248000222")
|
||||
order, err := partner.CurOrderManager.LoadOrder("921160248000222", model.VendorIDJD)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
selfTakeCode, err := CurPurchaseHandler.GetSelfTakeCode(jxcontext.AdminCtx, order)
|
||||
if err != nil {
|
||||
t.Fatal(err.Error())
|
||||
}
|
||||
|
||||
@@ -9,11 +9,8 @@ import (
|
||||
"git.rosy.net.cn/baseapi/platformapi/jdapi"
|
||||
"git.rosy.net.cn/baseapi/utils"
|
||||
"git.rosy.net.cn/jx-callback/business/jxutils"
|
||||
"git.rosy.net.cn/jx-callback/business/jxutils/jxcontext"
|
||||
"git.rosy.net.cn/jx-callback/business/jxutils/tasksch"
|
||||
"git.rosy.net.cn/jx-callback/business/model"
|
||||
"git.rosy.net.cn/jx-callback/business/model/dao"
|
||||
"git.rosy.net.cn/jx-callback/business/partner"
|
||||
"git.rosy.net.cn/jx-callback/globals"
|
||||
)
|
||||
|
||||
@@ -180,77 +177,77 @@ func (p *PurchaseHandler) CreateSku(db *dao.DaoDB, sku *model.Sku, userName stri
|
||||
})
|
||||
}
|
||||
|
||||
func (p *PurchaseHandler) ReadSku(ctx *jxcontext.Context, vendorOrgCode, vendorSkuID string) (skuNameExt *model.SkuNameExt, err error) {
|
||||
jdSkuID := utils.Str2Int64(vendorSkuID)
|
||||
a := getAPI(vendorOrgCode)
|
||||
skuList, _, err := a.QuerySkuInfos(&jdapi.QuerySkuParam{
|
||||
SkuID: jdSkuID,
|
||||
})
|
||||
if err == nil {
|
||||
if len(skuList) >= 1 {
|
||||
skuNameExt = &model.SkuNameExt{}
|
||||
if imgList, err2 := a.QueryListBySkuIds(&jdapi.QueryListBySkuIdsParam{
|
||||
SkuIDs: []int64{jdSkuID},
|
||||
}); err2 == nil && len(imgList) > 0 {
|
||||
skuNameExt.Img = imgList[0].SourceImgURL
|
||||
}
|
||||
sku := skuList[0]
|
||||
prefix, name, comment, specUnit, unit, specQuality := jxutils.SplitSkuName(sku.SkuName)
|
||||
if name == "" {
|
||||
name = sku.SkuName
|
||||
unit = "份"
|
||||
specUnit = "g"
|
||||
}
|
||||
skuNameExt.Prefix = prefix
|
||||
skuNameExt.Name = name
|
||||
skuNameExt.Unit = unit
|
||||
skuNameExt.Price = sku.SkuPrice
|
||||
skuNameExt.Skus = []*model.SkuWithVendor{
|
||||
&model.SkuWithVendor{
|
||||
Sku: &model.Sku{
|
||||
SpecQuality: specQuality,
|
||||
SpecUnit: specUnit,
|
||||
Weight: jxutils.FloatWeight2Int(float32(sku.Weight)),
|
||||
JdID: sku.SkuID,
|
||||
Status: jdStatus2jxStatus(sku.FixedStatus),
|
||||
Comment: comment,
|
||||
},
|
||||
},
|
||||
}
|
||||
skuNameExt.Skus[0].ID = int(utils.Str2Int64(sku.OutSkuID))
|
||||
// func (p *PurchaseHandler) ReadSku(ctx *jxcontext.Context, vendorOrgCode, vendorSkuID string) (skuNameExt *model.SkuNameExt, err error) {
|
||||
// jdSkuID := utils.Str2Int64(vendorSkuID)
|
||||
// a := getAPI(vendorOrgCode)
|
||||
// skuList, _, err := a.QuerySkuInfos(&jdapi.QuerySkuParam{
|
||||
// SkuID: jdSkuID,
|
||||
// })
|
||||
// if err == nil {
|
||||
// if len(skuList) >= 1 {
|
||||
// skuNameExt = &model.SkuNameExt{}
|
||||
// if imgList, err2 := a.QueryListBySkuIds(&jdapi.QueryListBySkuIdsParam{
|
||||
// SkuIDs: []int64{jdSkuID},
|
||||
// }); err2 == nil && len(imgList) > 0 {
|
||||
// skuNameExt.Img = imgList[0].SourceImgURL
|
||||
// }
|
||||
// sku := skuList[0]
|
||||
// prefix, name, comment, specUnit, unit, specQuality := jxutils.SplitSkuName(sku.SkuName)
|
||||
// if name == "" {
|
||||
// name = sku.SkuName
|
||||
// unit = "份"
|
||||
// specUnit = "g"
|
||||
// }
|
||||
// skuNameExt.Prefix = prefix
|
||||
// skuNameExt.Name = name
|
||||
// skuNameExt.Unit = unit
|
||||
// skuNameExt.Price = sku.SkuPrice
|
||||
// skuNameExt.Skus = []*model.SkuWithVendor{
|
||||
// &model.SkuWithVendor{
|
||||
// Sku: &model.Sku{
|
||||
// SpecQuality: specQuality,
|
||||
// SpecUnit: specUnit,
|
||||
// Weight: jxutils.FloatWeight2Int(float32(sku.Weight)),
|
||||
// JdID: sku.SkuID,
|
||||
// Status: jdStatus2jxStatus(sku.FixedStatus),
|
||||
// Comment: comment,
|
||||
// },
|
||||
// },
|
||||
// }
|
||||
// skuNameExt.Skus[0].ID = int(utils.Str2Int64(sku.OutSkuID))
|
||||
|
||||
db := dao.GetDB()
|
||||
shopCategories := sku.ShopCategories
|
||||
if len(shopCategories) > 0 {
|
||||
skuCat := &model.SkuCategory{}
|
||||
skuCat.JdID = shopCategories[0]
|
||||
if dao.GetEntity(db, skuCat, "JdID") == nil {
|
||||
skuNameExt.CategoryID = skuCat.ID
|
||||
}
|
||||
}
|
||||
sellCities := sku.SellCities
|
||||
for _, v := range sellCities {
|
||||
if v == 0 {
|
||||
skuNameExt.IsGlobal = 1
|
||||
}
|
||||
}
|
||||
if len(sellCities) == 0 || skuNameExt.IsGlobal == 1 {
|
||||
skuNameExt.IsGlobal = 1
|
||||
} else {
|
||||
var places []*model.Place
|
||||
if err = dao.GetRows(db, &places, "SELECT * FROM place WHERE jd_code IN ("+dao.GenQuestionMarks(len(sellCities))+") AND level = 2", sellCities); err == nil {
|
||||
skuNameExt.Places = make([]int, len(places))
|
||||
for k, v := range places {
|
||||
skuNameExt.Places[k] = v.Code
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
err = partner.ErrCanNotFindItem
|
||||
}
|
||||
}
|
||||
return skuNameExt, err
|
||||
}
|
||||
// db := dao.GetDB()
|
||||
// shopCategories := sku.ShopCategories
|
||||
// if len(shopCategories) > 0 {
|
||||
// skuCat := &model.SkuCategory{}
|
||||
// skuCat.JdID = shopCategories[0]
|
||||
// if dao.GetEntity(db, skuCat, "JdID") == nil {
|
||||
// skuNameExt.CategoryID = skuCat.ID
|
||||
// }
|
||||
// }
|
||||
// sellCities := sku.SellCities
|
||||
// for _, v := range sellCities {
|
||||
// if v == 0 {
|
||||
// skuNameExt.IsGlobal = 1
|
||||
// }
|
||||
// }
|
||||
// if len(sellCities) == 0 || skuNameExt.IsGlobal == 1 {
|
||||
// skuNameExt.IsGlobal = 1
|
||||
// } else {
|
||||
// var places []*model.Place
|
||||
// if err = dao.GetRows(db, &places, "SELECT * FROM place WHERE jd_code IN ("+dao.GenQuestionMarks(len(sellCities))+") AND level = 2", sellCities); err == nil {
|
||||
// skuNameExt.Places = make([]int, len(places))
|
||||
// for k, v := range places {
|
||||
// skuNameExt.Places[k] = v.Code
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// } else {
|
||||
// err = partner.ErrCanNotFindItem
|
||||
// }
|
||||
// }
|
||||
// return skuNameExt, err
|
||||
// }
|
||||
|
||||
func (p *PurchaseHandler) UpdateSku(db *dao.DaoDB, sku *model.Sku, userName string) (err error) {
|
||||
return p.cuSku(db, sku, func(skuExt *tSkuInfoExt, price int, skuName string, shopCategories []int64, addParams map[string]interface{}) (vendorSkuID string, err error) {
|
||||
@@ -493,127 +490,3 @@ func composeSkuSpec(specQuality float32, specUnit, unit string) string {
|
||||
}
|
||||
return value
|
||||
}
|
||||
|
||||
func (p *PurchaseHandler) GetSkus(ctx *jxcontext.Context, skuID int, vendorSkuID, skuName string) (skuNameList []*partner.SkuNameInfo, err error) {
|
||||
param := &jdapi.QuerySkuParam{
|
||||
SkuID: utils.Str2Int64WithDefault(vendorSkuID, 0),
|
||||
SkuName: skuName,
|
||||
IsFilterDel: jdapi.IsFilterDelTrue,
|
||||
PageNo: 1,
|
||||
PageSize: jdapi.MaxSkuIDsCount4QueryListBySkuIds, // 为了同时取图,这个值不要大于jdapi.MaxSkuIDsCount4QueryListBySkuIds
|
||||
}
|
||||
for {
|
||||
skuList, _, err2 := getAPI("").QuerySkuInfos(param)
|
||||
if err = err2; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if len(skuList) > 0 {
|
||||
batchSkuNameList := make([]*partner.SkuNameInfo, len(skuList))
|
||||
for k, v := range skuList {
|
||||
batchSkuNameList[k] = vendorSku2Jx(v)
|
||||
}
|
||||
setSkuNameListPic(batchSkuNameList)
|
||||
skuNameList = append(skuNameList, batchSkuNameList...)
|
||||
}
|
||||
if len(skuList) < param.PageSize {
|
||||
break
|
||||
}
|
||||
param.PageNo++
|
||||
}
|
||||
return skuNameList, err
|
||||
}
|
||||
|
||||
func setSkuNameListPic(skuNameList []*partner.SkuNameInfo) []*partner.SkuNameInfo {
|
||||
jdSkuIDs := make([]int64, len(skuNameList))
|
||||
for k, v := range skuNameList {
|
||||
jdSkuIDs[k] = utils.Str2Int64(v.SkuList[0].VendorSkuID)
|
||||
}
|
||||
|
||||
imgMap := make(map[int64]*jdapi.ImgHandleQueryResult)
|
||||
if imgList, err2 := getAPI("").QueryListBySkuIds(&jdapi.QueryListBySkuIdsParam{
|
||||
SkuIDs: jdSkuIDs,
|
||||
}); err2 == nil {
|
||||
for _, v := range imgList {
|
||||
if v.ImgType == jdapi.ImgTypeMain {
|
||||
imgResult := imgMap[v.SkuID]
|
||||
if imgResult == nil || imgResult.IsMain < v.IsMain {
|
||||
imgMap[v.SkuID] = v
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 使用扒页面方式获取商品图片
|
||||
if false {
|
||||
var leftJdSkuIDs []int64
|
||||
for _, v := range jdSkuIDs {
|
||||
if imgMap[v] == nil {
|
||||
leftJdSkuIDs = append(leftJdSkuIDs, v)
|
||||
}
|
||||
}
|
||||
task := tasksch.NewParallelTask("jd setSkuNameListPic", nil, jxcontext.AdminCtx,
|
||||
func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
|
||||
jdSkuID := batchItemList[0].(int64)
|
||||
imgList, err := getAPI("").GetSkuPageImageInfo(jdSkuID)
|
||||
if err == nil && len(imgList) > 0 {
|
||||
retVal = [][]string{
|
||||
[]string{utils.Int64ToStr(jdSkuID), imgList[0].Big},
|
||||
}
|
||||
}
|
||||
return retVal, err
|
||||
}, leftJdSkuIDs)
|
||||
task.Run()
|
||||
if resultList, err := task.GetResult(0); err == nil {
|
||||
for _, v := range resultList {
|
||||
strList := v.([]string)
|
||||
imgMap[utils.Str2Int64(strList[0])] = &jdapi.ImgHandleQueryResult{
|
||||
SourceImgURL: strList[1],
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 设置商品图片
|
||||
for _, v := range skuNameList {
|
||||
if imgResult := imgMap[utils.Str2Int64(v.SkuList[0].VendorSkuID)]; imgResult != nil {
|
||||
v.PictureList = []string{imgResult.SourceImgURL}
|
||||
}
|
||||
}
|
||||
return skuNameList
|
||||
}
|
||||
|
||||
func vendorSku2Jx(vendorSku *jdapi.SkuMain) (skuName *partner.SkuNameInfo) {
|
||||
prefix, name, comment, specUnit, unit, specQuality := jxutils.SplitSkuName(vendorSku.SkuName)
|
||||
weight := int(vendorSku.Weight * 1000)
|
||||
if weight <= 0 {
|
||||
weight = jxutils.FormatSkuWeight(specQuality, specUnit)
|
||||
}
|
||||
skuID := int(utils.Str2Int64WithDefault(vendorSku.OutSkuID, 0))
|
||||
vendorSkuID := utils.Int64ToStr(vendorSku.SkuID)
|
||||
skuName = &partner.SkuNameInfo{
|
||||
NameID: skuID,
|
||||
VendorNameID: vendorSkuID,
|
||||
VendorCatIDList: []string{utils.Int64ToStr(vendorSku.CategoryID)},
|
||||
|
||||
Prefix: prefix,
|
||||
Name: name,
|
||||
Unit: unit,
|
||||
SkuList: []*partner.SkuInfo{
|
||||
&partner.SkuInfo{
|
||||
StoreSkuInfo: partner.StoreSkuInfo{
|
||||
VendorSkuID: vendorSkuID,
|
||||
SkuID: skuID,
|
||||
|
||||
VendorPrice: int64(vendorSku.SkuPrice),
|
||||
Status: jdStatus2jxStatus(vendorSku.FixedStatus),
|
||||
},
|
||||
SkuName: vendorSku.SkuName,
|
||||
Comment: comment,
|
||||
SpecQuality: float64(specQuality),
|
||||
SpecUnit: specUnit,
|
||||
Weight: weight,
|
||||
},
|
||||
},
|
||||
}
|
||||
return skuName
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@ import (
|
||||
"git.rosy.net.cn/baseapi/utils"
|
||||
"git.rosy.net.cn/jx-callback/business/jxutils"
|
||||
"git.rosy.net.cn/jx-callback/business/jxutils/jxcontext"
|
||||
"git.rosy.net.cn/jx-callback/business/jxutils/tasksch"
|
||||
"git.rosy.net.cn/jx-callback/business/model"
|
||||
"git.rosy.net.cn/jx-callback/business/model/dao"
|
||||
"git.rosy.net.cn/jx-callback/business/partner"
|
||||
@@ -199,6 +200,129 @@ func (p *PurchaseHandler) DeleteSku2(ctx *jxcontext.Context, sku *dao.StoreSkuSy
|
||||
return err
|
||||
}
|
||||
|
||||
func (p *PurchaseHandler) GetSkus(ctx *jxcontext.Context, vendorOrgCode string, skuID int, vendorSkuID string) (skuNameList []*partner.SkuNameInfo, err error) {
|
||||
param := &jdapi.QuerySkuParam{
|
||||
SkuID: utils.Str2Int64WithDefault(vendorSkuID, 0),
|
||||
IsFilterDel: jdapi.IsFilterDelTrue,
|
||||
PageNo: 1,
|
||||
PageSize: jdapi.MaxSkuIDsCount4QueryListBySkuIds, // 为了同时取图,这个值不要大于jdapi.MaxSkuIDsCount4QueryListBySkuIds
|
||||
}
|
||||
for {
|
||||
skuList, _, err2 := getAPI(vendorOrgCode).QuerySkuInfos(param)
|
||||
if err = err2; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if len(skuList) > 0 {
|
||||
batchSkuNameList := make([]*partner.SkuNameInfo, len(skuList))
|
||||
for k, v := range skuList {
|
||||
batchSkuNameList[k] = vendorSku2Jx(v)
|
||||
}
|
||||
setSkuNameListPic(batchSkuNameList)
|
||||
skuNameList = append(skuNameList, batchSkuNameList...)
|
||||
}
|
||||
if len(skuList) < param.PageSize {
|
||||
break
|
||||
}
|
||||
param.PageNo++
|
||||
}
|
||||
return skuNameList, err
|
||||
}
|
||||
|
||||
func setSkuNameListPic(skuNameList []*partner.SkuNameInfo) []*partner.SkuNameInfo {
|
||||
jdSkuIDs := make([]int64, len(skuNameList))
|
||||
for k, v := range skuNameList {
|
||||
jdSkuIDs[k] = utils.Str2Int64(v.SkuList[0].VendorSkuID)
|
||||
}
|
||||
|
||||
imgMap := make(map[int64]*jdapi.ImgHandleQueryResult)
|
||||
if imgList, err2 := getAPI("").QueryListBySkuIds(&jdapi.QueryListBySkuIdsParam{
|
||||
SkuIDs: jdSkuIDs,
|
||||
}); err2 == nil {
|
||||
for _, v := range imgList {
|
||||
if v.ImgType == jdapi.ImgTypeMain {
|
||||
imgResult := imgMap[v.SkuID]
|
||||
if imgResult == nil || imgResult.IsMain < v.IsMain {
|
||||
imgMap[v.SkuID] = v
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 使用扒页面方式获取商品图片
|
||||
if false {
|
||||
var leftJdSkuIDs []int64
|
||||
for _, v := range jdSkuIDs {
|
||||
if imgMap[v] == nil {
|
||||
leftJdSkuIDs = append(leftJdSkuIDs, v)
|
||||
}
|
||||
}
|
||||
task := tasksch.NewParallelTask("jd setSkuNameListPic", nil, jxcontext.AdminCtx,
|
||||
func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
|
||||
jdSkuID := batchItemList[0].(int64)
|
||||
imgList, err := getAPI("").GetSkuPageImageInfo(jdSkuID)
|
||||
if err == nil && len(imgList) > 0 {
|
||||
retVal = [][]string{
|
||||
[]string{utils.Int64ToStr(jdSkuID), imgList[0].Big},
|
||||
}
|
||||
}
|
||||
return retVal, err
|
||||
}, leftJdSkuIDs)
|
||||
task.Run()
|
||||
if resultList, err := task.GetResult(0); err == nil {
|
||||
for _, v := range resultList {
|
||||
strList := v.([]string)
|
||||
imgMap[utils.Str2Int64(strList[0])] = &jdapi.ImgHandleQueryResult{
|
||||
SourceImgURL: strList[1],
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 设置商品图片
|
||||
for _, v := range skuNameList {
|
||||
if imgResult := imgMap[utils.Str2Int64(v.SkuList[0].VendorSkuID)]; imgResult != nil {
|
||||
v.PictureList = []string{imgResult.SourceImgURL}
|
||||
}
|
||||
}
|
||||
return skuNameList
|
||||
}
|
||||
|
||||
func vendorSku2Jx(vendorSku *jdapi.SkuMain) (skuName *partner.SkuNameInfo) {
|
||||
prefix, name, comment, specUnit, unit, specQuality := jxutils.SplitSkuName(vendorSku.SkuName)
|
||||
weight := int(vendorSku.Weight * 1000)
|
||||
if weight <= 0 {
|
||||
weight = jxutils.FormatSkuWeight(specQuality, specUnit)
|
||||
}
|
||||
skuID := int(utils.Str2Int64WithDefault(vendorSku.OutSkuID, 0))
|
||||
vendorSkuID := utils.Int64ToStr(vendorSku.SkuID)
|
||||
skuName = &partner.SkuNameInfo{
|
||||
NameID: skuID,
|
||||
VendorNameID: vendorSkuID,
|
||||
VendorCatIDList: []string{utils.Int64ToStr(vendorSku.CategoryID)},
|
||||
|
||||
Prefix: prefix,
|
||||
Name: name,
|
||||
Unit: unit,
|
||||
SkuList: []*partner.SkuInfo{
|
||||
&partner.SkuInfo{
|
||||
StoreSkuInfo: partner.StoreSkuInfo{
|
||||
VendorSkuID: vendorSkuID,
|
||||
SkuID: skuID,
|
||||
|
||||
VendorPrice: int64(vendorSku.SkuPrice),
|
||||
Status: jdStatus2jxStatus(vendorSku.FixedStatus),
|
||||
},
|
||||
SkuName: vendorSku.SkuName,
|
||||
Comment: comment,
|
||||
SpecQuality: float64(specQuality),
|
||||
SpecUnit: specUnit,
|
||||
Weight: weight,
|
||||
},
|
||||
},
|
||||
}
|
||||
return skuName
|
||||
}
|
||||
|
||||
func jdStatus2jxStatus(jdStatus int) (jxStatus int) {
|
||||
switch jdStatus {
|
||||
case jdapi.SkuFixedStatusOnline:
|
||||
|
||||
@@ -45,17 +45,17 @@ func TestGetAllCategories(t *testing.T) {
|
||||
t.Log(utils.Format4Output(result, false))
|
||||
}
|
||||
|
||||
func TestReadSku(t *testing.T) {
|
||||
skuName, err := CurPurchaseHandler.ReadSku(jxcontext.AdminCtx, "", "2005582952")
|
||||
t.Log(utils.Format4Output(skuName, false))
|
||||
if err != nil {
|
||||
t.Fatal(err.Error())
|
||||
}
|
||||
if skuName.Name != "味事达酱香鲜特级酿造酱油" || skuName.Skus[0].SpecUnit != "ml" {
|
||||
t.Fatal("ReadSku return data wrong")
|
||||
t.Log(string(utils.MustMarshal(skuName)))
|
||||
}
|
||||
}
|
||||
// func TestReadSku(t *testing.T) {
|
||||
// skuName, err := CurPurchaseHandler.ReadSku(jxcontext.AdminCtx, "", "2005582952")
|
||||
// t.Log(utils.Format4Output(skuName, false))
|
||||
// if err != nil {
|
||||
// t.Fatal(err.Error())
|
||||
// }
|
||||
// if skuName.Name != "味事达酱香鲜特级酿造酱油" || skuName.Skus[0].SpecUnit != "ml" {
|
||||
// t.Fatal("ReadSku return data wrong")
|
||||
// t.Log(string(utils.MustMarshal(skuName)))
|
||||
// }
|
||||
// }
|
||||
|
||||
func TestGetVendorCategories(t *testing.T) {
|
||||
catList, err := CurPurchaseHandler.GetVendorCategories(jxcontext.AdminCtx)
|
||||
@@ -66,7 +66,7 @@ func TestGetVendorCategories(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestGetSkus(t *testing.T) {
|
||||
skuNameList, err := CurPurchaseHandler.GetSkus(jxcontext.AdminCtx, 0, "2023747677", "")
|
||||
skuNameList, err := CurPurchaseHandler.GetSkus(jxcontext.AdminCtx, "", 0, "2023747677")
|
||||
t.Log(utils.Format4Output(skuNameList, false))
|
||||
t.Log(len(skuNameList))
|
||||
if err != nil {
|
||||
|
||||
@@ -19,7 +19,7 @@ func TestGetStoreSkusBareInfo(t *testing.T) {
|
||||
// for i := 0; i < 30-1; i++ {
|
||||
// list = append(list, list[0])
|
||||
// }
|
||||
skuNameList, err := CurPurchaseHandler.GetSkus(jxcontext.AdminCtx, 0, "", "")
|
||||
skuNameList, err := CurPurchaseHandler.GetSkus(jxcontext.AdminCtx, "", 0, "")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
@@ -49,9 +49,9 @@ func (p *PurchaseHandler) CreateSku(db *dao.DaoDB, sku *model.Sku, userName stri
|
||||
return err
|
||||
}
|
||||
|
||||
func (p *PurchaseHandler) ReadSku(ctx *jxcontext.Context, vendorOrgCode, vendorSkuID string) (skuNameExt *model.SkuNameExt, err error) {
|
||||
return skuNameExt, err
|
||||
}
|
||||
// func (p *PurchaseHandler) ReadSku(ctx *jxcontext.Context, vendorOrgCode, vendorSkuID string) (skuNameExt *model.SkuNameExt, err error) {
|
||||
// return skuNameExt, err
|
||||
// }
|
||||
|
||||
func (p *PurchaseHandler) UpdateSku(db *dao.DaoDB, sku *model.Sku, userName string) (err error) {
|
||||
return err
|
||||
@@ -77,6 +77,6 @@ func (p *PurchaseHandler) GetVendorCategories(ctx *jxcontext.Context) (vendorCat
|
||||
return vendorCats, err
|
||||
}
|
||||
|
||||
func (p *PurchaseHandler) GetSkus(ctx *jxcontext.Context, skuID int, vendorSkuID, skuName string) (skuNameList []*partner.SkuNameInfo, err error) {
|
||||
func (p *PurchaseHandler) GetSkus(ctx *jxcontext.Context, vendorOrgCode string, skuID int, vendorSkuID string) (skuNameList []*partner.SkuNameInfo, err error) {
|
||||
return skuNameList, err
|
||||
}
|
||||
|
||||
@@ -291,21 +291,21 @@ func (c *SkuController) DeleteSkuNamePlace() {
|
||||
})
|
||||
}
|
||||
|
||||
// @Title 远程查询厂商SKU信息
|
||||
// @Description 远程查询厂商SKU信息,这个是实时调用API远程查询(不推荐使用)
|
||||
// @Param token header string true "认证token"
|
||||
// @Param vendorSkuID query string true "sku ID"
|
||||
// @Param vendorID query int true "门店所属的厂商ID"
|
||||
// @Param vendorOrgCode query string false "厂商内组织代码"
|
||||
// @Success 200 {object} controllers.CallResult
|
||||
// @Failure 200 {object} controllers.CallResult
|
||||
// @router /GetVendorSku [get]
|
||||
func (c *SkuController) GetVendorSku() {
|
||||
c.callGetVendorSku(func(params *tSkuGetVendorSkuParams) (retVal interface{}, errCode string, err error) {
|
||||
retVal, err = cms.GetVendorSku(params.Ctx, params.VendorID, params.VendorOrgCode, params.VendorSkuID)
|
||||
return retVal, "", err
|
||||
})
|
||||
}
|
||||
// // @Title 远程查询厂商SKU信息
|
||||
// // @Description 远程查询厂商SKU信息,这个是实时调用API远程查询(不推荐使用)
|
||||
// // @Param token header string true "认证token"
|
||||
// // @Param vendorSkuID query string true "sku ID"
|
||||
// // @Param vendorID query int true "门店所属的厂商ID"
|
||||
// // @Param vendorOrgCode query string false "厂商内组织代码"
|
||||
// // @Success 200 {object} controllers.CallResult
|
||||
// // @Failure 200 {object} controllers.CallResult
|
||||
// // @router /GetVendorSku [get]
|
||||
// func (c *SkuController) GetVendorSku() {
|
||||
// c.callGetVendorSku(func(params *tSkuGetVendorSkuParams) (retVal interface{}, errCode string, err error) {
|
||||
// retVal, err = cms.GetVendorSku(params.Ctx, params.VendorID, params.VendorOrgCode, params.VendorSkuID)
|
||||
// return retVal, "", err
|
||||
// })
|
||||
// }
|
||||
|
||||
// @Title 同步商家SKU
|
||||
// @Description 同步商家SKU
|
||||
|
||||
@@ -1206,15 +1206,6 @@ func init() {
|
||||
Filters: nil,
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:SkuController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:SkuController"],
|
||||
beego.ControllerComments{
|
||||
Method: "GetVendorSku",
|
||||
Router: `/GetVendorSku`,
|
||||
AllowHTTPMethods: []string{"get"},
|
||||
MethodParams: param.Make(),
|
||||
Filters: nil,
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:SkuController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:SkuController"],
|
||||
beego.ControllerComments{
|
||||
Method: "ReorderCategories",
|
||||
|
||||
Reference in New Issue
Block a user