diff --git a/coolstore-partner-common/pom.xml b/coolstore-partner-common/pom.xml
index 0961b14dd..cdf95f685 100644
--- a/coolstore-partner-common/pom.xml
+++ b/coolstore-partner-common/pom.xml
@@ -98,6 +98,12 @@
openpdf
1.3.30
+
+
+ org.apache.pdfbox
+ pdfbox
+ 2.0.27
+
\ No newline at end of file
diff --git a/coolstore-partner-common/src/main/java/com/cool/store/utils/PDFUtils.java b/coolstore-partner-common/src/main/java/com/cool/store/utils/PDFUtils.java
index 272b19a0e..3df31afd9 100644
--- a/coolstore-partner-common/src/main/java/com/cool/store/utils/PDFUtils.java
+++ b/coolstore-partner-common/src/main/java/com/cool/store/utils/PDFUtils.java
@@ -5,10 +5,13 @@ import com.lowagie.text.Font;
import com.lowagie.text.Image;
import com.lowagie.text.Paragraph;
import com.lowagie.text.pdf.*;
+import org.apache.pdfbox.pdmodel.PDDocument;
+import org.apache.pdfbox.rendering.PDFRenderer;
+import javax.imageio.ImageIO;
import java.awt.*;
-import java.io.IOException;
-import java.io.OutputStream;
+import java.awt.image.BufferedImage;
+import java.io.*;
/**
* 使用 OpenPDF 封装的 pdf 工具类
@@ -120,7 +123,42 @@ public class PDFUtils {
throw new RuntimeException(ex);
}
}
+ }
+ /**
+ * PDF 转图片
+ * @param inputStream pdf 输入流
+ * @param dpi
+ */
+ public static ByteArrayOutputStream pdf2Img(InputStream inputStream, float dpi) {
+ PDDocument document = null;
+ ByteArrayOutputStream outputStream = null;
+ try {
+ // 加载pdf文档
+ FileInputStream fileInputStream = new FileInputStream("passLetter.pdf");
+ document = PDDocument.load(fileInputStream);
+ // PDF文档渲染对象
+ PDFRenderer renderer = new PDFRenderer(document);
+ int pageCount = document.getNumberOfPages();
+ for (int i = 0; i < pageCount; i++) {
+ /*
+ * renderImage(i,1.9f)
+ * i: 指定页对象下标,从0开始,0即第一页
+ * 1.9f:DPI值(Dots Per Inch),官方描述比例因子,其中 1 = 72 DPI
+ */
+ BufferedImage image = renderer.renderImage(i, dpi);
+ outputStream = new ByteArrayOutputStream();
+ FileOutputStream fileOutputStream = new FileOutputStream("pdf2img.png");
+ ImageIO.write(image, "PNG", outputStream);
+ byte[] byteArray = outputStream.toByteArray();
+ fileOutputStream.write(byteArray);
+ fileOutputStream.close();
+ return outputStream;
+ }
+ }catch (Exception e){
+ e.printStackTrace();
+ }
+ return outputStream;
}
}
diff --git a/coolstore-partner-common/src/main/java/com/cool/store/utils/PassLetterUtils.java b/coolstore-partner-common/src/main/java/com/cool/store/utils/PassLetterUtils.java
index a94e5ee53..a78b41bf6 100644
--- a/coolstore-partner-common/src/main/java/com/cool/store/utils/PassLetterUtils.java
+++ b/coolstore-partner-common/src/main/java/com/cool/store/utils/PassLetterUtils.java
@@ -6,6 +6,7 @@ import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.RandomUtil;
import com.lowagie.text.Document;
import com.lowagie.text.Image;
+import com.lowagie.text.pdf.BaseFont;
import com.lowagie.text.pdf.PdfReader;
import com.lowagie.text.pdf.PdfWriter;
@@ -49,7 +50,8 @@ public class PassLetterUtils {
return outputStream;
} catch (IOException e) {
throw new RuntimeException(e);
- } finally {
+ }
+ finally {
try {
document.close();
outputStream.close();
@@ -73,8 +75,10 @@ public class PassLetterUtils {
try {
ByteArrayInputStream inputStream = new ByteArrayInputStream(outputStream.toByteArray());
PdfReader pdfReader = new PdfReader(inputStream);
- PDFUtils.putParagraphAbsolutely(pdfReader, outputStream, x, y, content, 20, new Color(255, 82,25));
- } catch (IOException e) {
+ String fontFamillyPath = PassLetterUtils.class.getResource("/static/simsun.ttc").getPath();
+ BaseFont font = BaseFont.createFont(fontFamillyPath + ",0", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
+ PDFUtils.putParagraphAbsolutely(pdfReader, outputStream, x, y, content, font, 20, 1, new Color(255, 82,25));
+ } catch (Exception e) {
throw new RuntimeException(e);
}
}
diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerInterviewMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerInterviewMapper.java
index b26ecc51e..f6f345a13 100644
--- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerInterviewMapper.java
+++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerInterviewMapper.java
@@ -37,13 +37,13 @@ public interface HyPartnerInterviewMapper {
* 修改面试状态
* 预约状态 0 待预约;1待面试;2已开始;3待审核;4审批中;5审批通过;6拒绝
*/
- int updateInterviewStatus(@Param("interviewId") String interviewId, @Param("status") Integer status);
+ int updateInterviewStatus(@Param("interviewPlanId") String interviewPlanId, @Param("status") Integer status);
/**
* 修改面试实际开始时间
* @param dateTime "yyyy-MM-dd HH:mm:ss"
*/
- int updateActualStartTime(@Param("interviewId") String interviewId, @Param("dateTime") String dateTime);
+ int updateActualStartTime(@Param("interviewPlanId") String interviewPlanId, @Param("dateTime") String dateTime);
/**
* 修改加盟商或面试官进入面试时间
@@ -51,27 +51,27 @@ public interface HyPartnerInterviewMapper {
* @param dateTime "yyyy-MM-dd HH:mm:ss"
* @return
*/
- int updateEnterTime(@Param("interviewId") String interviewId, @Param("userType") Integer userType, @Param("dateTime") String dateTime);
+ int updateEnterTime(@Param("interviewPlanId") String interviewPlanId, @Param("userType") Integer userType, @Param("dateTime") String dateTime);
/**
* 将加盟商是否参会修改为参会
* 0未参加,1参加
*/
- int updateWhetherPartnerEnter(@Param("interviewId") String interviewId);
+ int updateWhetherPartnerEnter(@Param("interviewPlanId") String interviewPlanId);
/**
* 根据会议 id 查询面试官 id
*/
- EnterInterviewVO getInterviewerByInterviewId(@Param("interviewId") String interviewId);
+ EnterInterviewVO getInterviewerByInterviewPlanId(@Param("interviewPlanId") String interviewPlanId);
/**
* 获取通知函详情
*/
- PartnerPassLetterDetailVO getPassLetterDetail(@Param("interviewId") String interviewId);
+ PartnerPassLetterDetailVO getPassLetterDetail(@Param("interviewPlanId") String interviewPlanId);
/**
* 生成通过函 pdf 后修改
*/
- int updatePassLetterInfo(@Param("passCode") String passCode, @Param("passFileUrl") String passFileUrl, @Param("expiryDate") String expiryDate, @Param("interviewId") String interviewId);
+ int updatePassLetterInfo(@Param("passCode") String passCode, @Param("passPdfUrl") String passPdfUrl, @Param("passImageUrl") String passImageUrl, @Param("expiryDate") String expiryDate, @Param("interviewId") String interviewId);
}
\ No newline at end of file
diff --git a/coolstore-partner-dao/src/main/resources/mapper/HyPartnerInterviewMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/HyPartnerInterviewMapper.xml
index 2eee85c8c..09982b133 100644
--- a/coolstore-partner-dao/src/main/resources/mapper/HyPartnerInterviewMapper.xml
+++ b/coolstore-partner-dao/src/main/resources/mapper/HyPartnerInterviewMapper.xml
@@ -27,7 +27,7 @@
-
+
@@ -255,7 +255,7 @@