[pal-cvs 2869] [613] added sort option.

Back to archive index

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;">


pal-cvs メーリングリストの案内
Back to archive index