xiatian 2 years ago
parent
commit
0578ecabb4

+ 10 - 15
src/main/java/cn/com/qmth/mps/service/impl/PaperServiceImpl.java

@@ -306,6 +306,7 @@ public class PaperServiceImpl extends ServiceImpl<PaperDao, PaperEntity> impleme
 				} else if (code.length() > 20) {
 					msg.append("  科目代码不能超过20个字符");
 				}
+				imp.setCourseCode(code);
 
 				String name = trimAndNullIfBlank(line.getValue(1));
 				if (StringUtils.isBlank(name)) {
@@ -433,8 +434,12 @@ public class PaperServiceImpl extends ServiceImpl<PaperDao, PaperEntity> impleme
 	}
 
 	private void saveStruct(List<PaperStructInfoVo> cards, User user, List<String> failRecords) {
+		Map<Long,String> map=new HashMap<>();
+		for(PaperStructInfoVo vo:cards) {
+			map.put(vo.getPaperId(), vo.getCourseCode());
+		}
 		List<StructDomain> ces = getBeans(cards);
-		checkStruct(ces, failRecords);
+		checkStruct(ces, failRecords,map);
 		if (CollectionUtils.isNotEmpty(failRecords)) {
 			return;
 		}
@@ -442,27 +447,26 @@ public class PaperServiceImpl extends ServiceImpl<PaperDao, PaperEntity> impleme
 			try {
 				paperDetailService.structSubmit(domain, user);
 			} catch (StatusException e) {
-				failRecords.add(e.getMessage());
+				failRecords.add("科目:"+map.get(domain.getPaperId())+" "+e.getMessage());
 			} catch (Exception e) {
 				throw new RuntimeException("系统错误", e);
 			}
 		}
 	}
 
-	private void checkStruct(List<StructDomain> ces, List<String> failRecords) {
-		Map<Long, String> courseMap = new HashMap<>();
+	private void checkStruct(List<StructDomain> ces, List<String> failRecords,Map<Long,String> courseMap) {
 		for (StructDomain card : ces) {
 			int lastDetailNum = 0;
 			for (PaperDetail detail : card.getStructInfo()) {
 				if (detail.getNumber() - lastDetailNum != 1) {
 					failRecords.add(
-							"科目:" + getCourseCode(courseMap, card.getPaperId()) + ",大题号" + detail.getNumber() + "错误");
+							"科目:" + courseMap.get(card.getPaperId()) + ",大题号" + detail.getNumber() + "错误");
 				}
 				lastDetailNum = detail.getNumber();
 				int lastUnitNum = 0;
 				for (PaperDetailUnit unit : detail.getUnits()) {
 					if (unit.getNumber() - lastUnitNum != 1) {
-						failRecords.add("科目:" + getCourseCode(courseMap, card.getPaperId()) + ",大题号:"
+						failRecords.add("科目:" + courseMap.get(card.getPaperId()) + ",大题号:"
 								+ detail.getNumber() + ",小题号" + unit.getNumber() + "错误");
 					}
 					lastUnitNum = unit.getNumber();
@@ -471,15 +475,6 @@ public class PaperServiceImpl extends ServiceImpl<PaperDao, PaperEntity> impleme
 		}
 	}
 
-	private String getCourseCode(Map<Long, String> courseMap, Long paperId) {
-		if (courseMap.get(paperId) != null) {
-			return courseMap.get(paperId);
-		}
-		String code = courseService.getById(this.getById(paperId).getCourseId()).getCode();
-		courseMap.put(paperId, code);
-		return code;
-	}
-
 	private List<StructDomain> getBeans(List<PaperStructInfoVo> cards) {
 		cards.sort(new Comparator<PaperStructInfoVo>() {
 			@Override

+ 2 - 2
src/main/java/cn/com/qmth/mps/util/AuthorizationCreateUtil.java

@@ -12,8 +12,8 @@ public class AuthorizationCreateUtil {
     public static void main(String[] args) {
     	long time = System.currentTimeMillis();
     	String identity="SUPER_ADMIN_1";//登录后user属性
-    	String token="fffffffff9f5f4a4000000006c266958";//登录后user属性
-    	String url="/api/paper/export-subjective";//请求路径
+    	String token="ffffffffe81423190000000035ea37c4";//登录后user属性
+    	String url="/api/paper/import-struct-subject";//请求路径
     	String s = SignatureEntity.build(SignatureType.TOKEN, "post", url, time, identity, token);
     	System.out.println("time:"+time);
     	System.out.println("Authorization:"+s);