加盟商资格面试代码字段修改及PDF转图片部分完成
This commit is contained in:
@@ -98,6 +98,12 @@
|
||||
<artifactId>openpdf</artifactId>
|
||||
<version>1.3.30</version>
|
||||
</dependency>
|
||||
<!-- PDFBox -->
|
||||
<dependency>
|
||||
<groupId>org.apache.pdfbox</groupId>
|
||||
<artifactId>pdfbox</artifactId>
|
||||
<version>2.0.27</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
</project>
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
}
|
||||
@@ -27,7 +27,7 @@
|
||||
</resultMap>
|
||||
|
||||
<resultMap id="PartnerInterviewInfoVO" type="com.cool.store.vo.PartnerInterviewInfoVO">
|
||||
<id column="interviewId" property="interviewId"/>
|
||||
<id column="interviewId" property="interviewPlanId"/>
|
||||
<result column="partnerId" property="partnerId"/>
|
||||
<result column="interviewerId" property="interviewerId"/>
|
||||
<association property="partnerName" column="partnerId" select="queryPartnerName" javaType="string"/>
|
||||
@@ -255,7 +255,7 @@
|
||||
|
||||
<!-- 根据加盟商id查询面试信息 -->
|
||||
<select id="queryByPartnerId" resultMap="PartnerInterviewInfoVO">
|
||||
SELECT t1.id interviewId, `status`, start_time, end_time, room_id, t1.partner_id partnerId, t1.interviewer interviewerId
|
||||
SELECT t1.id interviewId, t1.id interview_id, t1.interview_plan_id, `status`, start_time, end_time, room_id, t1.partner_id partnerId, t1.interviewer interviewerId
|
||||
FROM hy_partner_interview t1
|
||||
LEFT JOIN hy_partner_interview_plan t2 ON t1.interview_plan_id = t2.id
|
||||
WHERE t1.partner_id = #{partnerId}
|
||||
@@ -276,18 +276,14 @@
|
||||
<update id="updateInterviewStatus">
|
||||
UPDATE hy_partner_interview
|
||||
SET `status` = #{status}
|
||||
WHERE id = #{interviewId}
|
||||
WHERE interview_plan_id = #{interviewPlanId}
|
||||
</update>
|
||||
|
||||
<!-- 修改面试实际开始时间 -->
|
||||
<update id="updateActualStartTime">
|
||||
UPDATE hy_partner_interview_plan
|
||||
SET actual_start_time = IF(actual_start_time IS NULL, #{dateTime}, actual_start_time)
|
||||
WHERE id = (
|
||||
SELECT interview_plan_id
|
||||
FROM hy_partner_interview
|
||||
WHERE id = #{interviewId}
|
||||
)
|
||||
WHERE id = #{interviewPlanId}
|
||||
</update>
|
||||
|
||||
<!-- 修改面试官或加盟商入会时间 -->
|
||||
@@ -301,32 +297,28 @@
|
||||
partner_enter_time = IF(partner_enter_time IS NULL, #{dateTime}, partner_enter_time)
|
||||
</if>
|
||||
</set>
|
||||
WHERE id = 1
|
||||
WHERE interview_plan_id = #{interviewPlanId}
|
||||
</update>
|
||||
|
||||
<!-- 修改加盟商参会状态为参加 -->
|
||||
<update id="updateWhetherPartnerEnter">
|
||||
UPDATE hy_partner_interview_plan
|
||||
SET is_partner_interview = 1
|
||||
WHERE id = (
|
||||
SELECT interview_plan_id
|
||||
FROM hy_partner_interview
|
||||
WHERE id = #{interviewId}
|
||||
)
|
||||
WHERE id = #{interviewPlanId}
|
||||
</update>
|
||||
|
||||
<!-- 根据会议 id 获取面试官 id -->
|
||||
<select id="getInterviewerByInterviewId" resultMap="partnerEnterInterviewVO">
|
||||
<select id="getInterviewerByInterviewPlanId" resultMap="partnerEnterInterviewVO">
|
||||
SELECT interviewer, interviewer interviewer_id, partner_id
|
||||
FROM hy_partner_interview
|
||||
WHERE id = #{interviewId}
|
||||
WHERE interview_plan_id = #{interviewPlanId}
|
||||
</select>
|
||||
|
||||
<!-- 获取通知函详情 -->
|
||||
<select id="getPassLetterDetail" resultMap="passLetterDetail">
|
||||
SELECT auth_code, pass_code, pass_file_url, expiry_date, partner_id
|
||||
SELECT auth_code, pass_code, pass_pdf_url, pass_image_url, expiry_date, partner_id
|
||||
FROM hy_partner_interview
|
||||
WHERE id = #{interviewId}
|
||||
WHERE interview_plan_id = #{interviewPlanId}
|
||||
</select>
|
||||
<!-- 获取意向开店区域 -->
|
||||
<select id="getVerifyCity" resultType="string">
|
||||
@@ -346,8 +338,11 @@
|
||||
<if test="passCode != null and passCode != ''">
|
||||
pass_code = #{passCode},
|
||||
</if>
|
||||
<if test="passFileUrl != null and passFileUrl != ''">
|
||||
pass_file_url = #{passFileUrl},
|
||||
<if test="passPdfUrl != null and passPdfUrl != ''">
|
||||
pass_pdf_url = #{passPdfUrl},
|
||||
</if>
|
||||
<if test="passImageUrl != null and passImageUrl != ''">
|
||||
pass_image_url = #{passImageUrl},
|
||||
</if>
|
||||
<if test="expiryDate != null and expiryDate != ''">
|
||||
expiry_date = #{expiryDate}
|
||||
|
||||
@@ -6,8 +6,8 @@ import lombok.Data;
|
||||
@Data
|
||||
public class EnterInterviewDto {
|
||||
|
||||
@ApiModelProperty(value = "会议id", required = true)
|
||||
private String interviewId;
|
||||
@ApiModelProperty(value = "会议计划id", required = true)
|
||||
private String interviewPlanId;
|
||||
|
||||
@ApiModelProperty(value = "用户id", required = true)
|
||||
private String userId;
|
||||
|
||||
@@ -15,6 +15,9 @@ import java.util.Date;
|
||||
@ApiModel
|
||||
public class PartnerInterviewInfoVO {
|
||||
|
||||
@ApiModelProperty("会议计划id")
|
||||
private Long interviewPlanId;
|
||||
|
||||
@ApiModelProperty("会议id")
|
||||
private Long interviewId;
|
||||
|
||||
|
||||
@@ -18,8 +18,11 @@ public class PartnerPassLetterDetailVO {
|
||||
@ApiModelProperty("审核城市")
|
||||
private String verifyCity;
|
||||
|
||||
@ApiModelProperty("函文件URL")
|
||||
private String passFileUrl;
|
||||
@ApiModelProperty("函文件图片URL")
|
||||
private String passImageUrl;
|
||||
|
||||
@ApiModelProperty("函文件pdfURL")
|
||||
private String passPdfUrl;
|
||||
|
||||
@ApiModelProperty("生成日期:YYYY-MM-DD")
|
||||
private String createTime;
|
||||
|
||||
@@ -25,6 +25,6 @@ public interface PartnerInterviewService {
|
||||
/**
|
||||
* 获取通知函详情
|
||||
*/
|
||||
PartnerPassLetterDetailVO passLetterDetail(String interviewId);
|
||||
PartnerPassLetterDetailVO passLetterDetail(String interviewPlanId);
|
||||
|
||||
}
|
||||
|
||||
@@ -125,15 +125,15 @@ public class InterviewServiceImpl implements InterviewService {
|
||||
public EnterInterviewVO enterInterviewRoom(EnterInterviewDto dto) {
|
||||
try {
|
||||
//1. 将面试状态改为 --> 2已开始
|
||||
interviewMapper.updateInterviewStatus(dto.getInterviewId(), 2);
|
||||
interviewMapper.updateInterviewStatus(dto.getInterviewPlanId(), 2);
|
||||
//3. 修改面试实际开始时间,以第一个人进来的时间为准,后续不再修改
|
||||
interviewMapper.updateActualStartTime(dto.getInterviewId(), DateUtil.now());
|
||||
interviewMapper.updateActualStartTime(dto.getInterviewPlanId(), DateUtil.now());
|
||||
//4. 修改加盟商或面试官进入面试时间
|
||||
interviewMapper.updateEnterTime(dto.getInterviewId(), dto.getUserType(), DateUtil.now());
|
||||
interviewMapper.updateEnterTime(dto.getInterviewPlanId(), dto.getUserType(), DateUtil.now());
|
||||
//5. 加盟商如果进入了,就修改面试计划表 is_partner_interview 字段
|
||||
interviewMapper.updateWhetherPartnerEnter(dto.getInterviewId());
|
||||
interviewMapper.updateWhetherPartnerEnter(dto.getInterviewPlanId());
|
||||
//6. 查询对应的面试官id、姓名及加盟商姓名
|
||||
EnterInterviewVO vo = interviewMapper.getInterviewerByInterviewId(dto.getInterviewId());
|
||||
EnterInterviewVO vo = interviewMapper.getInterviewerByInterviewPlanId(dto.getInterviewPlanId());
|
||||
//生成 userSign
|
||||
String userSig = TRTCUtils.genUserSig(sdkAppId, key, dto.getUserId());
|
||||
vo.setUserSign(userSig);
|
||||
|
||||
@@ -9,6 +9,7 @@ import com.cool.store.exception.ServiceException;
|
||||
import com.cool.store.mapper.HyPartnerInterviewMapper;
|
||||
import com.cool.store.oss.OSSServer;
|
||||
import com.cool.store.service.PartnerInterviewService;
|
||||
import com.cool.store.utils.PDFUtils;
|
||||
import com.cool.store.utils.PassLetterUtils;
|
||||
import com.cool.store.utils.TRTCUtils;
|
||||
import com.cool.store.vo.EnterInterviewVO;
|
||||
@@ -59,15 +60,15 @@ public class PartnerInterviewServiceImpl implements PartnerInterviewService {
|
||||
public EnterInterviewVO enterInterviewRoom(EnterInterviewDto dto) {
|
||||
try {
|
||||
//1. 将面试状态改为 --> 2已开始
|
||||
interviewMapper.updateInterviewStatus(dto.getInterviewId(), 2);
|
||||
interviewMapper.updateInterviewStatus(dto.getInterviewPlanId(), 2);
|
||||
//3. 修改面试实际开始时间,以第一个人进来的时间为准,后续不再修改
|
||||
interviewMapper.updateActualStartTime(dto.getInterviewId(), DateUtil.now());
|
||||
interviewMapper.updateActualStartTime(dto.getInterviewPlanId(), DateUtil.now());
|
||||
//4. 修改加盟商或面试官进入面试时间
|
||||
interviewMapper.updateEnterTime(dto.getInterviewId(), dto.getUserType(), DateUtil.now());
|
||||
interviewMapper.updateEnterTime(dto.getInterviewPlanId(), dto.getUserType(), DateUtil.now());
|
||||
//5. 加盟商如果进入了,就修改面试计划表 is_partner_interview 字段
|
||||
interviewMapper.updateWhetherPartnerEnter(dto.getInterviewId());
|
||||
interviewMapper.updateWhetherPartnerEnter(dto.getInterviewPlanId());
|
||||
//6. 查询对应的面试官id、姓名及加盟商姓名
|
||||
EnterInterviewVO vo = interviewMapper.getInterviewerByInterviewId(dto.getInterviewId());
|
||||
EnterInterviewVO vo = interviewMapper.getInterviewerByInterviewPlanId(dto.getInterviewPlanId());
|
||||
//生成 userSign
|
||||
String userSig = TRTCUtils.genUserSig(sdkAppId, key, dto.getUserId());
|
||||
vo.setUserSign(userSig);
|
||||
@@ -79,11 +80,10 @@ public class PartnerInterviewServiceImpl implements PartnerInterviewService {
|
||||
|
||||
/**
|
||||
* 获取通知函详情
|
||||
* TODO 暂时将生成通过函文件的功能放在这里方便测试和联调,审批通过的回调方法完成后应该放到该方法中
|
||||
*/
|
||||
@Override
|
||||
public PartnerPassLetterDetailVO passLetterDetail(String interviewId) {
|
||||
PartnerPassLetterDetailVO vo = interviewMapper.getPassLetterDetail(interviewId);
|
||||
public PartnerPassLetterDetailVO passLetterDetail(String interviewPlanId) {
|
||||
PartnerPassLetterDetailVO vo = interviewMapper.getPassLetterDetail(interviewPlanId);
|
||||
//解析意向开店区域为市级行政区
|
||||
String verifyCity = vo.getVerifyCity();
|
||||
String[] split = verifyCity.split("/");
|
||||
@@ -97,33 +97,52 @@ public class PartnerInterviewServiceImpl implements PartnerInterviewService {
|
||||
} else {
|
||||
System.out.println("wrong");
|
||||
}
|
||||
// TODO 调用生成通过函和修改数据库数据的方法
|
||||
String passCode = genPassLetterAndUpdateDB(vo, interviewId);
|
||||
verifyCity = vo.getVerifyCity();
|
||||
// 调用生成通过函和修改数据库数据的方法
|
||||
String passCode = genPassLetterAndUpdateDB(vo, interviewPlanId);
|
||||
//再查一次 vo
|
||||
vo = interviewMapper.getPassLetterDetail(interviewId);
|
||||
vo = interviewMapper.getPassLetterDetail(interviewPlanId);
|
||||
//有效期为审批通过次日起第 60 天的 23:59:59,由此倒推 createTime
|
||||
DateTime expiryDate = DateUtil.parseDate(vo.getExpiryDate());
|
||||
DateTime createTime = DateUtil.offsetDay(expiryDate, -60);
|
||||
vo.setCreateTime(DateUtil.format(createTime, "yyyy-MM-dd"));
|
||||
vo.setVerifyCity((verifyCity));
|
||||
return vo;
|
||||
}
|
||||
|
||||
/**
|
||||
* TODO 暂时将生成 passLetter 并上传 OSS 和修改数据库对应信息的方法放在这里,实际应该在 800 的回调方法中
|
||||
* 生成通知函上传 OSS 和修改数据库相应数据
|
||||
* @return passCode
|
||||
*/
|
||||
private String genPassLetterAndUpdateDB(PartnerPassLetterDetailVO passLetterDetail, String interviewId) {
|
||||
//已经有 passCode 的话就不要再生成了,默认上游全部数据都正确
|
||||
if (ObjectUtil.isEmpty(passLetterDetail.getPassCode())) {
|
||||
DateTime createTime = DateUtil.date();
|
||||
String code = passLetterDetail.getPassCode() == null ? PassLetterUtils.genPassCode(createTime) : passLetterDetail.getPassCode();
|
||||
ByteArrayOutputStream outputStream = PassLetterUtils.genPassLetter(passLetterDetail.getPartnerName(), code, passLetterDetail.getVerifyCity(), createTime);
|
||||
ByteArrayInputStream inputStream = new ByteArrayInputStream(outputStream.toByteArray());
|
||||
String passFileUrl = ossServer.uploadFileServer(inputStream, "partner/passLetter/" + code + ".pdf");
|
||||
//计算有效期截至日期
|
||||
DateTime expiryDate = DateUtil.offsetDay(createTime, 60);
|
||||
String expiryDateStr = DateUtil.format(expiryDate, "yyyy-MM-dd") + " 23:59:59";
|
||||
interviewMapper.updatePassLetterInfo(code, passFileUrl, expiryDateStr, interviewId);
|
||||
//已经有文件 URL 的话就不要再生成了,默认上游全部数据都正确
|
||||
if (ObjectUtil.isEmpty(passLetterDetail.getPassPdfUrl()) || ObjectUtil.isEmpty(passLetterDetail.getPassImageUrl())) {
|
||||
try {
|
||||
DateTime createTime = DateUtil.date();
|
||||
String code = passLetterDetail.getPassCode() == null ? PassLetterUtils.genPassCode(createTime) : passLetterDetail.getPassCode();
|
||||
//生成的 pdf 通过函内存输出流
|
||||
ByteArrayOutputStream pdfOut = PassLetterUtils.genPassLetter(passLetterDetail.getPartnerName(), code, passLetterDetail.getVerifyCity(), createTime);
|
||||
FileOutputStream fileOutputStream = new FileOutputStream("passLetter.pdf");
|
||||
fileOutputStream.write(pdfOut.toByteArray());
|
||||
fileOutputStream.close();
|
||||
//生成的 pdf 通过函内存输入流
|
||||
ByteArrayInputStream inputStream = new ByteArrayInputStream(pdfOut.toByteArray());
|
||||
// String passPdfUrl = ossServer.uploadFileServer(inputStream, "partner/passLetter/" + code + ".pdf");
|
||||
String passPdfUrl = "";
|
||||
//转换为图片
|
||||
inputStream.reset();
|
||||
ByteArrayOutputStream imageOut = PDFUtils.pdf2Img(inputStream, 2.0f);
|
||||
//上传 OSS
|
||||
// String passImageUrl = ossServer.uploadFileServer(inputStream, "partner/passLetter/" + code + ".jpg");
|
||||
String passImageUrl = "";
|
||||
//计算有效期截止日期
|
||||
DateTime expiryDate = DateUtil.offsetDay(createTime, 60);
|
||||
String expiryDateStr = DateUtil.format(expiryDate, "yyyy-MM-dd") + " 23:59:59";
|
||||
interviewMapper.updatePassLetterInfo(code, passPdfUrl, passImageUrl, expiryDateStr, interviewId);
|
||||
inputStream.close();
|
||||
} catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
return passLetterDetail.getPassCode();
|
||||
}
|
||||
|
||||
@@ -33,8 +33,8 @@ public class InterviewController {
|
||||
|
||||
@PostMapping("/passLetter/detail")
|
||||
@ApiOperation("通过函详情")
|
||||
public ResponseResult<PartnerPassLetterDetailVO> passLetterDetail(@RequestParam String interviewId) {
|
||||
return ResponseResult.success(interviewService.passLetterDetail(interviewId));
|
||||
public ResponseResult<PartnerPassLetterDetailVO> passLetterDetail(@RequestParam String interviewPlanId) {
|
||||
return ResponseResult.success(interviewService.passLetterDetail(interviewPlanId));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
BIN
coolstore-partner-webc/src/main/resources/static/simsun.ttc
Normal file
BIN
coolstore-partner-webc/src/main/resources/static/simsun.ttc
Normal file
Binary file not shown.
Reference in New Issue
Block a user