diff --git a/yudao-module-mall/pom.xml b/yudao-module-mall/pom.xml
index 37484f00c..f4854aef0 100644
--- a/yudao-module-mall/pom.xml
+++ b/yudao-module-mall/pom.xml
@@ -15,7 +15,7 @@
${project.artifactId}
- 商城大模块,由 product 商品、promotion 营销、trade 交易等组成
+ 商城大模块,由 product 商品、promotion 营销、trade 交易、statistics 统计等组成
yudao-module-promotion-api
@@ -24,6 +24,8 @@
yudao-module-product-biz
yudao-module-trade-api
yudao-module-trade-biz
+ yudao-module-statistics-api
+ yudao-module-statistics-biz
diff --git a/yudao-module-mall/yudao-module-statistics-api/pom.xml b/yudao-module-mall/yudao-module-statistics-api/pom.xml
new file mode 100644
index 000000000..7c838fecc
--- /dev/null
+++ b/yudao-module-mall/yudao-module-statistics-api/pom.xml
@@ -0,0 +1,33 @@
+
+
+
+ cn.iocoder.boot
+ yudao-module-mall
+ ${revision}
+
+ 4.0.0
+ yudao-module-statistics-api
+ jar
+
+ ${project.artifactId}
+
+ statistics 模块 API,暴露给其它模块调用
+
+
+
+
+ cn.iocoder.boot
+ yudao-common
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-validation
+ true
+
+
+
+
diff --git a/yudao-module-mall/yudao-module-statistics-api/src/main/java/cn/iocoder/yudao/module/statistics/api/package-info.java b/yudao-module-mall/yudao-module-statistics-api/src/main/java/cn/iocoder/yudao/module/statistics/api/package-info.java
new file mode 100644
index 000000000..2963c120a
--- /dev/null
+++ b/yudao-module-mall/yudao-module-statistics-api/src/main/java/cn/iocoder/yudao/module/statistics/api/package-info.java
@@ -0,0 +1,4 @@
+/**
+ * TODO 占位,无特殊含义
+ */
+package cn.iocoder.yudao.module.statistics.api;
diff --git a/yudao-module-mall/yudao-module-statistics-api/src/main/java/cn/iocoder/yudao/module/statistics/enums/package-info.java b/yudao-module-mall/yudao-module-statistics-api/src/main/java/cn/iocoder/yudao/module/statistics/enums/package-info.java
new file mode 100644
index 000000000..f885ae076
--- /dev/null
+++ b/yudao-module-mall/yudao-module-statistics-api/src/main/java/cn/iocoder/yudao/module/statistics/enums/package-info.java
@@ -0,0 +1,4 @@
+/**
+ * TODO 占位,无特殊含义
+ */
+package cn.iocoder.yudao.module.statistics.enums;
diff --git a/yudao-module-mall/yudao-module-statistics-biz/pom.xml b/yudao-module-mall/yudao-module-statistics-biz/pom.xml
new file mode 100644
index 000000000..8bd75c39a
--- /dev/null
+++ b/yudao-module-mall/yudao-module-statistics-biz/pom.xml
@@ -0,0 +1,86 @@
+
+
+
+ cn.iocoder.boot
+ yudao-module-mall
+ ${revision}
+
+ 4.0.0
+ yudao-module-statistics-biz
+ jar
+
+ ${project.artifactId}
+
+ statistics 模块,主要实现统计相关功能
+ 例如:统计商品、会员、交易等功能。
+
+
+
+
+ cn.iocoder.boot
+ yudao-module-statistics-api
+ ${revision}
+
+
+ cn.iocoder.boot
+ yudao-module-promotion-api
+ ${revision}
+
+
+ cn.iocoder.boot
+ yudao-module-product-api
+ ${revision}
+
+
+ cn.iocoder.boot
+ yudao-module-trade-api
+ ${revision}
+
+
+ cn.iocoder.boot
+ yudao-module-member-api
+ ${revision}
+
+
+
+
+ cn.iocoder.boot
+ yudao-spring-boot-starter-biz-operatelog
+
+
+
+
+ cn.iocoder.boot
+ yudao-spring-boot-starter-web
+
+
+ cn.iocoder.boot
+ yudao-spring-boot-starter-security
+
+
+
+
+ cn.iocoder.boot
+ yudao-spring-boot-starter-mybatis
+
+
+
+
+ cn.iocoder.boot
+ yudao-spring-boot-starter-test
+
+
+
+
+ cn.iocoder.boot
+ yudao-spring-boot-starter-excel
+
+
+ cn.iocoder.boot
+ yudao-spring-boot-starter-biz-dict
+
+
+
+
diff --git a/yudao-module-mall/yudao-module-statistics-biz/src/main/java/cn/iocoder/yudao/module/statistics/controller/member/package-info.java b/yudao-module-mall/yudao-module-statistics-biz/src/main/java/cn/iocoder/yudao/module/statistics/controller/member/package-info.java
new file mode 100644
index 000000000..b2c94c390
--- /dev/null
+++ b/yudao-module-mall/yudao-module-statistics-biz/src/main/java/cn/iocoder/yudao/module/statistics/controller/member/package-info.java
@@ -0,0 +1,9 @@
+/**
+ * TODO
+ * 1. 会员总数据
+ * 2. 性别统计
+ * 3. 渠道统计
+ * 4. 地域统计
+ * 5. 会员概览
+ */
+package cn.iocoder.yudao.module.statistics.controller.member;
diff --git a/yudao-module-mall/yudao-module-statistics-biz/src/main/java/cn/iocoder/yudao/module/statistics/controller/package-info.java b/yudao-module-mall/yudao-module-statistics-biz/src/main/java/cn/iocoder/yudao/module/statistics/controller/package-info.java
new file mode 100644
index 000000000..144140429
--- /dev/null
+++ b/yudao-module-mall/yudao-module-statistics-biz/src/main/java/cn/iocoder/yudao/module/statistics/controller/package-info.java
@@ -0,0 +1 @@
+package cn.iocoder.yudao.module.statistics.controller;
diff --git a/yudao-module-mall/yudao-module-statistics-biz/src/main/java/cn/iocoder/yudao/module/statistics/controller/product/ProductStatisticsController.java b/yudao-module-mall/yudao-module-statistics-biz/src/main/java/cn/iocoder/yudao/module/statistics/controller/product/ProductStatisticsController.java
new file mode 100644
index 000000000..178df0565
--- /dev/null
+++ b/yudao-module-mall/yudao-module-statistics-biz/src/main/java/cn/iocoder/yudao/module/statistics/controller/product/ProductStatisticsController.java
@@ -0,0 +1,41 @@
+package cn.iocoder.yudao.module.statistics.controller.product;
+
+import cn.iocoder.yudao.framework.common.pojo.CommonResult;
+import cn.iocoder.yudao.framework.common.pojo.PageResult;
+import cn.iocoder.yudao.module.statistics.dal.mysql.product.ProductSpuStatisticsDO;
+import cn.iocoder.yudao.module.statistics.dal.mysql.product.ProductStatisticsDO;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.time.LocalDateTime;
+import java.util.List;
+
+@Tag(name = "管理后台 - 商品统计")
+@RestController
+@RequestMapping("/statistics/product")
+@Validated
+@Slf4j
+public class ProductStatisticsController {
+
+ // TODO @麦子:返回 ProductStatisticsComparisonResp, 里面有两个字段,一个是选择的时间范围的合计结果,一个是对比的时间范围的合计结果;
+ // 例如说,选择时间范围是 2023-10-01 ~ 2023-10-02,那么对比就是 2023-09-30,再倒推 2 天;
+ public CommonResult