package com.ruoyi.system.controller; import java.util.List; import javax.servlet.http.HttpServletResponse; import com.ruoyi.system.service.ISysLogininforService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import com.ruoyi.common.core.constant.CacheConstants; import com.ruoyi.common.core.utils.poi.ExcelUtil; import com.ruoyi.common.core.web.controller.BaseController; import com.ruoyi.common.core.web.domain.AjaxResult; import com.ruoyi.common.core.web.page.TableDataInfo; import com.ruoyi.common.log.annotation.Log; import com.ruoyi.common.log.enums.BusinessType; import com.ruoyi.common.redis.service.RedisService; import com.ruoyi.common.security.annotation.InnerAuth; import com.ruoyi.common.security.annotation.RequiresPermissions; import com.ruoyi.system.api.domain.SysLogininfor; /** * 系统访问记录 * * @author ruoyi */ @RestController @RequestMapping("/logininfor") public class SysLogininforController extends BaseController { @Autowired private ISysLogininforService logininforService; @Autowired private RedisService redisService; @RequiresPermissions("system:logininfor:list") @GetMapping("/list") public TableDataInfo list(SysLogininfor logininfor) { startPage(); List list = logininforService.selectLogininforList(logininfor); return getDataTable(list); } @Log(title = "登录日志", businessType = BusinessType.EXPORT) @RequiresPermissions("system:logininfor:export") @PostMapping("/export") public void export(HttpServletResponse response, SysLogininfor logininfor) { List list = logininforService.selectLogininforList(logininfor); ExcelUtil util = new ExcelUtil(SysLogininfor.class); util.exportExcel(response, list, "登录日志"); } @RequiresPermissions("system:logininfor:remove") @Log(title = "登录日志", businessType = BusinessType.DELETE) @DeleteMapping("/{infoIds}") public AjaxResult remove(@PathVariable Long[] infoIds) { return toAjax(logininforService.deleteLogininforByIds(infoIds)); } @RequiresPermissions("system:logininfor:remove") @Log(title = "登录日志", businessType = BusinessType.DELETE) @DeleteMapping("/clean") public AjaxResult clean() { logininforService.cleanLogininfor(); return success(); } @RequiresPermissions("system:logininfor:unlock") @Log(title = "账户解锁", businessType = BusinessType.OTHER) @GetMapping("/unlock/{userName}") public AjaxResult unlock(@PathVariable("userName") String userName) { redisService.deleteObject(CacheConstants.PWD_ERR_CNT_KEY + userName); return success(); } @InnerAuth @PostMapping public AjaxResult add(@RequestBody SysLogininfor logininfor) { return toAjax(logininforService.insertLogininfor(logininfor)); } }