package com.ruoyi.web.controller.system; import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.im.comm.Result; import com.ruoyi.im.service.UserPolicyService; import com.ruoyi.im.service.impl.InsurancePositionServiceImpl; import com.ruoyi.im.util.UserPolicyUtils; import com.ruoyi.system.domain.InsurancePosition; import com.ruoyi.system.domain.UserAccount; import com.ruoyi.system.domain.UserPolicy; import com.ruoyi.system.domain.dto.SubordinateInformationDto; import com.ruoyi.system.domain.out.HomePageStatisticsOut; import com.ruoyi.system.domain.out.UserTeamAndPositionOut; import com.ruoyi.system.service.UserAccountService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; /** * @program: ruoyiim * @description:首页统计 * @create: 2025-10-13 17:21 **/ @RestController @RequestMapping("/system/home") public class HomePageStatisticsController { @Autowired UserAccountService userAccountService; @Autowired InsurancePositionServiceImpl insurancePositionService; @Autowired UserPolicyService userPolicyService; /** * 首页统计 */ @GetMapping("/getStatistics") public AjaxResult getUserTeamAndPosition() { HomePageStatisticsOut statisticsOut = new HomePageStatisticsOut(); // 今日注册 LambdaQueryWrapper todayWrapper = new LambdaQueryWrapper<>(); todayWrapper.apply("DATE(create_time) = CURDATE()"); statisticsOut.setTodayRegister(userAccountService.count(todayWrapper)); // 总注册 statisticsOut.setTotalRegister(userAccountService.count()); // 今日激活 LambdaQueryWrapper userPolicyTodayWrapper = new LambdaQueryWrapper<>(); userPolicyTodayWrapper.eq(UserPolicy::getApprovalStatus, 1) .apply("DATE(created_at) = CURDATE()"); statisticsOut.setTodayActivate(userPolicyService.count(userPolicyTodayWrapper)); // 总激活 LambdaQueryWrapper userPolicyTotalWrapper = new LambdaQueryWrapper<>(); userPolicyTotalWrapper.eq(UserPolicy::getApprovalStatus, 1); statisticsOut.setTotalActivate(userPolicyService.count(userPolicyTotalWrapper)); return AjaxResult.success(statisticsOut); } }