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 b12b8b33b..272b19a0e 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
@@ -94,10 +94,11 @@ public class PDFUtils {
* @param color 字体颜色
*/
private static void addContent(PdfReader reader, OutputStream outputStream, String content, float x, float y, BaseFont baseFont, float fontSize, int fontStyle, Color color) {
+ PdfStamper stamper = null;
try {
//生成 paragraph 并放在正确位置
//抠模板
- PdfStamper stamper = new PdfStamper(reader, outputStream);
+ stamper = new PdfStamper(reader, outputStream);
PdfContentByte over = stamper.getOverContent(1);
Font font = new Font(baseFont, fontSize, fontStyle, color);
Paragraph insertContent = new Paragraph(content, font);
@@ -110,6 +111,14 @@ public class PDFUtils {
stamper.close();
} catch (IOException e) {
throw new RuntimeException(e);
+ } finally {
+ try {
+ if (stamper != null) {
+ stamper.close();
+ }
+ } catch (IOException ex) {
+ throw new RuntimeException(ex);
+ }
}
}
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 af3da67ef..a94e5ee53 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
@@ -22,19 +22,16 @@ public class PassLetterUtils {
* 返回通过函编码
* @param partnerName 加盟商姓名
* @param verifyCity 审批城市
+ * @param passCode 通过函编码
* @param passTime 审批通过时间
*/
- public static String genPassLetter(String partnerName, String passCode, String verifyCity, DateTime passTime) {
- String randomNum = RandomUtil.randomNumbers(5);
- if (ObjectUtil.isEmpty(passCode)) {
- passCode = "HSAY" + DateUtil.format(passTime, "yyMMdd") + "-" + randomNum;
- }
+ public static ByteArrayOutputStream genPassLetter(String partnerName, String passCode, String verifyCity, DateTime passTime) {
String passTimeStr = DateUtil.format(passTime, "yyyy年MM月dd日");
Document document = new Document();
+ ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
try {
//1. 创建 pdf document
-// ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
- FileOutputStream outputStream = new FileOutputStream("passLetter.pdf");
+// FileOutputStream outputStream = new FileOutputStream("passLetter.pdf");
PdfWriter.getInstance(document, outputStream);
document.open();
@@ -44,21 +41,38 @@ public class PassLetterUtils {
document.close();
//3. 填写通过函模板信息
- addContentToPdf(partnerName + " 先生/女士", 122, 640);
- addContentToPdf(passCode, 122, 558);
- addContentToPdf(verifyCity, 155, 494);
- addContentToPdf("60天", 135, 450);
- addContentToPdf(passTimeStr, 393, 152);
- return passCode;
+ addContentToPdf(outputStream, partnerName + " 先生/女士", 122, 640);
+ addContentToPdf(outputStream, passCode, 122, 558);
+ addContentToPdf(outputStream, verifyCity, 155, 494);
+ addContentToPdf(outputStream, "60天", 135, 450);
+ addContentToPdf(outputStream, passTimeStr, 393, 152);
+ return outputStream;
} catch (IOException e) {
throw new RuntimeException(e);
+ } finally {
+ try {
+ document.close();
+ outputStream.close();
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
}
}
- private static void addContentToPdf(String content, float x, float y) {
+ /**
+ * 生成 passCode 的方法,拆分出来方便单独获取 passCode
+ * @return
+ */
+ public static String genPassCode(DateTime passTime) {
+ String randomNum = RandomUtil.randomNumbers(5);
+ String passCode = "HSAY" + DateUtil.format(passTime, "yyMMdd") + "-" + randomNum;
+ return passCode;
+ }
+
+ private static void addContentToPdf(ByteArrayOutputStream outputStream, String content, float x, float y) {
try {
- PdfReader pdfReader = new PdfReader(Files.newInputStream(Paths.get("passLetter.pdf")));
- OutputStream outputStream = Files.newOutputStream(Paths.get("passLetter.pdf"));
+ 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) {
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 4e0de1a97..b26ecc51e 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
@@ -1,6 +1,7 @@
package com.cool.store.mapper;
import com.cool.store.entity.HyPartnerInterviewDO;
+import com.cool.store.vo.EnterInterviewVO;
import com.cool.store.vo.PartnerInterviewInfoVO;
import com.cool.store.vo.PartnerPassLetterDetailVO;
import org.apache.ibatis.annotations.Param;
@@ -61,11 +62,16 @@ public interface HyPartnerInterviewMapper {
/**
* 根据会议 id 查询面试官 id
*/
- String getInterviewerByInterviewId(@Param("interviewId") String interviewId);
+ EnterInterviewVO getInterviewerByInterviewId(@Param("interviewId") String interviewId);
/**
* 获取通知函详情
*/
PartnerPassLetterDetailVO getPassLetterDetail(@Param("interviewId") String interviewId);
+ /**
+ * 生成通过函 pdf 后修改
+ */
+ int updatePassLetterInfo(@Param("passCode") String passCode, @Param("passFileUrl") String passFileUrl, @Param("expiryDate") String expiryDate, @Param("interviewId") String interviewId);
+
}
\ No newline at end of file
diff --git a/coolstore-partner-dao/src/main/resources/mapper/HyContentInfoMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/HyContentInfoMapper.xml
index cf27b14f9..e69a1691f 100644
--- a/coolstore-partner-dao/src/main/resources/mapper/HyContentInfoMapper.xml
+++ b/coolstore-partner-dao/src/main/resources/mapper/HyContentInfoMapper.xml
@@ -106,10 +106,10 @@
content_title = #{record.contentTitle},
-
+
subject = #{record.subject},
-
+
content_type = #{record.contentType},
diff --git a/coolstore-partner-dao/src/main/resources/mapper/HyPartnerInterviewMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/HyPartnerInterviewMapper.xml
index 0fa5d3610..2eee85c8c 100644
--- a/coolstore-partner-dao/src/main/resources/mapper/HyPartnerInterviewMapper.xml
+++ b/coolstore-partner-dao/src/main/resources/mapper/HyPartnerInterviewMapper.xml
@@ -34,6 +34,11 @@
+
+
+
+
+
@@ -311,23 +316,44 @@
-