|
@@ -504,7 +504,9 @@ public class GenerateCodeServiceImpl implements GenerateCodeService {
|
|
|
/**
|
|
|
* 创建码文件
|
|
|
*/
|
|
|
- private String createCodeFile(BaseFactory coverFactory, QrRepertoryVO qrRepertory,Map<Long,QrBoxCodeFormatSplit> splitCache,String batchNumber,QrBoxCodeFormat boxCodeFormat,ArrayList<File> fileList,List<QrData> codeList) {
|
|
|
+ private String createCodeFile(BaseFactory coverFactory, QrRepertoryVO qrRepertory,
|
|
|
+ Map<Long,QrBoxCodeFormatSplit> splitCache,String batchNumber,QrBoxCodeFormat boxCodeFormat,
|
|
|
+ ArrayList<File> fileList,List<QrData> codeList) {
|
|
|
List<QrRepertoryColumnVO> qrRepertoryColumnList = qrRepertory.getQrRepertoryColumnList();
|
|
|
List<String> columnNameList = new ArrayList<>();
|
|
|
StringBuilder content = new StringBuilder();
|
|
@@ -516,8 +518,7 @@ public class GenerateCodeServiceImpl implements GenerateCodeService {
|
|
|
}
|
|
|
Map<Long, Integer> colUrlTypeMap = qrRepertoryColumnList.stream().collect(Collectors.toMap(QrRepertoryColumnVO::getId, QrRepertoryColumnVO::getUrlType));
|
|
|
|
|
|
-
|
|
|
- // 第一行为每列的名称,用“,”分隔
|
|
|
+ // 1-第一行为每列的名称,用“,”分隔
|
|
|
for(QrRepertoryColumnVO colVO:qrRepertoryColumnList){
|
|
|
int splitNum = splitCache.containsKey(colVO.getId()) ? splitCache.get(colVO.getId()).getSplitNum() : 0;
|
|
|
if(splitNum>1){
|
|
@@ -537,7 +538,8 @@ public class GenerateCodeServiceImpl implements GenerateCodeService {
|
|
|
}
|
|
|
}
|
|
|
content.append("\r\n");
|
|
|
- // 拼接码
|
|
|
+
|
|
|
+ // 2-第二行开始拼接码
|
|
|
for (QrData qrData : codeList) {
|
|
|
List<String> codeTextList = new ArrayList<>();
|
|
|
for(QrInnerData qrInnerData:qrData.getInnerDataList()){
|
|
@@ -558,10 +560,23 @@ public class GenerateCodeServiceImpl implements GenerateCodeService {
|
|
|
}
|
|
|
}
|
|
|
String innerData = String.join(",",codeTextList);
|
|
|
+
|
|
|
+ // *特殊逻辑,单行加密 如果是单行加密就在这个地方加密
|
|
|
+ if(QrCodeEncodeTypeEnum.LINE_ENCODE.is(coverFactory.getIsQrCodeEncode())){
|
|
|
+ innerData = AesEncodeUtil.aesEncode(innerData, encodeKey);
|
|
|
+ }
|
|
|
+
|
|
|
//拼上码
|
|
|
content.append(innerData).append("\r\n");
|
|
|
}
|
|
|
- //如果文件不存在,创建一个文件
|
|
|
+
|
|
|
+ // 如果包材厂是接受加密的包材厂 则对这个text的内容加密
|
|
|
+ String contentText = content.toString();
|
|
|
+ if(QrCodeEncodeTypeEnum.FILE_ENCODE.is(coverFactory.getIsQrCodeEncode())){
|
|
|
+ contentText = AesEncodeUtil.aesEncode(contentText, encodeKey);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 3-如果文件不存在,创建一个文件
|
|
|
File file = new File("/code");
|
|
|
try{
|
|
|
if (!file.exists()) {
|
|
@@ -571,12 +586,6 @@ public class GenerateCodeServiceImpl implements GenerateCodeService {
|
|
|
log.error("创建文件异常",e);
|
|
|
}
|
|
|
|
|
|
- // 如果包材厂是接受加密的包材厂 则对这个text的内容加密
|
|
|
- String contentText = content.toString();
|
|
|
- if(TrueFalseEnum.TRUE.is(coverFactory.getIsQrCodeEncode())){
|
|
|
- contentText = AesEncodeUtil.aesEncode(contentText, encodeKey);
|
|
|
- }
|
|
|
-
|
|
|
// 生成txt
|
|
|
FileWriter fileWriter = new FileWriter(file.getPath()+"/"+ batchNumber + ".txt");
|
|
|
fileWriter.write(contentText);
|