Browse Source

Merge remote-tracking branch 'origin/master'

tags/24080901
WendyYang 1 year ago
parent
commit
a2c7c53f7c
7 changed files with 82 additions and 64 deletions
  1. BIN
      font/simsun.ttc
  2. +5
    -0
      pmapi/pom.xml
  3. +4
    -1
      pmapi/src/main/java/com/ningdatech/pmapi/expert/helper/ExpertManageHelper.java
  4. +7
    -6
      pmapi/src/main/java/com/ningdatech/pmapi/todocenter/manage/TodoCenterManage.java
  5. +9
    -9
      pmapi/src/main/java/com/ningdatech/pmapi/todocenter/utils/PdfUtils.java
  6. +37
    -48
      pmapi/src/main/java/com/ningdatech/pmapi/user/security/auth/config/RedisSessionConfig.java
  7. +20
    -0
      pmapi/src/main/java/com/ningdatech/pmapi/workbench/controller/WorkbenchController.java

BIN
font/simsun.ttc View File


+ 5
- 0
pmapi/pom.xml View File

@@ -39,6 +39,11 @@
<artifactId>spring-boot-starter-data-redis</artifactId> <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency> </dependency>


<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session-data-redis</artifactId>
</dependency>

<!--spring boot 集成redis所需common-pool2--> <!--spring boot 集成redis所需common-pool2-->
<dependency> <dependency>
<groupId>org.apache.commons</groupId> <groupId>org.apache.commons</groupId>


+ 4
- 1
pmapi/src/main/java/com/ningdatech/pmapi/expert/helper/ExpertManageHelper.java View File

@@ -1,5 +1,6 @@
package com.ningdatech.pmapi.expert.helper; package com.ningdatech.pmapi.expert.helper;


