Java之品优购课程讲义_day11(1)

按价格区间筛选
1.1 需求分析
点击搜索面板上的价格区间,实现按价格筛选
Java之品优购课程讲义_day11(1)
1.1 前端代码
1.1.1 前端控制层
(1)修改 pinyougou-search-web 的 searchController.js 搜索条件的定义

$scope.searchMap={'keywords':'','category':'','brand':'','spec':{},'price':'' };//搜索条件封装对象
(2)修改 pinyougou-search-web 的 searchController.js 添加搜索项和删除搜索项的方法

//添加搜索项

$scope.addSearchItem=function(key,value){
if(key=='category'  ||  key=='brand'  ||  key=='price'){//如果点击的是分类或品×××

$scope.searchMap[key]=value;

}else{//如果是规格

$scope.searchMap.spec[key]=value;

}

$scope.search();

}

//移除复合搜索条件

$scope.removeSearchItem=function(key){

if(key=="category"  ||    key=="brand"  ||  key=='price'){//如果是分类或品×××

$scope.searchMap[key]="";

}else{//否则是规格

delete  $scope.searchMap.spec[key];//移除此属性

}

$scope.search();

}

1.1.1 页面
(1)修改页面 search.html ,在标签上调用方法

<ul  class="type-list"  ng-if="searchMap.price==''">

<li>

<a  ng-click="addSearchItem('price','0-500')">0-500 元</a>

</li>
<li>

<a  ng-click="addSearchItem('price','500-1000')">500-1000 元</a>

</li>

<li>

<a  ng-click="addSearchItem('price','1000-1500')">1000-1500 元</a>

</li>

<li>

<a  ng-click="addSearchItem('price','1500-2000')">1500-2000 元</a>

</li>

<li>

<a  ng-click="addSearchItem('price','2000-3000')">2000-3000 元  </a>

</li>

<li>

<a  ng-click="addSearchItem('price','3000-*')">3000 元以上</a>

</li>

</ul>

(2)修改 search.html,增加面包屑

<        li        class="tag" ng-if="searchMap.price!=''" ng-click="removeSearchItem('price')">价格:[/size][/font][/align][font=微软雅黑][size=3]{{searchMap.price}}<i    class="sui-icon  icon-tb-close"></i></li>

1.1 后端代码
修改 pinyougou-search-service 的 ItemSearchServiceImpl.java

/**

* 根据关键字搜索列表
*@param  keywords

*@return

*/

private  Map  searchList(Map  searchMap){

......

//1.1 关键字查询.....

//1.2 按分类筛选.....

//1.3 按品×××筛选.....

//1.4 过滤规格......

//1.5 按价格筛选.....

if(!"".equals(searchMap.get("price"))){

String[]  price  =  ((String)  searchMap.get("price")).split("-");

if(!price[0].equals("0")){//如果区间起点不等于 0 Criteria  filterCriteria=new
Criteria("item_price").greaterThanEqual(price[0]);

FilterQuery  filterQuery=new  SimpleFilterQuery(filterCriteria); query.addFilterQuery(filterQuery);
}

if(!price[1].equals("*")){//如果区间终点不等于* Criteria  filterCriteria=new
Criteria("item_price").lessThanEqual(price[1]);

FilterQuery  filterQuery=new  SimpleFilterQuery(filterCriteria); query.addFilterQuery(filterQuery);
}

Java之品优购课程讲义_day11(1)

转载于:https://blog.51cto.com/13517854/2178094

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值