123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- package cn.minbb.job.controller.web;
- import cn.minbb.job.data.Const;
- import cn.minbb.job.model.Job;
- import cn.minbb.job.model.User;
- import cn.minbb.job.model.WebLog;
- import cn.minbb.job.service.JobService;
- import cn.minbb.job.service.WebLogService;
- import cn.minbb.job.system.UserSession;
- import cn.minbb.job.util.DateUtil;
- import com.alibaba.fastjson.JSON;
- import lombok.extern.log4j.Log4j2;
- import org.springframework.format.annotation.DateTimeFormat;
- import org.springframework.stereotype.Controller;
- 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.servlet.ModelAndView;
- import java.util.Date;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- @Controller
- @Log4j2
- @RequestMapping("/admin")
- public class AdminController {
- private final JobService jobService;
- private final WebLogService webLogService;
- public AdminController(JobService jobService, WebLogService webLogService) {
- this.jobService = jobService;
- this.webLogService = webLogService;
- }
- /**
- * 博客概况
- */
- @GetMapping(value = {"", "/overview"})
- public ModelAndView overviewPage(ModelAndView modelAndView) {
- User user = UserSession.getUserAuthentication();
- log.error(JSON.toJSONString(user));
- Date now = new Date();
- Map<String, Object> data = new HashMap<>();
- data.put("countA", 25);
- data.put("countB", 12);
- data.put("countC", 8);
- data.put("countD", webLogService.countByDateBetween(DateUtil.getDateOnlyByDateTime(now), now));
- List<Job> jobList = jobService.findTop8();
- modelAndView.addObject("jobList", jobList);
- modelAndView.addObject(Const.Key.KEY_DATA, data);
- modelAndView.addObject(Const.Key.KEY_ACTIVE, Const.ViewName.VIEW_ADMIN_OVERVIEW);
- modelAndView.setViewName(Const.ViewName.VIEW_ADMIN_OVERVIEW);
- return modelAndView;
- }
- /**
- * 页面访问日志
- */
- @GetMapping(value = "/web/log")
- public ModelAndView webLogPage(
- @RequestParam(value = "startTime", required = false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date startTime,
- @RequestParam(value = "endTime", required = false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date endTime,
- @RequestParam(value = "method", required = false) String method,
- @RequestParam(value = "uri", required = false) String uri,
- @RequestParam(value = "ip", required = false) String ip,
- @RequestParam(value = "location", required = false) String location,
- @RequestParam(value = "remark", required = false) String remark,
- @RequestParam(value = "page", defaultValue = "1", required = false) Integer page,
- @RequestParam(value = "size", defaultValue = "12", required = false) Integer size,
- ModelAndView modelAndView
- ) {
- if (null == endTime) endTime = new Date();
- if (null == startTime) startTime = DateUtil.addOrMinusDays(endTime, -1);
- List<WebLog> webLogList = webLogService.findAllByParamsIn(startTime, endTime, uri, method, null, null, ip, location, remark);
- modelAndView.addObject(Const.Key.KEY_DATASET, webLogList);
- modelAndView.addObject(Const.Key.KEY_DATA, method);
- modelAndView.addObject(Const.Key.KEY_ACTIVE, Const.ViewName.VIEW_ADMIN_WEB_LOG);
- modelAndView.setViewName(Const.ViewName.VIEW_ADMIN_WEB_LOG);
- return modelAndView;
- }
- }
|