|
@@ -1,47 +1,44 @@
|
|
|
package com.ruoyi.framework.manager.factory;
|
|
|
|
|
|
-import java.io.File;
|
|
|
-import java.io.IOException;
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
-import java.util.TimerTask;
|
|
|
-import java.util.concurrent.TimeUnit;
|
|
|
-import java.util.stream.Collectors;
|
|
|
-
|
|
|
import com.ruoyi.common.config.RuoYiConfig;
|
|
|
+import com.ruoyi.common.constant.Constants;
|
|
|
import com.ruoyi.common.core.redis.RedisCache;
|
|
|
+import com.ruoyi.common.utils.LogUtils;
|
|
|
+import com.ruoyi.common.utils.ServletUtils;
|
|
|
+import com.ruoyi.common.utils.StringUtils;
|
|
|
import com.ruoyi.common.utils.file.FileUploadUtils;
|
|
|
+import com.ruoyi.common.utils.ip.AddressUtils;
|
|
|
+import com.ruoyi.common.utils.ip.IpUtils;
|
|
|
+import com.ruoyi.common.utils.spring.SpringUtils;
|
|
|
import com.ruoyi.common.utils.uuid.Seq;
|
|
|
+import com.ruoyi.system.domain.SysLogininfor;
|
|
|
+import com.ruoyi.system.domain.SysOperLog;
|
|
|
import com.ruoyi.system.domain.guarantee.GuaranteeInfo;
|
|
|
import com.ruoyi.system.domain.guarantee.GuaranteeInfoFj;
|
|
|
import com.ruoyi.system.domain.loan.LoanApplicationFj;
|
|
|
import com.ruoyi.system.domain.loan.ShareholderFj;
|
|
|
import com.ruoyi.system.mapper.GuaranteeInfoFjMapper;
|
|
|
import com.ruoyi.system.mapper.ShareholderFjMapper;
|
|
|
+import com.ruoyi.system.service.ISysLogininforService;
|
|
|
+import com.ruoyi.system.service.ISysOperLogService;
|
|
|
import com.ruoyi.system.service.guarantee.IGuaranteeInfoFjService;
|
|
|
import com.ruoyi.system.service.loan.ILoanApplicationFjService;
|
|
|
+import eu.bitwalker.useragentutils.UserAgent;
|
|
|
import org.apache.commons.io.FilenameUtils;
|
|
|
import org.apache.commons.lang3.ObjectUtils;
|
|
|
import org.slf4j.Logger;
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
-import com.ruoyi.common.constant.Constants;
|
|
|
-import com.ruoyi.common.utils.LogUtils;
|
|
|
-import com.ruoyi.common.utils.ServletUtils;
|
|
|
-import com.ruoyi.common.utils.StringUtils;
|
|
|
-import com.ruoyi.common.utils.ip.AddressUtils;
|
|
|
-import com.ruoyi.common.utils.ip.IpUtils;
|
|
|
-import com.ruoyi.common.utils.spring.SpringUtils;
|
|
|
-import com.ruoyi.system.domain.SysLogininfor;
|
|
|
-import com.ruoyi.system.domain.SysOperLog;
|
|
|
-import com.ruoyi.system.service.ISysLogininforService;
|
|
|
-import com.ruoyi.system.service.ISysOperLogService;
|
|
|
-import eu.bitwalker.useragentutils.UserAgent;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
-import org.springframework.scheduling.annotation.Async;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
-import javax.annotation.Resource;
|
|
|
+import java.io.File;
|
|
|
+import java.io.IOException;
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
+import java.util.TimerTask;
|
|
|
+import java.util.concurrent.TimeUnit;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
import static com.ruoyi.common.constant.CommonConstants.*;
|
|
|
|
|
@@ -170,10 +167,15 @@ public class AsyncFactory {
|
|
|
Map<String, List<LoanApplicationFj>> typeMap = loanApplicationFjListA.stream().collect(Collectors.groupingBy(LoanApplicationFj::getType));
|
|
|
List<LoanApplicationFj> list = new ArrayList<>();
|
|
|
for (String type : typeMap.keySet()) {
|
|
|
+ List<String> typeList = new ArrayList<>();
|
|
|
+ String fjName = "";
|
|
|
List<LoanApplicationFj> loanApplicationFjListInsert = typeMap.get(type);
|
|
|
- //获取附件名称
|
|
|
- String fjName = loanApplicationFjListInsert.get(0).getName().split("_")[0];
|
|
|
- List<String> typeList = loanApplicationFjListInsert.stream().filter(e -> type.equals(e.getType()) && ("png".equals(e.getName().split("\\.")[1]) || "jpg".equals(e.getName().split("\\.")[1]) || "jpeg".equals(e.getName().split("\\.")[1]))).map(LoanApplicationFj::getUrl).collect(Collectors.toList());
|
|
|
+ //公司营业执照名称没有后缀名
|
|
|
+ if (!"gsyyzhz".equals(type)) {
|
|
|
+ //获取附件名称
|
|
|
+ fjName = loanApplicationFjListInsert.get(0).getName().split("_")[0];
|
|
|
+ typeList = loanApplicationFjListInsert.stream().filter(e -> type.equals(e.getType()) && ("png".equals(e.getName().split("\\.")[1]) || "jpg".equals(e.getName().split("\\.")[1]) || "jpeg".equals(e.getName().split("\\.")[1]))).map(LoanApplicationFj::getUrl).collect(Collectors.toList());
|
|
|
+ }
|
|
|
if (typeList.size() > 0) {
|
|
|
for (int i = 0; i < typeList.size(); i++) {
|
|
|
///profile/upload/RZDB202405281147018884551/公司章程_20240528114820A002.png 前缀替换
|
|
@@ -205,7 +207,7 @@ public class AsyncFactory {
|
|
|
createPdfFromImages(list, loanApplicationFjList, typeList, loanApplicationNumber, fjName + "_" + Seq.getId(Seq.uploadSeqType), type, bigType);
|
|
|
}
|
|
|
}
|
|
|
- if (list.size() > 0){
|
|
|
+ if (list.size() > 0) {
|
|
|
// 插入数据
|
|
|
SpringUtils.getBean(ILoanApplicationFjService.class).insertLoanApplicationFj(list);
|
|
|
}
|
|
@@ -253,7 +255,7 @@ public class AsyncFactory {
|
|
|
* @return
|
|
|
*/
|
|
|
|
|
|
- public static TimerTask createPdfFromImagesShareholder(List<ShareholderFj> shareholderFjList, String loanApplicationNumber,Long loanApplicationId) {
|
|
|
+ public static TimerTask createPdfFromImagesShareholder(List<ShareholderFj> shareholderFjList, String loanApplicationNumber, Long loanApplicationId) {
|
|
|
return new TimerTask() {
|
|
|
@Override
|
|
|
public void run() {
|
|
@@ -399,7 +401,7 @@ public class AsyncFactory {
|
|
|
}
|
|
|
}
|
|
|
//生成PDF数据库数据
|
|
|
- createPdfFromImagesGuaranteeInfoFj(list,guaranteeInfoFjInsert, imagePaths, loanApplicationNumber, fjName + "_" + Seq.getId(Seq.uploadSeqType), type, loanApplicationId, guaranteeInfoId);
|
|
|
+ createPdfFromImagesGuaranteeInfoFj(list, guaranteeInfoFjInsert, imagePaths, loanApplicationNumber, fjName + "_" + Seq.getId(Seq.uploadSeqType), type, loanApplicationId, guaranteeInfoId);
|
|
|
}
|
|
|
}
|
|
|
//判断是否有反担保GuaranteeInfoFjId
|
|
@@ -418,7 +420,7 @@ public class AsyncFactory {
|
|
|
}
|
|
|
}
|
|
|
//插入附件数据库数据生成的pdf
|
|
|
- if (list.size() > 0){
|
|
|
+ if (list.size() > 0) {
|
|
|
SpringUtils.getBean(IGuaranteeInfoFjService.class).batchGuaranteeInfoFj(list);
|
|
|
}
|
|
|
redisCache.deleteObject(key);
|
|
@@ -432,7 +434,7 @@ public class AsyncFactory {
|
|
|
* @param originalFilename pdf文件名称
|
|
|
* @param type 文件类型
|
|
|
*/
|
|
|
- public static List<GuaranteeInfoFj> createPdfFromImagesGuaranteeInfoFj( List<GuaranteeInfoFj> list ,List<GuaranteeInfoFj> guaranteeInfoFjInsert, List<String> imagePaths, String loanApplicationNumber, String originalFilename, String type, Long loanApplicationId, Long guaranteeInfoId) {
|
|
|
+ public static List<GuaranteeInfoFj> createPdfFromImagesGuaranteeInfoFj(List<GuaranteeInfoFj> list, List<GuaranteeInfoFj> guaranteeInfoFjInsert, List<String> imagePaths, String loanApplicationNumber, String originalFilename, String type, Long loanApplicationId, Long guaranteeInfoId) {
|
|
|
// 上传文件路径 = 根+申请编号
|
|
|
String filePath = StringUtils.format("{}/{}/{}.{}", RuoYiConfig.getUploadPath(), loanApplicationNumber,
|
|
|
FilenameUtils.getBaseName(originalFilename), "pdf");
|