KKSU
2024-12-23 ff2845059d92bb71c7901e18a4936a246b7aa1e5
src/main/java/cc/mrbird/febs/system/controller/LoginController.java
@@ -6,13 +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;
@@ -26,10 +34,7 @@
import javax.servlet.http.HttpSession;
import javax.validation.constraints.NotBlank;
import java.io.IOException;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
/**
 * @author MrBird
@@ -43,7 +48,9 @@
    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")
@@ -83,18 +90,36 @@
        // 更新登录时间
        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<>()) );
        data.put("lastDay", mallAchieveRecordMapper.selectAchieveTotal("D", DateUtil.offsetDay(new Date(), -1)));
        data.put("today", mallAchieveRecordMapper.selectAchieveTotal("D", new Date()));
        data.put("lastMonth", mallAchieveRecordMapper.selectAchieveTotal("M", DateUtil.offsetMonth(new Date(), -1)));
        data.put("thisMonth", mallAchieveRecordMapper.selectAchieveTotal("M", new Date()));
        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);