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> 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 pageRequest = new Page<>(page, size); return R.ok(caseModifyRecordService.pageQuery(pageRequest, record)); } @ApiOperation(value = "查询修改记录列表", notes = "根据条件查询修改记录列表") @PostMapping("/list") public R> list( @ApiParam(value = "查询条件") @RequestBody(required = false) CaseModifyRecord record) { return R.ok(caseModifyRecordService.listCaseModifyRecords(record)); } @ApiOperation(value = "保存修改记录", notes = "保存修改记录信息") @PostMapping("/save") public R save( @ApiParam(value = "修改记录信息", required = true) @RequestBody CaseModifyRecord caseModifyRecord) { caseModifyRecordService.saveCaseModifyRecord(caseModifyRecord); return R.ok(); } @ApiOperation(value = "更新修改记录", notes = "更新修改记录信息") @PostMapping("/update") public R update( @ApiParam(value = "修改记录信息", required = true) @RequestBody CaseModifyRecord caseModifyRecord) { caseModifyRecordService.updateCaseModifyRecord(caseModifyRecord); return R.ok(); } @ApiOperation(value = "删除修改记录", notes = "根据ID删除修改记录") @DeleteMapping("/{id}") public R 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> 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> 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)); } }