商品评价 - 实现分页

<!--pagehelper -->
<dependency>
	<groupId>com.github.pagehelper</groupId>
	<artifactId>pagehelper-spring-boot-starter</artifactId>
	<version>1.2.12</version>
</dependency>
# 分页插件配置
pagehelper:
  helperDialect: mysql
  supportMethodsArguments: true
/**
 * page: 第几页
 * pageSize: 每页显示条数
 */
PageHelper.startPage(page, pageSize);
/**
 * 根据商品id查询商品的评价(分页)
 * @param itemId
 * @param level
 * @return
 */
public PagedGridResult queryPagedComments(String itemId, Integer level,
										  Integer page, Integer pageSize);
private PagedGridResult setterPagedGrid(List<?> list, Integer page) {
	PageInfo<?> pageList = new PageInfo<>(list);
	PagedGridResult grid = new PagedGridResult();
	grid.setPage(page);
	grid.setRows(list);
	grid.setTotal(pageList.getPages());
	grid.setRecords(pageList.getTotal());
	return grid;
}
package com.leon.utils;

import java.util.List;

/**
 * 
 * @Title: PagedGridResult.java
 * @Package com.leon.utils
 * @Description: 用来返回分页Grid的数据格式
 */
public class PagedGridResult {
	
	private int page;			// 当前页数
	private int total;			// 总页数	
	private long records;		// 总记录数
	private List<?> rows;		// 每行显示的内容

	public int getPage() {
		return page;
	}
	public void setPage(int page) {
		this.page = page;
	}
	public int getTotal() {
		return total;
	}
	public void setTotal(int total) {
		this.total = total;
	}
	public long getRecords() {
		return records;
	}
	public void setRecords(long records) {
		this.records = records;
	}
	public List<?> getRows() {
		return rows;
	}
	public void setRows(List<?> rows) {
		this.rows = rows;
	}
}
@Transactional(propagation = Propagation.SUPPORTS)
@Override
public PagedGridResult queryPagedComments(String itemId,
											  Integer level,
											  Integer page,
											  Integer pageSize) {

	Map<String, Object> map = new HashMap<>();
	map.put("itemId", itemId);
	map.put("level", level);

	// mybatis-pagehelper

	/**
	 * page: 第几页
	 * pageSize: 每页显示条数
	 */
	PageHelper.startPage(page, pageSize);

	List<ItemCommentVO> list = itemsMapperCustom.queryItemComments(map);
	for (ItemCommentVO vo : list) {
		vo.setNickname(DesensitizationUtil.commonDisplay(vo.getNickname()));
	}

	return setterPagedGrid(list, page);
}
@ApiOperation(value = "查询商品评论", notes = "查询商品评论", httpMethod = "GET")
@GetMapping("/comments")
public JSONResult comments(
		@ApiParam(name = "itemId", value = "商品id", required = true)
		@RequestParam String itemId,
		@ApiParam(name = "level", value = "评价等级", required = false)
		@RequestParam Integer level,
		@ApiParam(name = "page", value = "查询下一页的第几页", required = false)
		@RequestParam Integer page,
		@ApiParam(name = "pageSize", value = "分页的每一页显示的条数", required = false)
		@RequestParam Integer pageSize) {

	if (StringUtils.isBlank(itemId)) {
		return JSONResult.errorMsg(null); 
	}

	if (page == null) {
		page = 1;
	}

	if (pageSize == null) {
		pageSize = COMMON_PAGE_SIZE;
	}

	PagedGridResult grid = itemService.queryPagedComments(itemId,
															level,
															page,
															pageSize);

	return JSONResult.ok(grid);
}
@Controller
public class BaseController {

    public static final Integer COMMON_PAGE_SIZE = 10;
    public static final Integer PAGE_SIZE = 20;

}
public class ItemsController extends BaseController {
@ApiOperation(value = "查询商品评论", notes = "查询商品评论", httpMethod = "GET")
@GetMapping("/comments")
public JSONResult comments(
		@ApiParam(name = "itemId", value = "商品id", required = true)
		@RequestParam String itemId,
		@ApiParam(name = "level", value = "评价等级", required = false)
		@RequestParam Integer level,
		@ApiParam(name = "page", value = "查询下一页的第几页", required = false)
		@RequestParam Integer page,
		@ApiParam(name = "pageSize", value = "分页的每一页显示的条数", required = false)
		@RequestParam Integer pageSize) {

	if (StringUtils.isBlank(itemId)) {
		return JSONResult.errorMsg(null);
	}

	if (page == null) {
		page = 1;
	}

	if (pageSize == null) {
		pageSize = COMMON_PAGE_SIZE;
	}

	PagedGridResult grid = itemService.queryPagedComments(itemId,
															level,
															page,
															pageSize);

	return JSONResult.ok(grid);
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值