|
@@ -21,9 +21,6 @@ import com.abi.qms.platform.service.QrPackageService;
|
|
|
import com.abi.task.common.api.exception.BusinessException;
|
|
|
import com.abi.task.common.tablestore.TableStorePlusUtils;
|
|
|
import com.abi.task.common.tablestore.common.TableStoreEntity;
|
|
|
-import com.abi.task.common.tablestore.entity.DemoEntity;
|
|
|
-import com.abi.task.common.utils.TableStoreUtils;
|
|
|
-import com.alicloud.openservices.tablestore.model.search.query.BoolQuery;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
|
|
|
import com.rabbitmq.client.Channel;
|
|
@@ -39,7 +36,6 @@ import org.redisson.api.RedissonClient;
|
|
|
import org.springframework.amqp.rabbit.annotation.RabbitHandler;
|
|
|
import org.springframework.amqp.rabbit.annotation.RabbitListener;
|
|
|
import org.springframework.amqp.support.AmqpHeaders;
|
|
|
-import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
|
import org.springframework.messaging.Message;
|
|
@@ -48,7 +44,7 @@ import net.lingala.zip4j.core.ZipFile;
|
|
|
import net.lingala.zip4j.exception.ZipException;
|
|
|
import net.lingala.zip4j.model.ZipParameters;
|
|
|
import net.lingala.zip4j.util.Zip4jConstants;
|
|
|
-import org.springframework.util.CollectionUtils;
|
|
|
+import org.springframework.util.DigestUtils;
|
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
|
import org.springframework.web.multipart.commons.CommonsMultipartFile;
|
|
|
|
|
@@ -56,6 +52,7 @@ import java.io.File;
|
|
|
import java.io.FileInputStream;
|
|
|
import java.io.IOException;
|
|
|
import java.io.OutputStream;
|
|
|
+import java.nio.charset.StandardCharsets;
|
|
|
import java.time.LocalDateTime;
|
|
|
import java.time.format.DateTimeFormatter;
|
|
|
import java.util.*;
|
|
@@ -119,7 +116,10 @@ public class GenerateCodeConsumer {
|
|
|
private File file = new File(this.getClass().getResource("/").getPath()+"/code");
|
|
|
|
|
|
//批量添加文件
|
|
|
- private ArrayList<File> files = new ArrayList<>();
|
|
|
+ private ArrayList<File> fileList = new ArrayList<>();
|
|
|
+
|
|
|
+ //批量添加文件
|
|
|
+ private ArrayList<String> fileVerifyMd5List = new ArrayList<>();
|
|
|
|
|
|
/** 允许单个码生成重复的次数 */
|
|
|
private static final int REPEAT_BUILD_CODE_TIMES = 10;
|
|
@@ -257,7 +257,7 @@ public class GenerateCodeConsumer {
|
|
|
String pas = RandomCodeUtils.getStr(6);
|
|
|
log.info("生成密码:"+pas);
|
|
|
//压缩加密文件
|
|
|
- zipEncryption(file,files,pas,zipName);
|
|
|
+ zipEncryption(file, fileList,pas,zipName);
|
|
|
//上传阿里云,并更新码包的下载路径 保存zip密码
|
|
|
try{
|
|
|
MultipartFile multipartFile = toMultipartFile(file.getPath()+"\\"+zipName, zipName);
|
|
@@ -278,6 +278,8 @@ public class GenerateCodeConsumer {
|
|
|
//3-更改生成状态为已生成
|
|
|
qrPackage.setGenerateStatus(QrPackageGenerateStatusEnum.GENERATE_SUCCESS.getCode());
|
|
|
qrPackage.setGenerateTime(LocalDateTime.now());
|
|
|
+ //将MD5的字符换逗号拼接放入码包
|
|
|
+ qrPackage.setFileVerifyMd5(String.join(",",fileVerifyMd5List));
|
|
|
//根据包材厂获取包材厂负责人邮箱
|
|
|
QueryWrapper<BaseFactory> baseQuery = new QueryWrapper<>();
|
|
|
baseQuery.eq("id", qrPackage.getFactoryCoverId());
|
|
@@ -547,7 +549,11 @@ public class GenerateCodeConsumer {
|
|
|
// 生成txt
|
|
|
FileWriter fileWriter = new FileWriter(file.getPath()+"/"+ batchNumber + ".txt");
|
|
|
fileWriter.write(content.toString());
|
|
|
- files.add(new File(file.getPath()+"/"+ batchNumber + ".txt"));
|
|
|
+ fileList.add(new File(file.getPath()+"/"+ batchNumber + ".txt"));
|
|
|
+
|
|
|
+ //生成md5(用于前端校验是否被替换)
|
|
|
+ String fileVerifyMd5 = DigestUtils.md5DigestAsHex(content.toString().getBytes(StandardCharsets.UTF_8));
|
|
|
+ fileVerifyMd5List.add(fileVerifyMd5);
|
|
|
}
|
|
|
|
|
|
/**
|