Jelajahi Sumber

5/31 拆分权要修改

lwhhszx 1 tahun lalu
induk
melakukan
e0ffd5640d

+ 14 - 5
src/main/java/cn/cslg/pas/controller/PatentProjectController.java

@@ -4,6 +4,7 @@ import cn.cslg.pas.common.core.base.Constants;
 import cn.cslg.pas.common.dto.business.PatentProjectDTO;
 import cn.cslg.pas.common.dto.business.UpdateEventDTO;
 import cn.cslg.pas.common.dto.business.UpdatePatentProjectDTO;
+import cn.cslg.pas.common.model.addPatentToReport.AddProjectPatentToReportDTO;
 import cn.cslg.pas.common.model.cronModel.Records;
 import cn.cslg.pas.common.model.request.StringGroupRequest;
 import cn.cslg.pas.common.model.request.StringRequest;
@@ -13,6 +14,7 @@ import cn.cslg.pas.exception.UnLoginException;
 import cn.cslg.pas.exception.XiaoShiException;
 import cn.cslg.pas.factorys.businessFactory.Business;
 import cn.cslg.pas.factorys.businessFactory.BusinessFactory;
+import cn.cslg.pas.service.business.ProjectService;
 import com.alibaba.fastjson.JSONObject;
 import io.swagger.v3.oas.annotations.Operation;
 import lombok.extern.slf4j.Slf4j;
@@ -36,6 +38,8 @@ import java.util.List;
 public class PatentProjectController {
     @Autowired
     private BusinessFactory businessFactory;
+    @Autowired
+    private ProjectService projectService;
 
     @Operation(summary = "查询专利数据库")
     @PostMapping("/queryPatentProject")
@@ -61,8 +65,7 @@ public class PatentProjectController {
                     return Response.unLogin(e.getMessage());
                 } else if (e instanceof ConditionException) {
                     return Response.conditionError(e.getMessage());
-                }
-                else{
+                } else {
                     return Response.error(e.getMessage());
                 }
             }
@@ -91,8 +94,7 @@ public class PatentProjectController {
                 }
             }
             return Response.success(id);
-        }
-        else {
+        } else {
             return Response.error("网络异常");
         }
     }
@@ -113,8 +115,15 @@ public class PatentProjectController {
     @PostMapping("/groupPatentProject")
     public Response groupPatentProject(@RequestBody StringGroupRequest stringGroupRequest) throws Exception {
         Business business = businessFactory.getClass("patentProjectService");
-        Records records = (Records)business.getGroup(stringGroupRequest,"patentProject");
+        Records records = (Records) business.getGroup(stringGroupRequest, "patentProject");
         return Response.success(records);
     }
 
+
+    @Operation(summary = "将专题库专利添加报告")
+    @PostMapping("/addProjectPatentToReport")
+    public String addProjectPatentToReport(@RequestBody AddProjectPatentToReportDTO addProjectPatentToReportDTO) throws Exception {
+        projectService.addProjectPatentToReport(addProjectPatentToReportDTO);
+        return Response.success();
+    }
 }

+ 1 - 0
src/main/java/cn/cslg/pas/controller/ProductController.java

@@ -95,4 +95,5 @@ public class ProductController {
     }
 
 
+
 }

+ 2 - 0
src/main/java/cn/cslg/pas/service/business/ProjectService.java

@@ -97,10 +97,12 @@ public class ProjectService extends ServiceImpl<ProjectMapper, Project> {
      * @param addProjectPatentToReportDTO
      */
     public void addProjectPatentToReport(AddProjectPatentToReportDTO addProjectPatentToReportDTO) {
+
         //查询专利号
         StringRequest stringRequest = addProjectPatentToReportDTO.getStringRequest();
         Integer toProjectId = addProjectPatentToReportDTO.getToProjectId();
         List<String> notInNos = addProjectPatentToReportDTO.getNotInPatentNos();
+
         List<PatentNoWithIdVO> patentWithIdVOS = new ArrayList<>();
         List<String> InPatentNos = addProjectPatentToReportDTO.getInPatentNos();
         try {

+ 2 - 4
src/main/java/cn/cslg/pas/service/business/ProjectTaskService.java

@@ -29,16 +29,14 @@ import cn.cslg.pas.service.common.FileManagerService;
 import cn.cslg.pas.service.permissions.PermissionService;
 import cn.cslg.pas.service.query.FormatQueryService;
 import com.alibaba.fastjson.JSONObject;
-import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.joda.time.format.FormatUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Propagation;
 import org.springframework.transaction.annotation.Transactional;
-import org.springframework.web.bind.annotation.RequestBody;
+
 import org.springframework.web.multipart.MultipartFile;
 
 import java.io.IOException;
@@ -52,7 +50,7 @@ import java.util.stream.Collectors;
  * @Date 2023/11/21
  */
 @Service
-public class ProjectTaskService extends ServiceImpl<ProjectTaskMapper, ProjectTask> implements Business {
+ public class ProjectTaskService extends ServiceImpl<ProjectTaskMapper, ProjectTask> implements Business {
 
     @Autowired
     private CacheUtils cacheUtils;

+ 55 - 0
src/main/java/cn/cslg/pas/service/importPatent/ImportPDFBatchService.java

@@ -0,0 +1,55 @@
+package cn.cslg.pas.service.importPatent;
+
+import cn.cslg.pas.common.utils.FileUtils;
+import cn.cslg.pas.common.utils.Response;
+import cn.cslg.pas.common.utils.ResponseEnum;
+import cn.cslg.pas.common.utils.WebSocketServer;
+import cn.hutool.core.io.FileUtil;
+import cn.hutool.core.util.IdUtil;
+import cn.hutool.core.util.ZipUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Async;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.transaction.interceptor.TransactionAspectSupport;
+import java.io.File;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+@Service
+public class ImportPDFBatchService {
+    @Autowired
+    private FileUtils fileUtils;
+
+    @Async("singleThreadAsyncTaskExecutor")
+    @Transactional(rollbackFor = Exception.class)
+    public void batchUpload(String url, Integer type, String remark, Integer userId) {
+        String tempPath = null;
+        try {
+            String tempDirectoryName = IdUtil.simpleUUID();
+            tempPath = fileUtils.getSystemPath(tempDirectoryName);
+            File tempDirectory = new File(tempPath);
+            if (!tempDirectory.exists()) {
+                tempDirectory.mkdir();
+            }
+            ZipUtil.unzip(fileUtils.getSystemPath(url), tempPath);
+            List<File> fileList = FileUtil.loopFiles(tempPath).stream().filter(item -> FileUtil.getType(item).equals("pdf")).collect(Collectors.toList());
+            for (int i = 0; i < fileList.size(); i++) {
+                File file = fileList.get(i);
+                String fileName = file.getName();
+                String patentNo = FileUtil.getPrefix(file);
+                String saveName = IdUtil.simpleUUID() + ".pdf";
+                String saveUrl = fileUtils.getDirectory(saveName);
+                String savePath = fileUtils.getSystemPath(saveUrl);
+                FileUtil.copy(file.getPath(), savePath, true);
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+        } finally {
+            FileUtil.del(tempPath);
+        }
+    }
+}