xiatian 1 жил өмнө
parent
commit
bcbf5e033e

+ 12 - 22
src/main/java/cn/com/qmth/am/config/SysProperty.java

@@ -10,15 +10,13 @@ public class SysProperty {
 	
     @Value("${com.qmth.solar.app-version}")
     private String version;
-    @Value("${com.qmth.fss.config}")
-    private String fssConfig;
-
-    @Value("${com.qmth.fss.server}")
-    private String fssServer;
 
     @Value("${am.data-dir}")
     private String dataDir;
 
+    @Value("${am.image-server}")
+    private String imageServer;
+
     @Value("${am.data-type}")
     private DataType dataType;
 
@@ -30,20 +28,20 @@ public class SysProperty {
 		this.version = version;
 	}
 
-	public String getFssConfig() {
-		return fssConfig;
+	public String getImageServer() {
+		return imageServer;
 	}
 
-	public void setFssConfig(String fssConfig) {
-		this.fssConfig = fssConfig;
+	public void setImageServer(String imageServer) {
+		this.imageServer = imageServer;
 	}
 
-	public String getFssServer() {
-		return fssServer;
+	public DataType getDataType() {
+		return dataType;
 	}
 
-	public void setFssServer(String fssServer) {
-		this.fssServer = fssServer;
+	public void setDataType(DataType dataType) {
+		this.dataType = dataType;
 	}
 
 	public String getDataDir() {
@@ -53,13 +51,5 @@ public class SysProperty {
 	public void setDataDir(String dataDir) {
 		this.dataDir = dataDir;
 	}
-
-	public DataType getDataType() {
-		return dataType;
-	}
-
-	public void setDataType(DataType dataType) {
-		this.dataType = dataType;
-	}
-
+	
 }

+ 33 - 5
src/main/java/cn/com/qmth/am/service/impl/StudentScoreServiceImpl.java

@@ -53,6 +53,7 @@ import cn.com.qmth.am.entity.QuestionEntity;
 import cn.com.qmth.am.entity.StudentEntity;
 import cn.com.qmth.am.entity.StudentScoreEntity;
 import cn.com.qmth.am.enums.DataStatus;
+import cn.com.qmth.am.enums.DataType;
 import cn.com.qmth.am.service.QuestionService;
 import cn.com.qmth.am.service.StudentScoreService;
 import cn.com.qmth.am.service.StudentService;
@@ -397,7 +398,34 @@ public class StudentScoreServiceImpl extends ServiceImpl<StudentScoreDao, Studen
 	}
 
 	private String getImageUrl(StudentScoreEntity score, QuestionEntity q, Integer pageIndex) {
-		return null;
+		if (DataType.MARKING_CLOUD.equals(sysProperty.getDataType())) {
+			return getImageUrlFromMarkingCloud(score,pageIndex);
+		} else if (DataType.TEACH_CLOUD.equals(sysProperty.getDataType())) {
+			return getImageUrlFromTeachCloud(score, q, pageIndex);
+		} else {
+			throw new StatusException("数据类型错误");
+		}
+	}
+
+	private String getImageUrlFromMarkingCloud(StudentScoreEntity score, Integer pageIndex) {
+		return sysProperty.getImageServer() + "/" + getMarkingCloudPath(score.getExamId(),
+				getSuffix(score.getStudentCode()), score.getStudentCode(), pageIndex, "jpg");
+	}
+
+	private String getSuffix(String input) {
+		return StringUtils.trimToEmpty(input).substring(Math.max(0, input.length() - 3));
+	}
+
+	private String getImageUrlFromTeachCloud(StudentScoreEntity score, QuestionEntity q, Integer pageIndex) {
+		int paperNum=(pageIndex+1)/2;
+		return sysProperty.getImageServer() + "/" + getTeachCloudPath(score.getExamId(),
+				score.getSubjectCode(), score.getStudentCode(),paperNum, pageIndex, "jpg");
+	}
+	private String getTeachCloudPath(Object... param) {
+		return String.format("sheet/%d/%s/%s/%d-%d.%s", param);
+	}
+	private String getMarkingCloudPath(Object... param) {
+		return String.format("sheet/%d/%s/%s-%d.%s", param);
 	}
 
 	@Override
@@ -456,8 +484,8 @@ public class StudentScoreServiceImpl extends ServiceImpl<StudentScoreDao, Studen
 		}
 	}
 
-	private void ocrErr(StudentScoreImageDto dto,String err) {
-		updateAnswerErr(dto.getStudentScoreId(),err);
+	private void ocrErr(StudentScoreImageDto dto, String err) {
+		updateAnswerErr(dto.getStudentScoreId(), err);
 		studentService.updateStatus(dto.getStudentId(), DataStatus.PROCESSING, DataStatus.FAILED);
 	}
 
@@ -493,7 +521,7 @@ public class StudentScoreServiceImpl extends ServiceImpl<StudentScoreDao, Studen
 				if (allSuccess(score.getStudentId())) {
 					studentService.updateStatus(score.getStudentId(), DataStatus.PROCESSING, DataStatus.SUCCESS);
 				}
-			}else {
+			} else {
 				aiScoreErr(dto, "aiScore异常");
 			}
 		} catch (Exception e) {
@@ -555,7 +583,7 @@ public class StudentScoreServiceImpl extends ServiceImpl<StudentScoreDao, Studen
 		updateScoreErr(dto.getScoreInfo().getId(), err);
 		studentService.updateStatus(dto.getScoreInfo().getStudentId(), DataStatus.PROCESSING, DataStatus.FAILED);
 	}
-	
+
 	private void updateScoreErr(Long id, String err) {
 		UpdateWrapper<StudentScoreEntity> wrapper = new UpdateWrapper<>();
 		LambdaUpdateWrapper<StudentScoreEntity> lw = wrapper.lambda();

+ 1 - 0
src/main/resources/application.properties

@@ -33,5 +33,6 @@ com.qmth.solar.app-version=@project.version@
 com.qmth.solar.access-key=
 com.qmth.solar.access-secret=
 
+am.image-server=
 am.data-type=MARKING_CLOUD
 am.data-dir=../data