Ticket #130 (closed 优化: fixed)

Opened 13 years ago

Last modified 13 years ago

排行榜优化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)

原版

报价库排行榜拼sql的方法.txt Download

业务逻辑

  • 输入
    • 品牌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? 提供给所有产品库动态排行榜页面使用

优化思路:

  1. 拆分后的方法,应只返回型号id列表,在使用的地方各自组装VO
  2. 提取广告部分
  3. 提取品牌屏蔽部分
  4. 查全国报价和其他地区的分开(有没有必要按地区价格排?业务上要理清楚,如果仅是极少场合需要用到,没必要放在一个广泛使用的方法里)
  5. 只查单个小类,多个小类的查询很少,可以查多次
  6. 放弃图片筛选条件,既然是热门排行榜,图片应该是比较齐全的,不加图片筛选项,让运营补充图片。
  7. 防止滥用,把太多不通用的业务需求集成到了一个“通用”的方法里,仅仅是因为查询条件相似,或者都需要集成广告等逻辑。
  8. 排行榜数据使用频率高,范围广,应考虑生成冗余表

初步拆分:

  • sql构造器

SqlBuilder.java Download 小虎的拼sql工具,另加上分页

  • 结果过滤

public long[] filterBrandIds(long[] productIds, long[] bandBrandIds[])
public long[] filterAdIds(long[] productIds, String[] fixedIds, String[] sequenceIds)


Attachments

报价库排行榜拼sql的方法.txt Download (12.1 KB) - added by chenchongqi 13 years ago.
SqlBuilder.java Download (2.1 KB) - added by chenchongqi 13 years ago.

Change History

Changed 13 years ago by chenchongqi

comment:1 Changed 13 years ago by chenchongqi

  • Description modified (diff)

comment:2 Changed 13 years ago by chenchongqi

  • Description modified (diff)

comment:3 Changed 13 years ago by chenchongqi

  • Description modified (diff)

comment:4 Changed 13 years ago by chenchongqi

  • Description modified (diff)

comment:5 Changed 13 years ago by chenchongqi

  • Description modified (diff)

comment:6 Changed 13 years ago by chenchongqi

  • Description modified (diff)

comment:7 Changed 13 years ago by chenchongqi

  • Description modified (diff)

comment:8 Changed 13 years ago by chenchongqi

  • Description modified (diff)

comment:9 Changed 13 years ago by chenchongqi

  • Description modified (diff)

comment:10 Changed 13 years ago by chenchongqi

  • Description modified (diff)

comment:11 Changed 13 years ago by chenchongqi

  • Description modified (diff)

comment:12 Changed 13 years ago by chenchongqi

  • Due Date set to 27/11/2012

Changed 13 years ago by chenchongqi

comment:13 Changed 13 years ago by chenchongqi

  • Description modified (diff)

comment:14 Changed 13 years ago by chenchongqi

  • Description modified (diff)

comment:15 Changed 13 years ago by chenchongqi

  • Description modified (diff)

comment:16 Changed 13 years ago by chenchongqi

  • Description modified (diff)

comment:17 Changed 13 years ago by chenchongqi

  • Description modified (diff)

comment:18 Changed 13 years ago by chenchongqi

  • Description modified (diff)

comment:19 Changed 13 years ago by chenchongqi

  • Description modified (diff)

comment:20 Changed 13 years ago by chenchongqi

  • Description modified (diff)

comment:21 Changed 13 years ago by chenchongqi

  • Description modified (diff)

comment:22 Changed 13 years ago by chenchongqi

  • Description modified (diff)

comment:23 Changed 13 years ago by chenchongqi

  • Description modified (diff)

comment:24 Changed 13 years ago by chenchongqi

  • Description modified (diff)

comment:25 Changed 13 years ago by chenchongqi

  • Description modified (diff)

comment:26 Changed 13 years ago by chenchongqi

  • Description modified (diff)

comment:27 Changed 13 years ago by chenchongqi

  • Description modified (diff)

comment:28 Changed 13 years ago by chenchongqi

  • Description modified (diff)

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.