简介:Mybatis-plus-分页插件配置+优惠劵列表开发
MybatisPlus分页插件配置(Common项目配置)
/**
* @date:2023/6/28 17:06
* @author:Carl
* @Description: 分页配置类
*/
@Configuration
public class MybatisPlusPageConfig {
/**
* 新的分页插件,一缓和二缓遵循mybatis的规则,
* 需要设置 MybatisConfiguration#useDeprecatedExecutor = false 避免缓存出现问题
*/
@Bean
MybatisPlusInterceptor mybatisPlusInterceptor(){
MybatisPlusInterceptor mybatisPlusInterceptor = new MybatisPlusInterceptor();
mybatisPlusInterceptor.addInnerInterceptor(new PaginationInnerInterceptor());
return mybatisPlusInterceptor;
}
}优惠券列表分页接口开发
/**
* <p>
* 服务类
* </p>
*
* @author Carl
* @since 2023-06-26
*/
public interface CouponService {
/**
* 分页查询优惠卷
* @param page
* @param size
* @return
*/
Map<String,Object> pageCouponActivity(int page,int size);
}/**
* <p>
* 服务实现类
* </p>
*
* @author Carl
* @since 2023-06-26
*/
@Service
@Slf4j
public class CouponServiceImpl implements CouponService {
@Autowired
CouponMapper couponMapper;
/**
* 分页具体业务操作
* @param page
* @param size
* @return
*/
@Override
public Map<String, Object> pageCouponActivity(int page, int size) {
//第1页,每页2条
Page<CouponDO> pageInfo = new Page<>(page, size);
IPage<CouponDO> couponDOIPage = couponMapper.selectPage(pageInfo,new QueryWrapper<CouponDO>()
.eq("publish", CouponPulishEnum.PUBLISH) //发布的
.eq("category", CouponCategoryEnum.PROMOTION) //促销券
.orderByDesc("create_time")); //根据创建时间倒排
HashMap<String, Object> pageMap = new HashMap<>(3);
//总条数
pageMap.put("total_record",couponDOIPage.getTotal());
pageMap.put("total_page",couponDOIPage.getPages());
pageMap.put("current_data",couponDOIPage.getRecords()
.stream()
.map(obj -> beanProcess(obj))
.collect(Collectors.toList()));
return pageMap;
}
/**
* DO-VO工具类
* @param couponDO
* @return
*/
private CouponVO beanProcess(CouponDO couponDO) {
CouponVO couponVO = new CouponVO();
BeanUtil.copyProperties(couponDO,couponVO);
return couponVO;
}
}展示层:
/**
* <p>
* 前端控制器
* </p>
*
* @author Carl
* @since 2023-06-26
*/
@RestController
@RequestMapping("/api/coupon/vi")
public class CouponController {
@Autowired
CouponService couponService;
/**
* 优惠卷分页接口
* @param page
* @param size
* @return
*/
@RequestMapping(value = "page_coupon",method = {RequestMethod.POST,RequestMethod.POST})
JsonData pageCouponList(int page,int size){
Map<String, Object> pageMap = couponService.pageCouponActivity(page, size);
return JsonData.buildSuccess(pageMap);
}
}测试:
