1
13693261870
2024-11-27 cc078297fdaaa9819ad4f1a0d82fc5264f56d04a
se-modules/se-system/src/main/java/com/se/system/controller/IndexController.java
@@ -1,18 +1,18 @@
package com.se.system.controller;
import com.alibaba.fastjson2.JSON;
import com.se.common.core.utils.ServletUtils;
import com.se.common.core.utils.StringUtils;
import com.se.common.core.utils.ip.IpUtils;
import com.se.common.core.web.controller.BaseController;
import com.se.common.core.web.domain.AjaxResult;
import com.se.common.core.web.page.TableDataInfo;
import com.se.common.log.annotation.Log;
import com.se.common.log.enums.BusinessType;
import com.se.common.security.utils.SecurityUtils;
import com.se.system.api.domain.SysLogininfor;
import com.se.system.api.domain.SysOperLog;
import com.se.system.api.model.LoginUser;
import com.se.system.service.IndexService;
import com.se.system.service.inte.ISysLogininforService;
import com.se.system.service.inte.ISysOperLogService;
import org.springframework.http.HttpMethod;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@@ -20,6 +20,7 @@
import javax.annotation.Resource;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@RestController
@@ -27,29 +28,18 @@
@SuppressWarnings("ALL")
public class IndexController extends BaseController {
    @Resource
    IndexService indexService;
    @Resource
    ISysOperLogService operLogService;
    @GetMapping("/monitor")
    public Map<String, Object> monitor() {
        Map<String, Object> map = new HashMap<>();
    @Resource
    ISysLogininforService logininforService;
        return map;
    }
    @GetMapping("/userList")
    public Map<String, Object> userList() {
        Map<String, Object> map = new HashMap<>();
        return map;
    }
    @GetMapping("/uvCount")
    public Map<String, Object> uvCount() {
        Map<String, Object> map = new HashMap<>();
        return map;
    }
    // ①PV统计:PV(Page View):页面浏览量或点击量,即网站所有页面被访问的总次数。
    // 每打开或刷新一个页面,PV就会增加一次,多次打开或刷新同一页面则浏览量累计。
    // PV反映了网站用户访问的网页数量,是衡量网站流量的重要指标之一
    @Log(title = "PV统计", businessType = BusinessType.OTHER)
    @GetMapping("/pvCount")
    public Map<String, Object> pvCount() {
        Map<String, Object> map = new HashMap<>();
@@ -57,7 +47,70 @@
        return map;
    }
    //@Log(title = "角色管理", businessType = BusinessType.INSERT)
    // ②访问数量:UV(Unique Visitor):独立访客数,指访问网站的独立用户数。一天内同一访客多次访问只计算一次。
    // 可以理解成访问某网站的电脑的数量。网站判断来访电脑的身份是通过来访电脑的cookies实现的。
    // 如果更换了IP后但不清除cookies,再访问相同网站,该网站的统计中UV数是不变的。
    @Log(title = "UV统计", businessType = BusinessType.OTHER)
    @GetMapping("/uvCount")
    public Map<String, Object> uvCount() {
        Map<String, Object> map = new HashMap<>();
        return map;
    }
    // ③新增用户统计:一段时间内新注册的用户数量。目前定为一周内的新增用户数量。
    @Log(title = "新增用户统计", businessType = BusinessType.OTHER)
    @GetMapping("/newUserCount")
    public Map<String, Object> newUserCount(Integer day) {
        if (null == day || day < 1) day = 7;
        if (day > 365) day = 365;
        Map<String, Object> map = new HashMap<>();
        map.put("newUserCount", indexService.newUserCount(day));
        return map;
    }
    // ④用户登录信息:以一定形式展示新登录或退出登录的用户账户及时间。
    @Log(title = "用户登录信息", businessType = BusinessType.OTHER)
    @GetMapping("/lastLogin")
    public TableDataInfo lastLogin(SysLogininfor logininfor) {
        startPage();
        List<SysLogininfor> list = logininforService.selectLogininforList(logininfor);
        return getDataTable(list);
    }
    // ⑤用户统计排行(活跃用户):以一定时间段内的登录时间或登录次数排名,展示前五名的用户信息
    @Log(title = "用户统计排行", businessType = BusinessType.OTHER)
    @GetMapping("/userCountList")
    public Map<String, Object> userCountList() {
        Map<String, Object> map = new HashMap<>();
        return map;
    }
    // ⑥常用系统展示/各系统访问信息:基于用户访问次数排名,展示前五个系统的排名
    // 并展示各个系统一天内、三天内、一周内的访问次数。【可考虑按其他指标进行排名展示】
    @Log(title = "用户统计排行", businessType = BusinessType.OTHER)
    @GetMapping("/sysVisitList")
    public Map<String, Object> sysVisitList() {
        Map<String, Object> map = new HashMap<>();
        return map;
    }
    @Log(title = "运维监控", businessType = BusinessType.OTHER)
    @GetMapping("/monitor")
    public Map<String, Object> monitor() {
        Map<String, Object> map = new HashMap<>();
        map.put("cpu", "50%");
        map.put("mem", "65%");
        map.put("ratio", "40%");
        return map;
    }
    @GetMapping("/addAccessLog")
    public AjaxResult addAccessLog(String title, int status) {
        long start = System.currentTimeMillis();
@@ -91,5 +144,3 @@
        return toAjax(rows);
    }
}