aa
This commit is contained in:
@@ -665,23 +665,23 @@ func GetSkuNames(ctx *jxcontext.Context, keyword string, isBySku, isQueryMidPric
|
|||||||
// return nil, err
|
// return nil, err
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
skuVendorCats, _ := dao.GetSkuVendorCategoryMaps(db, []int{skuName.ID}, []int{model.VendorIDMTWM, model.VendorIDEBAI, model.VendorIDJDShop, model.VendorIDJD}, nil)
|
// skuVendorCats, _ := dao.GetSkuVendorCategoryMaps(db, []int{skuName.ID}, []int{model.VendorIDMTWM, model.VendorIDEBAI, model.VendorIDJDShop, model.VendorIDJD}, nil)
|
||||||
if len(skuVendorCats) > 0 {
|
// if len(skuVendorCats) > 0 {
|
||||||
for _, v := range skuVendorCats {
|
// for _, v := range skuVendorCats {
|
||||||
if v.VendorID == model.VendorIDJD {
|
// if v.VendorID == model.VendorIDJD {
|
||||||
skuName.JdCategoryID = v.VendorCategoryID
|
// skuName.JdCategoryID = v.VendorCategoryID
|
||||||
}
|
// }
|
||||||
if v.VendorID == model.VendorIDEBAI {
|
// if v.VendorID == model.VendorIDEBAI {
|
||||||
skuName.EbaiCategoryID = v.VendorCategoryID
|
// skuName.EbaiCategoryID = v.VendorCategoryID
|
||||||
}
|
// }
|
||||||
if v.VendorID == model.VendorIDMTWM {
|
// if v.VendorID == model.VendorIDMTWM {
|
||||||
skuName.MtwmCategoryID = v.VendorCategoryID
|
// skuName.MtwmCategoryID = v.VendorCategoryID
|
||||||
}
|
// }
|
||||||
if v.VendorID == model.VendorIDJDShop {
|
// if v.VendorID == model.VendorIDJDShop {
|
||||||
skuName.JdsCategoryID = v.VendorCategoryID
|
// skuName.JdsCategoryID = v.VendorCategoryID
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
var (
|
var (
|
||||||
skus []*model.Sku
|
skus []*model.Sku
|
||||||
sqlParams = []interface{}{utils.DefaultTimeValue}
|
sqlParams = []interface{}{utils.DefaultTimeValue}
|
||||||
@@ -3048,3 +3048,142 @@ func setImgs2(v *model.SkuName, imgs []string) (err error) {
|
|||||||
}
|
}
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func GetSkuNamesNew(ctx *jxcontext.Context, keyword string, skuIDs, skuNameIDs []int, categoryID, status, offset, pageSize int) (skuNamesInfo *SkuNamesInfo, err error) {
|
||||||
|
var (
|
||||||
|
db = dao.GetDB()
|
||||||
|
)
|
||||||
|
sql := `
|
||||||
|
SELECT
|
||||||
|
SQL_CALC_FOUND_ROWS
|
||||||
|
DISTINCT
|
||||||
|
t1.id,
|
||||||
|
t1.created_at,
|
||||||
|
t1.updated_at,
|
||||||
|
t1.last_operator,
|
||||||
|
t1.deleted_at,
|
||||||
|
t1.prefix,
|
||||||
|
t1.name,
|
||||||
|
t1.brand_id,
|
||||||
|
t1.category_id,
|
||||||
|
t1.jd_category_id,
|
||||||
|
t1.is_global,
|
||||||
|
t1.unit,
|
||||||
|
t1.price,
|
||||||
|
t1.img,
|
||||||
|
t1.img2,
|
||||||
|
t1.img3,
|
||||||
|
t1.img4,
|
||||||
|
t1.img5,
|
||||||
|
t1.img_watermark,
|
||||||
|
t1.img_mix,
|
||||||
|
t1.status,
|
||||||
|
t1.is_spu,
|
||||||
|
t1.desc_img,
|
||||||
|
t1.upc,
|
||||||
|
t1.ex_prefix,
|
||||||
|
t1.ex_prefix_begin,
|
||||||
|
t1.ex_prefix_end,
|
||||||
|
t1.yb_name_suffix,
|
||||||
|
t1.jds_stock_switch,
|
||||||
|
t1.preparation_time,
|
||||||
|
t1.best_seller
|
||||||
|
FROM sku_name t1
|
||||||
|
LEFT JOIN sku t2 ON t1.id = t2.name_id AND t2.deleted_at = ?
|
||||||
|
WHERE t1.deleted_at = ?
|
||||||
|
`
|
||||||
|
sqlParams := []interface{}{
|
||||||
|
utils.DefaultTimeValue, utils.DefaultTimeValue,
|
||||||
|
}
|
||||||
|
if keyword != "" {
|
||||||
|
keywordLike := "%" + keyword + "%"
|
||||||
|
sql += `
|
||||||
|
AND (t1.name LIKE ? OR t1.prefix LIKE ? OR t2.comment LIKE ? OR t1.upc LIKE ?) `
|
||||||
|
sqlParams = append(sqlParams, keywordLike, keywordLike, keywordLike, keywordLike)
|
||||||
|
}
|
||||||
|
if len(skuNameIDs) > 0 {
|
||||||
|
sql += " AND t1.id IN (" + dao.GenQuestionMarks(len(skuNameIDs)) + ")"
|
||||||
|
sqlParams = append(sqlParams, skuNameIDs)
|
||||||
|
}
|
||||||
|
|
||||||
|
if len(skuIDs) > 0 {
|
||||||
|
sql += " AND t2.id IN (" + dao.GenQuestionMarks(len(skuIDs)) + ")"
|
||||||
|
sqlParams = append(sqlParams, skuIDs)
|
||||||
|
}
|
||||||
|
if categoryID > 0 {
|
||||||
|
cat := &model.SkuCategory{}
|
||||||
|
cat.ID = categoryID
|
||||||
|
if err = dao.GetEntity(db, cat); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
sql += " AND (t1.category_id = ?"
|
||||||
|
sqlParams = append(sqlParams, cat.ID)
|
||||||
|
if cat.Level == 1 {
|
||||||
|
sql += " OR t1.category_id IN (SELECT id FROM sku_category WHERE parent_id = ?)"
|
||||||
|
sqlParams = append(sqlParams, cat.ID)
|
||||||
|
}
|
||||||
|
sql += ")"
|
||||||
|
}
|
||||||
|
if status != -1 {
|
||||||
|
sql += " AND t2.status = ? "
|
||||||
|
sqlParams = append(sqlParams, status)
|
||||||
|
}
|
||||||
|
|
||||||
|
sql += `
|
||||||
|
ORDER BY t1.id DESC
|
||||||
|
LIMIT ? OFFSET ?`
|
||||||
|
pageSize = jxutils.FormalizePageSize(pageSize)
|
||||||
|
offset = jxutils.FormalizePageOffset(offset)
|
||||||
|
sqlParams = append(sqlParams, pageSize, offset)
|
||||||
|
skuNamesInfo = &SkuNamesInfo{}
|
||||||
|
txDB, _ := dao.Begin(db) // todo 这里用事务的原因是,SQL_CALC_FOUND_ROWS会出错
|
||||||
|
defer func() {
|
||||||
|
if r := recover(); r != nil {
|
||||||
|
dao.Rollback(db, txDB)
|
||||||
|
panic(r)
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
if err = dao.GetRowsTx(txDB, &skuNamesInfo.SkuNames, sql, sqlParams...); err == nil {
|
||||||
|
skuNamesInfo.TotalCount = dao.GetLastTotalRowCount2(db, txDB)
|
||||||
|
dao.Commit(db, txDB)
|
||||||
|
for _, skuName := range skuNamesInfo.SkuNames {
|
||||||
|
skuName.FullName = jxutils.ComposeSkuName(skuName.Prefix, skuName.Name, "", "", 0, "", 0, skuName.ExPrefix, skuName.ExPrefixBegin, skuName.ExPrefixEnd)
|
||||||
|
var (
|
||||||
|
skus []*model.Sku
|
||||||
|
sqlParams = []interface{}{utils.DefaultTimeValue}
|
||||||
|
sql string
|
||||||
|
)
|
||||||
|
sql = `
|
||||||
|
SELECT * FROM sku WHERE deleted_at = ? AND name_id = ?
|
||||||
|
`
|
||||||
|
sqlParams = append(sqlParams, skuName.ID)
|
||||||
|
if err = dao.GetRows(db, &skus, sql, sqlParams); err == nil {
|
||||||
|
var skusVendors []*model.SkuWithVendor
|
||||||
|
for _, v := range skus {
|
||||||
|
skusVendor := &model.SkuWithVendor{
|
||||||
|
Sku: v,
|
||||||
|
}
|
||||||
|
skusVendors = append(skusVendors, skusVendor)
|
||||||
|
}
|
||||||
|
skuName.Skus = skusVendors
|
||||||
|
}
|
||||||
|
var (
|
||||||
|
places []*model.SkuNamePlaceBind
|
||||||
|
placeCodes []int
|
||||||
|
)
|
||||||
|
sql2 := `
|
||||||
|
SELECT * FROM sku_name_place_bind WHERE name_id = ?
|
||||||
|
`
|
||||||
|
sqlParams2 := []interface{}{skuName.ID}
|
||||||
|
if err = dao.GetRows(db, &places, sql2, sqlParams2); err == nil {
|
||||||
|
for _, v := range places {
|
||||||
|
placeCodes = append(placeCodes, v.PlaceCode)
|
||||||
|
}
|
||||||
|
skuName.Places = placeCodes
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
dao.Rollback(db, txDB)
|
||||||
|
}
|
||||||
|
return skuNamesInfo, err
|
||||||
|
}
|
||||||
|
|||||||
@@ -695,3 +695,26 @@ func (c *SkuController) RefreshNoImgSku() {
|
|||||||
return retVal, "", err
|
return retVal, "", err
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// @Title 得到商品信息2
|
||||||
|
// @Description 得到商品信息2
|
||||||
|
// @Param token header string true "认证token"
|
||||||
|
// @Param keyword query string false "查询关键字(可以为空,为空表示不限制)"
|
||||||
|
// @Param nameIDs query string false "SkuName IDs列表"
|
||||||
|
// @Param skuIDs query string false "Sku ID列表"
|
||||||
|
// @Param categoryID query int false "商品名所属类别ID"
|
||||||
|
// @Param status query int false "查询起始状态(0:下架,1:正常, -1全部)"
|
||||||
|
// @Param offset query int false "门店列表起始序号(以0开始,缺省为0)"
|
||||||
|
// @Param pageSize query int false "门店列表页大小(缺省为50,-1表示全部)"
|
||||||
|
// @Success 200 {object} controllers.CallResult
|
||||||
|
// @Failure 200 {object} controllers.CallResult
|
||||||
|
// @router /GetSkuNamesNew [get]
|
||||||
|
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.Offset, params.PageSize)
|
||||||
|
}
|
||||||
|
return retVal, "", err
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|||||||
@@ -1674,6 +1674,15 @@ func init() {
|
|||||||
Filters: nil,
|
Filters: nil,
|
||||||
Params: 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: "GetSkuNamesNew",
|
||||||
|
Router: `/GetSkuNamesNew`,
|
||||||
|
AllowHTTPMethods: []string{"get"},
|
||||||
|
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.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:SkuController"] = append(web.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:SkuController"],
|
||||||
web.ControllerComments{
|
web.ControllerComments{
|
||||||
Method: "AddSku",
|
Method: "AddSku",
|
||||||
|
|||||||
Reference in New Issue
Block a user