|
|
@@ -617,10 +617,11 @@ public class ClassServiceImpl implements ClassService {
|
|
|
Row headerRow = sheet.getRow(0);
|
|
|
int nameCol = findColumnIndex(headerRow, "学生姓名", "姓名");
|
|
|
int numberCol = findColumnIndex(headerRow, "学生学号", "学号");
|
|
|
- int phoneCol = findColumnIndex(headerRow, "手机号", "手机号码");
|
|
|
+ int phoneCol = findColumnIndex(headerRow, "手机号", "手机号码", "学生电话");
|
|
|
|
|
|
- if (nameCol == -1 || numberCol == -1 || phoneCol == -1) {
|
|
|
- throw new MyException(400, "文件缺少必要列:学生姓名 / 学生学号 / 手机号");
|
|
|
+ List<String> missingColumns = getMissingRequiredColumns(nameCol, numberCol, phoneCol);
|
|
|
+ if (!missingColumns.isEmpty()) {
|
|
|
+ throw new MyException(400, "文件缺少必要列:" + String.join(" / ", missingColumns));
|
|
|
}
|
|
|
|
|
|
for (int i = 1; i <= sheet.getLastRowNum(); i++) {
|
|
|
@@ -651,10 +652,11 @@ public class ClassServiceImpl implements ClassService {
|
|
|
|
|
|
int nameCol = findColumnIndex(header, "学生姓名", "姓名");
|
|
|
int numberCol = findColumnIndex(header, "学生学号", "学号");
|
|
|
- int phoneCol = findColumnIndex(header, "手机号", "手机号码");
|
|
|
+ int phoneCol = findColumnIndex(header, "手机号", "手机号码", "学生电话");
|
|
|
|
|
|
- if (nameCol == -1 || numberCol == -1 || phoneCol == -1) {
|
|
|
- throw new MyException(400, "文件缺少必要列:学生姓名 / 学生学号 / 手机号");
|
|
|
+ List<String> missingColumns = getMissingRequiredColumns(nameCol, numberCol, phoneCol);
|
|
|
+ if (!missingColumns.isEmpty()) {
|
|
|
+ throw new MyException(400, "文件缺少必要列:" + String.join(" / ", missingColumns));
|
|
|
}
|
|
|
|
|
|
String[] nextRecord;
|
|
|
@@ -683,6 +685,20 @@ public class ClassServiceImpl implements ClassService {
|
|
|
return rows;
|
|
|
}
|
|
|
|
|
|
+ private List<String> getMissingRequiredColumns(int nameCol, int numberCol, int phoneCol) {
|
|
|
+ List<String> missingColumns = new ArrayList<>();
|
|
|
+ if (nameCol == -1) {
|
|
|
+ missingColumns.add("学生姓名");
|
|
|
+ }
|
|
|
+ if (numberCol == -1) {
|
|
|
+ missingColumns.add("学生学号");
|
|
|
+ }
|
|
|
+ if (phoneCol == -1) {
|
|
|
+ missingColumns.add("手机号");
|
|
|
+ }
|
|
|
+ return missingColumns;
|
|
|
+ }
|
|
|
+
|
|
|
private int findColumnIndex(Row headerRow, String... columnNames) {
|
|
|
if (headerRow == null) {
|
|
|
return -1;
|