From d3b5f1f6ac64af873ba200534d39bd31709a1a28 Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Fri, 03 Jan 2025 16:28:45 +0800
Subject: [PATCH] feat(mall): 增加会员升级权益功能

---
 src/main/java/cc/mrbird/febs/system/controller/LoginController.java |   57 +++++++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 47 insertions(+), 10 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/system/controller/LoginController.java b/src/main/java/cc/mrbird/febs/system/controller/LoginController.java
index f084c2d..15025ae 100644
--- a/src/main/java/cc/mrbird/febs/system/controller/LoginController.java
+++ b/src/main/java/cc/mrbird/febs/system/controller/LoginController.java
@@ -6,10 +6,21 @@
 import cc.mrbird.febs.common.exception.FebsException;
 import cc.mrbird.febs.common.service.ValidateCodeService;
 import cc.mrbird.febs.common.utils.Md5Util;
+import cc.mrbird.febs.mall.entity.MallMember;
+import cc.mrbird.febs.mall.entity.RunVip;
+import cc.mrbird.febs.mall.mapper.MallAchieveRecordMapper;
+import cc.mrbird.febs.mall.mapper.MallMemberMapper;
+import cc.mrbird.febs.mall.mapper.MallOrderInfoMapper;
+import cc.mrbird.febs.mall.mapper.RunVipMapper;
+import cc.mrbird.febs.mall.vo.AdminVipIndexVo;
 import cc.mrbird.febs.monitor.entity.LoginLog;
 import cc.mrbird.febs.monitor.service.ILoginLogService;
 import cc.mrbird.febs.system.entity.User;
 import cc.mrbird.febs.system.service.IUserService;
+import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.date.DateUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import lombok.RequiredArgsConstructor;
 import org.apache.shiro.authc.UsernamePasswordToken;
 import org.springframework.validation.annotation.Validated;
@@ -23,9 +34,7 @@
 import javax.servlet.http.HttpSession;
 import javax.validation.constraints.NotBlank;
 import java.io.IOException;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 /**
  * @author MrBird
@@ -38,6 +47,10 @@
     private final IUserService userService;
     private final ValidateCodeService validateCodeService;
     private final ILoginLogService loginLogService;
+    private final MallMemberMapper mallMemberMapper;
+    private final MallOrderInfoMapper mallOrderInfoMapper;
+    private final MallAchieveRecordMapper mallAchieveRecordMapper;
+    private final RunVipMapper runVipMapper;
 
     @PostMapping("login")
     @Limit(key = "login", period = 60, count = 10, name = "登录接口", prefix = "limit")
@@ -77,13 +90,37 @@
         // 更新登录时间
         this.userService.updateLoginTime(username);
         Map<String, Object> data = new HashMap<>(5);
-        // 获取系统访问记录
-        Long totalVisitCount = this.loginLogService.findTotalVisitCount();
-        data.put("totalVisitCount", totalVisitCount);
-        Long todayVisitCount = this.loginLogService.findTodayVisitCount();
-        data.put("todayVisitCount", todayVisitCount);
-        Long todayIp = this.loginLogService.findTodayIp();
-        data.put("todayIp", todayIp);
+        //会员数据
+        data.put("totalMember",mallMemberMapper.selectCount(new QueryWrapper<>()) );
+
+        List<AdminVipIndexVo> vipIndexVos = new ArrayList<>();
+        List<RunVip> runVips = runVipMapper.selectList(null);
+        if(CollUtil.isNotEmpty(runVips)){
+            for(RunVip runVip : runVips){
+                AdminVipIndexVo adminVipIndexVo = new AdminVipIndexVo();
+                adminVipIndexVo.setVipCode(runVip.getVipCode());
+                adminVipIndexVo.setVipName(runVip.getVipName());
+                Integer selectCount = mallMemberMapper.selectCount(new LambdaQueryWrapper<MallMember>().eq(MallMember::getLevel, runVip.getVipCode()));
+                adminVipIndexVo.setMemberCnt(selectCount);
+                vipIndexVos.add(adminVipIndexVo);
+            }
+        }
+        data.put("vipIndexVos",vipIndexVos);
+
+        QueryWrapper<MallMember> todayMember = new QueryWrapper<>();
+        todayMember.like("CREATED_TIME", DateUtil.today());
+        data.put("todayMember",mallMemberMapper.selectCount(todayMember));
+
+        QueryWrapper<MallMember> thisMonthMember = new QueryWrapper<>();
+        thisMonthMember.like("CREATED_TIME", DateUtil.format(DateUtil.date(),"yyyy-MM"));
+//        thisMonthMember.ne("level", AgentLevelEnum.ZERO_LEVEL.name());
+        data.put("thisMonthMember",mallMemberMapper.selectCount(thisMonthMember));
+
+        QueryWrapper<MallMember> lastMonthMember = new QueryWrapper<>();
+        lastMonthMember.like("CREATED_TIME", DateUtil.format(DateUtil.offsetMonth(new Date(), -1),"yyyy-MM"));
+//        lastMonthMember.ne("level", AgentLevelEnum.ZERO_LEVEL.name());
+        data.put("lastMonthMember",mallMemberMapper.selectCount(lastMonthMember));
+
         // 获取近期系统访问记录
         List<Map<String, Object>> lastSevenVisitCount = this.loginLogService.findLastSevenDaysVisitCount(null);
         data.put("lastSevenVisitCount", lastSevenVisitCount);

--
Gitblit v1.9.1