|
@@ -109,6 +109,9 @@ public class GenerateCodeServiceImpl implements GenerateCodeService {
|
|
|
/** 允许单个码生成重复的次数 */
|
|
|
private static final int REPEAT_BUILD_CODE_TIMES = 10;
|
|
|
|
|
|
+ /** 加密文件第二行揭秘开来的内容 */
|
|
|
+ private static final String QR_PACKAGE_CHECK_LINE = "ABI I-QMS";
|
|
|
+
|
|
|
/**
|
|
|
* 生成码
|
|
|
*/
|
|
@@ -504,6 +507,9 @@ public class GenerateCodeServiceImpl implements GenerateCodeService {
|
|
|
private String createCodeFile(QrPackage qrPackage,BaseFactory coverFactory, QrRepertoryVO qrRepertory,
|
|
|
Map<Long,QrBoxCodeFormatSplit> splitCache,String batchNumber,QrBoxCodeFormat boxCodeFormat,
|
|
|
ArrayList<File> fileList,List<QrData> codeList) {
|
|
|
+ //是按行加密
|
|
|
+ boolean isLineEncode = QrCodeEncodeTypeEnum.LINE_ENCODE.is(coverFactory.getIsQrCodeEncode());
|
|
|
+
|
|
|
List<QrRepertoryColumnVO> qrRepertoryColumnList = qrRepertory.getQrRepertoryColumnList();
|
|
|
List<String> columnNameList = new ArrayList<>();
|
|
|
StringBuilder content = new StringBuilder();
|
|
@@ -536,8 +542,11 @@ public class GenerateCodeServiceImpl implements GenerateCodeService {
|
|
|
}
|
|
|
content.append("\r\n");
|
|
|
|
|
|
- // 2-第二行放固定的校验密钥;密钥样式为:ABI I-QMS,放置于码包内第二行
|
|
|
- String checkInfo = AesEncodeUtil.aesEncode("ABI I-QMS", encodeKey);
|
|
|
+ // 2-第二行放固定的校验密钥;密钥样式为:ABI I-QMS,放置于码包内第二行(如果是按行加密则单独加密这一行,否则就不加密放着,最后整个文件会打包加密的)
|
|
|
+ String checkInfo = QR_PACKAGE_CHECK_LINE;
|
|
|
+ if(isLineEncode){
|
|
|
+ checkInfo = AesEncodeUtil.aesEncode(checkInfo, encodeKey);
|
|
|
+ }
|
|
|
content.append(checkInfo);
|
|
|
content.append("\r\n");
|
|
|
|
|
@@ -564,7 +573,7 @@ public class GenerateCodeServiceImpl implements GenerateCodeService {
|
|
|
String innerData = String.join(",",codeTextList);
|
|
|
|
|
|
// *特殊逻辑,单行加密 如果是单行加密就在这个地方加密
|
|
|
- if(QrCodeEncodeTypeEnum.LINE_ENCODE.is(coverFactory.getIsQrCodeEncode())){
|
|
|
+ if(isLineEncode){
|
|
|
innerData = AesEncodeUtil.aesEncode(innerData, encodeKey);
|
|
|
}
|
|
|
|