From 22fc06733f1e3d1941499b312d83d07fdad27949 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Tue, 08 Jul 2025 14:37:34 +0800
Subject: [PATCH] feat(mall): 添加活动数据统计功能
---
src/main/resources/templates/febs/views/modules/mallMember/dataInfo.html | 40 ++++++++++++++++++++
src/main/java/cc/mrbird/febs/mall/vo/AdminDataInfoVo.java | 5 ++
src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java | 17 ++++++++
3 files changed, 62 insertions(+), 0 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java
index b353d10..3eeec36 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java
@@ -1061,6 +1061,23 @@
adminDataInfoVo.setTotalWeekAmount(totalWeekAmount);
adminDataInfoVo.setTotalMonthAmount(totalMonthAmount);
+ List<HappyActivityOrder> happyActivityDoneOrders = happyActivityOrderMapper.selectList(
+ Wrappers.lambdaQuery(HappyActivityOrder.class)
+ .eq(HappyActivityOrder::getPayState, StateUpDownEnum.PAY_STATE_PAY_SUCCESS.getCode())
+ .eq(HappyActivityOrder::getState, StateUpDownEnum.ORDER_STATE_USED.getCode())
+ );
+
+ if(CollUtil.isNotEmpty(happyActivityDoneOrders)){
+ adminDataInfoVo.setTotalActivityMember(happyActivityDoneOrders.size());
+
+ adminDataInfoVo.setTotalActivityDayMember(
+ Math.toIntExact(happyActivityDoneOrders.stream().filter(entity -> DateUtil.compare(entity.getCreatedTime(), DateUtil.beginOfDay(new Date())) >= 0).count()));
+ adminDataInfoVo.setTotalActivityWeekMember(
+ Math.toIntExact(happyActivityDoneOrders.stream().filter(entity -> DateUtil.compare(entity.getCreatedTime(), DateUtil.beginOfWeek(new Date())) >= 0).count()));
+ adminDataInfoVo.setTotalActivityMonthMember(
+ Math.toIntExact(happyActivityDoneOrders.stream().filter(entity -> DateUtil.compare(entity.getCreatedTime(), DateUtil.beginOfMonth(new Date())) >= 0).count()));
+ }
+
return new FebsResponse().success().data(adminDataInfoVo);
}
}
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/AdminDataInfoVo.java b/src/main/java/cc/mrbird/febs/mall/vo/AdminDataInfoVo.java
index 0eb84b5..30349dd 100644
--- a/src/main/java/cc/mrbird/febs/mall/vo/AdminDataInfoVo.java
+++ b/src/main/java/cc/mrbird/febs/mall/vo/AdminDataInfoVo.java
@@ -12,6 +12,11 @@
private Integer totalWeekMember = 0;//七日内新增
private Integer totalMonthMember = 0;//30天内新增
+ private Integer totalActivityMember = 0;//总数
+ private Integer totalActivityDayMember = 0;//昨日新增
+ private Integer totalActivityWeekMember = 0;//七日内新增
+ private Integer totalActivityMonthMember = 0;//30天内新增
+
private BigDecimal totalAmount = BigDecimal.ZERO;//总数
private BigDecimal totalDayAmount = BigDecimal.ZERO;//新增
private BigDecimal totalWeekAmount = BigDecimal.ZERO;//本周新增
diff --git a/src/main/resources/templates/febs/views/modules/mallMember/dataInfo.html b/src/main/resources/templates/febs/views/modules/mallMember/dataInfo.html
index cf36f4b..a5938bb 100644
--- a/src/main/resources/templates/febs/views/modules/mallMember/dataInfo.html
+++ b/src/main/resources/templates/febs/views/modules/mallMember/dataInfo.html
@@ -191,6 +191,46 @@
</div>
</div>
+ <div class="layui-card-body layui-anim layui-anim-fadein">
+ <div class="layui-row">
+ <div class="m-title">活动数据</div>
+ <div class="layui-row layui-col-space15">
+ <div class="layui-col-md3">
+ <div class="layui-panel">
+ <div class="box">
+ <p class="name">总计参与人数</p>
+ <p class="num"><span id="totalActivityMember"></span></p>
+ </div>
+ </div>
+ </div>
+ <div class="layui-col-md3">
+ <div class="layui-panel">
+ <div class="box">
+ <p class="name">今日新增参与人数</p>
+ <p class="num"><span id="totalActivityDayMember"></span></p>
+ </div>
+ </div>
+ </div>
+ <div class="layui-col-md3">
+ <div class="layui-panel">
+ <div class="box">
+ <p class="name">本周新增参与人数</p>
+ <p class="num"><span id="totalActivityWeekMember"></span></p>
+ </div>
+ </div>
+ </div>
+ <div class="layui-col-md3">
+ <div class="layui-panel">
+ <div class="box">
+ <p class="name">本月新增参与人数</p>
+ <p class="num"><span id="totalActivityMonthMember"></span></p>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+
</div>
--
Gitblit v1.9.1