فهرست منبع

港大文件加压导入时,文件编号解析逻辑调整为先按空格分隔,没有空格时以第一个中文进行分割

WuYi 1 هفته پیش
والد
کامیت
f56920db07

+ 23 - 0
ibps-comp-root/modules/comp-file-server/src/main/java/com/lc/ibps/cloud/file/provider/DownloadProvider.java

@@ -560,6 +560,29 @@ public class DownloadProvider extends GenericUploadProvider implements IDownload
 			return result;
 		}
 
+		// 2. 没有空格时,寻找第一个中文字符进行分割
+		int chineseIdx = -1;
+		for (int i = 0; i < normalizedFileName.length(); i++) {
+			char c = normalizedFileName.charAt(i);
+			// 使用 UnicodeScript 判断是否为中文字符
+			if (Character.UnicodeScript.of(c) == Character.UnicodeScript.HAN) {
+				chineseIdx = i;
+				break;
+			}
+		}
+
+		if (chineseIdx > 0) {
+			// 第一个中文不在开头,则前半部分为文件号,从中文开始为文件名
+			String wenJianHao = normalizedFileName.substring(0, chineseIdx).trim();
+			String wenJianMing = normalizedFileName.substring(chineseIdx).trim();
+
+			if (StringUtils.isNotBlank(wenJianHao) && StringUtils.isNotBlank(wenJianMing)) {
+				result.put(KEY_WEN_JIAN_HAO, wenJianHao);
+				result.put(KEY_WEN_JIAN_MING, wenJianMing);
+				return result;
+			}
+		}
+
 		result.put(KEY_WEN_JIAN_HAO, parts[0].trim());
 		result.put(KEY_WEN_JIAN_MING, parts[1].trim());
 		return result;