Quellcode durchsuchen

Merge remote-tracking branch 'origin/dev2' into dev2

lwhhszx vor 1 Jahr
Ursprung
Commit
1bd2d031bf

+ 23 - 0
PAS/src/main/java/cn/cslg/pas/common/model/dto/QueryRetrieveRecordDTO.java

@@ -0,0 +1,23 @@
+package cn.cslg.pas.common.model.dto;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @Author xiexiang
+ * @Date 2024/1/29
+ */
+@Data
+public class QueryRetrieveRecordDTO {
+    private List<Integer> tenantIds;
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date startTime;
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date endTime;
+}

+ 50 - 0
PAS/src/main/java/cn/cslg/pas/common/model/vo/RetrieveRecordExportVO.java

@@ -0,0 +1,50 @@
+package cn.cslg.pas.common.model.vo;
+
+import lombok.Data;
+
+/**
+ * @Author xiexiang
+ * @Date 2024/1/29
+ */
+@Data
+public class RetrieveRecordExportVO {
+    /**
+     * 租户id
+     */
+    private Integer tenantId;
+
+    /**
+     * 租户名
+     */
+    private String tenantName;
+
+    /**
+     * 检索人
+     */
+    private Integer createId;
+
+    /**
+     * 检索人名称
+     */
+    private String createName;
+
+    /**
+     * 检索时间
+     */
+    private String retrieveTime;
+
+    /**
+     * 数据库类型
+     */
+    private String dbType;
+
+    /**
+     * 检索式
+     */
+    private String conditions;
+
+    /**
+     * 检索次数
+     */
+    private Integer totalNum;
+}

+ 9 - 0
PAS/src/main/java/cn/cslg/pas/controller/RetrieveRecordController.java

@@ -7,9 +7,11 @@ package cn.cslg.pas.controller;
  */
 
 import cn.cslg.pas.common.core.base.Constants;
+import cn.cslg.pas.common.model.dto.QueryRetrieveRecordDTO;
 import cn.cslg.pas.common.model.dto.RetrieveRecordDTO;
 import cn.cslg.pas.common.model.outApi.RetrieveRecordDeDTO;
 import cn.cslg.pas.common.model.outApi.RetrieveRecordQueryDTO;
+import cn.cslg.pas.common.model.vo.RetrieveRecordExportVO;
 import cn.cslg.pas.common.utils.Response;
 import cn.cslg.pas.domain.RetrieveRecord;
 import cn.cslg.pas.service.upLoadPatent.RetrieveRecordService;
@@ -53,4 +55,11 @@ public class RetrieveRecordController {
         retrieveRecordService.deleteRetrieveRecord(retrieveRecordDeDTO);
         return Response.success("删除成功");
     }
+
+    @Operation(summary = "查询检索历史")
+    @PostMapping("/getRetrieveRecord")
+    public List<RetrieveRecordExportVO> getRetrieveRecord(@RequestBody QueryRetrieveRecordDTO queryRetrieveRecordDTO){
+        return retrieveRecordService.getRetrieveRecord(queryRetrieveRecordDTO);
+    }
+
 }

+ 38 - 0
PAS/src/main/java/cn/cslg/pas/service/upLoadPatent/RetrieveRecordService.java

@@ -1,14 +1,17 @@
 package cn.cslg.pas.service.upLoadPatent;
 
 import cn.cslg.pas.common.model.PersonnelVO;
+import cn.cslg.pas.common.model.dto.QueryRetrieveRecordDTO;
 import cn.cslg.pas.common.model.dto.RetrieveRecordDTO;
 import cn.cslg.pas.common.model.outApi.RetrieveRecordDeDTO;
 import cn.cslg.pas.common.model.outApi.RetrieveRecordQueryDTO;
+import cn.cslg.pas.common.model.vo.RetrieveRecordExportVO;
 import cn.cslg.pas.common.utils.CacheUtils;
 import cn.cslg.pas.common.utils.Response;
 import cn.cslg.pas.common.utils.SecurityUtils.LoginUtils;
 import cn.cslg.pas.domain.RetrieveRecord;
 import cn.cslg.pas.mapper.RetrieveRecordMapper;
+import cn.cslg.pas.service.ProjectUsedByTenantService;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -18,9 +21,13 @@ import org.springframework.beans.BeanUtils;
 import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
 
+import java.io.IOException;
+import java.text.SimpleDateFormat;
+import java.time.format.DateTimeFormatter;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
@@ -35,6 +42,7 @@ import java.util.List;
 public class RetrieveRecordService extends ServiceImpl<RetrieveRecordMapper, RetrieveRecord> {
     private final CacheUtils cacheUtils;
     private final LoginUtils loginUtils;
+    private final ProjectUsedByTenantService projectUsedByTenantService;
 
     /**
      * 新增检索记录
@@ -120,4 +128,34 @@ public class RetrieveRecordService extends ServiceImpl<RetrieveRecordMapper, Ret
         List<RetrieveRecord> retrieveRecordList =retrieveRecords.getRecords();
         return retrieveRecords;
     }
+
+
+    public List<RetrieveRecordExportVO> getRetrieveRecord(QueryRetrieveRecordDTO queryRetrieveRecordDTO){
+        // 1. 首先,将传入的参数校验放在方法内部,确保参数的有效性
+        if (queryRetrieveRecordDTO == null || queryRetrieveRecordDTO.getTenantIds() == null || queryRetrieveRecordDTO.getTenantIds().isEmpty() || queryRetrieveRecordDTO.getStartTime() == null || queryRetrieveRecordDTO.getEndTime() == null) {
+            throw new IllegalArgumentException("查询参数不能为空或不合法");
+        }
+        List<RetrieveRecordExportVO> retrieveRecordExportVOS = new ArrayList<>();
+        LambdaQueryWrapper<RetrieveRecord> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.in(RetrieveRecord::getTenantId, queryRetrieveRecordDTO.getTenantIds())
+                .between(RetrieveRecord::getRetrieveTime, queryRetrieveRecordDTO.getStartTime(), queryRetrieveRecordDTO.getEndTime());
+        List<RetrieveRecord> retrieveRecords = this.list(queryWrapper);
+        if (!retrieveRecords.isEmpty()) {
+            retrieveRecords.forEach(item -> {
+                RetrieveRecordExportVO retrieveRecordExportVO = new RetrieveRecordExportVO();
+                retrieveRecordExportVO.setConditions(item.getConditions());
+                Date retrieveTime = item.getRetrieveTime();
+                SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+                String dateString = dateFormat.format(retrieveTime);
+                retrieveRecordExportVO.setRetrieveTime(dateString);
+                retrieveRecordExportVO.setDbType(item.getDbType());
+                retrieveRecordExportVO.setCreateId(item.getCreateId());
+                retrieveRecordExportVO.setTenantId(item.getTenantId());
+                retrieveRecordExportVO.setTotalNum(item.getTotalNum());
+                retrieveRecordExportVOS.add(retrieveRecordExportVO);
+            });
+        }
+        return retrieveRecordExportVOS;
+    }
+
 }