广州市综治平台后端
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
package cn.huge.module.cases.controller.web;
 
import cn.huge.base.common.bo.R;
import cn.huge.module.cases.domain.dto.CaseModifyRecordGroupDTO;
import cn.huge.module.cases.domain.po.CaseModifyRecord;
import cn.huge.module.cases.service.ICaseModifyRecordService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 
import java.util.Date;
import java.util.List;
 
/**
 * 修改记录表 前端控制器
 *
 * @author trae
 * @since 2024-02-14
 */
@Api(tags = "案件修改记录查询接口")
@RestController
@RequestMapping("/api/web/cases/modify-record")
public class CaseModifyRecordController {
 
    @Autowired
    private ICaseModifyRecordService caseModifyRecordService;
 
    @ApiOperation(value = "分页查询修改记录", notes = "根据条件分页查询修改记录")
    @PostMapping("/page")
    public R<Page<CaseModifyRecord>> pageQuery(
            @ApiParam(value = "页码", defaultValue = "0") @RequestParam(value = "page", defaultValue = "0") Integer page,
            @ApiParam(value = "每页大小", defaultValue = "10") @RequestParam(value = "size", defaultValue = "10") Integer size,
            @ApiParam(value = "查询条件") @RequestBody(required = false) CaseModifyRecord record) {
        Page<CaseModifyRecord> pageRequest = new Page<>(page, size);
        return R.ok(caseModifyRecordService.pageQuery(pageRequest, record));
    }
 
    @ApiOperation(value = "查询修改记录列表", notes = "根据条件查询修改记录列表")
    @PostMapping("/list")
    public R<List<CaseModifyRecord>> list(
            @ApiParam(value = "查询条件") @RequestBody(required = false) CaseModifyRecord record) {
        return R.ok(caseModifyRecordService.listCaseModifyRecords(record));
    }
 
    @ApiOperation(value = "保存修改记录", notes = "保存修改记录信息")
    @PostMapping("/save")
    public R<Void> save(
            @ApiParam(value = "修改记录信息", required = true) @RequestBody CaseModifyRecord caseModifyRecord) {
        caseModifyRecordService.saveCaseModifyRecord(caseModifyRecord);
        return R.ok();
    }
 
    @ApiOperation(value = "更新修改记录", notes = "更新修改记录信息")
    @PostMapping("/update")
    public R<Void> update(
            @ApiParam(value = "修改记录信息", required = true) @RequestBody CaseModifyRecord caseModifyRecord) {
        caseModifyRecordService.updateCaseModifyRecord(caseModifyRecord);
        return R.ok();
    }
 
    @ApiOperation(value = "删除修改记录", notes = "根据ID删除修改记录")
    @DeleteMapping("/{id}")
    public R<Void> delete(
            @ApiParam(value = "记录ID", required = true) @PathVariable("id") String id) {
        caseModifyRecordService.deleteCaseModifyRecord(id);
        return R.ok();
    }
    
    /**
     * 按修改时间和修改人聚合查询修改记录
     *
     * @param caseId 案件ID
     * @return 聚合后的记录列表
     */
    @ApiOperation(value = "按修改时间和修改人聚合查询", notes = "按修改时间和修改人聚合查询修改记录,返回每组的记录数量")
    @GetMapping("/group-by-time-user")
    public R<List<CaseModifyRecordGroupDTO>> listGroupByTimeAndUser(
            @ApiParam(value = "案件ID") @RequestParam(value = "caseId", required = false) String caseId) {
        return R.ok(caseModifyRecordService.listGroupByTimeAndUser(caseId));
    }
    
    /**
     * 查询同一时间同一人的修改记录明细
     *
     * @param caseId 案件ID
     * @param modifyTime 修改时间
     * @param modifyUser 修改人
     * @return 修改记录明细列表
     */
    @ApiOperation(value = "查询修改记录明细", notes = "查询同一时间同一人的修改记录明细")
    @GetMapping("/detail")
    public R<List<CaseModifyRecord>> listDetailByTimeAndUser(
            @ApiParam(value = "案件ID") @RequestParam(value = "caseId", required = false) String caseId,
            @ApiParam(value = "修改时间", required = true) @RequestParam("modifyTime") String modifyTime,
            @ApiParam(value = "修改人", required = true) @RequestParam("modifyUser") String modifyUser) {
        return R.ok(caseModifyRecordService.listDetailByTimeAndUser(caseId, modifyTime, modifyUser));
    }
}