- add skuName.upc

This commit is contained in:
gazebo
2018-12-11 23:02:17 +08:00
parent 21ac6458a4
commit 5e838f2e72
3 changed files with 19 additions and 16 deletions

View File

@@ -339,7 +339,8 @@ func GetSkuNames(ctx *jxcontext.Context, keyword string, params map[string]inter
t1.elm_img_hash_code,
t1.status,
t1.is_spu,
t1.img_hash_code
t1.img_hash_code,
t1.upc
`
sqlData := `
SELECT
@@ -361,6 +362,7 @@ func GetSkuNames(ctx *jxcontext.Context, keyword string, params map[string]inter
t1.status,
t1.is_spu,
t1.img_hash_code,
t1.upc,
CONCAT("[", GROUP_CONCAT(DISTINCT CONCAT('{"id":', t2.id, ',"comment":"', t2.comment, '","status":', t2.status, ',"createdAt":"', CONCAT(REPLACE(t2.created_at," ","T"),"+08:00"), '","updatedAt":"', CONCAT(REPLACE(t2.updated_at," ","T"),"+08:00"), '","lastOperator":"', t2.last_operator, '","specQuality":', t2.spec_quality, ',"specUnit":"', t2.spec_unit, '","weight":', t2.weight, ',"jdID":', t2.jd_id, ',"categoryID":', t2.category_id, ',"nameID":', t2.name_id, "}")), "]") skus_str,
CONCAT("[", GROUP_CONCAT(DISTINCT t3.place_code), "]") places_str
` + sql + `

View File

@@ -164,11 +164,11 @@ type SkuName struct {
Img string `orm:"size(255)" json:"img"`
ImgHashCode string `orm:"size(255)" json:"img_hash_code"`
ElmImgHashCode string `orm:"size(255)" json:"-"` // 长度255的原因是从京东初始化数据时临时需要
Status int `orm:"default(1)" json:"status"` // skuname状态取值同sku.Status
IsSpu int8 `orm:"column(is_spu)" json:"isSpu"` // 用于指明是否SKUNAME当成SPU
JdID int64 `orm:"column(jd_id);null" json:"jdID"`
JdSyncStatus int8 `orm:"default(2)" json:"jdSyncStatus"`
Upc string `orm:"size(20)"`
Status int `orm:"default(1)" json:"status"` // skuname状态取值同sku.Status
IsSpu int8 `orm:"column(is_spu)" json:"isSpu"` // 用于指明是否SKUNAME当成SPU
JdID int64 `orm:"column(jd_id);null" json:"jdID"`
JdSyncStatus int8 `orm:"default(2)" json:"jdSyncStatus"`
}
func (*SkuName) TableUnique() [][]string {

View File

@@ -141,6 +141,9 @@ func (p *PurchaseHandler) cuSku(db *dao.DaoDB, sku *model.Sku, handler func(skuE
if err == nil {
skuName := jxutils.ComposeSkuName(skuInfoExt.Prefix, skuInfoExt.Name, sku.Comment, skuInfoExt.Unit, sku.SpecQuality, sku.SpecUnit, 0)
skuPrice := jxutils.CaculateSkuPrice(skuInfoExt.Price, sku.SpecQuality, sku.SpecUnit, skuInfoExt.Unit)
if skuInfoExt.Upc != "" {
addParams["upcCode"] = skuInfoExt.Upc
}
result, err2 := handler(&skuInfoExt, skuPrice, skuName, shopCategories, addParams)
if err = err2; err == nil {
if jdID := utils.Str2Int64WithDefault(result, 0); jdID != 0 {
@@ -328,6 +331,7 @@ func (p *PurchaseHandler) RefreshAllSkusID(ctx *jxcontext.Context, parentTask ta
}
// 这个处理JD SPU补丁形式
// addParams是SPU的附加参数而不是SKU
func (p *PurchaseHandler) syncSkuNameAsSpu(db *dao.DaoDB, sku *model.Sku, skuExt *tSkuInfoExt, price int, skuName string, shopCategories []int64, addParams map[string]interface{}) (vendorSkuID string, err error) {
updateFields := []string{
model.FieldJdSyncStatus,
@@ -350,20 +354,17 @@ func (p *PurchaseHandler) syncSkuNameAsSpu(db *dao.DaoDB, sku *model.Sku, skuExt
err = api.JdAPI.UpdateSkuBaseInfo(utils.Int2Str(skuExt.ID), utils.Int2Str(sku.ID), utils.Params2Map(jdapi.KeyFixedStatus, jdapi.SkuFixedStatusDeleted))
} else if sku.JdSyncStatus&model.SyncFlagNewMask != 0 && !jxutils.IsFakeID(skuNameJdID) { // 非首次新增SKU
if globals.EnableStoreWrite {
vendorSkuID2, err2 := api.JdAPI.AppendSku(utils.Int2Str(skuExt.ID), utils.Int2Str(sku.ID), skuExt.JdCategoryID, shopCategories, skuExt.BrandID, skuName, price, jxutils.IntWeight2Float(sku.Weight), []string{skuExt.Img}, jxStatus2jdStatus(sku.Status), true, addParams)
vendorSkuID2, err2 := api.JdAPI.AppendSku(utils.Int2Str(skuExt.ID), utils.Int2Str(sku.ID), skuExt.JdCategoryID, shopCategories, skuExt.BrandID, skuName, price, jxutils.IntWeight2Float(sku.Weight), []string{skuExt.Img}, jxStatus2jdStatus(sku.Status), true, nil)
if err = err2; err == nil {
vendorSkuID = utils.Int64ToStr(vendorSkuID2)
}
}
} else if sku.JdSyncStatus&model.SyncFlagModifiedMask != 0 {
params := utils.MergeMaps(addParams)
params["categoryId"] = skuExt.JdCategoryID
params["shopCategories"] = shopCategories
params["brandId"] = skuExt.BrandID
params := make(map[string]interface{})
params["skuName"] = skuName
params["weight"] = jxutils.IntWeight2Float(sku.Weight)
params["images"] = []string{skuExt.Img}
params[jdapi.KeyFixedStatus] = jxStatus2jdStatus(sku.Status)
params[jdapi.KeyWeight] = sku.Weight
if globals.EnableStoreWrite {
err = api.JdAPI.UpdateSkuBaseInfo(utils.Int2Str(skuExt.ID), utils.Int2Str(sku.ID), params)
}
@@ -409,14 +410,14 @@ func (p *PurchaseHandler) syncSkuNameAsSpu(db *dao.DaoDB, sku *model.Sku, skuExt
}
}
} else if skuExt.JdSyncStatus&model.SyncFlagModifiedMask != 0 {
params := map[string]interface{}{
"categoryId": skuExt.JdCategoryID,
params := utils.MergeMaps(map[string]interface{}{
"superName": jxutils.ComposeSpuName(skuExt.Prefix, skuExt.Name, 0),
"shopCategories": shopCategories,
"categoryId": skuExt.JdCategoryID,
"brandId": skuExt.BrandID,
"skuName": skuName,
"images": []string{skuExt.Img},
jdapi.KeyFixedStatus: jxStatus2jdStatus(skuExt.Status),
}
}, addParams)
if globals.EnableStoreWrite {
err = api.JdAPI.UpdateSpu(utils.Int2Str(skuExt.ID), params)
}