From c455f5ffa2a7de4aea8b674a307373b761815350 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B8=85=E6=99=A8?= <136767481@qq.com> Date: Mon, 21 Apr 2025 17:18:41 +0800 Subject: [PATCH] =?UTF-8?q?feat(work):=20=E6=B7=BB=E5=8A=A0=E8=AF=BE?= =?UTF-8?q?=E7=A8=8B=E6=95=B0=E9=87=8F=E7=BB=9F=E8=AE=A1=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 ITpCoursesService接口中添加 queryCount 方法 - 在 TpCoursesController 中添加 count 接口 - 在 TpCoursesServiceImpl 中实现 queryCount 方法,统计课程数量和订单相关数据- 更新 README.md,将项目名称改为"室内设计业务系统" --- README.md | 2 +- .../work/controller/TpCoursesController.java | 10 +++++++++ .../work/service/ITpCoursesService.java | 9 ++++++++ .../service/impl/TpCoursesServiceImpl.java | 21 +++++++++++++++++++ 4 files changed, 41 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 4c743f1..7394430 100644 --- a/README.md +++ b/README.md @@ -1 +1 @@ -效果图业务系统 \ No newline at end of file +室内设计业务系统 \ No newline at end of file diff --git a/ruoyi-modules/ruoyi-work/src/main/java/org/dromara/work/controller/TpCoursesController.java b/ruoyi-modules/ruoyi-work/src/main/java/org/dromara/work/controller/TpCoursesController.java index 5f32a5a..e4baa08 100644 --- a/ruoyi-modules/ruoyi-work/src/main/java/org/dromara/work/controller/TpCoursesController.java +++ b/ruoyi-modules/ruoyi-work/src/main/java/org/dromara/work/controller/TpCoursesController.java @@ -1,6 +1,7 @@ package org.dromara.work.controller; import java.util.List; +import java.util.Map; import lombok.RequiredArgsConstructor; import jakarta.servlet.http.HttpServletResponse; @@ -45,6 +46,15 @@ public class TpCoursesController extends BaseController { return tpCoursesService.queryPageList(bo, pageQuery); } + /** + * 统计课程列表 + */ + @SaCheckPermission("work:courses:list") + @GetMapping("/count") + public R> count(TpCoursesBo bo) { + return R.ok(tpCoursesService.queryCount(bo)); + } + /** * 导出课程列表 */ diff --git a/ruoyi-modules/ruoyi-work/src/main/java/org/dromara/work/service/ITpCoursesService.java b/ruoyi-modules/ruoyi-work/src/main/java/org/dromara/work/service/ITpCoursesService.java index b0d5431..278fa03 100644 --- a/ruoyi-modules/ruoyi-work/src/main/java/org/dromara/work/service/ITpCoursesService.java +++ b/ruoyi-modules/ruoyi-work/src/main/java/org/dromara/work/service/ITpCoursesService.java @@ -7,6 +7,7 @@ import org.dromara.common.mybatis.core.page.PageQuery; import java.util.Collection; import java.util.List; +import java.util.Map; /** * 课程Service接口 @@ -65,4 +66,12 @@ public interface ITpCoursesService { * @return 是否删除成功 */ Boolean deleteWithValidByIds(Collection ids, Boolean isValid); + + /** + * 查询课程数量 + * + * @param bo 课程 + * @return 课程数量 + */ + Map queryCount(TpCoursesBo bo); } diff --git a/ruoyi-modules/ruoyi-work/src/main/java/org/dromara/work/service/impl/TpCoursesServiceImpl.java b/ruoyi-modules/ruoyi-work/src/main/java/org/dromara/work/service/impl/TpCoursesServiceImpl.java index e8894c4..909833a 100644 --- a/ruoyi-modules/ruoyi-work/src/main/java/org/dromara/work/service/impl/TpCoursesServiceImpl.java +++ b/ruoyi-modules/ruoyi-work/src/main/java/org/dromara/work/service/impl/TpCoursesServiceImpl.java @@ -19,6 +19,7 @@ import org.dromara.work.mapper.TpCoursesMapper; import org.dromara.work.service.ITpCoursesService; import java.math.BigDecimal; +import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Collection; @@ -79,6 +80,26 @@ public class TpCoursesServiceImpl implements ITpCoursesService { return TableDataInfo.build(result); } + /** + * 查询课程数量 + * + * @param bo 课程 + * @return 课程数量 + */ + @Override + public Map queryCount(TpCoursesBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + List list = baseMapper.selectVoList(lqw); + List orderList = orderMapper.selectList(new LambdaQueryWrapper().in(TpOrder::getCourseId, list.stream().map(TpCoursesVo::getId).toList()).ne(TpOrder::getPayState, 1)); + Map map = new HashMap<>(); + map.put("count", list.size()); + map.put("bmNum", orderList.stream().mapToInt(TpOrder::getBmNum).sum()); + map.put("dcNum", orderList.stream().mapToInt(TpOrder::getDcNum).sum()); + map.put("price", orderList.stream().map(f -> new BigDecimal(String.valueOf(f.getPrice()))).reduce(BigDecimal.ZERO, BigDecimal::add)); + map.put("payPrice", orderList.stream().map(f -> new BigDecimal(String.valueOf(f.getPayPrice()))).reduce(BigDecimal.ZERO, BigDecimal::add)); + return map; + } + /** * 查询符合条件的课程列表 *