shop--8.店铺列表展示--Service层

Posted windbag7

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shop--8.店铺列表展示--Service层相关的知识,希望对你有一定的参考价值。

在service层中, 有一个问题,就是:

dao层中的分页查询传参,传入的是rowIndex(从第几行开始查询), pageSize(查询多少条记录)

而在service层中分页查询传的是pageIndex(第几页),pageSize

所以在第一个参数要有一个转换才可以

所以编写一个工具类,将pageIndex转为rowIndex

PageCalculator

 1    /**
 2      * 将pageIndex(第几页)转换为查询结果中的第几行rowIndex
 3      * 如果pageIndex是1 pageSize是5 那么就是从第0行开始取5条数据
 4      * 如果pageIndex是2 pageSize是5 那么就是从第5行开始取5条数据 
 5      * @param pageIndex
 6      * @param pageSize
 7      * @return
 8      */
 9     public static int calculateRowIndex(int pageIndex,int pageSize) {
10         return (pageIndex > 0)?(pageIndex - 1) * pageSize : 0;
11     }    

 

service接口

 1 /**
 2      * 实现分页查询店铺,通过条件组合,来筛选出条件范围内的店铺列表
 3      * 根据shopCondition分页返回相应店铺列表
 4      * 因为需要List 和 count 所以使用ShopExecution类型
 5      * @param shopCondition
 6      * @param pageIndex 第几页
 7      * @param pageSize 一页中数据的数量
 8      * @return ShopExecution 
 9      */
10     public ShopExecution getShopList(Shop shopCondition,int pageIndex,int pageSize);

 

serviceImpl

 1     @Override
 2     public ShopExecution getShopList(Shop shopCondition, int pageIndex, int pageSize) {
 3         int rowIndex = PageCalculator.calculateRowIndex(pageIndex, pageSize);
 4         List<Shop> shopList = shopDao.queryShopList(shopCondition, rowIndex, pageSize);
 5         int count = shopDao.queryShopCount(shopCondition);
 6         ShopExecution se = new ShopExecution();
 7         if(shopList != null) {
 8             se.setShopList(shopList);
 9             se.setCount(count);
10         }else {
11             se.setState(ShopStateEnum.INNER_ERROR.getState());
12         }
13         return se;
14     }

 

以上是关于shop--8.店铺列表展示--Service层的主要内容,如果未能解决你的问题,请参考以下文章

校园商铺-6店铺编辑列表和列表功能-6店铺列表展示之Service层的实现

shop--8.店铺管理页面的开发

校园商铺-6店铺编辑列表和列表功能-2店铺信息编辑之Service层的实现

校园商铺-6店铺编辑列表和列表功能-6店铺列表展示之Controller层的实现

校园商铺-6店铺编辑列表和列表功能-5店铺列表展示之Dao层的实现

shop--6.店铺注册--店铺注册之Service层的实现