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