svnno****@sourc*****
svnno****@sourc*****
2007年 10月 8日 (月) 07:22:53 JST
Revision: 613 http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi?root=pal&view=rev&rev=613 Author: shinsuke Date: 2007-10-08 07:22:53 +0900 (Mon, 08 Oct 2007) Log Message: ----------- added sort option. Modified Paths: -------------- pompei/portlets/pompei-core/trunk/src/main/java/jp/sf/pal/pompei/PompeiConstants.java pompei/portlets/pompei-core/trunk/src/main/java/jp/sf/pal/pompei/pager/ProductPager.java pompei/portlets/pompei-core/trunk/src/main/java/jp/sf/pal/pompei/service/impl/ProductServiceImpl.java pompei/portlets/pompei-core/trunk/src/main/java/jp/sf/pal/pompei/web/PagingResultPage.java pompei/portlets/pompei-core/trunk/src/main/java/jp/sf/pal/pompei/web/user/product/ProductListAction.java pompei/portlets/pompei-core/trunk/src/main/java/jp/sf/pal/pompei/web/user/product/ProductListPage.java pompei/portlets/pompei-core/trunk/src/main/webapp/view/user/product/productList.html -------------- next part -------------- Modified: pompei/portlets/pompei-core/trunk/src/main/java/jp/sf/pal/pompei/PompeiConstants.java =================================================================== --- pompei/portlets/pompei-core/trunk/src/main/java/jp/sf/pal/pompei/PompeiConstants.java 2007-10-07 21:43:40 UTC (rev 612) +++ pompei/portlets/pompei-core/trunk/src/main/java/jp/sf/pal/pompei/PompeiConstants.java 2007-10-07 22:22:53 UTC (rev 613) @@ -97,6 +97,14 @@ public static final String LIST_WITHOUT_DISPLAY = "listwithoutimage"; + public static final String CHEAP_ORDER = "cheap"; + + public static final String EXPENSIVE_ORDER = "expensive"; + + public static final String ORDERED_ORDER = "ordered"; + + public static final String NEW_ARRIVAL_ORDER = "newarrival"; + public static final BigDecimal THUMBNAIL_IMAGE_TYPE = new BigDecimal(1); public static final BigDecimal DETAILS_IMAGE_TYPE = new BigDecimal(2); Modified: pompei/portlets/pompei-core/trunk/src/main/java/jp/sf/pal/pompei/pager/ProductPager.java =================================================================== --- pompei/portlets/pompei-core/trunk/src/main/java/jp/sf/pal/pompei/pager/ProductPager.java 2007-10-07 21:43:40 UTC (rev 612) +++ pompei/portlets/pompei-core/trunk/src/main/java/jp/sf/pal/pompei/pager/ProductPager.java 2007-10-07 22:22:53 UTC (rev 613) @@ -11,6 +11,8 @@ // displayMode is not condition for search private String displayMode; + private String orderMode; + private BigDecimal categoryId; /** @@ -40,4 +42,18 @@ public void setDisplayMode(String displayMode) { this.displayMode = displayMode; } + + /** + * @return orderMode + */ + public String getOrderMode() { + return orderMode; + } + + /** + * @param orderMode 設定する orderMode + */ + public void setOrderMode(String orderMode) { + this.orderMode = orderMode; + } } Modified: pompei/portlets/pompei-core/trunk/src/main/java/jp/sf/pal/pompei/service/impl/ProductServiceImpl.java =================================================================== --- pompei/portlets/pompei-core/trunk/src/main/java/jp/sf/pal/pompei/service/impl/ProductServiceImpl.java 2007-10-07 21:43:40 UTC (rev 612) +++ pompei/portlets/pompei-core/trunk/src/main/java/jp/sf/pal/pompei/service/impl/ProductServiceImpl.java 2007-10-07 22:22:53 UTC (rev 613) @@ -7,6 +7,7 @@ import java.util.List; import jp.sf.pal.common.CommonException; +import jp.sf.pal.pompei.PompeiConstants; import jp.sf.pal.pompei.allcommon.cbean.PagingResultBean; import jp.sf.pal.pompei.cbean.ManufacturerCB; import jp.sf.pal.pompei.cbean.ProductCB; @@ -202,6 +203,21 @@ cb.query().setProductId_ExistsSubQuery_ProductToCategoryList( subCb.query()); } + // order + if (productPager.getOrderMode() != null) { + if (PompeiConstants.CHEAP_ORDER.equals(productPager.getOrderMode())) { + cb.query().addOrderBy_Price_Asc(); + } else if (PompeiConstants.EXPENSIVE_ORDER.equals(productPager + .getOrderMode())) { + cb.query().addOrderBy_Price_Desc(); + } else if (PompeiConstants.ORDERED_ORDER.equals(productPager + .getOrderMode())) { + cb.query().addOrderBy_Ordered_Desc(); + } else if (PompeiConstants.NEW_ARRIVAL_ORDER.equals(productPager + .getOrderMode())) { + cb.query().addOrderBy_DateAdded_Desc(); + } + } PagingResultBean<Product> productList = getProductBhv().selectPage(cb); //TODO there may be better method.. Modified: pompei/portlets/pompei-core/trunk/src/main/java/jp/sf/pal/pompei/web/PagingResultPage.java =================================================================== --- pompei/portlets/pompei-core/trunk/src/main/java/jp/sf/pal/pompei/web/PagingResultPage.java 2007-10-07 21:43:40 UTC (rev 612) +++ pompei/portlets/pompei-core/trunk/src/main/java/jp/sf/pal/pompei/web/PagingResultPage.java 2007-10-07 22:22:53 UTC (rev 613) @@ -21,6 +21,18 @@ private List<Map<String, Object>> pageNumberItems; + public int getStartRecordCount() { + return (getCurrentPageNumber() - 1) * getPageSize() + 1; + } + + public int getEndRecordCount() { + int end = getCurrentPageNumber() * getPageSize(); + if (end > allRecordCount) { + end = allRecordCount; + } + return end; + } + /** * @return allRecordCount */ Modified: pompei/portlets/pompei-core/trunk/src/main/java/jp/sf/pal/pompei/web/user/product/ProductListAction.java =================================================================== --- pompei/portlets/pompei-core/trunk/src/main/java/jp/sf/pal/pompei/web/user/product/ProductListAction.java 2007-10-07 21:43:40 UTC (rev 612) +++ pompei/portlets/pompei-core/trunk/src/main/java/jp/sf/pal/pompei/web/user/product/ProductListAction.java 2007-10-07 22:22:53 UTC (rev 613) @@ -87,10 +87,24 @@ if (displayMode == null) { // set default displayMode = PompeiConstants.THUMBNAIL_DISPLAY; + getProductPager().setDisplayMode(displayMode); } getProductListPage().setDisplayMode(displayMode); } + // set order mode + if (getProductListPage().getOrderMode() != null) { + getProductPager().setOrderMode(getProductListPage().getOrderMode()); + } else { + String orderMode = getProductPager().getOrderMode(); + if (orderMode == null) { + // set default + orderMode = PompeiConstants.CHEAP_ORDER; + getProductPager().setOrderMode(orderMode); + } + getProductListPage().setOrderMode(orderMode); + } + // set categoryId to pager getProductPager().setCategoryId(currentCategoryId); Modified: pompei/portlets/pompei-core/trunk/src/main/java/jp/sf/pal/pompei/web/user/product/ProductListPage.java =================================================================== --- pompei/portlets/pompei-core/trunk/src/main/java/jp/sf/pal/pompei/web/user/product/ProductListPage.java 2007-10-07 21:43:40 UTC (rev 612) +++ pompei/portlets/pompei-core/trunk/src/main/java/jp/sf/pal/pompei/web/user/product/ProductListPage.java 2007-10-07 22:22:53 UTC (rev 613) @@ -31,6 +31,8 @@ private String displayMode; + private String orderMode; + private LanguageService languageService; public int getProductIndex() { @@ -136,6 +138,20 @@ this.displayMode = displayMode; } + /** + * @return orderMode + */ + public String getOrderMode() { + return orderMode; + } + + /** + * @param orderMode 設定する orderMode + */ + public void setOrderMode(String orderMode) { + this.orderMode = orderMode; + } + public boolean isThumbnailDisplay() { return PompeiConstants.THUMBNAIL_DISPLAY.equals(getDisplayMode()); } @@ -143,10 +159,27 @@ public boolean isListWithImageDisplay() { return PompeiConstants.LIST_WITH_DISPLAY.equals(getDisplayMode()); } + public boolean isListWithoutImageDisplay() { return PompeiConstants.LIST_WITHOUT_DISPLAY.equals(getDisplayMode()); } + public boolean isCheapOrder() { + return PompeiConstants.CHEAP_ORDER.equals(getOrderMode()); + } + + public boolean isExpensiveOrder() { + return PompeiConstants.EXPENSIVE_ORDER.equals(getOrderMode()); + } + + public boolean isOrderedOrder() { + return PompeiConstants.ORDERED_ORDER.equals(getOrderMode()); + } + + public boolean isNewArrivalOrder() { + return PompeiConstants.NEW_ARRIVAL_ORDER.equals(getOrderMode()); + } + public String getThumbnailSrc() { if (getProductItems() != null && getProductIndex() < getProductItems().size()) { Modified: pompei/portlets/pompei-core/trunk/src/main/webapp/view/user/product/productList.html =================================================================== --- pompei/portlets/pompei-core/trunk/src/main/webapp/view/user/product/productList.html 2007-10-07 21:43:40 UTC (rev 612) +++ pompei/portlets/pompei-core/trunk/src/main/webapp/view/user/product/productList.html 2007-10-07 22:22:53 UTC (rev 613) @@ -9,18 +9,36 @@ <body> <form id="productListForm"> <div style="width: 100%;"> + <label>表示方法: </label> + <lable>[</lable> + <span id="isThumbnailDisplay-top">ウィンドウショッピング</span> + <span id="isNotThumbnailDisplay-top"><a id="goProductList-thumbnail" href="./productList.html?fixed_displayMode=thumbnail">ウィンドウショッピング</a></span> + <lable>|</lable> + <span id="isListWithImageDisplay-top">写真あり一覧</span> + <span id="isNotListWithImageDisplay-top"><a id="goProductList-imagelist" href="./productList.html?fixed_displayMode=listwithimage">写真あり一覧</a></span> + <lable>|</lable> + <span id="isListWithoutImageDisplay-top">写真なし一覧</span> + <span id="isNotListWithoutImageDisplay-top"><a id="goProductList-noimagelist" href="./productList.html?fixed_displayMode=listwithoutimage">写真なし一覧</a></span> + <lable>]</lable> + <br/> + <label>表示順序: </label> + <lable>[</lable> + <span id="isCheapOrder-top">安い順</span> + <span id="isNotCheapOrder-top"><a id="goProductList-cheap" href="./productList.html?fixed_orderMode=cheap">安い順</a></span> + <lable>|</lable> + <span id="isExpensiveOrder-top">高い順</span> + <span id="isNotExpensiveOrder-top"><a id="goProductList-expensive" href="./productList.html?fixed_orderMode=expensive">高い順</a></span> + <lable>|</lable> + <span id="isOrderedOrder-top">売れている順</span> + <span id="isNotOrderedOrder-top"><a id="goProductList-ordered" href="./productList.html?fixed_orderMode=ordered">売れている順</a></span> + <lable>|</lable> + <span id="isNewArrivalOrder-top">新着順</span> + <span id="isNotNewArrivalOrder-top"><a id="goProductList-newarrival" href="./productList.html?fixed_orderMode=newarrival">新着順</a></span> + <lable>]</lable> +</div> +<div style="width: 100%;"> <div style="display: inline;float: left;"> - <label>表示方法: </label> - <lable>[</lable> - <span id="isThumbnailDisplay-top">ウィンドウショッピング</span> - <span id="isNotThumbnailDisplay-top"><a id="goProductList-thumbnail" href="./productList.html?fixed_displayMode=thumbnail">ウィンドウショッピング</a></span> - <lable>|</lable> - <span id="isListWithImageDisplay-top">写真あり一覧</span> - <span id="isNotListWithImageDisplay-top"><a id="goProductList-imagelist" href="./productList.html?fixed_displayMode=listwithimage">写真あり一覧</a></span> - <lable>|</lable> - <span id="isListWithoutImageDisplay-top">写真なし一覧</span> - <span id="isNotListWithoutImageDisplay-top"><a id="goProductList-noimagelist" href="./productList.html?fixed_displayMode=listwithoutimage">写真なし一覧</a></span> - <lable>]</lable> + <span id="allRecordCount">131</span>件中 <span id="startRecordCount">31</span>〜<span id="endRecordCount">45</span>件目 </div> <div style="display: inline;float: right;"> <div id="isExistPrePage-top" style="display: inline;">