【任务15】日志系统:提供简单的日志搜索功能

本问题对应的项目链接:从0设计一个web项目

要求:提供一个日志搜索的接口,接口名字为 getRecordLog,至于支持哪些参数,你自己处理,通过调用这个接口,可以返回对应的数据。
PS:参数属于「可选」参数,比如如果我不指定参数,你也要能够返回数据,比如我不指定日期范围,那你可以发最新的日志。
可选参数至少支持:日期范围 + 指定某个用户。

注意点:最好也要分页,不然数据太多,返回来压力大。

文档:由于接口功能多样化,你需要给出一下你这个接口的使用文档。

共以下 1 个回答

  • 秊 永久会员 2022年10月19日 下午9:49

    1.接口使用文档:–>点击
    2. 部分实现代码:

       // controller/UserController
        @PostMapping("/GetRecordLog")
        @ResponseBody
        public PageInfo getRecordLog(
                                                String userAc,
                                                String status,
                                                Integer pageNum,
                                                @RequestParam(required = false, defaultValue = "5") Integer pageSize,
                                                @RequestParam(required = false, defaultValue = "1665926809889") Long opTimeStart,
                                                @RequestParam(required = false, defaultValue = "1") Long opTimeEnd
        ) {
            opTimeEnd = opTimeEnd - 1 > 0  ? opTimeEnd : System.currentTimeMillis();
            PageInfo recordLog = userService.getRecordLog(pageNum, pageSize, userAc, status, opTimeStart, opTimeEnd);
            return recordLog;
        }
    
    // service/UserService
      /**
     *  获取指定用户的操作记录
     * @param pageNum 要查询的页码
     * @param pageSize 每页多少条
     * @param userAc 用户账号
     * @param status 用户操作状态
     * @param opTimeStart 查询的开始时间
     * @param opTimeEnd 查询的结束时间
     */
    public PageInfo getRecordLog(Integer pageNum, Integer pageSize, String userAc, String status, Long opTimeStart, Long opTimeEnd) {
        PageHelper.startPage(pageNum, pageSize, true);
        RecordLogExample recordLogExample = new RecordLogExample();
        RecordLogExample.Criteria criteria = recordLogExample.createCriteria();
        criteria.andOpTimeBetween(opTimeStart, opTimeEnd);
        criteria.andOpAcEqualTo(userAc);
        criteria.andStatusEqualTo(status);
        List recordLogs = recordLogMapper.selectByExample(recordLogExample);
        PageInfo pageInfo = new PageInfo(recordLogs);
        return pageInfo;
    }
    

    我在登录的首页添加了查询的可视化界面(很简陋),大家可以试试

    服务器链接:http://124.223.184.187:8088/FromZerotoExpert
    Github仓库链接:https://github.com/jiangyklala/FromZerotoExpert/tree/dev

    0 赞同 0 条回复

# 回答此问题

后才能回答