|  |  |  | 
|---|
|  |  |  | 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.mapper.MallAchieveRecordMapper; | 
|---|
|  |  |  | import cc.mrbird.febs.mall.mapper.MallMemberMapper; | 
|---|
|  |  |  | import cc.mrbird.febs.mall.mapper.MallOrderInfoMapper; | 
|---|
|  |  |  | 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.date.DateUtil; | 
|---|
|  |  |  | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | 
|---|
|  |  |  | import lombok.RequiredArgsConstructor; | 
|---|
|  |  |  | import org.apache.shiro.authc.UsernamePasswordToken; | 
|---|
|  |  |  | import org.springframework.validation.annotation.Validated; | 
|---|
|  |  |  | 
|---|
|  |  |  | 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; | 
|---|
|  |  |  | 
|---|
|  |  |  | private final IUserService userService; | 
|---|
|  |  |  | private final ValidateCodeService validateCodeService; | 
|---|
|  |  |  | private final ILoginLogService loginLogService; | 
|---|
|  |  |  | private final MallMemberMapper mallMemberMapper; | 
|---|
|  |  |  | private final MallOrderInfoMapper mallOrderInfoMapper; | 
|---|
|  |  |  | private final MallAchieveRecordMapper mallAchieveRecordMapper; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @PostMapping("login") | 
|---|
|  |  |  | @Limit(key = "login", period = 60, count = 10, name = "登录接口", prefix = "limit") | 
|---|
|  |  |  | 
|---|
|  |  |  | 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); | 
|---|
|  |  |  | //        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("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("balancePay",mallOrderInfoMapper.selectSumAmountByPayMethodAndStatue(OrderPayMethodEnum.BALANCE.getName(), OrderStatusEnum.FINISH.getValue())); | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 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())); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //会员数据 | 
|---|
|  |  |  | 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)); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | QueryWrapper<MallMember> todayMember = new QueryWrapper<>(); | 
|---|
|  |  |  | todayMember.like("CREATED_TIME", DateUtil.today()); | 
|---|
|  |  |  | //        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()); | 
|---|
|  |  |  | 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); | 
|---|