KKSU
2024-12-19 1689b64fe1352a7c7c1ce2a45b16058bf168dd83
src/main/java/cc/mrbird/febs/system/controller/LoginController.java
@@ -3,21 +3,25 @@
import cc.mrbird.febs.common.annotation.Limit;
import cc.mrbird.febs.common.controller.BaseController;
import cc.mrbird.febs.common.entity.FebsResponse;
import cc.mrbird.febs.common.enumerates.AgentLevelEnum;
import cc.mrbird.febs.common.enumerates.OrderPayMethodEnum;
import cc.mrbird.febs.common.enumerates.OrderStatusEnum;
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;
@@ -32,10 +36,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
@@ -51,6 +52,7 @@
    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")
@@ -100,8 +102,8 @@
        //支付统计
        data.put("wechatPay",mallOrderInfoMapper.selectSumAmountByPayMethodAndStatue(OrderPayMethodEnum.WECHAT.getName(), OrderStatusEnum.FINISH.getValue()));
        data.put("alipayPay",mallOrderInfoMapper.selectSumAmountByPayMethodAndStatue(OrderPayMethodEnum.ALIPAY.getName(), OrderStatusEnum.FINISH.getValue()));
        data.put("scorePay",mallOrderInfoMapper.selectSumAmountByPayMethodAndStatue(OrderPayMethodEnum.SCORE.getName(), OrderStatusEnum.FINISH.getValue()));
//        data.put("alipayPay",mallOrderInfoMapper.selectSumAmountByPayMethodAndStatue(OrderPayMethodEnum.ALIPAY.getName(), OrderStatusEnum.FINISH.getValue()));
//        data.put("scorePay",mallOrderInfoMapper.selectSumAmountByPayMethodAndStatue(OrderPayMethodEnum.SCORE.getName(), OrderStatusEnum.FINISH.getValue()));
        data.put("balancePay",mallOrderInfoMapper.selectSumAmountByPayMethodAndStatue(OrderPayMethodEnum.BALANCE.getName(), OrderStatusEnum.FINISH.getValue()));
@@ -112,27 +114,43 @@
        //会员数据
        data.put("totalMember",mallMemberMapper.selectCount(new QueryWrapper<>()) );
        QueryWrapper<MallMember> formalMember = new QueryWrapper<>();
        formalMember.ne("level", AgentLevelEnum.ZERO_LEVEL.name());
        data.put("formalMember",mallMemberMapper.selectCount(formalMember));
        QueryWrapper<MallMember> informalMember = new QueryWrapper<>();
        informalMember.eq("level", AgentLevelEnum.ZERO_LEVEL.name());
        data.put("informalMember",mallMemberMapper.selectCount(informalMember));
        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> formalMember = new QueryWrapper<>();
//        formalMember.ne("level", AgentLevelEnum.ZERO_LEVEL.name());
//        data.put("formalMember",mallMemberMapper.selectCount(formalMember));
//        QueryWrapper<MallMember> informalMember = new QueryWrapper<>();
//        informalMember.eq("level", AgentLevelEnum.ZERO_LEVEL.name());
//        data.put("informalMember",mallMemberMapper.selectCount(informalMember));
        QueryWrapper<MallMember> todayMember = new QueryWrapper<>();
        todayMember.like("CREATED_TIME", DateUtil.today());
        todayMember.ne("level", AgentLevelEnum.ZERO_LEVEL.name());
//        todayMember.ne("level", AgentLevelEnum.ZERO_LEVEL.name());
        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());
//        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());
//        lastMonthMember.ne("level", AgentLevelEnum.ZERO_LEVEL.name());
        data.put("lastMonthMember",mallMemberMapper.selectCount(lastMonthMember));
        // 获取近期系统访问记录