当前位置: 首页 > news >正文

分页查询优惠券

文章目录

    • 概要
    • 整体架构流程
    • 技术细节
    • 小结

概要

接口分析

一个典型的带过滤条件的分页查询,非常简单。按照Restful风格设计即可,我们关注的点有两个:

  • 请求参数

  • 返回值格式

请求参数包含两部分,一个是分页参数,另一个是过滤条件,包含:

  • 优惠券的折扣类型

  • 优惠券状态

  • 优惠券名称关键字

而返回值则如列表中字段所属,需要特别注意的有两点:

  • 优惠券规则:这里是对优惠规则的描述,而数据库中保存的是具体的优惠金额;这里我们不组装描述返回,仅仅返回优惠金额信息,由前端自己组织展示即可。

  • 使用范围:这里无需展示真正的限定范围,只要告诉前端有没有限定范围即可

其它字段没什么特殊的,此处不再赘述了。

需求分析以及接口设计

技术细节

1.Controller层

@ApiOperation("分页查询优惠券接口")
@GetMapping("/page")
public PageDTO<CouponPageVO> queryCouponByPage(CouponQuery query){return couponService.queryCouponByPage(query);
}

2.Service层:

@Override
public PageDTO<CouponPageVO> queryCouponByPage(CouponQuery query) {Integer status = query.getStatus();String name = query.getName();Integer type = query.getType();// 1.分页查询Page<Coupon> page = lambdaQuery().eq(type != null, Coupon::getDiscountType, type).eq(status != null, Coupon::getStatus, status).like(StringUtils.isNotBlank(name), Coupon::getName, name).page(query.toMpPageDefaultSortByCreateTimeDesc());// 2.处理VOList<Coupon> records = page.getRecords();if (CollUtils.isEmpty(records)) {return PageDTO.empty(page);}List<CouponPageVO> list = BeanUtils.copyList(records, CouponPageVO.class);// 3.返回return PageDTO.of(page, list);
}

3.Mapper层

效果展示

相关文章:

  • 逐步了解蓝牙 LE 配对(物联网网络安全)
  • Missashe考研日记-day26
  • istio使用ingress gateway通过header实现对不同服务的路由
  • Vue3 中 computed的详细用法
  • 达梦DMDSC初研
  • 【C语言】数据在内存中的存储:从整数到浮点数的奥秘
  • 1️⃣6️⃣three.js_光源
  • 大语言模型时代,单细胞注释也需要集思广益(mLLMCelltype)
  • 数字人接大模型第一步:表情同步
  • STM32 串口USART
  • 【嵌入式系统设计师(软考中级)】第二章:嵌入式系统硬件基础知识(2)
  • Concepts (C++20)
  • 如何在 Postman 中,自动获取 Token 并将其赋值到环境变量
  • 每日c/c++题 备战蓝桥杯 ([洛谷 P1226] 快速幂求模题解)
  • Java 富文本转word
  • java方法引用
  • static成员
  • jQuery的removeClass(),一次删除多个class
  • 4.2 Prompt工程与任务建模:高效提示词设计与任务拆解方法
  • 【学习笔记】文件包含漏洞--相关习题
  • 海港通报颜骏凌伤停两至三周,国足面临门将伤病危机
  • 南京大屠杀幸存者刘贵祥去世,享年95岁
  • 辽宁男篮被横扫这一晚,中国篮球的一个时代落幕了
  • 看纪录片抵学分,贺桂梅:纪录片是对抗低质碎片信息的好媒介
  • 今年五一假期出游人群规模预计比去年提升8%,哪里最热门?
  • 李乐成任工业和信息化部部长