diff --git a/src/main/java/com/supervision/common/domain/R.java b/src/main/java/com/supervision/common/domain/R.java index 832b4de..992df99 100644 --- a/src/main/java/com/supervision/common/domain/R.java +++ b/src/main/java/com/supervision/common/domain/R.java @@ -61,10 +61,6 @@ public class R implements Serializable { return restResult(data, FAIL, null); } - public static R fail(T data, String msg) { - return restResult(data, FAIL, msg); - } - public static R fail(int code, String msg) { return restResult(null, code, msg); } diff --git a/src/main/java/com/supervision/common/enums/ResultStatusEnum.java b/src/main/java/com/supervision/common/enums/ResultStatusEnum.java index 33a979e..2fe0160 100644 --- a/src/main/java/com/supervision/common/enums/ResultStatusEnum.java +++ b/src/main/java/com/supervision/common/enums/ResultStatusEnum.java @@ -33,6 +33,8 @@ public enum ResultStatusEnum { PARAMETER_CANNOT_BE_EMPTY(504, "参数不能为空,操作失败!"), NO_TEMP_UPLOADFILEPATH(505,"未配置文件上传临时存储路径"), USER_DOES_NOT_EXIST(507, "用户不存在,操作失败!"), + + ILLEGAL_ARGUMENT(508, "参数校验失败!"), IMPORT_COMPANY_FORMAT_ERROR(521,"Excel表格格式错误!"), IMPORT_COMPANY_FAIL(522,"部分数据导入失败"), INSERT_FAIL(600,"新增失败"), diff --git a/src/main/java/com/supervision/config/MyMetaObjectHandler.java b/src/main/java/com/supervision/config/MyMetaObjectHandler.java index dcc04e7..ad84206 100644 --- a/src/main/java/com/supervision/config/MyMetaObjectHandler.java +++ b/src/main/java/com/supervision/config/MyMetaObjectHandler.java @@ -3,6 +3,7 @@ package com.supervision.config; import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler; import org.apache.ibatis.reflection.MetaObject; +import java.time.LocalDateTime; import java.util.Date; /** @@ -14,13 +15,13 @@ public class MyMetaObjectHandler implements MetaObjectHandler { @Override public void insertFill(MetaObject metaObject) { - this.setFieldValByName("createTime", new Date(), metaObject); - this.setFieldValByName("updateTime", new Date(), metaObject); + this.setFieldValByName("createTime", LocalDateTime.now(), metaObject); + this.setFieldValByName("updateTime", LocalDateTime.now(), metaObject); } @Override public void updateFill(MetaObject metaObject) { - this.setFieldValByName("updateTime", new Date(), metaObject); + this.setFieldValByName("updateTime", LocalDateTime.now(), metaObject); } } \ No newline at end of file diff --git a/src/main/java/com/supervision/config/ResponseConfig.java b/src/main/java/com/supervision/config/ResponseConfig.java new file mode 100644 index 0000000..e26a0b0 --- /dev/null +++ b/src/main/java/com/supervision/config/ResponseConfig.java @@ -0,0 +1,76 @@ +package com.supervision.config; + +import cn.hutool.core.util.StrUtil; +import cn.hutool.json.JSONUtil; +import com.supervision.common.domain.R; +import com.supervision.common.enums.ResultStatusEnum; +import lombok.extern.slf4j.Slf4j; +import org.springframework.core.MethodParameter; +import org.springframework.http.HttpStatus; +import org.springframework.http.MediaType; +import org.springframework.http.converter.HttpMessageConverter; +import org.springframework.http.server.ServerHttpRequest; +import org.springframework.http.server.ServerHttpResponse; +import org.springframework.lang.Nullable; +import org.springframework.validation.BindException; +import org.springframework.web.bind.MethodArgumentNotValidException; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.RestControllerAdvice; +import org.springframework.web.servlet.mvc.method.annotation.ResponseBodyAdvice; + +import java.util.Objects; +import java.util.stream.Collectors; + +/** + * 统一返回 + * + * @author wb + * @date 2022/3/10 13:24 + */ +@Slf4j +@RestControllerAdvice(annotations = RestController.class, basePackages = {"com.supervision.**.controller"}) +public class ResponseConfig implements ResponseBodyAdvice { + + + @Override + public boolean supports(@Nullable MethodParameter methodParameter, + @Nullable Class> aClass) { + assert methodParameter != null; + String lowerCase = methodParameter.getDeclaringClass().getName().toLowerCase(); + log.info(lowerCase); + if (lowerCase.contains("swagger") || lowerCase.contains("springdoc")) { + return false; + } else { + log.info("--------{}---------", lowerCase); + return true; + } + } + + @Override + @SuppressWarnings("all") + public Object beforeBodyWrite(Object o, @Nullable MethodParameter methodParameter, @Nullable MediaType mediaType, + @Nullable Class> aClass, @Nullable ServerHttpRequest serverHttpRequest, + @Nullable ServerHttpResponse serverHttpResponse) { + + return o; + } + + + + /** + * 添加手动校验参数的异常处理 + * @param exception 参数验证异常 + * @return 通用返回值 + */ + @ExceptionHandler(IllegalArgumentException.class) + public R manualValidationExceptionResponse(IllegalArgumentException exception) { + log.error("=========手动校验参数异常=========>>>"); + log.error(exception.getMessage(), exception); + log.error("<<<=========手动校验参数异常========="); + return R.fail(ResultStatusEnum.ILLEGAL_ARGUMENT,exception.getMessage()); + } + + + +} diff --git a/src/main/java/com/supervision/police/controller/CaseEvidenceController.java b/src/main/java/com/supervision/police/controller/CaseEvidenceController.java index 7dcc832..8fc5a88 100644 --- a/src/main/java/com/supervision/police/controller/CaseEvidenceController.java +++ b/src/main/java/com/supervision/police/controller/CaseEvidenceController.java @@ -1,8 +1,9 @@ package com.supervision.police.controller; import com.supervision.common.domain.R; +import com.supervision.police.dto.CaseEvidenceDetailDTO; import com.supervision.police.service.CaseEvidenceService; -import com.supervision.police.vo.CaseEvidenceReqVo; +import com.supervision.police.dto.CaseEvidenceDTO; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; @@ -10,13 +11,15 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; +import java.util.List; + /** * 案件证据控制器 */ @Slf4j @RestController -@Tag(name = "案件证据控") +@Tag(name = "案件证据") @RequiredArgsConstructor @RequestMapping("/caseEvidence") public class CaseEvidenceController { @@ -25,15 +28,15 @@ public class CaseEvidenceController { @Operation(summary = "保存案件证据信息") @PostMapping("/saveEvidence") - public R saveEvidence(@RequestBody CaseEvidenceReqVo reqVO) { - String evidenceId = caseEvidenceService.saveEvidence(reqVO); + public R saveEvidence(@RequestBody CaseEvidenceDTO caseEvidenceDTO) { + String evidenceId = caseEvidenceService.saveEvidence(caseEvidenceDTO); return R.ok(evidenceId); } @Operation(summary = "更新案件证据信息") @PostMapping("/updateEvidence") - public R updateEvidence(@RequestBody CaseEvidenceReqVo reqVO) { - String evidenceId = caseEvidenceService.updateEvidence(reqVO); + public R updateEvidence(@RequestBody CaseEvidenceDTO caseEvidenceDTO) { + String evidenceId = caseEvidenceService.updateEvidence(caseEvidenceDTO); return R.ok(evidenceId); } @@ -44,9 +47,16 @@ public class CaseEvidenceController { return R.ok(success); } + + @GetMapping("/queryEvidenceDetail") + public R queryEvidenceDetail(@RequestParam @Parameter(name = "evidenceId",description = "证据id") String evidenceId) { + CaseEvidenceDetailDTO caseEvidenceDetailDTO = caseEvidenceService.queryEvidenceDetail(evidenceId); + return R.ok(caseEvidenceDetailDTO); + } @Operation(summary = "查询案件证据信息列表") @GetMapping("/list") - public void queryEvidenceList(@RequestParam @Parameter(name = "caseId",description = "案件id") String caseId) { - caseEvidenceService.queryEvidenceList(caseId); + public R> queryEvidenceList(@RequestParam @Parameter(name = "caseId",description = "案件id") String caseId) { + List caseEvidenceDetailDTOS = caseEvidenceService.queryEvidenceList(caseId); + return R.ok(caseEvidenceDetailDTOS); } } diff --git a/src/main/java/com/supervision/police/daoService/CaseEvidenceDaoService.java b/src/main/java/com/supervision/police/daoService/CaseEvidenceDaoService.java index 257a669..6f140b6 100644 --- a/src/main/java/com/supervision/police/daoService/CaseEvidenceDaoService.java +++ b/src/main/java/com/supervision/police/daoService/CaseEvidenceDaoService.java @@ -2,6 +2,9 @@ package com.supervision.police.daoService; import com.supervision.police.domain.CaseEvidence; import com.baomidou.mybatisplus.extension.service.IService; +import com.supervision.police.dto.CaseEvidenceDetailDTO; + +import java.util.List; /** * @author Administrator @@ -10,4 +13,7 @@ import com.baomidou.mybatisplus.extension.service.IService; */ public interface CaseEvidenceDaoService extends IService { + List queryEvidenceList(String caseId); + + CaseEvidenceDetailDTO queryEvidenceDetail(String evidenceId); } diff --git a/src/main/java/com/supervision/police/daoService/impl/CaseEvidenceServiceDaoImpl.java b/src/main/java/com/supervision/police/daoService/impl/CaseEvidenceServiceDaoImpl.java index 5eb83ff..d1963fc 100644 --- a/src/main/java/com/supervision/police/daoService/impl/CaseEvidenceServiceDaoImpl.java +++ b/src/main/java/com/supervision/police/daoService/impl/CaseEvidenceServiceDaoImpl.java @@ -3,9 +3,12 @@ package com.supervision.police.daoService.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.supervision.police.domain.CaseEvidence; import com.supervision.police.daoService.CaseEvidenceDaoService; +import com.supervision.police.dto.CaseEvidenceDetailDTO; import com.supervision.police.mapper.CaseEvidenceMapper; import org.springframework.stereotype.Service; +import java.util.List; + /** * @author Administrator * @description 针对表【case_evidence(案件证据表)】的数据库操作Service实现 @@ -15,6 +18,15 @@ import org.springframework.stereotype.Service; public class CaseEvidenceServiceDaoImpl extends ServiceImpl implements CaseEvidenceDaoService { + @Override + public List queryEvidenceList(String caseId) { + return super.getBaseMapper().queryEvidenceList(caseId); + } + + @Override + public CaseEvidenceDetailDTO queryEvidenceDetail(String evidenceId) { + return super.getBaseMapper().queryEvidenceDetail(evidenceId); + } } diff --git a/src/main/java/com/supervision/police/domain/CasePerson.java b/src/main/java/com/supervision/police/domain/CasePerson.java index 768d67f..7676f0d 100644 --- a/src/main/java/com/supervision/police/domain/CasePerson.java +++ b/src/main/java/com/supervision/police/domain/CasePerson.java @@ -1,10 +1,13 @@ package com.supervision.police.domain; +import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import java.io.Serializable; +import java.time.LocalDateTime; /** * 案件人物表(CasePerson)表实体类 @@ -39,6 +42,30 @@ public class CasePerson implements Serializable { */ private String roleCode; + /** + * 创建人ID + */ + private String createUserId; + + /** + * 创建时间 + */ + @TableField(fill = FieldFill.INSERT) + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + private LocalDateTime createTime; + + /** + * 更新人 + */ + private String updateUserId; + + /** + * 更新时间 + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + private LocalDateTime updateTime; + /** * 角色名称 */ diff --git a/src/main/java/com/supervision/police/domain/ComDictionary.java b/src/main/java/com/supervision/police/domain/ComDictionary.java index d639642..017ac5d 100644 --- a/src/main/java/com/supervision/police/domain/ComDictionary.java +++ b/src/main/java/com/supervision/police/domain/ComDictionary.java @@ -5,6 +5,7 @@ import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import java.io.Serializable; +import java.time.LocalDateTime; import java.util.Date; import java.util.List; @@ -66,25 +67,35 @@ public class ComDictionary implements Serializable { private String creator; /** - * 更新时间 + * 更新人 */ - @TableField(fill = FieldFill.INSERT_UPDATE) - @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") - private Date updateTime; + private String updater; + + @TableField(exist = false) + private List child; + + /** + * 创建人ID + */ + private String createUserId; /** * 创建时间 */ @TableField(fill = FieldFill.INSERT) @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") - private Date createTime; + private LocalDateTime createTime; /** * 更新人 */ - private String updater; + private String updateUserId; - @TableField(exist = false) - private List child; + /** + * 更新时间 + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + private LocalDateTime updateTime; } diff --git a/src/main/java/com/supervision/police/domain/EvidenceFile.java b/src/main/java/com/supervision/police/domain/EvidenceFile.java index b8c4883..f7f37ea 100644 --- a/src/main/java/com/supervision/police/domain/EvidenceFile.java +++ b/src/main/java/com/supervision/police/domain/EvidenceFile.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; +import java.time.LocalDateTime; import java.util.Date; import com.fasterxml.jackson.annotation.JsonFormat; @@ -43,7 +44,7 @@ public class EvidenceFile implements Serializable { */ @TableField(fill = FieldFill.INSERT) @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") - private Date createTime; + private LocalDateTime createTime; /** * 更新人 @@ -55,7 +56,7 @@ public class EvidenceFile implements Serializable { */ @TableField(fill = FieldFill.INSERT_UPDATE) @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") - private Date updateTime; + private LocalDateTime updateTime; @TableField(exist = false) private static final long serialVersionUID = 1L; diff --git a/src/main/java/com/supervision/police/domain/ModelAtomicIndex.java b/src/main/java/com/supervision/police/domain/ModelAtomicIndex.java index 0b04bcc..b58993b 100644 --- a/src/main/java/com/supervision/police/domain/ModelAtomicIndex.java +++ b/src/main/java/com/supervision/police/domain/ModelAtomicIndex.java @@ -1,5 +1,6 @@ package com.supervision.police.domain; +import java.time.LocalDateTime; import java.util.Date; import com.baomidou.mybatisplus.annotation.FieldFill; @@ -73,33 +74,46 @@ public class ModelAtomicIndex implements Serializable { * 提示词 */ private String prompt; - - /** - * 创建时间 - */ - @TableField(fill = FieldFill.INSERT) - @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") - private Date createTime; - - /** - * 更新时间 - */ - @TableField(fill = FieldFill.INSERT_UPDATE) - @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") - private Date updateTime; + @TableField(exist = false) @JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8") - private Date updateStartTime; + private LocalDateTime updateStartTime; @TableField(exist = false) @JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8") - private Date updateEndTime; + private LocalDateTime updateEndTime; /** * 数据状态 */ private String dataStatus; + + /** + * 创建人ID + */ + private String createUserId; + + + /** + * 创建时间 + */ + @TableField(fill = FieldFill.INSERT) + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + private LocalDateTime createTime; + + /** + * 更新人 + */ + private String updateUserId; + + /** + * 更新时间 + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + private LocalDateTime updateTime; + } diff --git a/src/main/java/com/supervision/police/domain/ModelAtomicResult.java b/src/main/java/com/supervision/police/domain/ModelAtomicResult.java index a452a0c..5c52819 100644 --- a/src/main/java/com/supervision/police/domain/ModelAtomicResult.java +++ b/src/main/java/com/supervision/police/domain/ModelAtomicResult.java @@ -1,5 +1,6 @@ package com.supervision.police.domain; +import java.time.LocalDateTime; import java.util.Date; import com.baomidou.mybatisplus.annotation.FieldFill; @@ -47,13 +48,30 @@ public class ModelAtomicResult implements Serializable { * 笔录id */ private String recordsId; - + + + /** + * 创建人ID + */ + private String createUserId; + /** * 创建时间 */ @TableField(fill = FieldFill.INSERT) @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") - private Date createTime; + private LocalDateTime createTime; + /** + * 更新人 + */ + private String updateUserId; + + /** + * 更新时间 + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + private LocalDateTime updateTime; } diff --git a/src/main/java/com/supervision/police/domain/ModelCase.java b/src/main/java/com/supervision/police/domain/ModelCase.java index b26ca3b..f8dff68 100644 --- a/src/main/java/com/supervision/police/domain/ModelCase.java +++ b/src/main/java/com/supervision/police/domain/ModelCase.java @@ -1,5 +1,6 @@ package com.supervision.police.domain; +import java.time.LocalDateTime; import java.util.Date; import com.baomidou.mybatisplus.annotation.FieldFill; @@ -95,26 +96,15 @@ public class ModelCase implements Serializable { * 排序序号 */ private Integer indexNum; - - /** - * 创建时间 - */ - @TableField(fill = FieldFill.INSERT) - @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") - private Date createTime; - - /** - * 更新时间 - */ - @TableField(fill = FieldFill.INSERT_UPDATE) - @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") - private Date updateTime; + @TableField(exist=false) @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") - private Date updateStartTime; + private LocalDateTime updateStartTime; + + @TableField(exist=false) @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") - private Date updateEndTime; + private LocalDateTime updateEndTime; /** * 数据状态 @@ -126,5 +116,30 @@ public class ModelCase implements Serializable { */ private String caseNo; + + /** + * 创建人ID + */ + private String createUserId; + + /** + * 创建时间 + */ + @TableField(fill = FieldFill.INSERT) + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + private LocalDateTime createTime; + + /** + * 更新人 + */ + private String updateUserId; + + /** + * 更新时间 + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + private LocalDateTime updateTime; + } diff --git a/src/main/java/com/supervision/police/domain/ModelIndex.java b/src/main/java/com/supervision/police/domain/ModelIndex.java index e800ef1..2b54b0e 100644 --- a/src/main/java/com/supervision/police/domain/ModelIndex.java +++ b/src/main/java/com/supervision/police/domain/ModelIndex.java @@ -1,5 +1,6 @@ package com.supervision.police.domain; +import java.time.LocalDateTime; import java.util.Date; import com.baomidou.mybatisplus.annotation.FieldFill; @@ -68,31 +69,46 @@ public class ModelIndex implements Serializable { * 判断逻辑 */ private String judgeLogic; + + + @TableField(exist = false) + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + private LocalDateTime updateStartTime; + + + @TableField(exist = false) + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + private LocalDateTime updateEndTime; + /** + * 数据状态 + */ + private String dataStatus; + + + /** + * 创建人ID + */ + private String createUserId; + /** * 创建时间 */ @TableField(fill = FieldFill.INSERT) @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") - private Date createTime; - + private LocalDateTime createTime; + + /** + * 更新人 + */ + private String updateUserId; + /** * 更新时间 */ @TableField(fill = FieldFill.INSERT_UPDATE) @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") - private Date updateTime; - @TableField(exist = false) - @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") - private Date updateStartTime; - @TableField(exist = false) - @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") - private Date updateEndTime; - - /** - * 数据状态 - */ - private String dataStatus; + private LocalDateTime updateTime; } diff --git a/src/main/java/com/supervision/police/domain/ModelIndexResult.java b/src/main/java/com/supervision/police/domain/ModelIndexResult.java index 44639d7..ed4593c 100644 --- a/src/main/java/com/supervision/police/domain/ModelIndexResult.java +++ b/src/main/java/com/supervision/police/domain/ModelIndexResult.java @@ -1,5 +1,6 @@ package com.supervision.police.domain; +import java.time.LocalDateTime; import java.util.Date; import com.baomidou.mybatisplus.annotation.FieldFill; @@ -42,13 +43,34 @@ public class ModelIndexResult implements Serializable { * 原子指标ids */ private String atomicIds; - + + + /** + * 创建人ID + */ + private String createUserId; + /** * 创建时间 */ - @TableField(fill = FieldFill.INSERT) + @TableField(fill = FieldFill.INSERT_UPDATE) + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + private LocalDateTime createTime; + + /** + * 更新人 + */ + + private String updateUserId; + + /** + * 更新时间 + */ + @TableField(fill = FieldFill.INSERT_UPDATE) @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") - private Date createTime; + private LocalDateTime updateTime; + @TableField(exist = false) + private static final long serialVersionUID = 1L; } diff --git a/src/main/java/com/supervision/police/domain/ModelRecordType.java b/src/main/java/com/supervision/police/domain/ModelRecordType.java index c8205c5..8644990 100644 --- a/src/main/java/com/supervision/police/domain/ModelRecordType.java +++ b/src/main/java/com/supervision/police/domain/ModelRecordType.java @@ -1,12 +1,15 @@ package com.supervision.police.domain; +import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import java.io.Serializable; +import java.time.LocalDateTime; import java.util.List; @TableName(value = "model_record_type") @@ -36,4 +39,32 @@ public class ModelRecordType implements Serializable { @TableField(exist = false) private List records; + /** + * 创建人ID + */ + private String createUserId; + + /** + * 创建时间 + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + private LocalDateTime createTime; + + /** + * 更新人 + */ + + private String updateUserId; + + /** + * 更新时间 + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + private LocalDateTime updateTime; + + @TableField(exist = false) + private static final long serialVersionUID = 1L; + } diff --git a/src/main/java/com/supervision/police/domain/NotePrompt.java b/src/main/java/com/supervision/police/domain/NotePrompt.java index 398c315..1edda19 100644 --- a/src/main/java/com/supervision/police/domain/NotePrompt.java +++ b/src/main/java/com/supervision/police/domain/NotePrompt.java @@ -1,10 +1,14 @@ package com.supervision.police.domain; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import java.io.Serializable; +import java.time.LocalDateTime; @TableName(value = "note_prompt") @Data @@ -26,4 +30,32 @@ public class NotePrompt implements Serializable { */ private String prompt; + /** + * 创建人ID + */ + private String createUserId; + + /** + * 创建时间 + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + private LocalDateTime createTime; + + /** + * 更新人 + */ + + private String updateUserId; + + /** + * 更新时间 + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + private LocalDateTime updateTime; + + @TableField(exist = false) + private static final long serialVersionUID = 1L; + } diff --git a/src/main/java/com/supervision/police/domain/NoteRecord.java b/src/main/java/com/supervision/police/domain/NoteRecord.java index 979ac4e..87c9595 100644 --- a/src/main/java/com/supervision/police/domain/NoteRecord.java +++ b/src/main/java/com/supervision/police/domain/NoteRecord.java @@ -8,6 +8,7 @@ import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import java.io.Serializable; +import java.time.LocalDateTime; import java.util.Date; @TableName(value = "note_record") @@ -45,13 +46,6 @@ public class NoteRecord implements Serializable { */ private String answer; - /** - * 创建时间 - */ - @TableField(fill = FieldFill.INSERT) - @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") - private Date createTime; - /** * 笔录类型(总结) */ @@ -68,4 +62,31 @@ public class NoteRecord implements Serializable { */ private String noteRecordsId; + /** + * 创建人ID + */ + private String createUserId; + + /** + * 创建时间 + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + private LocalDateTime createTime; + + /** + * 更新人 + */ + + private String updateUserId; + + /** + * 更新时间 + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + private LocalDateTime updateTime; + + @TableField(exist = false) + private static final long serialVersionUID = 1L; } diff --git a/src/main/java/com/supervision/police/domain/NoteRecords.java b/src/main/java/com/supervision/police/domain/NoteRecords.java index 705ae86..af9e21d 100644 --- a/src/main/java/com/supervision/police/domain/NoteRecords.java +++ b/src/main/java/com/supervision/police/domain/NoteRecords.java @@ -1,5 +1,6 @@ package com.supervision.police.domain; +import java.time.LocalDateTime; import java.util.Date; import com.baomidou.mybatisplus.annotation.FieldFill; @@ -77,28 +78,43 @@ public class NoteRecords implements Serializable { * 排序序号 */ private Integer indexNum; - + + /** - * 创建时间 + * 数据状态 */ - @TableField(fill = FieldFill.INSERT) - @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") - private Date createTime; - + private String dataStatus; + + @TableField(exist = false) + private List children; + /** - * 更新时间 + * 创建人ID + */ + private String createUserId; + + /** + * 创建时间 */ @TableField(fill = FieldFill.INSERT_UPDATE) @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") - private Date updateTime; + private LocalDateTime createTime; /** - * 数据状态 + * 更新人 */ - private String dataStatus; + + private String updateUserId; + + /** + * 更新时间 + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + private LocalDateTime updateTime; @TableField(exist = false) - private List children; + private static final long serialVersionUID = 1L; } diff --git a/src/main/java/com/supervision/police/domain/TripleInfo.java b/src/main/java/com/supervision/police/domain/TripleInfo.java index 2282c93..a123fbf 100644 --- a/src/main/java/com/supervision/police/domain/TripleInfo.java +++ b/src/main/java/com/supervision/police/domain/TripleInfo.java @@ -8,6 +8,7 @@ import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import java.io.Serializable; +import java.time.LocalDateTime; import java.util.Date; @TableName(value = "triple_info") @@ -49,13 +50,6 @@ public class TripleInfo implements Serializable { @TableField(exist = false) private String caseId; - /** - * 创建时间 - */ - @TableField(fill = FieldFill.INSERT) - @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") - private Date createTime; - /** * 是否生成图谱 */ @@ -71,11 +65,39 @@ public class TripleInfo implements Serializable { */ private String endNodeType; + /** + * 创建人ID + */ + private String createUserId; + + /** + * 创建时间 + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + private LocalDateTime createTime; + + /** + * 更新人 + */ + + private String updateUserId; + + /** + * 更新时间 + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + private LocalDateTime updateTime; + + @TableField(exist = false) + private static final long serialVersionUID = 1L; + public TripleInfo() { } // todo - public TripleInfo(String startNode, String endNode, String relation, String noteRecordId, Date createTime, String startNodeType, String endNodeType) { + public TripleInfo(String startNode, String endNode, String relation, String noteRecordId, LocalDateTime createTime, String startNodeType, String endNodeType) { this.startNode = startNode; this.endNode = endNode; this.relation = relation; diff --git a/src/main/java/com/supervision/police/vo/CaseEvidenceReqVo.java b/src/main/java/com/supervision/police/dto/CaseEvidenceDTO.java similarity index 54% rename from src/main/java/com/supervision/police/vo/CaseEvidenceReqVo.java rename to src/main/java/com/supervision/police/dto/CaseEvidenceDTO.java index ba688a8..954a2e8 100644 --- a/src/main/java/com/supervision/police/vo/CaseEvidenceReqVo.java +++ b/src/main/java/com/supervision/police/dto/CaseEvidenceDTO.java @@ -1,5 +1,6 @@ -package com.supervision.police.vo; +package com.supervision.police.dto; +import com.supervision.police.domain.CaseEvidence; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -9,7 +10,7 @@ import java.util.List; * 案件证据信息 */ @Data -public class CaseEvidenceReqVo { +public class CaseEvidenceDTO { @Schema(description = "案件证据id") private String id; @@ -34,4 +35,17 @@ public class CaseEvidenceReqVo { @Schema(description = "文件id集合") private List fileIdList; + + + public CaseEvidence toCaseEvidence(){ + CaseEvidence caseEvidence = new CaseEvidence(); + caseEvidence.setId(this.id); + caseEvidence.setCaseId(this.caseId); + caseEvidence.setEvidenceName(this.evidenceName); + caseEvidence.setEvidenceType(this.evidenceType); + caseEvidence.setProvider(this.provider); + caseEvidence.setPartyA(this.partyA); + caseEvidence.setPartyB(this.partyB); + return caseEvidence; + } } diff --git a/src/main/java/com/supervision/police/dto/CaseEvidenceDetailDTO.java b/src/main/java/com/supervision/police/dto/CaseEvidenceDetailDTO.java new file mode 100644 index 0000000..61520cb --- /dev/null +++ b/src/main/java/com/supervision/police/dto/CaseEvidenceDetailDTO.java @@ -0,0 +1,25 @@ +package com.supervision.police.dto; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.List; + +@Data +public class CaseEvidenceDetailDTO { + + @Schema(description = "案件证据id") + private String id; + + @Schema(description = "案件证据名称") + private String evidenceName; + + @Schema(description = "案件证据类型") + private String evidenceType; + + @Schema(description = "案件证据文件信息列表") + private List fileList; + + @Schema(description = "最近时间") + private String updateTime; +} diff --git a/src/main/java/com/supervision/police/dto/EvidenceFileDTO.java b/src/main/java/com/supervision/police/dto/EvidenceFileDTO.java new file mode 100644 index 0000000..af42db6 --- /dev/null +++ b/src/main/java/com/supervision/police/dto/EvidenceFileDTO.java @@ -0,0 +1,18 @@ +package com.supervision.police.dto; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +public class EvidenceFileDTO { + + @Schema(description = "文件id集合") + private String fileId; + + @Schema(description = "文件名称") + private String fileName; + + @Schema(description = "文件类型") + private String fileType; + +} diff --git a/src/main/java/com/supervision/police/mapper/CaseEvidenceMapper.java b/src/main/java/com/supervision/police/mapper/CaseEvidenceMapper.java index 6232710..01de4cd 100644 --- a/src/main/java/com/supervision/police/mapper/CaseEvidenceMapper.java +++ b/src/main/java/com/supervision/police/mapper/CaseEvidenceMapper.java @@ -2,6 +2,9 @@ package com.supervision.police.mapper; import com.supervision.police.domain.CaseEvidence; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.supervision.police.dto.CaseEvidenceDetailDTO; + +import java.util.List; /** * @author Administrator @@ -11,6 +14,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; */ public interface CaseEvidenceMapper extends BaseMapper { + List queryEvidenceList(String caseId); + + CaseEvidenceDetailDTO queryEvidenceDetail(String evidenceId); } diff --git a/src/main/java/com/supervision/police/service/CaseEvidenceService.java b/src/main/java/com/supervision/police/service/CaseEvidenceService.java index 73e3bc5..14d25bc 100644 --- a/src/main/java/com/supervision/police/service/CaseEvidenceService.java +++ b/src/main/java/com/supervision/police/service/CaseEvidenceService.java @@ -1,13 +1,25 @@ package com.supervision.police.service; -import com.supervision.police.vo.CaseEvidenceReqVo; +import com.supervision.police.domain.CaseEvidence; +import com.supervision.police.dto.CaseEvidenceDTO; +import com.supervision.police.dto.CaseEvidenceDetailDTO; + +import java.util.List; public interface CaseEvidenceService { - String saveEvidence(CaseEvidenceReqVo reqVO); - String updateEvidence(CaseEvidenceReqVo reqVO); + /** + * 保存案件笔录信息 + * @param caseEvidenceDTO + * @return 笔录id + */ + String saveEvidence(CaseEvidenceDTO caseEvidenceDTO); + + String updateEvidence(CaseEvidenceDTO caseEvidenceDTO); boolean deleteEvidence(String evidenceId); - void queryEvidenceList(String caseId); + List queryEvidenceList(String caseId); + + CaseEvidenceDetailDTO queryEvidenceDetail(String evidenceId); } diff --git a/src/main/java/com/supervision/police/service/impl/CaseEvidenceServiceImpl.java b/src/main/java/com/supervision/police/service/impl/CaseEvidenceServiceImpl.java index 19d53ec..e2108c9 100644 --- a/src/main/java/com/supervision/police/service/impl/CaseEvidenceServiceImpl.java +++ b/src/main/java/com/supervision/police/service/impl/CaseEvidenceServiceImpl.java @@ -1,33 +1,105 @@ package com.supervision.police.service.impl; +import cn.hutool.core.lang.Assert; +import com.supervision.police.daoService.CaseEvidenceDaoService; +import com.supervision.police.daoService.EvidenceFileDaoService; +import com.supervision.police.domain.CaseEvidence; +import com.supervision.police.domain.EvidenceFile; +import com.supervision.police.dto.CaseEvidenceDetailDTO; import com.supervision.police.service.CaseEvidenceService; -import com.supervision.police.vo.CaseEvidenceReqVo; +import com.supervision.police.dto.CaseEvidenceDTO; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; @Slf4j @Service @RequiredArgsConstructor public class CaseEvidenceServiceImpl implements CaseEvidenceService { + + private final CaseEvidenceDaoService caseEvidenceDaoService; + + private final EvidenceFileDaoService evidenceFileDaoService; + @Override - public String saveEvidence(CaseEvidenceReqVo reqVO) { - return null; + @Transactional(transactionManager = "dataSourceTransactionManager",rollbackFor = Exception.class) + public String saveEvidence(CaseEvidenceDTO caseEvidenceDTO) { + // 必填校验 + caseEvidencePersistenceAssert(caseEvidenceDTO); + + // 保存证据信息 + CaseEvidence caseEvidence = caseEvidenceDTO.toCaseEvidence(); + caseEvidenceDaoService.save(caseEvidence); + + if (true){ + throw new IllegalArgumentException("保存证据信息失败"); + } + //保存文件关联信息 + caseEvidenceDTO.getFileIdList().forEach(fileId -> { + EvidenceFile evidenceFile = new EvidenceFile(); + evidenceFile.setFileId(fileId); + evidenceFile.setEvidenceId(caseEvidence.getId()); + evidenceFileDaoService.save(evidenceFile); + }); + return caseEvidence.getId(); + } + + private void caseEvidencePersistenceAssert(CaseEvidenceDTO caseEvidenceDTO) { + Assert.notEmpty(caseEvidenceDTO.getCaseId(),"案件id不能为空"); + Assert.notEmpty(caseEvidenceDTO.getEvidenceName(),"证据名称不能为空"); + Assert.notEmpty(caseEvidenceDTO.getEvidenceType(),"证据类型不能为空"); + Assert.notEmpty(caseEvidenceDTO.getProvider(),"证据提供人不能为空"); + Assert.notEmpty(caseEvidenceDTO.getFileIdList(),"文件id不能为空"); } @Override - public String updateEvidence(CaseEvidenceReqVo reqVO) { - return null; + @Transactional(transactionManager = "dataSourceTransactionManager",rollbackFor = Exception.class) + public String updateEvidence(CaseEvidenceDTO caseEvidenceDTO) { + + Assert.notEmpty(caseEvidenceDTO.getId(),"证据id不能为空"); + caseEvidencePersistenceAssert(caseEvidenceDTO); + caseEvidenceDaoService.getOptById(caseEvidenceDTO.getId()).orElseThrow(() -> new IllegalArgumentException("证据信息不存在")); + + // 更新证据信息 + CaseEvidence caseEvidence = caseEvidenceDTO.toCaseEvidence(); + caseEvidenceDaoService.updateById(caseEvidence); + + // 更新文件关联信息 + evidenceFileDaoService.lambdaUpdate().eq(EvidenceFile::getEvidenceId,caseEvidence.getId()).remove(); + caseEvidenceDTO.getFileIdList().forEach(fileId -> { + EvidenceFile evidenceFile = new EvidenceFile(); + evidenceFile.setFileId(fileId); + evidenceFile.setEvidenceId(caseEvidence.getId()); + evidenceFileDaoService.save(evidenceFile); + }); + return caseEvidenceDTO.getId(); } @Override + @Transactional(transactionManager = "dataSourceTransactionManager",rollbackFor = Exception.class) public boolean deleteEvidence(String evidenceId) { - return false; + + boolean remove = caseEvidenceDaoService.lambdaUpdate().eq(CaseEvidence::getId, evidenceId).remove(); + + if (remove){ + evidenceFileDaoService.lambdaUpdate().eq(EvidenceFile::getEvidenceId,evidenceId).remove(); + } + return remove; } @Override - public void queryEvidenceList(String caseId) { + @Transactional(transactionManager = "dataSourceTransactionManager",rollbackFor = Exception.class) + public List queryEvidenceList(String caseId) { + + return caseEvidenceDaoService.queryEvidenceList(caseId); + } - // todo: 设置返回值 + @Override + @Transactional(transactionManager = "dataSourceTransactionManager",rollbackFor = Exception.class) + public CaseEvidenceDetailDTO queryEvidenceDetail(String evidenceId) { + return caseEvidenceDaoService.queryEvidenceDetail(evidenceId); } } diff --git a/src/main/java/com/supervision/police/service/impl/ModelRecordTypeServiceImpl.java b/src/main/java/com/supervision/police/service/impl/ModelRecordTypeServiceImpl.java index 1b1a7f8..e3cafef 100644 --- a/src/main/java/com/supervision/police/service/impl/ModelRecordTypeServiceImpl.java +++ b/src/main/java/com/supervision/police/service/impl/ModelRecordTypeServiceImpl.java @@ -30,6 +30,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.StopWatch; +import java.time.LocalDateTime; import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -164,7 +165,7 @@ public class ModelRecordTypeServiceImpl extends ServiceImpl noteRecord.setPersonName(records.getName()); noteRecord.setQuestion(qa.getQuestion()); noteRecord.setAnswer(qa.getAnswer()); - noteRecord.setCreateTime(new Date()); + noteRecord.setCreateTime(LocalDateTime.now()); Map paramMap = new HashMap<>(); paramMap.put("allTypes", allTypes.toString()); paramMap.put("question", qa.getQuestion()); diff --git a/src/main/java/com/supervision/springaidemo/controller/ExampleChatController.java b/src/main/java/com/supervision/springaidemo/controller/ExampleChatController.java index 72b4ddd..86cf9dc 100644 --- a/src/main/java/com/supervision/springaidemo/controller/ExampleChatController.java +++ b/src/main/java/com/supervision/springaidemo/controller/ExampleChatController.java @@ -28,6 +28,7 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.io.File; +import java.time.LocalDateTime; import java.util.*; import java.util.stream.Collectors; @@ -101,7 +102,7 @@ public class ExampleChatController { noteRecord.setPersonName("裴金禄"); noteRecord.setQuestion(qa.getQuestion()); noteRecord.setAnswer(qa.getAnswer()); - noteRecord.setCreateTime(new Date()); + noteRecord.setCreateTime(LocalDateTime.now()); // if (qa.getAnswer().length() > 500) { // continue; diff --git a/src/main/resources/mapper/CaseEvidenceMapper.xml b/src/main/resources/mapper/CaseEvidenceMapper.xml index 01c6e2d..23d3e8e 100644 --- a/src/main/resources/mapper/CaseEvidenceMapper.xml +++ b/src/main/resources/mapper/CaseEvidenceMapper.xml @@ -24,4 +24,54 @@ party_b,create_user_id,create_time, update_user_id,update_time + + + + + + + + + + + + + + + + + +