package com.hxzk.controller; import com.github.pagehelper.PageInfo; import com.hxzk.pojo.TbKaoqing; import com.hxzk.pojo.TbLoginLog; import com.hxzk.pojo.TbUser; import com.hxzk.service.KaoQinService; import com.hxzk.service.LoginLogService; import com.hxzk.service.UserService; import com.hxzk.util.result; import com.hxzk.util.resultutil; import com.sun.org.apache.bcel.internal.generic.IF_ACMPEQ; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.core.userdetails.User; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.servlet.http.HttpServletRequest; import java.text.SimpleDateFormat; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.Date; import java.util.List; @RestController @RequestMapping("/") public class LoginLogController { @Autowired LoginLogService loginLogService; @Autowired UserService userService; @Autowired private HttpServletRequest request; // 自动注入 HttpServletRequest public TbUser getUser() { // 从 request 中获取用户信息 String userId = (String) request.getAttribute("userId"); String userRole = (String) request.getAttribute("userRole"); TbUser user = new TbUser(); user.setUsername(userId); user.setJuese(userRole); // 使用 userId 和 userRole 进行业务逻辑处理 System.out.println("当前用户ID: " + userId); System.out.println("当前用户角色: " + userRole); return user; } @GetMapping("findTbLoginLog") result> findTbLoginLog(Integer page, Integer limit){ PageInfo cz= loginLogService.findAll(page, limit); return resultutil.returnSuccess(cz.getTotal(), cz.getList()); } @GetMapping("findLogSearch") result> findTbLoginLog(Integer page, Integer limit,TbLoginLog loginLog){ PageInfo cz= loginLogService.findAllSearch(page, limit,loginLog); return resultutil.returnSuccess(cz.getTotal(), cz.getList()); } @GetMapping("addLoginLog") public void addLoginLog(TbLoginLog loginLog, HttpServletRequest request){ String ipAddress = request.getHeader("X-Forwarded-For"); if (ipAddress == null) { ipAddress = request.getHeader("Proxy-Client-IP"); } if (ipAddress == null) { ipAddress = request.getHeader("WL-Proxy-Client-IP"); } if (ipAddress == null) { ipAddress = request.getHeader("HTTP_CLIENT_IP"); } if (ipAddress == null) { ipAddress = request.getHeader("HTTP_X_FORWARDED_FOR"); } if (ipAddress == null) { ipAddress = request.getRemoteAddr(); } loginLog.setIp(ipAddress); LocalDateTime currentTime = LocalDateTime.now(); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); String formattedTime = currentTime.format(formatter); loginLog.setAddtime(formattedTime); loginLogService.addLoginLog(loginLog); } @GetMapping("deleteLog") public Integer deleteLog(Integer id){ return loginLogService.deleteLog(id); } @GetMapping("LogUserFindRole") public Integer LogUserFindRole(){ TbUser user = getUser(); TbUser user1 = userService.findUserAndPhone(user); if (user1.getJuese().equals("超级管理员")){ return 1; }else{ return 0; } } //查询今日数据 @GetMapping("findJinRiLog") public Integer findJinRiLog(){ return loginLogService.findJinRiLog(); } public String gettime(){ Date now = new Date(); // 创建日期格式化对象,设置格式为 "yyyy-MM-dd HH:mm" SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm"); // 格式化日期对象,输出字符串结果 String formattedDate = sdf.format(now); return formattedDate; } }