package com.zhitan.web.controller.monitor;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.zhitan.common.annotation.Log;
|
import com.zhitan.common.core.controller.BaseController;
|
import com.zhitan.common.core.domain.AjaxResult;
|
import com.zhitan.common.core.page.TableDataInfo;
|
import com.zhitan.common.enums.BusinessType;
|
import com.zhitan.common.utils.poi.ExcelUtil;
|
import com.zhitan.framework.web.service.SysPasswordService;
|
import com.zhitan.system.domain.SysLoginInfo;
|
import com.zhitan.system.service.ISysLoginInfoService;
|
import org.springframework.security.access.prepost.PreAuthorize;
|
import org.springframework.web.bind.annotation.*;
|
|
import javax.annotation.Resource;
|
import javax.servlet.http.HttpServletResponse;
|
import java.util.List;
|
|
/**
|
* 系统访问记录
|
*
|
* @author zhitan
|
*/
|
@RestController
|
@RequestMapping("/monitor/logininfor")
|
public class SysLogininforController extends BaseController
|
{
|
@Resource
|
private ISysLoginInfoService logininforService;
|
|
@Resource
|
private SysPasswordService passwordService;
|
|
@PreAuthorize("@ss.hasPermi('monitor:logininfor:list')")
|
@GetMapping("/list")
|
public TableDataInfo list(SysLoginInfo logininfor,Long pageNum, Long pageSize)
|
{
|
Page<SysLoginInfo> list = logininforService.selectLogininforPage(logininfor,pageNum,pageSize);
|
return getDataTable(list);
|
}
|
|
@Log(title = "登录日志", businessType = BusinessType.EXPORT)
|
@PreAuthorize("@ss.hasPermi('monitor:logininfor:export')")
|
@PostMapping("/export")
|
public void export(HttpServletResponse response, SysLoginInfo logininfor)
|
{
|
List<SysLoginInfo> list = logininforService.selectLogininforList(logininfor);
|
ExcelUtil<SysLoginInfo> util = new ExcelUtil<SysLoginInfo>(SysLoginInfo.class);
|
util.exportExcel(response, list, "登录日志");
|
}
|
|
@PreAuthorize("@ss.hasPermi('monitor:logininfor:remove')")
|
@Log(title = "登录日志", businessType = BusinessType.DELETE)
|
@DeleteMapping("/{infoIds}")
|
public AjaxResult remove(@PathVariable Long[] infoIds)
|
{
|
return toAjax(logininforService.deleteLoginInfoByIds(infoIds));
|
}
|
|
@PreAuthorize("@ss.hasPermi('monitor:logininfor:remove')")
|
@Log(title = "登录日志", businessType = BusinessType.CLEAN)
|
@DeleteMapping("/clean")
|
public AjaxResult clean()
|
{
|
logininforService.cleanLoginInfo();
|
return success();
|
}
|
|
@PreAuthorize("@ss.hasPermi('monitor:logininfor:unlock')")
|
@Log(title = "账户解锁", businessType = BusinessType.OTHER)
|
@GetMapping("/unlock/{userName}")
|
public AjaxResult unlock(@PathVariable("userName") String userName)
|
{
|
passwordService.clearLoginRecordCache(userName);
|
return success();
|
}
|
}
|