Ticket #130 (closed 优化: fixed)
排行榜优化BaseCountManager.searchTopProduct
| Reported by: | chenchongqi | Owned by: | |
|---|---|---|---|
| Priority: | major | Milestone: | |
| Component: | 产品库 | Version: | 产品库3.0 |
| Keywords: | 排行榜 | Cc: | |
| Due Date: | 27/11/2012 |
Description (last modified by chenchongqi) (diff)
原版
业务逻辑
- 输入
- 品牌id、小类id、小类id(多个逗号链接)、查询条数、图片类型、图片数、是否上升最快、
- 屏蔽的品牌列表、固定位置列表、属性名称列表、属性值列表
- 方法的处理逻辑:
- 品牌id,小类id(兼容多小类)筛选,
- 如果价格0是100即全国价,直接用PDL_PRODUCT.price做范围筛选,否则用PP_PRICE.price(用地区价筛选有必要么?如果有必要能否拆分两种不同的查询)
- 取图片类型
- 排除品牌
- 广告位处理
- 输出:
- list->
- PDL_PRODUCT.*,
- PDL_PRODUCT_TYPE.(name, parent_id, forum_id, forum_url, pub_url),
- PDL_PRODUCT_PIC.*,
- PP_PRICE.price,
- eml_price.(min_price, max_price)
使用场合
- web_product/service2009/brand_product_top.jsp searchTopProducts(countForm,null,null) PDL_PRODUCT
- web_product/bigBrand/brand_repair_pbox.jsp searchTopProducts(countForm,null,null) PDL_PRODUCT
- web_product/template2009v2/brand_top10_hotest_product.jsp searchTopProducts(countForm, null, null) PDL_PRODUCT
- web_product/cms/compare_array_json.jsp searchTopProducts(countForm,properties,valueMap) smallTypeId,全国报价范围 PDL_PRODUCT
- web_product/cms/dc_top_2.jsp searchTopProducts(countForm,properties,valueMap) smallTypeId,picType,String items="价格,1,0-2000;价格,1,2000-3000;价格,1,3000-99999" PDL_PRODUCT
- web_product/cms/hlxk_top_sort.jsp searchTopProducts(countForm,properties,valueMap) smallTypeId,picType,areaid,price1-2 PDL_PRODUCT,PDL_PRODUCT_PIC.pic_path
- OuterAction? 提供给所有产品库动态排行榜页面使用
优化思路:
- 拆分后的方法,应只返回型号id列表,在使用的地方各自组装VO
- 提取广告部分
- 提取品牌屏蔽部分
- 查全国报价和其他地区的分开(有没有必要按地区价格排?业务上要理清楚,如果仅是极少场合需要用到,没必要放在一个广泛使用的方法里)
- 只查单个小类,多个小类的查询很少,可以查多次
- 放弃图片筛选条件,既然是热门排行榜,图片应该是比较齐全的,不加图片筛选项,让运营补充图片。
- 防止滥用,把太多不通用的业务需求集成到了一个“通用”的方法里,仅仅是因为查询条件相似,或者都需要集成广告等逻辑。
- 排行榜数据使用频率高,范围广,应考虑生成冗余表
初步拆分:
- sql构造器
SqlBuilder.java 小虎的拼sql工具,另加上分页
- 结果过滤
public long[] filterBrandIds(long[] productIds, long[] bandBrandIds[])
public long[] filterAdIds(long[] productIds, String[] fixedIds, String[] sequenceIds)
Attachments
Change History
comment:29 Changed 13 years ago by chenchongqi
- Status changed from new to closed
- Resolution set to fixed
Note: See
TracTickets for help on using
tickets.
![(please configure the [header_logo] section in trac.ini)](http://www1.pconline.com.cn/hr/2009/global/images/logo.gif)
