|
|
@@ -14,6 +14,8 @@ import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
|
import vip.xiaonuo.auth.core.pojo.SaBaseLoginUser;
|
|
|
+import vip.xiaonuo.common.exception.CommonException;
|
|
|
+import vip.xiaonuo.common.pojo.CommonResult;
|
|
|
import vip.xiaonuo.dev.api.DevDictApi;
|
|
|
import vip.xiaonuo.disk.domain.Semester;
|
|
|
import vip.xiaonuo.disk.mapper.MajorMapper;
|
|
|
@@ -235,58 +237,64 @@ public class QuestionServiceImpl extends BaseServiceImpl<Question> implements Qu
|
|
|
* 检查导入的Excel文件
|
|
|
*/
|
|
|
@Override
|
|
|
- public JSONObject checkExcel(MultipartFile file, SaBaseLoginUser currentUser) {
|
|
|
+ public CommonResult checkExcel(MultipartFile file, SaBaseLoginUser currentUser) {
|
|
|
JSONObject result = new JSONObject();
|
|
|
try {
|
|
|
if(currentUser == null || currentUser.getId() == null){
|
|
|
- throw new RuntimeException("未登录!!!");
|
|
|
+ return CommonResult.error("未登录!!!");
|
|
|
}
|
|
|
- return checkExcelData(file, result, false);
|
|
|
+ return CommonResult.data(checkExcelData(file, result, false));
|
|
|
} catch (Exception e) {
|
|
|
System.err.println("检查导入的Excel文件失败!!!");
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
- return result;
|
|
|
+ return CommonResult.data(result);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 导入Excel文件
|
|
|
*/
|
|
|
@Override
|
|
|
- public JSONObject loadExcel(MultipartFile file, SaBaseLoginUser currentUser) {
|
|
|
+ public CommonResult loadExcel(MultipartFile file, SaBaseLoginUser currentUser) {
|
|
|
JSONObject result = new JSONObject();
|
|
|
try {
|
|
|
if(currentUser == null || currentUser.getId() == null){
|
|
|
- throw new RuntimeException("未登录!!!");
|
|
|
+ return CommonResult.error("未登录!!!");
|
|
|
+ }
|
|
|
+ CommonResult checkResult = checkExcelData(file, result, true);
|
|
|
+ if(checkResult.getCode().equals(500)){
|
|
|
+ return CommonResult.error(checkResult.getMsg());
|
|
|
}
|
|
|
- JSONObject checkResult = checkExcelData(file, result, true);
|
|
|
- if (checkResult.getIntValue("questionErrorCount") !=0 || checkResult.getJSONArray("questionOKList").isEmpty()) {
|
|
|
+
|
|
|
+
|
|
|
+ JSONObject jsonObject=(JSONObject)checkResult.getData();
|
|
|
+ if (jsonObject.getIntValue("questionErrorCount") !=0 || jsonObject.getJSONArray("questionOKList").isEmpty()) {
|
|
|
// 有错误的数据返回检查结果
|
|
|
- return checkResult.getJSONObject("data");
|
|
|
+ return CommonResult.data(jsonObject.getJSONObject("data"));
|
|
|
}else{
|
|
|
// 无错误执行导入
|
|
|
- List<QuestionExcel> questionOKList = checkResult.getJSONArray("questionOKList").toJavaList(QuestionExcel.class);
|
|
|
- return saveFromLoad(questionOKList,currentUser.getId(),result);
|
|
|
+ List<QuestionExcel> questionOKList = jsonObject.getJSONArray("questionOKList").toJavaList(QuestionExcel.class);
|
|
|
+ return CommonResult.data(saveFromLoad(questionOKList,currentUser.getId(),result));
|
|
|
}
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
- return result;
|
|
|
+ return CommonResult.data(result);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 检查导入的数据
|
|
|
* backAllData 是否返回所有数据
|
|
|
*/
|
|
|
- public JSONObject checkExcelData(MultipartFile file, JSONObject result, boolean backAllData) {
|
|
|
+ public CommonResult checkExcelData(MultipartFile file, JSONObject result, boolean backAllData) {
|
|
|
try {
|
|
|
String fileName = file.getOriginalFilename();
|
|
|
if (fileName == null){
|
|
|
- throw new RuntimeException("请上传xlsx导入数据文件!!!");
|
|
|
+ return CommonResult.error("请上传xlsx导入数据文件!!!");
|
|
|
}
|
|
|
String suffix = FileUtil.getSuffix(fileName);
|
|
|
if (!suffix.equals("xlsx")) {
|
|
|
- throw new RuntimeException("请上传xlsx导入数据文件!!!");
|
|
|
+ return CommonResult.error("请上传xlsx导入数据文件!!!");
|
|
|
}
|
|
|
|
|
|
// 创建临时文件
|
|
|
@@ -440,15 +448,15 @@ public class QuestionServiceImpl extends BaseServiceImpl<Question> implements Qu
|
|
|
result.put("allData", questionList);
|
|
|
result.put("questionOKList", questionOKList);
|
|
|
}
|
|
|
- return result;
|
|
|
+ return CommonResult.data(result);
|
|
|
}else{
|
|
|
- throw new RuntimeException("导入的Excel文件内容为空!!!");
|
|
|
+ return CommonResult.error("导入的Excel文件内容为空!!!");
|
|
|
}
|
|
|
} catch (Exception e) {
|
|
|
System.err.println("checkExcelData 检查导入的Excel文件失败!!!");
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
- return result;
|
|
|
+ return CommonResult.data(result);
|
|
|
}
|
|
|
|
|
|
|