소스 검색

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

yangyj 2 년 전
부모
커밋
fc4807bbe3

+ 3 - 0
blade-ops-api/blade-resource-api/src/main/java/org/springblade/resource/feign/CommonFileClient.java

@@ -5,6 +5,7 @@ import org.springblade.resource.vo.NewBladeFile;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.http.MediaType;
 import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.multipart.MultipartFile;
 
 @FeignClient(
@@ -23,4 +24,6 @@ public interface CommonFileClient {
     @PostMapping(value = API_PREFIX + "/excelToPdf", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
     NewBladeFile excelToPdf(MultipartFile file);
 
+    @PostMapping(value = API_PREFIX + "/getPdfNum")
+    String getPdfNum(@RequestParam("url") String url);
 }

+ 22 - 1
blade-ops/blade-resource/src/main/java/org/springblade/resource/feign/CommonFileClientImpl.java

@@ -6,8 +6,10 @@ import com.itextpdf.text.Image;
 import com.itextpdf.text.Rectangle;
 import com.itextpdf.text.pdf.PdfWriter;
 import lombok.AllArgsConstructor;
+import org.apache.pdfbox.pdmodel.PDDocument;
 import org.apache.poi.ss.usermodel.Sheet;
 import org.apache.poi.ss.usermodel.WorkbookFactory;
+import org.springblade.common.utils.CommonUtil;
 import org.springblade.core.oss.model.BladeFile;
 import org.springblade.core.tenant.annotation.NonDS;
 import org.springblade.core.tool.utils.IoUtil;
@@ -205,6 +207,25 @@ public class CommonFileClientImpl implements CommonFileClient {
         newBladeFile.setPage(page);
         return  newBladeFile;
     }
-
+    /**
+     * excel 转 pdf
+     */
+    @Override
+    public String getPdfNum(String url){
+        try {
+            if(url.isEmpty() || url.equals("")){
+                return "";
+            }
+            InputStream pdfInputStream = CommonUtil.getOSSInputStream(url);
+            //获取这份文件的页数并设置签章策略
+            //获取PDF文件
+            PDDocument document = PDDocument.load(pdfInputStream);
+            int page = document.getPages().getCount();
+            return page+"";
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return "";
+    }
 
 }

+ 14 - 10
blade-service/blade-business/src/main/java/org/springblade/business/controller/TaskController.java

@@ -14,12 +14,8 @@ import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import lombok.AllArgsConstructor;
 import org.apache.commons.lang.StringUtils;
 import org.jetbrains.annotations.NotNull;
-import org.springblade.business.entity.DefaultConfig;
-import org.springblade.business.entity.TaskBatch;
-import org.springblade.business.entity.TaskParallel;
-import org.springblade.business.service.IDefaultConfigService;
-import org.springblade.business.service.ITaskBatchService;
-import org.springblade.business.service.ITaskParallelService;
+import org.springblade.business.entity.*;
+import org.springblade.business.service.*;
 import org.springblade.business.socket.WebSocket;
 import org.springblade.business.vo.BatchTaskVO;
 import org.springblade.business.vo.TaskApprovalVO;
@@ -35,16 +31,14 @@ import org.springblade.core.tool.utils.DateUtil;
 import org.springblade.core.tool.utils.ObjectUtil;
 import org.springblade.flow.core.entity.BladeFlow;
 import org.springblade.flow.core.feign.NewFlowClient;
-import org.springblade.manager.feign.ContractClient;
+import org.springblade.resource.feign.CommonFileClient;
 import org.springblade.resource.feign.NewISmsClient;
 import org.springblade.system.entity.DictBiz;
 import org.springblade.system.feign.IDictBizClient;
 import org.springframework.beans.BeanUtils;
 import org.springframework.web.bind.annotation.*;
 import com.baomidou.mybatisplus.core.metadata.IPage;
-import org.springblade.business.entity.Task;
 import org.springblade.business.vo.TaskVO;
-import org.springblade.business.service.ITaskService;
 import org.springblade.core.boot.ctrl.BladeController;
 
 import java.io.FileNotFoundException;
@@ -82,6 +76,7 @@ public class TaskController extends BladeController {
 	private final ITaskService iTaskService;
 
 	private final WebSocket webSocket;
+	private final CommonFileClient commonFileClient;
 
 	/**
 	 * 记录短信验证码超时时间
@@ -372,7 +367,16 @@ public class TaskController extends BladeController {
 		//获取具体业务数据
 		return R.data(this.taskService.queryBusinessData(vo));
 	}
-
+	/**
+	 * 审批页pdf数量详情
+	 */
+	@GetMapping("/query-approval-parameter-pdf-num")
+	@ApiOperationSupport(order = 14)
+	@ApiOperation(value = "审批页pdf数量详情")
+	public R<Object> getApprovalTaskParameterPdfNum(@RequestParam String url){
+		String pdfNum = this.commonFileClient.getPdfNum(url);
+		return R.data(pdfNum);
+	}
 	/**
 	 * 获取当前用户待办流程
 	 */