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