认清现实,放弃幻想,准备斗争
AdminUserLoginRecordController
- @Api(tags = "会员登录日志接口")
- @RestController
- @RequestMapping("/admin/core/userLoginRecord")
- @Slf4j
- @CrossOrigin
- public class AdminUserLoginRecordController {
-
- @Resource
- private UserLoginRecordService userLoginRecordService;
-
- @ApiOperation("获取会员登录日志列表")
- @GetMapping("/listTop50/{userId}")
- public R listTop50(
- @ApiParam(value = "用户id", required = true)
- @PathVariable Long userId) {
- List
userLoginRecordList = userLoginRecordService.listTop50(userId); - return R.ok().data("list", userLoginRecordList);
- }
- }
接口:UserLoginRecordService
List listTop50(Long userId);
实现:UserLoginRecordServiceImpl
- @Override
- public List
listTop50(Long userId) { - QueryWrapper
userLoginRecordQueryWrapper = new QueryWrapper<>(); - userLoginRecordQueryWrapper
- .eq("user_id", userId)
- .orderByDesc("id")
- .last("limit 50");
- List
userLoginRecords = baseMapper.selectList(userLoginRecordQueryWrapper); - return userLoginRecords;
- }
这里进行了按照登录时间进行了排序,并截取前50登录的数据
src/api/core/user-info.js
- getuserLoginRecordTop50(userId) {
- return request({
- url: `/admin/core/userLoginRecord/listTop50/${userId}`,
- method: 'get'
- })
- }
- // 根据id查询会员日志记录
- showLoginRecord(id) {
- //打开对话框
- this.dialogTableVisible = true
- //加载数据列表
- userInfoApi.getuserLoginRecordTop50(id).then(response => {
- this.loginRecordList = response.data.list
- })
- }
src/views/core/user-info/list.vue
在操作列添加按钮:
- <el-button
- type="primary"
- size="mini"
- @click="showLoginRecord(scope.row.id)"
- >
- 登录日志
- el-button>
在模板最后添加对话框
- <el-dialog title="用户登录日志" :visible.sync="dialogTableVisible">
- <el-table :data="loginRecordList" border stripe>
- <el-table-column type="index" />
- <el-table-column prop="ip" label="IP" />
- <el-table-column prop="createTime" label="登录时间" />
- el-table>
- el-dialog>