diff --git a/doc/云效脚本/MP_verify_kR8QcYpBTyrYJWvG.txt b/doc/云效脚本/MP_verify_kR8QcYpBTyrYJWvG.txt
new file mode 100644
index 00000000..822c3943
--- /dev/null
+++ b/doc/云效脚本/MP_verify_kR8QcYpBTyrYJWvG.txt
@@ -0,0 +1 @@
+kR8QcYpBTyrYJWvG
\ No newline at end of file
diff --git a/web/src/main/java/com/ibeetl/jlw/entity/TeacherOpenCourseQuestionLog.java b/web/src/main/java/com/ibeetl/jlw/entity/TeacherOpenCourseQuestionLog.java
index e37eec45..73b5a02e 100644
--- a/web/src/main/java/com/ibeetl/jlw/entity/TeacherOpenCourseQuestionLog.java
+++ b/web/src/main/java/com/ibeetl/jlw/entity/TeacherOpenCourseQuestionLog.java
@@ -11,6 +11,8 @@ import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.FieldNameConstants;
import org.beetl.sql.annotation.entity.AssignID;
+import org.beetl.sql.annotation.entity.InsertIgnore;
+import org.beetl.sql.annotation.entity.UpdateIgnore;
import org.beetl.sql.fetch.annotation.Fetch;
import javax.validation.constraints.NotNull;
@@ -71,6 +73,18 @@ public class TeacherOpenCourseQuestionLog extends BaseEntity {
private Long studentId ;
+ //学生ID
+
+ @UpdateIgnore
+ @InsertIgnore
+ private String studentSn ;
+
+ //学生姓名
+
+ @UpdateIgnore
+ @InsertIgnore
+ private String studentIdText ;
+
//学生得分
private BigDecimal studentScore ;
diff --git a/web/src/main/java/com/ibeetl/jlw/entity/dto/FileQuestionLogListDTO.java b/web/src/main/java/com/ibeetl/jlw/entity/dto/FileQuestionLogListDTO.java
new file mode 100644
index 00000000..5a981569
--- /dev/null
+++ b/web/src/main/java/com/ibeetl/jlw/entity/dto/FileQuestionLogListDTO.java
@@ -0,0 +1,36 @@
+package com.ibeetl.jlw.entity.dto;
+
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+
+/**
+ * 功能描述:
+ *
+ * @author: mlx
+ * @description:
+ * @date: 2023/1/14 12:45
+ * @version: 1.0
+ */
+@Data
+public class FileQuestionLogListDTO {
+
+ /**
+ * 学生ID
+ */
+ @NotNull(message = "学生ID不能为空!")
+ private Long studentId;
+
+ /**
+ * 开课ID
+ */
+ private Long teacherOpenCourseId;
+
+ /**
+ * 题目配置ID
+ * 前端传递的参数名字:questionSettingId
+ */
+ @NotNull(message = "题目配置ID不能为空!")
+ private Long teacherOpenCourseQuestionSettingId;
+
+}
diff --git a/web/src/main/java/com/ibeetl/jlw/entity/vo/FileQuestionLogListPageVO.java b/web/src/main/java/com/ibeetl/jlw/entity/vo/FileQuestionLogListPageVO.java
new file mode 100644
index 00000000..ecf0cec1
--- /dev/null
+++ b/web/src/main/java/com/ibeetl/jlw/entity/vo/FileQuestionLogListPageVO.java
@@ -0,0 +1,88 @@
+package com.ibeetl.jlw.entity.vo;
+
+import cn.hutool.core.io.FileUtil;
+import cn.hutool.core.lang.UUID;
+import cn.hutool.json.JSONUtil;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.ibeetl.admin.core.entity.BaseEntity;
+import lombok.Builder;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.math.BigDecimal;
+import java.util.Arrays;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * 功能描述:
+ * 教师点评列表实体
+ *
+ * @author: mlx
+ * @description:
+ * @date: 2023/1/14 12:19
+ * @version: 1.0
+ */
+@Data
+@EqualsAndHashCode
+public class FileQuestionLogListPageVO extends BaseEntity {
+
+ /**
+ * ================ 学生信息单独查询,会省点时间 ===================
+ */
+
+ private String studentIdText;
+
+ private String studentSn;
+
+ /**
+ * =============================================================
+ */
+
+ /**
+ * 文件路径 JSONArray 格式的
+ * [{"fileName":"小米承诺函.pdf","fileUrl":"\\filesystem\\temp\\1670763205397_5_7.pdf"}]
+ */
+ private String reportFile;
+
+ @JsonProperty("reportComment")
+ private String teacherOpenCourseQuestionLogReply;
+
+ @JsonProperty("reportScore")
+ private BigDecimal studentScore;
+
+ /**
+ * 附件,学生端上传附件(单文件)
+ */
+ @JsonIgnore
+ private String teacherOpenCourseQuestionLogUploadFile ;
+
+ public void setTeacherOpenCourseQuestionLogUploadFile(String teacherOpenCourseQuestionLogUploadFile) {
+ this.teacherOpenCourseQuestionLogUploadFile = teacherOpenCourseQuestionLogUploadFile;
+ if (teacherOpenCourseQuestionLogUploadFile != null) {
+ String[] files = teacherOpenCourseQuestionLogUploadFile.split(",");
+ List list = Arrays.stream(files)
+ .map(filePath -> ReportFileStaticClass.builder()
+ .fileName(UUID.fastUUID().toString(true) + "." + FileUtil.extName(filePath))
+ .fileUrl(filePath).build())
+ .collect(Collectors.toList());
+
+ // 构建
+ setReportFile(JSONUtil.toJsonStr(list));
+ }
+ }
+
+ @Data
+ @Builder
+ public static final class ReportFileStaticClass {
+ /**
+ * 文件名称
+ */
+ private String fileName;
+ /**
+ * 文件相对地址
+ */
+ private String fileUrl;
+ }
+}
diff --git a/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseQuestionLogService.java b/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseQuestionLogService.java
index ff79f44e..5abec685 100644
--- a/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseQuestionLogService.java
+++ b/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseQuestionLogService.java
@@ -22,6 +22,7 @@ import com.ibeetl.jlw.dao.TeacherOpenCourseQuestionSettingDao;
import com.ibeetl.jlw.entity.*;
import com.ibeetl.jlw.entity.dto.QuestionLogAddDTO;
import com.ibeetl.jlw.entity.dto.TeacherOpenCourseHomeWorkLogDTO;
+import com.ibeetl.jlw.entity.vo.FileQuestionLogListPageVO;
import com.ibeetl.jlw.entity.vo.TeacherOpenCourseHomeWorkLogExportVO;
import com.ibeetl.jlw.entity.vo.TeacherOpenCourseQuestionLogAnswerLockVO;
import com.ibeetl.jlw.enums.QuestionLogAddTypeEnum;
@@ -1098,4 +1099,19 @@ public class TeacherOpenCourseQuestionLogService extends CoreBaseService getHomeWorkLogExportPageList(PageQuery pageQuery) {
return teacherOpenCourseQuestionLogDao.getHomeWorkLogExportPageList(pageQuery);
}
+
+ public FileQuestionLogListPageVO getFileQuestionLog(TeacherOpenCourseQuestionLogQuery query) {
+ TeacherOpenCourseQuestionLog log = getInfo(query);
+ if (null == log) {
+ return null;
+ }
+
+ Student student = studentDao.getById(log.getStudentId());
+ if (null != student) {
+ log.setStudentIdText(student.getStudentName());
+ log.setStudentSn(student.getStudentSn());
+ }
+
+ return BeanUtil.copyProperties(log, FileQuestionLogListPageVO.class);
+ }
}
diff --git a/web/src/main/java/com/ibeetl/jlw/web/TeacherOpenCourseQuestionLogController.java b/web/src/main/java/com/ibeetl/jlw/web/TeacherOpenCourseQuestionLogController.java
index 3b9ead08..3787ab47 100644
--- a/web/src/main/java/com/ibeetl/jlw/web/TeacherOpenCourseQuestionLogController.java
+++ b/web/src/main/java/com/ibeetl/jlw/web/TeacherOpenCourseQuestionLogController.java
@@ -1,5 +1,6 @@
package com.ibeetl.jlw.web;
+import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.lang.Assert;
import cn.hutool.core.util.ObjectUtil;
@@ -16,9 +17,11 @@ import com.ibeetl.admin.core.web.query.PageParam;
import com.ibeetl.jlw.entity.ResourcesQuestionSnapshot;
import com.ibeetl.jlw.entity.Student;
import com.ibeetl.jlw.entity.TeacherOpenCourseQuestionLog;
+import com.ibeetl.jlw.entity.dto.FileQuestionLogListDTO;
import com.ibeetl.jlw.entity.dto.QuestionLogAddDTO;
import com.ibeetl.jlw.entity.dto.TeacherOpenCourseHomeWorkLogDTO;
import com.ibeetl.jlw.entity.dto.TeacherOpenCourseHomeWorkLogPageDTO;
+import com.ibeetl.jlw.entity.vo.FileQuestionLogListPageVO;
import com.ibeetl.jlw.entity.vo.TeacherOpenCourseHomeWorkLogExportVO;
import com.ibeetl.jlw.service.TeacherOpenCourseQuestionLogService;
import com.ibeetl.jlw.web.query.TeacherOpenCourseQuestionLogQuery;
@@ -101,6 +104,18 @@ public class TeacherOpenCourseQuestionLogController extends BaseController {
}
}
+ /**
+ * 附件作业文件查看
+ * @param dto
+ * @return
+ */
+ @GetMapping(API + "/getFileQuestionLog.do")
+ @ResponseBody
+ public JsonResult getFileQuestionLog(FileQuestionLogListDTO dto, @SCoreUser CoreUser coreUser) {
+ TeacherOpenCourseQuestionLogQuery query = BeanUtil.copyProperties(dto, TeacherOpenCourseQuestionLogQuery.class);
+ return JsonResult.success(teacherOpenCourseQuestionLogService.getFileQuestionLog(query));
+ }
+
@PostMapping(API + "/list.do")
public JsonResult listDo(TeacherOpenCourseQuestionLogQuery condition){
PageQuery page = condition.getPageQuery();