import cn.hutool.core.collection.CollUtil;
import com.ningdatech.basic.exception.BizException; import com.ningdatech.basic.exception.BizException;
import com.ningdatech.pmapi.expert.model.*; import com.ningdatech.pmapi.expert.model.*;
import com.ningdatech.pmapi.meta.helper.DictionaryCache; import com.ningdatech.pmapi.meta.helper.DictionaryCache;
@@ -64,7 +65,9 @@ public class ExpertManageHelper {
tagFieldInfoList.addAll(goodAt); tagFieldInfoList.addAll(goodAt);
tagFieldInfoList.addAll(technicalExpertise); tagFieldInfoList.addAll(technicalExpertise);
tagFieldInfoList.addAll(industrySector); tagFieldInfoList.addAll(industrySector);
tagFieldInfoList.addAll(expertSource);
if(CollUtil.isNotEmpty(expertSource)){
tagFieldInfoList.addAll(expertSource);
}
for (TagFieldInfo tagFieldInfo : tagFieldInfoList) { for (TagFieldInfo tagFieldInfo : tagFieldInfoList) {
String tagCode = tagFieldInfo.getTagCode(); String tagCode = tagFieldInfo.getTagCode();
TagDTO tagCodeDTO = tagCache.getByTagCode(tagCode); TagDTO tagCodeDTO = tagCache.getByTagCode(tagCode);


+ 7
- 6
pmapi/src/main/java/com/ningdatech/pmapi/todocenter/manage/TodoCenterManage.java View File

@@ -2,6 +2,7 @@ package com.ningdatech.pmapi.todocenter.manage;


import cn.hutool.core.codec.Base64; import cn.hutool.core.codec.Base64;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.io.resource.ResourceUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -1037,7 +1038,7 @@ public class TodoCenterManage {
// 获取本地目录的pdf模板 // 获取本地目录的pdf模板
String fileName = "预审申请单"; String fileName = "预审申请单";
InputStream htmlInputStream = InputStream htmlInputStream =
this.getClass().getClassLoader().getResourceAsStream("template/" + fileName + ".html");
this.getClass().getClassLoader().getResourceAsStream("template" + java.io.File.separator + fileName + ".html");
// 生成pdf字节数组 // 生成pdf字节数组
byte[] pdf = pdfUtils.generatePdf(htmlInputStream, paramsMap); byte[] pdf = pdfUtils.generatePdf(htmlInputStream, paramsMap);


@@ -1059,11 +1060,11 @@ public class TodoCenterManage {
} }


// 删除输出文件夹下的临时文件 // 删除输出文件夹下的临时文件
java.io.File resourcesPath = new java.io.File("pmapi/src/main/resources");
String reportPath = resourcesPath.getCanonicalPath();
String path = reportPath + "/template/fileout";
java.io.File directory = new java.io.File(path);
FileUtils.cleanDirectory(directory);
java.io.File directory = new java.io.File("");
//pdf输出路径
String filePath = directory.getAbsolutePath() + java.io.File.separator + "fileout";
java.io.File directoryPath = new java.io.File(filePath);
FileUtils.cleanDirectory(directoryPath);
} catch (IOException e) { } catch (IOException e) {
log.error(e.getMessage()); log.error(e.getMessage());
} }


+ 9
- 9
pmapi/src/main/java/com/ningdatech/pmapi/todocenter/utils/PdfUtils.java View File

@@ -1,6 +1,8 @@
package com.ningdatech.pmapi.todocenter.utils; package com.ningdatech.pmapi.todocenter.utils;




import cn.hutool.core.io.FileUtil;
import cn.hutool.core.io.resource.ResourceUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.itextpdf.text.DocumentException; import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Image; import com.itextpdf.text.Image;
@@ -42,15 +44,13 @@ public class PdfUtils {


try { try {
File directory = new File(""); File directory = new File("");
//pdf输出路径
String absolutePath = directory.getAbsolutePath();
String linkPath = "\\pmapi\\src\\main\\resources";
String filePath = absolutePath + linkPath + "\\template\\fileout";
//临时文件输出路径
String filePath = directory.getAbsolutePath() + File.separator + "fileout";
//字体格式
String fontPath = directory.getAbsolutePath() + File.separator + "font" + File.separator + "simsun.ttc";
if(!new File(filePath).exists()){ if(!new File(filePath).exists()){
new File(filePath).mkdir(); new File(filePath).mkdir();
} }
//字体格式
String FONT = absolutePath + linkPath + "\\template\\simsun.ttc";
StringBuilder stringBuilder = new StringBuilder(); StringBuilder stringBuilder = new StringBuilder();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(templateHtmlInputStream, StandardCharsets.UTF_8)); BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(templateHtmlInputStream, StandardCharsets.UTF_8));
String line; String line;
@@ -92,7 +92,7 @@ public class PdfUtils {
ITextRenderer renderer = new ITextRenderer(); ITextRenderer renderer = new ITextRenderer();
renderer.setDocument(url); renderer.setDocument(url);
ITextFontResolver fontResolver = renderer.getFontResolver(); ITextFontResolver fontResolver = renderer.getFontResolver();
fontResolver.addFont(FONT, BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
fontResolver.addFont(fontPath, BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
renderer.layout(); renderer.layout();
renderer.createPDF(os); renderer.createPDF(os);
os.flush(); os.flush();
@@ -103,9 +103,9 @@ public class PdfUtils {
// 返回生成的pdf文件字节数组 // 返回生成的pdf文件字节数组
return readBytes(inputStream); return readBytes(inputStream);
} catch (IOException e) { } catch (IOException e) {
throw new BizException("生成pdf文件失败!");
throw new BizException("生成pdf文件失败!" + e.getMessage());
} catch (DocumentException e) { } catch (DocumentException e) {
throw new BizException("生成pdf文件失败!");
throw new BizException("生成pdf文件失败!" +e.getMessage());
} finally { } finally {
try { try {
if (null != inputStream) { if (null != inputStream) {


+ 37
- 48
pmapi/src/main/java/com/ningdatech/pmapi/user/security/auth/config/RedisSessionConfig.java View File

@@ -1,49 +1,38 @@
package com.ningdatech.pmapi.user.security.auth.config;//package com.ningdatech.pmapi.user.security.auth.config; package com.ningdatech.pmapi.user.security.auth.config;//package com.ningdatech.pmapi.user.security.auth.config;
//
//import com.ningdatech.basic.util.StrPool;
//import org.springframework.beans.factory.annotation.Value;
//import org.springframework.context.annotation.Bean;
//import org.springframework.context.annotation.Configuration;
//
///**
// * <p>
// * 设置session的过期时间为一天
// * </p>
// *
// * @Author LiuXinXin
// * @Date 2020/7/29 9:46 上午
// * @Version 1.0
// **/
//@Configuration
//@EnableRedisHttpSession(
// maxInactiveIntervalInSeconds = RedisSessionConfig.SESSION_TIMEOUT,
// redisNamespace = RedisSessionConfig.REDIS_NAMESPACE
//)
//public class RedisSessionConfig {
//
// static final int SESSION_TIMEOUT = 24 * 60 * 60 * 10;
//
// static final String REDIS_NAMESPACE = "#{redisSessionConfig.getRedisNamespace()}";
//
// @Value("${nd.cache.def.keyPrefix:}")
// private String keyPrefix;
//
// public String getRedisNamespace() {
// return (StrUtils.isBlank(keyPrefix) ? StrPool.EMPTY : keyPrefix + StrPool.COLON) + RedisIndexedSessionRepository.DEFAULT_NAMESPACE;
// }
//
// @Bean
// public CookieHttpSessionIdResolver sessionIdResolver() {
// // 创建 CookieHttpSessionIdResolver 对象
// CookieHttpSessionIdResolver sessionIdResolver = new CookieHttpSessionIdResolver();
// // 创建 DefaultCookieSerializer 对象
// DefaultCookieSerializer cookieSerializer = new DefaultCookieSerializer();
//
// // 设置到 sessionIdResolver 中
// sessionIdResolver.setCookieSerializer(cookieSerializer);
// cookieSerializer.setCookieName(BizConst.COOKIE_KEY);
// cookieSerializer.setCookieMaxAge(SessionTimeConstant.SESSION_TIME_SECONDS);
// return sessionIdResolver;
// }
//
//}

import com.ningdatech.pmapi.common.constant.BizConst;
import com.ningdatech.pmapi.user.security.auth.constants.SessionTimeConstant;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.session.data.redis.config.annotation.web.http.EnableRedisHttpSession;
import org.springframework.session.web.http.CookieHttpSessionIdResolver;
import org.springframework.session.web.http.DefaultCookieSerializer;

/**
* <p>
* 设置session的过期时间为一天
* </p>
*
* @Author LiuXinXin
* @Date 2020/7/29 9:46 上午
* @Version 1.0
**/

@Configuration
// 设置session的过期时间为一天
@EnableRedisHttpSession(maxInactiveIntervalInSeconds = 24 * 60 * 60 * 10)
public class RedisSessionConfig {

@Bean
public CookieHttpSessionIdResolver sessionIdResolver() {
// 创建 CookieHttpSessionIdResolver 对象
CookieHttpSessionIdResolver sessionIdResolver = new CookieHttpSessionIdResolver();

// 创建 DefaultCookieSerializer 对象
DefaultCookieSerializer cookieSerializer = new DefaultCookieSerializer();
sessionIdResolver.setCookieSerializer(cookieSerializer); // 设置到 sessionIdResolver 中
cookieSerializer.setCookieName(BizConst.COOKIE_KEY);
cookieSerializer.setCookieMaxAge(SessionTimeConstant.SESSION_TIME_SECONDS);
return sessionIdResolver;
}
}

+ 20
- 0
pmapi/src/main/java/com/ningdatech/pmapi/workbench/controller/WorkbenchController.java View File

@@ -0,0 +1,20 @@
package com.ningdatech.pmapi.workbench.controller;

import io.swagger.annotations.Api;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
* 工作台前端控制器
*
* @author CMM
* @since 2023/03/17 15:35
*/
@RestController
@AllArgsConstructor
@Api(tags = "工作台控制器")
@RequestMapping("/api/v1/todo-center")
public class WorkbenchController {

}

Loading…
Cancel
Save