From 9fc4afebc2934d9174c7d8224b242b1b6f54815e Mon Sep 17 00:00:00 2001 From: bunny <1319900154@qq.com> Date: Tue, 26 Mar 2024 16:38:20 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E6=96=B0=E5=A2=9E-=E7=BB=9F=E8=AE=A1?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2):=20=E7=BB=9F=E8=AE=A1=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: bunny <1319900154@qq.com> --- .../controller/OrderInfoController.java | 29 ++++++++++++ .../manger/mapper/OrderStatisticsMapper.java | 11 +++++ .../spzx/manger/service/OrderInfoService.java | 14 ++++++ .../service/impl/OrderInfoServiceImpl.java | 46 +++++++++++++++++++ .../mapper/OrderStatisticsMapper.xml | 16 +++++++ .../model/dto/order/OrderStatisticsDto.java | 2 - 6 files changed, 116 insertions(+), 2 deletions(-) create mode 100644 spzx-manager/src/main/java/com/atguigu/spzx/manger/controller/OrderInfoController.java create mode 100644 spzx-manager/src/main/java/com/atguigu/spzx/manger/service/OrderInfoService.java create mode 100644 spzx-manager/src/main/java/com/atguigu/spzx/manger/service/impl/OrderInfoServiceImpl.java diff --git a/spzx-manager/src/main/java/com/atguigu/spzx/manger/controller/OrderInfoController.java b/spzx-manager/src/main/java/com/atguigu/spzx/manger/controller/OrderInfoController.java new file mode 100644 index 0000000..69d34e8 --- /dev/null +++ b/spzx-manager/src/main/java/com/atguigu/spzx/manger/controller/OrderInfoController.java @@ -0,0 +1,29 @@ +package com.atguigu.spzx.manger.controller; + +import com.atguigu.spzx.manger.service.OrderInfoService; +import com.atguigu.spzx.model.dto.order.OrderStatisticsDto; +import com.atguigu.spzx.model.vo.order.OrderStatisticsVo; +import com.atguigu.spzx.model.vo.result.Result; +import com.atguigu.spzx.model.vo.result.ResultCodeEnum; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@Tag(name = "统计查询") +@RestController +@RequestMapping(value = "/admin/order/orderInfo") +public class OrderInfoController { + + @Autowired + private OrderInfoService orderInfoService; + + @Operation(summary = "统计查询", description = "统计查询") + @GetMapping("/getOrderStatisticsData") + public Result getOrderStatisticsData(OrderStatisticsDto orderStatisticsDto) { + OrderStatisticsVo orderStatisticsVo = orderInfoService.getOrderStatisticsData(orderStatisticsDto); + return Result.build(orderStatisticsVo, ResultCodeEnum.SUCCESS); + } +} \ No newline at end of file diff --git a/spzx-manager/src/main/java/com/atguigu/spzx/manger/mapper/OrderStatisticsMapper.java b/spzx-manager/src/main/java/com/atguigu/spzx/manger/mapper/OrderStatisticsMapper.java index c30d31d..0cfd9db 100644 --- a/spzx-manager/src/main/java/com/atguigu/spzx/manger/mapper/OrderStatisticsMapper.java +++ b/spzx-manager/src/main/java/com/atguigu/spzx/manger/mapper/OrderStatisticsMapper.java @@ -1,8 +1,11 @@ package com.atguigu.spzx.manger.mapper; +import com.atguigu.spzx.model.dto.order.OrderStatisticsDto; import com.atguigu.spzx.model.entity.order.OrderStatistics; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + @Mapper public interface OrderStatisticsMapper { /** @@ -11,4 +14,12 @@ public interface OrderStatisticsMapper { * @param orderStatistics 订单 */ void insert(OrderStatistics orderStatistics); + + /** + * 查询统计结果数据 + * + * @param orderStatisticsDto 搜索条件实体类 + * @return 搜索条件实体类列表 + */ + List selectList(OrderStatisticsDto orderStatisticsDto); } diff --git a/spzx-manager/src/main/java/com/atguigu/spzx/manger/service/OrderInfoService.java b/spzx-manager/src/main/java/com/atguigu/spzx/manger/service/OrderInfoService.java new file mode 100644 index 0000000..f5ad262 --- /dev/null +++ b/spzx-manager/src/main/java/com/atguigu/spzx/manger/service/OrderInfoService.java @@ -0,0 +1,14 @@ +package com.atguigu.spzx.manger.service; + +import com.atguigu.spzx.model.dto.order.OrderStatisticsDto; +import com.atguigu.spzx.model.vo.order.OrderStatisticsVo; + +public interface OrderInfoService { + /** + * 统计查询 + * + * @param orderStatisticsDto 搜索条件实体类 + * @return 统计结果实体类 + */ + OrderStatisticsVo getOrderStatisticsData(OrderStatisticsDto orderStatisticsDto); +} diff --git a/spzx-manager/src/main/java/com/atguigu/spzx/manger/service/impl/OrderInfoServiceImpl.java b/spzx-manager/src/main/java/com/atguigu/spzx/manger/service/impl/OrderInfoServiceImpl.java new file mode 100644 index 0000000..b3e2af7 --- /dev/null +++ b/spzx-manager/src/main/java/com/atguigu/spzx/manger/service/impl/OrderInfoServiceImpl.java @@ -0,0 +1,46 @@ +package com.atguigu.spzx.manger.service.impl; + +import cn.hutool.core.date.DateUtil; +import com.atguigu.spzx.manger.mapper.OrderStatisticsMapper; +import com.atguigu.spzx.manger.service.OrderInfoService; +import com.atguigu.spzx.model.dto.order.OrderStatisticsDto; +import com.atguigu.spzx.model.entity.order.OrderStatistics; +import com.atguigu.spzx.model.vo.order.OrderStatisticsVo; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.math.BigDecimal; +import java.util.List; +import java.util.stream.Collectors; + +@Service +public class OrderInfoServiceImpl implements OrderInfoService { + @Autowired + private OrderStatisticsMapper orderStatisticsMapper; + + /** + * 统计查询 + * + * @param orderStatisticsDto 搜索条件实体类 + * @return 统计结果实体类 + */ + @Override + public OrderStatisticsVo getOrderStatisticsData(OrderStatisticsDto orderStatisticsDto) { + // 查询统计结果数据 + List orderStatisticsList = orderStatisticsMapper.selectList(orderStatisticsDto); + + // 日期列表 + List dateList = orderStatisticsList.stream().map(orderStatistics -> DateUtil.format(orderStatistics.getOrderDate(), "yyyy-MM-dd")).collect(Collectors.toList()); + + // 统计金额列表 + List amountList = orderStatisticsList.stream().map(OrderStatistics::getTotalAmount).collect(Collectors.toList()); + + // 创建OrderStatisticsVo对象封装响应结果数据 + OrderStatisticsVo orderStatisticsVo = new OrderStatisticsVo(); + orderStatisticsVo.setDateList(dateList); + orderStatisticsVo.setAmountList(amountList); + + // 返回数据 + return orderStatisticsVo; + } +} diff --git a/spzx-manager/src/main/resources/mapper/OrderStatisticsMapper.xml b/spzx-manager/src/main/resources/mapper/OrderStatisticsMapper.xml index 51293d0..77f4da7 100644 --- a/spzx-manager/src/main/resources/mapper/OrderStatisticsMapper.xml +++ b/spzx-manager/src/main/resources/mapper/OrderStatisticsMapper.xml @@ -11,4 +11,20 @@ insert into order_statistics (id, order_date, total_amount, total_num) values (#{id}, #{orderDate}, #{totalAmount}, #{totalNum}) + + + diff --git a/spzx-model/src/main/java/com/atguigu/spzx/model/dto/order/OrderStatisticsDto.java b/spzx-model/src/main/java/com/atguigu/spzx/model/dto/order/OrderStatisticsDto.java index f0adeac..98a9f62 100644 --- a/spzx-model/src/main/java/com/atguigu/spzx/model/dto/order/OrderStatisticsDto.java +++ b/spzx-model/src/main/java/com/atguigu/spzx/model/dto/order/OrderStatisticsDto.java @@ -6,11 +6,9 @@ import lombok.Data; @Data @Schema(description = "搜索条件实体类") public class OrderStatisticsDto { - @Schema(description = "开始时间") private String createTimeBegin; @Schema(description = "结束时间") private String createTimeEnd; - }