From 7c2c09439da3dccf1e032e89e1cb950b8fa1cc26 Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Tue, 01 Mar 2022 20:09:57 +0800
Subject: [PATCH] 健康证,合同基础接口编写

---
 src/main/java/org/springblade/modules/resource/endpoint/OssEndpoint.java |   40 +++++++++++++++++++++++++++++++---------
 1 files changed, 31 insertions(+), 9 deletions(-)

diff --git a/src/main/java/org/springblade/modules/resource/endpoint/OssEndpoint.java b/src/main/java/org/springblade/modules/resource/endpoint/OssEndpoint.java
index c7ea9d5..49f2d04 100644
--- a/src/main/java/org/springblade/modules/resource/endpoint/OssEndpoint.java
+++ b/src/main/java/org/springblade/modules/resource/endpoint/OssEndpoint.java
@@ -21,6 +21,7 @@
 import io.swagger.annotations.Api;
 import lombok.AllArgsConstructor;
 import lombok.SneakyThrows;
+import org.apache.commons.lang3.StringUtils;
 import org.springblade.common.config.FileConfig;
 import org.springblade.common.config.FtpConfig;
 import org.springblade.common.utils.FileUtil;
@@ -44,6 +45,7 @@
 import org.springblade.modules.resource.service.IAttachService;
 import org.springblade.modules.system.entity.User;
 import org.springblade.modules.system.service.IUserService;
+import org.springblade.modules.system.service.MyAsyncService;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 import java.io.File;
@@ -54,6 +56,7 @@
 import java.security.NoSuchAlgorithmException;
 import java.text.SimpleDateFormat;
 import java.util.*;
+import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.regex.Pattern;
 import static org.springblade.common.config.FtpConfig.*;
 
@@ -86,6 +89,7 @@
 	private final ExamPaperService examPaperService;
 
 	private final ExamPaymentService examPaymentService;
+	private final MyAsyncService myAsyncService;
 
 	/**
 	 * 创建存储桶
@@ -189,12 +193,6 @@
 	@SneakyThrows
 	@PostMapping("/put-file-user-avatar")
 	public R putFileUserAvatar(@RequestParam MultipartFile file) {
-		long sizeL = file.getSize();
-		double size = sizeL/1024;
-
-		if (size<=30){
-			throw new ServiceException("图片大小不能低于30KB");
-		}
 		//填写你文件上传的地址以及相应信息
 		String url = "http://223.82.109.183:2081";
 		String access = "zhbaadmin";
@@ -388,7 +386,24 @@
 		//获取图片文件
 //		fileList = fileUtil.getSubFiles(desPath+File.separator+namePath,fileList);
 		fileList = fileUtil.getSubFiles(desPath,fileList);
+		//将不能导入的保安员账号存起来
+		List<String> errorList = new ArrayList<>();
+		//导入状态,默认为true ,如果有一个出现问题则为 false
+		AtomicBoolean status = new AtomicBoolean(true);
+		//遍历
 		for (MultipartFile multipartFile : fileList){
+			long size = multipartFile.getSize();
+			if (size<30*1024 || size>500*1024){
+				status.set(false);
+				//取出身份证号,查询用户信息,更新用户信息
+				String pictrueName = multipartFile.getName().substring(0, multipartFile.getName().lastIndexOf("."));
+				String regex ="[\u4e00-\u9fa5]";
+				Pattern compile = Pattern.compile(regex);
+				String idCardNo = compile.matcher(pictrueName).replaceAll("");
+				//加入集合
+				errorList.add(idCardNo);
+
+			}
 			if(multipartFile.getName().toLowerCase().endsWith(".png") || multipartFile.getName().toLowerCase().endsWith(".jpg")) {
 				String newName = "upload/picture/" + UUID.randomUUID().toString().replaceAll("-", "") + multipartFile.getName().substring(multipartFile.getName().lastIndexOf("."));
 				InputStream in = multipartFile.getInputStream();
@@ -423,7 +438,8 @@
 					//内网数据推送
 					//数据推送
 					String s = "update blade_user set avatar = " + "'" + inUrl + "'" + "where id = " + "'" + user.getId() + "'";
-					FtpUtil.sqlFileUpload(s);
+					//FtpUtil.sqlFileUpload(s);
+					myAsyncService.FTP(s);
 
 					//文件推送
 					InputStream inputStream = multipartFile.getInputStream();
@@ -437,6 +453,10 @@
 		FileUtil.clearFiles(desPath);
 		//数据封装
 		map.put("data", "上传成功!");
+		if (!status.get()) {
+			String errorAccount = StringUtils.join(errorList, "\\\n");
+			throw new ServiceException("用户:[" + errorAccount + "]照片导入失败!照片不能小于30KB,且不能大于500KB!!");
+		}
 		//返回
 		return R.data(map);
 	}
@@ -541,7 +561,8 @@
 						"," + "'" + examPayment.getWorkerId() + "'" +
 						"," + "'" + examPayment.getPaymentStatus() + "'" +
 						"," +"'" + inUrl + "'" + ")";
-					FtpUtil.sqlFileUpload(s);
+					//FtpUtil.sqlFileUpload(s);
+					myAsyncService.FTP(s);
 
 					//文件推送
 					InputStream inputStream = multipartFile.getInputStream();
@@ -737,7 +758,8 @@
 		} else {
 			s1 += ")";
 		}
-		FtpUtil.sqlFileUpload(s1);
+		//FtpUtil.sqlFileUpload(s1);
+		myAsyncService.FTP(s1);
 		return attach.getId();
 	}
 

--
Gitblit v1.9.3