diff --git a/business/jxstore/cms/sku.go b/business/jxstore/cms/sku.go index 00c16d2fc..26fcc486e 100644 --- a/business/jxstore/cms/sku.go +++ b/business/jxstore/cms/sku.go @@ -3381,7 +3381,7 @@ func setImgs2(v *model.SkuName, imgs []string) (err error) { return err } -func GetSkuNamesNew(ctx *jxcontext.Context, keyword string, skuIDs, skuNameIDs []int, categoryID, status int, isBySku bool, offset, pageSize int) (skuNamesInfo *SkuNamesInfo, err error) { +func GetSkuNamesNew(ctx *jxcontext.Context, keyword string, skuIDs, skuNameIDs []int, categoryID, status int, isBySku bool, offset, pageSize, bestSeller int) (skuNamesInfo *SkuNamesInfo, err error) { var ( db = dao.GetDB() sql = "" @@ -3486,6 +3486,10 @@ func GetSkuNamesNew(ctx *jxcontext.Context, keyword string, skuIDs, skuNameIDs [ sql += " AND t2.id IN (" + dao.GenQuestionMarks(len(skuIDs)) + ")" sqlParams = append(sqlParams, skuIDs) } + if bestSeller > 0 { + sql += " AND t1.best_seller = ? " + sqlParams = append(sqlParams, bestSeller) + } if categoryID > 0 { cat := &model.SkuCategory{} cat.ID = categoryID @@ -3580,3 +3584,10 @@ func GetSkuNamesNew(ctx *jxcontext.Context, keyword string, skuIDs, skuNameIDs [ } return skuNamesInfo, err } + +func SetSkuNameSeller(nameIds []int64, bastSeller int) error { + sql := ` UPDATE sku_name SET bast_seller = ? WHERE id IN (` + dao.GenQuestionMarks(len(nameIds)) + `)` + param := []interface{}{bastSeller, nameIds} + _, err := dao.ExecuteSQL(dao.GetDB(), sql, param...) + return err +} diff --git a/business/jxstore/cms/store_sku.go b/business/jxstore/cms/store_sku.go index 4399c586f..fd2dcd382 100644 --- a/business/jxstore/cms/store_sku.go +++ b/business/jxstore/cms/store_sku.go @@ -3740,6 +3740,11 @@ func GetTopSkusByStoreIDs(ctx *jxcontext.Context, storeIDs []int) (storeSkuNameE func GetTopSkusByCityCode(ctx *jxcontext.Context, cityCode, storeID int) (skuNameAndPlaceList []*dao.SkuNameAndPlace, err error) { db := dao.GetDB() + store, err := dao.GetStoreDetail(db, storeID, -1, "") + if err != nil { + return nil, err + } + cityCode = store.CityCode orderCreate := time.Now().AddDate(0, -1, 0) var skuNameAndPlace []*dao.SkuNameAndPlace if cityCode > 0 { @@ -3779,10 +3784,7 @@ func GetTopSkusByCityCode(ctx *jxcontext.Context, cityCode, storeID int) (skuNam for _, v := range skuNameList { skuNameMap[v.ID] = v } - store, err := dao.GetStoreDetail(db, storeID, -1, "") - if err != nil { - return nil, err - } + var payPercentage int if store.PayPercentage < 50 { payPercentage = 70 diff --git a/controllers/cms_sku.go b/controllers/cms_sku.go index 636461648..86ecde8d1 100644 --- a/controllers/cms_sku.go +++ b/controllers/cms_sku.go @@ -11,6 +11,7 @@ import ( "git.rosy.net.cn/jx-callback/business/partner/purchase/tiktok_store" "git.rosy.net.cn/jx-callback/globals" "github.com/astaxie/beego/server/web" + "strings" "time" ) @@ -742,6 +743,7 @@ func (c *SkuController) RefreshNoImgSku() { // @Param categoryID query int false "商品名所属类别ID" // @Param status query int false "查询起始状态(0:下架,1:正常, -1全部)" // @Param isBySku query bool false "是否将sku拆开,缺省为false" +// @Param bestSeller query int false "是否为畅销品[0-不是/1-是]" // @Param offset query int false "门店列表起始序号(以0开始,缺省为0)" // @Param pageSize query int false "门店列表页大小(缺省为50,-1表示全部)" // @Success 200 {object} controllers.CallResult @@ -751,12 +753,28 @@ func (c *SkuController) GetSkuNamesNew() { c.callGetSkuNamesNew(func(params *tSkuGetSkuNamesNewParams) (retVal interface{}, errCode string, err error) { var skuIDs, skuNameIDs []int if err = jxutils.Strings2Objs(params.SkuIDs, &skuIDs, params.NameIDs, &skuNameIDs); err == nil { - retVal, err = cms.GetSkuNamesNew(params.Ctx, params.Keyword, skuIDs, skuNameIDs, params.CategoryID, params.Status, params.IsBySku, params.Offset, params.PageSize) + retVal, err = cms.GetSkuNamesNew(params.Ctx, params.Keyword, skuIDs, skuNameIDs, params.CategoryID, params.Status, params.IsBySku, params.Offset, params.PageSize, params.BestSeller) } return retVal, "", err }) } +// @Title 设置商品为热销/取消热销商品 +// @Description 设置商品为热销/取消热销商品 +// @Param token header string true "认证token" +// @Param skuNameId query string true "商品nameId,多个用逗号分割" +// @Param bestSeller query int true "是否为热销[0不是/1是]" +// @Success 200 {object} controllers.CallResult +// @Failure 200 {object} controllers.CallResult +// @router /SetSkuBestSeller [post] +func (c *SkuController) SetSkuBestSeller() { + c.callSetSkuBestSeller(func(params *tSkuSetSkuBestSellerParams) (retVal interface{}, errCode string, err error) { + nameIds := strings.Split(params.SkuNameId, ",") + err = cms.SetSkuNameSeller(utils.StringSlice2Int64(nameIds), params.BestSeller) + return nil, "", err + }) +} + // @Title 根据分类id获取平台属性值 // @Description 根据分类id获取平台属性值 // @Param token header string true "认证token" diff --git a/routers/commentsRouter_controllers.go b/routers/commentsRouter_controllers.go index 810c99afb..ae493ebdf 100644 --- a/routers/commentsRouter_controllers.go +++ b/routers/commentsRouter_controllers.go @@ -1871,6 +1871,15 @@ func init() { Filters: nil, Params: nil}) + web.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:SkuController"] = append(web.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:SkuController"], + web.ControllerComments{ + Method: "SetSkuBestSeller", + Router: `/SetSkuBestSeller`, + AllowHTTPMethods: []string{"post"}, + MethodParams: param.Make(), + Filters: nil, + Params: nil}) + web.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:SkuController"] = append(web.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:SkuController"], web.ControllerComments{ Method: "GetTiktokCategoryValue",