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

分页查询优惠券

文章目录

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

概要

接口分析

一个典型的带过滤条件的分页查询,非常简单。按照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层

效果展示

http://www.xdnf.cn/news/1601.html

相关文章:

  • Unity 使用 ADB 实时查看手机运行性能
  • 【技术派后端篇】技术派中 Session/Cookie 与 JWT 身份验证技术的应用及实现解析
  • 详解springcloudalibaba采用prometheus+grafana实现服务监控
  • Qt UDP组播实现与调试指南
  • leetcode28. 找出字符串中第一个匹配项的下标_简单KMP
  • vue3 实现将html内容导出为图片、pdf和word
  • Linux Awk 深度解析:10个生产级自动化与云原生场景
  • 私钥连接服务器(已经有服务器私钥
  • 安卓adb shell串口基础指令
  • 【激光雷达3D(7)】CenterPoint两阶段细化仅使用BEV特征;PV-RCNN两阶段细化使用体素特征;M3DETRTransformer统一多表征特征
  • 云智融合普惠大模型AI,政务服务重构数智化路径
  • 【C语言经典算法实战】:从“移动距离”问题看矩阵坐标计算
  • Python正则表达式:用“模式密码“解锁复杂字符串
  • C++中的next_permutation全排列函数
  • 【高频考点精讲】JavaScript中的组合模式:从树形结构到组件嵌套实战
  • 与终端同居日记:Shell交响曲の终极共舞指南
  • 【玩转全栈】—— Django+vue3+讯飞星火API 实现前端页面实时AI答复
  • C++算法(14):K路归并的最优解法
  • python的pip download命令-2
  • COMSOL多孔结构传热模拟
  • gem5-gpu教程06 回归测试
  • 2025年渗透测试面试题总结-拷打题库13(题目+回答)
  • GPLT-2025年第十届团体程序设计天梯赛总决赛题解(2025天梯赛题解,共计266分)
  • 【LangChain4j】AI 第二弹:项目中接入 LangChain4j
  • QVQ-Max视觉推理模型发布:多模态 AI 的“眼脑协同”革命
  • 详解微服务监控(springboot admin server client、实时日志配置、动态修改日志级别、自定义服务通知实现等
  • 通过智能分块策略、动态分块、多路召回与重排序融合、异构数据关联与溯源提升Ragflow与LangChain提升RAG的召回率
  • HarmonyOS Grid 网格列表可长按 item 拖动移动位置
  • ROS第十二梯:ros-noetic和Anaconda联合使用
  • ProxySQL实现mysql8主从同步读写分离