From e0bbfa0150179340493e4aa53b4e3394192cab44 Mon Sep 17 00:00:00 2001 From: Rosy-zhudan Date: Fri, 30 Aug 2019 08:58:37 +0800 Subject: [PATCH 1/8] =?UTF-8?q?=E5=95=86=E5=93=81=E5=AD=90=E5=88=86?= =?UTF-8?q?=E7=B1=BB=E4=B8=8B=E5=95=86=E5=93=81=E7=9A=84=E9=87=8D=E6=8E=92?= =?UTF-8?q?=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/cms/sku.go | 57 ++++++++++++++++++++++++++- business/model/sku.go | 22 +++++------ controllers/cms_sku.go | 20 ++++++++++ routers/commentsRouter_controllers.go | 9 +++++ 4 files changed, 95 insertions(+), 13 deletions(-) diff --git a/business/jxstore/cms/sku.go b/business/jxstore/cms/sku.go index 481df5dc4..6d6c9cf96 100644 --- a/business/jxstore/cms/sku.go +++ b/business/jxstore/cms/sku.go @@ -5,7 +5,6 @@ import ( "fmt" "strconv" "strings" - "git.rosy.net.cn/baseapi/platformapi/ebaiapi" "git.rosy.net.cn/baseapi/utils" "git.rosy.net.cn/jx-callback/business/jxutils" @@ -468,7 +467,7 @@ func GetSkuNames(ctx *jxcontext.Context, keyword string, isBySku bool, params ma "}")), "]") skus_str, CONCAT("[", GROUP_CONCAT(DISTINCT t3.place_code), "]") places_str ` + sql + ` - ORDER BY t1.id DESC + ORDER BY MIN(t2.seq), t1.id DESC LIMIT ? OFFSET ?` pageSize = jxutils.FormalizePageSize(pageSize) if offset < 0 { @@ -1042,4 +1041,58 @@ func UploadImg2Platforms(ctx *jxcontext.Context, parentTask tasksch.ITask, imgUR } } return imgHintMap, err +} + +func SortCategorySku(ctx *jxcontext.Context, catID int, skuIDList []int) (err error) { + db := dao.GetDB() + userName := ctx.GetUserName() + var skuList []*model.Sku + if skuList, err = dao.GetSkuByCats(db, []int{catID}); err == nil && len(skuList) > 0 { + if len(skuList) == len(skuIDList) { + skuIDMap := make(map[int]int) + for index, id := range skuIDList { + skuIDMap[id] = index + 1 + } + for _, value := range skuList { + if _, ok := skuIDMap[value.ID]; !ok { + err = errors.New("商品数据不匹配!") + break + } + } + dao.Begin(db) + defer func() { + if r := recover(); r != nil || err != nil { + dao.Rollback(db) + if r != nil { + panic(r) + } + } + }() + for _, value := range skuList { + seq := skuIDMap[value.ID] + kvs := map[string]interface{} { + "seq": seq, + } + dao.UpdateEntityLogically(db, value, kvs, userName, nil) + + sku := &model.Sku{} + sku.ID = value.ID + dao.UpdateEntityLogicallyAndUpdateSyncStatus(db, sku, nil, ctx.GetUserName(), nil, model.FieldJdSyncStatus, model.SyncFlagModifiedMask) + + nameID := value.NameID + skuIDs, err2 := dao.GetSkuIDByNames(db, []int{nameID}) + if err = err2; err == nil && len(skuIDs) > 0 { + _, err = SetStoreSkuSyncStatus2(db, nil, partner.GetSingleStoreVendorIDs(), skuIDs, model.SyncFlagModifiedMask) + } + if err == nil { + dao.Commit(db) + _, err = CurVendorSync.SyncSku(ctx, db, nameID, -1, false, false, userName) + } + } + } else { + err = errors.New("商品数量不匹配!") + } + } + + return err } \ No newline at end of file diff --git a/business/model/sku.go b/business/model/sku.go index e5ead117d..e861eb607 100644 --- a/business/model/sku.go +++ b/business/model/sku.go @@ -221,17 +221,17 @@ func (*SkuName) TableUnique() [][]string { type Sku struct { ModelIDCULD - CategoryID int `orm:"column(category_id)" json:"categoryID"` // 特殊类别,一般用于秒杀,特价之类的特殊类别 - NameID int `orm:"column(name_id)" json:"nameID"` // todo 这个索引应该要求唯一 - SkuIndex int `json:"-"` - Comment string `orm:"size(255)" json:"comment"` - SpecQuality float32 `json:"specQuality"` - SpecUnit string `orm:"size(8)" json:"specUnit"` // 质量或容量 - Weight int `json:"weight"` // 重量/质量,单位为克,当相应的SkuName的SpecUnit为g或kg时,必须等于SpecQuality - Status int `json:"status"` - - JdID int64 `orm:"column(jd_id);null;index" json:"jdID"` - JdSyncStatus int8 `orm:"default(2)" json:"jdSyncStatus"` + CategoryID int `orm:"column(category_id)" json:"categoryID"` // 特殊类别,一般用于秒杀,特价之类的特殊类别 + NameID int `orm:"column(name_id)" json:"nameID"` // todo 这个索引应该要求唯一 + SkuIndex int `json:"-"` + Comment string `orm:"size(255)" json:"comment"` + SpecQuality float32 `json:"specQuality"` + SpecUnit string `orm:"size(8)" json:"specUnit"` // 质量或容量 + Weight int `json:"weight"` // 重量/质量,单位为克,当相应的SkuName的SpecUnit为g或kg时,必须等于SpecQuality + Status int `json:"status"` + Seq int `json:"seq"` + JdID int64 `orm:"column(jd_id);null;index" json:"jdID"` + JdSyncStatus int8 `orm:"default(2)" json:"jdSyncStatus"` LinkID int `orm:"column(link_id);null;index" json:"linkID"` } diff --git a/controllers/cms_sku.go b/controllers/cms_sku.go index 835f2b239..039c6dfc5 100644 --- a/controllers/cms_sku.go +++ b/controllers/cms_sku.go @@ -2,6 +2,7 @@ package controllers import ( "git.rosy.net.cn/baseapi/utils" + "git.rosy.net.cn/jx-callback/business/jxutils" "git.rosy.net.cn/jx-callback/business/jxstore/cms" "git.rosy.net.cn/jx-callback/business/model" "git.rosy.net.cn/jx-callback/business/model/dao" @@ -339,3 +340,22 @@ func (c *SkuController) GetSensitiveWordList() { return retVal, "", err }) } + +// @Title 子分类下商品的重排序 +// @Description 子分类下商品的重排序 +// @Param token header string true "认证token" +// @Param catID formData int true "商品子分类" +// @Param skuIDs formData string true "商品子分类下商品列表" +// @Success 200 {object} controllers.CallResult +// @Failure 200 {object} controllers.CallResult +// @router /SortCategorySku [post] +func (c *SkuController) SortCategorySku() { + c.callSortCategorySku(func(params *tSkuSortCategorySkuParams) (retVal interface{}, errCode string, err error) { + var skuIDList []int + if err = jxutils.Strings2Objs(params.SkuIDs, &skuIDList); err == nil { + err = cms.SortCategorySku(params.Ctx, params.CatID, skuIDList) + } + + return retVal, "", err + }) +} diff --git a/routers/commentsRouter_controllers.go b/routers/commentsRouter_controllers.go index 5c1efe789..220d56c88 100644 --- a/routers/commentsRouter_controllers.go +++ b/routers/commentsRouter_controllers.go @@ -1105,6 +1105,15 @@ 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: "SortCategorySku", + Router: `/SortCategorySku`, + AllowHTTPMethods: []string{"post"}, + 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: "SyncCategory", From 088d83417f14e007eb73d5ee041520e2c5444938 Mon Sep 17 00:00:00 2001 From: Rosy-zhudan Date: Fri, 30 Aug 2019 09:20:36 +0800 Subject: [PATCH 2/8] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=9B=B4=E6=96=B0SKU?= =?UTF-8?q?=E5=95=86=E5=93=81=E6=95=B0=E6=8D=AE=E6=97=B6=E7=9A=84seq?= =?UTF-8?q?=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/cms/sku.go | 1 + 1 file changed, 1 insertion(+) diff --git a/business/jxstore/cms/sku.go b/business/jxstore/cms/sku.go index 6d6c9cf96..b387cfc4a 100644 --- a/business/jxstore/cms/sku.go +++ b/business/jxstore/cms/sku.go @@ -659,6 +659,7 @@ func UpdateSkuName(ctx *jxcontext.Context, nameID int, payload map[string]interf delete(payload, "ImgWeimob") delete(payload, "ImgEbai") delete(payload, "descImgEbai") + delete(payload, "seq") valid := dao.StrictMakeMapByStructObject(payload, skuName, userName) valid = utils.RemoveGeneralMapKeys(valid, model.FieldSpecQuality, model.FieldSpecUnit) From a1086344ca225a4537bd5d062ee53d9f231b27cd Mon Sep 17 00:00:00 2001 From: Rosy-zhudan Date: Fri, 30 Aug 2019 13:38:42 +0800 Subject: [PATCH 3/8] =?UTF-8?q?=E4=BC=98=E5=8C=96=E9=80=9F=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/cms/sku.go | 4 +++- business/model/model.go | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/business/jxstore/cms/sku.go b/business/jxstore/cms/sku.go index b387cfc4a..afef69ea5 100644 --- a/business/jxstore/cms/sku.go +++ b/business/jxstore/cms/sku.go @@ -1054,12 +1054,14 @@ func SortCategorySku(ctx *jxcontext.Context, catID int, skuIDList []int) (err er for index, id := range skuIDList { skuIDMap[id] = index + 1 } + for _, value := range skuList { if _, ok := skuIDMap[value.ID]; !ok { err = errors.New("商品数据不匹配!") break } } + dao.Begin(db) defer func() { if r := recover(); r != nil || err != nil { @@ -1072,7 +1074,7 @@ func SortCategorySku(ctx *jxcontext.Context, catID int, skuIDList []int) (err er for _, value := range skuList { seq := skuIDMap[value.ID] kvs := map[string]interface{} { - "seq": seq, + model.FieldSkuSeq: seq, } dao.UpdateEntityLogically(db, value, kvs, userName, nil) diff --git a/business/model/model.go b/business/model/model.go index f87c38924..9c2a8c567 100644 --- a/business/model/model.go +++ b/business/model/model.go @@ -48,6 +48,8 @@ const ( FieldActID = "ActID" FieldVendorActID = "VendorActID" + + FieldSkuSeq = "seq" ) type ModelIDCUL struct { From 8ec7239b1d0fd6e8f8a9fc6b6dedc6db75204900 Mon Sep 17 00:00:00 2001 From: Rosy-zhudan Date: Fri, 30 Aug 2019 13:42:10 +0800 Subject: [PATCH 4/8] =?UTF-8?q?=E4=BC=98=E5=8C=96=E9=80=9F=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/cms/sku.go | 82 +++++++++++++++++++------------------ 1 file changed, 42 insertions(+), 40 deletions(-) diff --git a/business/jxstore/cms/sku.go b/business/jxstore/cms/sku.go index afef69ea5..4540ef494 100644 --- a/business/jxstore/cms/sku.go +++ b/business/jxstore/cms/sku.go @@ -1049,51 +1049,53 @@ func SortCategorySku(ctx *jxcontext.Context, catID int, skuIDList []int) (err er userName := ctx.GetUserName() var skuList []*model.Sku if skuList, err = dao.GetSkuByCats(db, []int{catID}); err == nil && len(skuList) > 0 { - if len(skuList) == len(skuIDList) { - skuIDMap := make(map[int]int) - for index, id := range skuIDList { - skuIDMap[id] = index + 1 + if len(skuList) != len(skuIDList) { + return errors.New("商品数量不匹配!") + } + skuIDMap := make(map[int]int) + for index, id := range skuIDList { + skuIDMap[id] = index + 1 + } + for _, value := range skuList { + if _, ok := skuIDMap[value.ID]; !ok { + return errors.New("商品数据不匹配!") } - - for _, value := range skuList { - if _, ok := skuIDMap[value.ID]; !ok { - err = errors.New("商品数据不匹配!") - break + } + + dao.Begin(db) + defer func() { + if r := recover(); r != nil || err != nil { + dao.Rollback(db) + if r != nil { + panic(r) } } - - dao.Begin(db) - defer func() { - if r := recover(); r != nil || err != nil { - dao.Rollback(db) - if r != nil { - panic(r) - } - } - }() - for _, value := range skuList { - seq := skuIDMap[value.ID] - kvs := map[string]interface{} { - model.FieldSkuSeq: seq, - } - dao.UpdateEntityLogically(db, value, kvs, userName, nil) - - sku := &model.Sku{} - sku.ID = value.ID - dao.UpdateEntityLogicallyAndUpdateSyncStatus(db, sku, nil, ctx.GetUserName(), nil, model.FieldJdSyncStatus, model.SyncFlagModifiedMask) - - nameID := value.NameID - skuIDs, err2 := dao.GetSkuIDByNames(db, []int{nameID}) - if err = err2; err == nil && len(skuIDs) > 0 { - _, err = SetStoreSkuSyncStatus2(db, nil, partner.GetSingleStoreVendorIDs(), skuIDs, model.SyncFlagModifiedMask) - } - if err == nil { - dao.Commit(db) - _, err = CurVendorSync.SyncSku(ctx, db, nameID, -1, false, false, userName) - } + }() + nameIDList := []int{} + for _, value := range skuList { + seq := skuIDMap[value.ID] + kvs := map[string]interface{} { + model.FieldSkuSeq: seq, } + dao.UpdateEntityLogically(db, value, kvs, userName, nil) + + sku := &model.Sku{} + sku.ID = value.ID + dao.UpdateEntityLogicallyAndUpdateSyncStatus(db, sku, nil, ctx.GetUserName(), nil, model.FieldJdSyncStatus, model.SyncFlagModifiedMask) + + nameID := value.NameID + nameIDList = append(nameIDList, nameID) + _, err = CurVendorSync.SyncSku(ctx, db, nameID, -1, false, false, userName) + } + + skuIDs, err2 := dao.GetSkuIDByNames(db, nameIDList) + if err = err2; err == nil && len(skuIDs) > 0 { + _, err = SetStoreSkuSyncStatus2(db, nil, partner.GetSingleStoreVendorIDs(), skuIDs, model.SyncFlagModifiedMask) + } + if err == nil { + dao.Commit(db) } else { - err = errors.New("商品数量不匹配!") + dao.Rollback(db) } } From de91ac4a206bfdcb280190c1c190b131ad0bf0dd Mon Sep 17 00:00:00 2001 From: Rosy-zhudan Date: Fri, 30 Aug 2019 14:09:50 +0800 Subject: [PATCH 5/8] =?UTF-8?q?=E2=80=9C=E6=B5=8B=E8=AF=95=E4=BC=98?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/cms/sku.go | 46 +++++++++++++++++++++++-------------- 1 file changed, 29 insertions(+), 17 deletions(-) diff --git a/business/jxstore/cms/sku.go b/business/jxstore/cms/sku.go index 4540ef494..8171cfe08 100644 --- a/business/jxstore/cms/sku.go +++ b/business/jxstore/cms/sku.go @@ -1062,15 +1062,15 @@ func SortCategorySku(ctx *jxcontext.Context, catID int, skuIDList []int) (err er } } - dao.Begin(db) - defer func() { - if r := recover(); r != nil || err != nil { - dao.Rollback(db) - if r != nil { - panic(r) - } - } - }() + // dao.Begin(db) + // defer func() { + // if r := recover(); r != nil || err != nil { + // dao.Rollback(db) + // if r != nil { + // panic(r) + // } + // } + // }() nameIDList := []int{} for _, value := range skuList { seq := skuIDMap[value.ID] @@ -1088,15 +1088,27 @@ func SortCategorySku(ctx *jxcontext.Context, catID int, skuIDList []int) (err er _, err = CurVendorSync.SyncSku(ctx, db, nameID, -1, false, false, userName) } - skuIDs, err2 := dao.GetSkuIDByNames(db, nameIDList) - if err = err2; err == nil && len(skuIDs) > 0 { - _, err = SetStoreSkuSyncStatus2(db, nil, partner.GetSingleStoreVendorIDs(), skuIDs, model.SyncFlagModifiedMask) - } - if err == nil { - dao.Commit(db) - } else { - dao.Rollback(db) + // skuIDs, err2 := dao.GetSkuIDByNames(db, nameIDList) + // if err = err2; err == nil && len(skuIDs) > 0 { + // _, err = SetStoreSkuSyncStatus2(db, nil, partner.GetSingleStoreVendorIDs(), skuIDs, model.SyncFlagModifiedMask) + // } + // if err == nil { + // dao.Commit(db) + // } else { + // dao.Rollback(db) + // } + taskSeqFunc := func(task *tasksch.SeqTask, step int, params ...interface{}) (result interface{}, err error) { + switch step { + case 0: + skuIDs, err2 := dao.GetSkuIDByNames(db, nameIDList) + if err = err2; err == nil && len(skuIDs) > 0 { + _, err = SetStoreSkuSyncStatus2(db, nil, partner.GetSingleStoreVendorIDs(), skuIDs, model.SyncFlagModifiedMask) + } + } + return result, err } + taskSeq := tasksch.NewSeqTask("SortCategorySku", ctx, taskSeqFunc, 1) + taskSeq.Run() } return err From a7270ccd844e0254e2aca59fdedabb7fa9afaf3a Mon Sep 17 00:00:00 2001 From: Rosy-zhudan Date: Fri, 30 Aug 2019 15:08:44 +0800 Subject: [PATCH 6/8] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=90=84=E5=A4=84?= =?UTF-8?q?=E5=95=86=E5=93=81=E6=9F=A5=E8=AF=A2=E5=8A=A0=E5=85=A5Seq?= =?UTF-8?q?=E6=8E=92=E5=BA=8F=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/cms/sku.go | 71 +++++++++----------- business/jxstore/cms/store_sku.go | 4 +- business/partner/purchase/ebai/store_sku2.go | 2 +- business/partner/purchase/mtwm/store_sku2.go | 2 +- controllers/cms_sku.go | 10 +-- routers/commentsRouter_controllers.go | 4 +- 6 files changed, 44 insertions(+), 49 deletions(-) diff --git a/business/jxstore/cms/sku.go b/business/jxstore/cms/sku.go index 8171cfe08..88a806f25 100644 --- a/business/jxstore/cms/sku.go +++ b/business/jxstore/cms/sku.go @@ -1044,7 +1044,7 @@ func UploadImg2Platforms(ctx *jxcontext.Context, parentTask tasksch.ITask, imgUR return imgHintMap, err } -func SortCategorySku(ctx *jxcontext.Context, catID int, skuIDList []int) (err error) { +func SortCategorySkus(ctx *jxcontext.Context, catID int, skuIDList []int) (err error) { db := dao.GetDB() userName := ctx.GetUserName() var skuList []*model.Sku @@ -1062,53 +1062,48 @@ func SortCategorySku(ctx *jxcontext.Context, catID int, skuIDList []int) (err er } } - // dao.Begin(db) - // defer func() { - // if r := recover(); r != nil || err != nil { - // dao.Rollback(db) - // if r != nil { - // panic(r) - // } - // } - // }() + dao.Begin(db) + defer func() { + if r := recover(); r != nil || err != nil { + dao.Rollback(db) + if r != nil { + panic(r) + } + } + }() nameIDList := []int{} for _, value := range skuList { seq := skuIDMap[value.ID] kvs := map[string]interface{} { model.FieldSkuSeq: seq, + //model.FieldJdSyncStatus: (value.JdSyncStatus | model.SyncFlagModifiedMask), } - dao.UpdateEntityLogically(db, value, kvs, userName, nil) - - sku := &model.Sku{} - sku.ID = value.ID - dao.UpdateEntityLogicallyAndUpdateSyncStatus(db, sku, nil, ctx.GetUserName(), nil, model.FieldJdSyncStatus, model.SyncFlagModifiedMask) - - nameID := value.NameID - nameIDList = append(nameIDList, nameID) - _, err = CurVendorSync.SyncSku(ctx, db, nameID, -1, false, false, userName) + dao.UpdateEntityLogically(db, value, kvs, userName, nil) + nameIDList = append(nameIDList, value.NameID) } + //_, err = CurVendorSync.SyncSkus(ctx, db, nameIDList, []int{}, false, false, userName) - // skuIDs, err2 := dao.GetSkuIDByNames(db, nameIDList) - // if err = err2; err == nil && len(skuIDs) > 0 { - // _, err = SetStoreSkuSyncStatus2(db, nil, partner.GetSingleStoreVendorIDs(), skuIDs, model.SyncFlagModifiedMask) - // } - // if err == nil { - // dao.Commit(db) - // } else { - // dao.Rollback(db) - // } - taskSeqFunc := func(task *tasksch.SeqTask, step int, params ...interface{}) (result interface{}, err error) { - switch step { - case 0: - skuIDs, err2 := dao.GetSkuIDByNames(db, nameIDList) - if err = err2; err == nil && len(skuIDs) > 0 { - _, err = SetStoreSkuSyncStatus2(db, nil, partner.GetSingleStoreVendorIDs(), skuIDs, model.SyncFlagModifiedMask) - } + if err == nil { + dao.Commit(db) + skuIDs, err2 := dao.GetSkuIDByNames(db, nameIDList) + if err = err2; err == nil && len(skuIDs) > 0 { + _, err = SetStoreSkuSyncStatus2(db, nil, partner.GetSingleStoreVendorIDs(), skuIDs, model.SyncFlagModifiedMask) } - return result, err + // taskSeqFunc := func(task *tasksch.SeqTask, step int, params ...interface{}) (result interface{}, err error) { + // switch step { + // case 0: + // skuIDs, err2 := dao.GetSkuIDByNames(db, nameIDList) + // if err = err2; err == nil && len(skuIDs) > 0 { + // _, err = SetStoreSkuSyncStatus2(db, nil, partner.GetSingleStoreVendorIDs(), skuIDs, model.SyncFlagModifiedMask) + // } + // } + // return result, err + // } + // taskSeq := tasksch.NewSeqTask("SortCategorySku", ctx, taskSeqFunc, 1) + // taskSeq.Run() + } else { + dao.Rollback(db) } - taskSeq := tasksch.NewSeqTask("SortCategorySku", ctx, taskSeqFunc, 1) - taskSeq.Run() } return err diff --git a/business/jxstore/cms/store_sku.go b/business/jxstore/cms/store_sku.go index 736766c2c..566d53280 100644 --- a/business/jxstore/cms/store_sku.go +++ b/business/jxstore/cms/store_sku.go @@ -373,12 +373,12 @@ func GetStoresSkusNew(ctx *jxcontext.Context, storeIDs, skuIDs []int, isFocus bo sqlParams = append(sqlParams, v.NameID, v.StoreID) } sql += `) - ORDER BY t3.id, t2.name_id, t2.id + ORDER BY t3.id, MIN(t2.seq), t2.name_id, t2.id ` } else { if isFocus { sql += ` - ORDER BY t3.id, t2.name_id, t2.id + ORDER BY t3.id, MIN(t2.seq), t2.name_id, t2.id ` } sql += ` diff --git a/business/partner/purchase/ebai/store_sku2.go b/business/partner/purchase/ebai/store_sku2.go index 7056381e7..7b2e7261f 100644 --- a/business/partner/purchase/ebai/store_sku2.go +++ b/business/partner/purchase/ebai/store_sku2.go @@ -284,7 +284,7 @@ func getEbaiCat(catID int64, level int) int64 { // 饿百的排序是从大到小 func genSkuCatRank(storeSku *dao.StoreSkuSyncInfo) int { - return int(ebaiapi.MaxSkuCatRank - storeSku.VendorPrice) + return int(ebaiapi.MaxSkuCatRank - storeSku.Seq) } // 饿百的排序是从大到小 diff --git a/business/partner/purchase/mtwm/store_sku2.go b/business/partner/purchase/mtwm/store_sku2.go index 687300205..ff7907989 100644 --- a/business/partner/purchase/mtwm/store_sku2.go +++ b/business/partner/purchase/mtwm/store_sku2.go @@ -171,7 +171,7 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI if storeSku.DescImg != "" { foodData["picture_contents"] = storeSku.DescImg } - foodData["sequence"] = storeSku.VendorPrice + foodData["sequence"] = storeSku.Seq if storeSku.VendorVendorCatID != 0 { foodData["tag_id"] = utils.Int64ToStr(storeSku.VendorVendorCatID) } else { diff --git a/controllers/cms_sku.go b/controllers/cms_sku.go index 039c6dfc5..af1750251 100644 --- a/controllers/cms_sku.go +++ b/controllers/cms_sku.go @@ -2,8 +2,8 @@ package controllers import ( "git.rosy.net.cn/baseapi/utils" - "git.rosy.net.cn/jx-callback/business/jxutils" "git.rosy.net.cn/jx-callback/business/jxstore/cms" + "git.rosy.net.cn/jx-callback/business/jxutils" "git.rosy.net.cn/jx-callback/business/model" "git.rosy.net.cn/jx-callback/business/model/dao" "github.com/astaxie/beego" @@ -348,12 +348,12 @@ func (c *SkuController) GetSensitiveWordList() { // @Param skuIDs formData string true "商品子分类下商品列表" // @Success 200 {object} controllers.CallResult // @Failure 200 {object} controllers.CallResult -// @router /SortCategorySku [post] -func (c *SkuController) SortCategorySku() { - c.callSortCategorySku(func(params *tSkuSortCategorySkuParams) (retVal interface{}, errCode string, err error) { +// @router /SortCategorySkus [post] +func (c *SkuController) SortCategorySkus() { + c.callSortCategorySkus(func(params *tSkuSortCategorySkusParams) (retVal interface{}, errCode string, err error) { var skuIDList []int if err = jxutils.Strings2Objs(params.SkuIDs, &skuIDList); err == nil { - err = cms.SortCategorySku(params.Ctx, params.CatID, skuIDList) + err = cms.SortCategorySkus(params.Ctx, params.CatID, skuIDList) } return retVal, "", err diff --git a/routers/commentsRouter_controllers.go b/routers/commentsRouter_controllers.go index 220d56c88..c1cf51191 100644 --- a/routers/commentsRouter_controllers.go +++ b/routers/commentsRouter_controllers.go @@ -1107,8 +1107,8 @@ func init() { beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:SkuController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:SkuController"], beego.ControllerComments{ - Method: "SortCategorySku", - Router: `/SortCategorySku`, + Method: "SortCategorySkus", + Router: `/SortCategorySkus`, AllowHTTPMethods: []string{"post"}, MethodParams: param.Make(), Filters: nil, From c8c09640dc705fdef0fa3d71ac8305686118fba4 Mon Sep 17 00:00:00 2001 From: Rosy-zhudan Date: Fri, 30 Aug 2019 16:00:44 +0800 Subject: [PATCH 7/8] =?UTF-8?q?=E5=8E=BB=E6=8E=89seq?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/cms/store_sku.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/business/jxstore/cms/store_sku.go b/business/jxstore/cms/store_sku.go index 566d53280..736766c2c 100644 --- a/business/jxstore/cms/store_sku.go +++ b/business/jxstore/cms/store_sku.go @@ -373,12 +373,12 @@ func GetStoresSkusNew(ctx *jxcontext.Context, storeIDs, skuIDs []int, isFocus bo sqlParams = append(sqlParams, v.NameID, v.StoreID) } sql += `) - ORDER BY t3.id, MIN(t2.seq), t2.name_id, t2.id + ORDER BY t3.id, t2.name_id, t2.id ` } else { if isFocus { sql += ` - ORDER BY t3.id, MIN(t2.seq), t2.name_id, t2.id + ORDER BY t3.id, t2.name_id, t2.id ` } sql += ` From b9ec8067ac25c94ec25d7a4a110954daf63f4061 Mon Sep 17 00:00:00 2001 From: Rosy-zhudan Date: Fri, 30 Aug 2019 16:59:46 +0800 Subject: [PATCH 8/8] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/cms/sku.go | 2 +- business/model/dao/store_sku.go | 7 +++++++ business/model/model.go | 2 +- business/partner/purchase/ebai/store_sku2.go | 2 +- business/partner/purchase/mtwm/store_sku2.go | 2 +- 5 files changed, 11 insertions(+), 4 deletions(-) diff --git a/business/jxstore/cms/sku.go b/business/jxstore/cms/sku.go index 88a806f25..c5742d8aa 100644 --- a/business/jxstore/cms/sku.go +++ b/business/jxstore/cms/sku.go @@ -1064,7 +1064,7 @@ func SortCategorySkus(ctx *jxcontext.Context, catID int, skuIDList []int) (err e dao.Begin(db) defer func() { - if r := recover(); r != nil || err != nil { + if r := recover(); r != nil { dao.Rollback(db) if r != nil { panic(r) diff --git a/business/model/dao/store_sku.go b/business/model/dao/store_sku.go index 079d2f36a..83c4b58d7 100644 --- a/business/model/dao/store_sku.go +++ b/business/model/dao/store_sku.go @@ -526,3 +526,10 @@ func GetExistingStoreSkuNameInfo(db *DaoDB, storeIDs, skuNameIDs []int) (storeSk err = GetRows(db, &storeSkuNameList, sql, sqlParams...) return storeSkuNameList, err } + +func (s *StoreSkuSyncInfo) GetSeq() int { + if s.Seq > 0 { + return s.Seq + } + return int(s.VendorPrice) + } \ No newline at end of file diff --git a/business/model/model.go b/business/model/model.go index 9c2a8c567..dde6a51b9 100644 --- a/business/model/model.go +++ b/business/model/model.go @@ -49,7 +49,7 @@ const ( FieldActID = "ActID" FieldVendorActID = "VendorActID" - FieldSkuSeq = "seq" + FieldSkuSeq = "Seq" ) type ModelIDCUL struct { diff --git a/business/partner/purchase/ebai/store_sku2.go b/business/partner/purchase/ebai/store_sku2.go index 7b2e7261f..7c1046bd5 100644 --- a/business/partner/purchase/ebai/store_sku2.go +++ b/business/partner/purchase/ebai/store_sku2.go @@ -284,7 +284,7 @@ func getEbaiCat(catID int64, level int) int64 { // 饿百的排序是从大到小 func genSkuCatRank(storeSku *dao.StoreSkuSyncInfo) int { - return int(ebaiapi.MaxSkuCatRank - storeSku.Seq) + return int(ebaiapi.MaxSkuCatRank - storeSku.GetSeq()) } // 饿百的排序是从大到小 diff --git a/business/partner/purchase/mtwm/store_sku2.go b/business/partner/purchase/mtwm/store_sku2.go index ff7907989..52ce4e300 100644 --- a/business/partner/purchase/mtwm/store_sku2.go +++ b/business/partner/purchase/mtwm/store_sku2.go @@ -171,7 +171,7 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI if storeSku.DescImg != "" { foodData["picture_contents"] = storeSku.DescImg } - foodData["sequence"] = storeSku.Seq + foodData["sequence"] = storeSku.GetSeq() if storeSku.VendorVendorCatID != 0 { foodData["tag_id"] = utils.Int64ToStr(storeSku.VendorVendorCatID) } else {