智慧保安后台管理-外网项目备份
钟日健
2026-06-01 62eb499b0c969f246d3245d1429a97da4de1ce28
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
package org.springblade.modules.loginrecord.controller;
 
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.AllArgsConstructor;
import org.springblade.core.excel.util.ExcelUtil;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.Func;
import org.springblade.modules.loginrecord.entity.LoginRecord;
import org.springblade.modules.loginrecord.excel.LoginRecordExcel;
import org.springblade.modules.loginrecord.service.LoginRecordService;
import org.springblade.modules.loginrecord.vo.LoginRecordVo;
import org.springframework.web.bind.annotation.*;
 
import javax.servlet.http.HttpServletResponse;
import java.util.List;
 
/**
 * @author zhongrj
 * @time 2022-01-07
 * @desc 登录记录控制层
 */
@RestController
@AllArgsConstructor
@RequestMapping("/loginRecord")
public class LoginRecordController {
 
    private final LoginRecordService loginRecordService;
 
 
    /**
     * 自定义分页
     * @param query page,size
     * @param loginRecord 登录记录信息对象
     */
    @GetMapping("/page")
    public R<IPage<LoginRecordVo>> page(LoginRecordVo loginRecord, Query query) {
        IPage<LoginRecordVo> pages = loginRecordService.selectSecurityPaperPage(Condition.getPage(query), loginRecord);
        return R.data(pages);
    }
 
    /**
     * 自定义分页(企业登录分页记录)
     * @param query page,size
     * @param loginRecord 登录记录信息对象
     */
    @GetMapping("/getInformationLoginPage")
    public R<IPage<LoginRecordVo>> getInformationLoginPage(LoginRecordVo loginRecord, Query query) {
        IPage<LoginRecordVo> pages = loginRecordService.getInformationLoginPage(Condition.getPage(query), loginRecord);
        return R.data(pages);
    }
 
    /**
     * 新增
     * @param loginRecord 登录记录信息对象
     */
    @PostMapping("/save")
    @ApiOperation(value = "新增", notes = "传入loginRecord")
    public R save(@RequestBody LoginRecord loginRecord){
        return R.data(loginRecordService.save(loginRecord));
    }
 
 
    /**
     * 修改
     * @param loginRecord 登录记录信息对象
     */
    @PostMapping("/update")
    public R update(@RequestBody LoginRecord loginRecord){
        return R.status(loginRecordService.updateById(loginRecord));
    }
 
    /**
     * 新增或修改
     * @param loginRecord 登录记录信息对象
     */
    @PostMapping("/submit")
    public R submit(@RequestBody LoginRecord loginRecord){
        if (null==loginRecord.getId()){
            loginRecordService.save(loginRecord);
        }else {
            loginRecordService.updateById(loginRecord);
        }
        return R.data(loginRecord);
    }
 
    /**
     * 删除
     * @param ids 登录记录信息ids 数组
     */
    @PostMapping("/remove")
    public R remove(@ApiParam(value = "主键集合") @RequestParam String ids) {
        return R.status(loginRecordService.removeByIds(Func.toLongList(ids)));
    }
 
    /**
     * 详情
     * @param loginRecord 登录记录信息对象
     */
    @GetMapping("/detail")
    @ApiOperation(value = "详情", notes = "传入loginRecord")
    public R<LoginRecord> detail(LoginRecord loginRecord) {
        LoginRecord detail = loginRecordService.getOne(Condition.getQueryWrapper(loginRecord));
        return R.data(detail);
    }
 
    /**
     * 登录情况统计
     * @param loginRecord 登录记录信息对象
     */
    @GetMapping("/getLoginDataStatistics")
    public R getLoginDataStatistics(LoginRecordVo loginRecord) {
        return R.data(loginRecordService.getLoginDataStatistics(loginRecord));
    }
 
 
    /**
     * 企业登录记录导出
     * @param response
     * @param loginRecord
     */
    @GetMapping("/export-login-record")
    public void exportLoginRecord(HttpServletResponse response, LoginRecordVo loginRecord){
        List<LoginRecordExcel> list = loginRecordService.exportLoginRecord(loginRecord);
        ExcelUtil.export(response, "企业登录记录数据" + DateUtil.time(), "企业登录记录数据表", list, LoginRecordExcel.class);
    }
}