From 8f3ff6e9a3607f0146898fdf4427f6ac5fc8e28b Mon Sep 17 00:00:00 2001 From: bunny <1319900154@qq.com> Date: Tue, 26 Mar 2024 16:35:28 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E6=96=B0=E5=A2=9E-=E5=95=86=E5=93=81?= =?UTF-8?q?=E7=AE=A1=E7=90=86):=20=E8=AE=A2=E5=8D=95=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E7=BB=9F=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: bunny <1319900154@qq.com> --- .../spzx/manger/mapper/OrderInfoMapper.java | 16 ++++++++++ .../manger/mapper/OrderStatisticsMapper.java | 14 ++++++++ .../spzx/manger/task/OrderStatisticsTask.java | 32 +++++++++++++++++++ .../main/resources/mapper/OrderInfoMapper.xml | 15 +++++++++ .../mapper/OrderStatisticsMapper.xml | 14 ++++++++ .../model/entity/order/OrderStatistics.java | 4 +-- 6 files changed, 93 insertions(+), 2 deletions(-) create mode 100644 spzx-manager/src/main/java/com/atguigu/spzx/manger/mapper/OrderInfoMapper.java create mode 100644 spzx-manager/src/main/java/com/atguigu/spzx/manger/mapper/OrderStatisticsMapper.java create mode 100644 spzx-manager/src/main/java/com/atguigu/spzx/manger/task/OrderStatisticsTask.java create mode 100644 spzx-manager/src/main/resources/mapper/OrderInfoMapper.xml create mode 100644 spzx-manager/src/main/resources/mapper/OrderStatisticsMapper.xml diff --git a/spzx-manager/src/main/java/com/atguigu/spzx/manger/mapper/OrderInfoMapper.java b/spzx-manager/src/main/java/com/atguigu/spzx/manger/mapper/OrderInfoMapper.java new file mode 100644 index 0000000..5951a96 --- /dev/null +++ b/spzx-manager/src/main/java/com/atguigu/spzx/manger/mapper/OrderInfoMapper.java @@ -0,0 +1,16 @@ +package com.atguigu.spzx.manger.mapper; + +import com.atguigu.spzx.model.entity.order.OrderStatistics; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface OrderInfoMapper { + + /** + * 查询指定日期产生的订单数据 + * + * @param createTime 创建时间 + * @return OrderStatistics + */ + OrderStatistics selectOrderStatistics(String createTime); +} \ 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 new file mode 100644 index 0000000..c30d31d --- /dev/null +++ b/spzx-manager/src/main/java/com/atguigu/spzx/manger/mapper/OrderStatisticsMapper.java @@ -0,0 +1,14 @@ +package com.atguigu.spzx.manger.mapper; + +import com.atguigu.spzx.model.entity.order.OrderStatistics; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface OrderStatisticsMapper { + /** + * 插入 + * + * @param orderStatistics 订单 + */ + void insert(OrderStatistics orderStatistics); +} diff --git a/spzx-manager/src/main/java/com/atguigu/spzx/manger/task/OrderStatisticsTask.java b/spzx-manager/src/main/java/com/atguigu/spzx/manger/task/OrderStatisticsTask.java new file mode 100644 index 0000000..f102678 --- /dev/null +++ b/spzx-manager/src/main/java/com/atguigu/spzx/manger/task/OrderStatisticsTask.java @@ -0,0 +1,32 @@ +package com.atguigu.spzx.manger.task; + +import cn.hutool.core.date.DateUtil; +import com.atguigu.spzx.manger.mapper.OrderInfoMapper; +import com.atguigu.spzx.manger.mapper.OrderStatisticsMapper; +import com.atguigu.spzx.model.entity.order.OrderStatistics; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Component; + +import java.text.SimpleDateFormat; +import java.util.Date; + +@Component +@Slf4j +public class OrderStatisticsTask { + @Autowired + private OrderInfoMapper orderInfoMapper; + + @Autowired + private OrderStatisticsMapper orderStatisticsMapper; + + @Scheduled(cron = "0 0 2 * * ?") + public void orderTotalAmountStatistics() { + String createTime = DateUtil.offsetDay(new Date(), -1).toString(new SimpleDateFormat("yyyy-MM-dd")); + OrderStatistics orderStatistics = orderInfoMapper.selectOrderStatistics(createTime); + if (orderStatistics != null) { + orderStatisticsMapper.insert(orderStatistics); + } + } +} \ No newline at end of file diff --git a/spzx-manager/src/main/resources/mapper/OrderInfoMapper.xml b/spzx-manager/src/main/resources/mapper/OrderInfoMapper.xml new file mode 100644 index 0000000..b25ad5b --- /dev/null +++ b/spzx-manager/src/main/resources/mapper/OrderInfoMapper.xml @@ -0,0 +1,15 @@ + + + + + + + + diff --git a/spzx-manager/src/main/resources/mapper/OrderStatisticsMapper.xml b/spzx-manager/src/main/resources/mapper/OrderStatisticsMapper.xml new file mode 100644 index 0000000..51293d0 --- /dev/null +++ b/spzx-manager/src/main/resources/mapper/OrderStatisticsMapper.xml @@ -0,0 +1,14 @@ + + + + + + id,order_date,total_amount,total_num,create_time,update_time,is_deleted + + + + + 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/entity/order/OrderStatistics.java b/spzx-model/src/main/java/com/atguigu/spzx/model/entity/order/OrderStatistics.java index d12ae43..05cd7c1 100644 --- a/spzx-model/src/main/java/com/atguigu/spzx/model/entity/order/OrderStatistics.java +++ b/spzx-model/src/main/java/com/atguigu/spzx/model/entity/order/OrderStatistics.java @@ -2,15 +2,15 @@ package com.atguigu.spzx.model.entity.order; import com.atguigu.spzx.model.entity.base.BaseEntity; import lombok.Data; +import lombok.EqualsAndHashCode; import java.math.BigDecimal; import java.util.Date; +@EqualsAndHashCode(callSuper = true) @Data public class OrderStatistics extends BaseEntity { - private Date orderDate; private BigDecimal totalAmount; private Integer totalNum; - } \ No newline at end of file