소스 검색

答题提交接口

dzx 1 년 전
부모
커밋
9b81096818

+ 9 - 6
src/main/java/com/xjrsoft/module/assessment/controller/AssessmentPlanAnswerController.java

@@ -7,9 +7,12 @@ import com.xjrsoft.common.model.result.RT;
 import com.xjrsoft.common.page.ConventPage;
 import com.xjrsoft.common.page.PageOutput;
 import com.xjrsoft.module.assessment.dto.AssessmentPlanAnswerPageDto;
+import com.xjrsoft.module.assessment.dto.AssessmentPlanAnswerSubmitDto;
+import com.xjrsoft.module.assessment.dto.AssessmentPlanSubmitDto;
 import com.xjrsoft.module.assessment.dto.AssessmentTemplatePlanSureDto;
 import com.xjrsoft.module.assessment.service.IAssessmentTemplatePlanService;
 import com.xjrsoft.module.assessment.vo.AssessmentPlanAnswerStudentPageVo;
+import com.xjrsoft.module.assessment.vo.AssessmentTemplatePlanQuestionVo;
 import com.xjrsoft.module.assessment.vo.AssessmentTemplateQuestionVo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -61,8 +64,8 @@ public class AssessmentPlanAnswerController {
     @GetMapping(value = "/info")
     @ApiOperation(value="根据id查询考核计划信息")
     @SaCheckPermission("assessmenttemplateplan:detail")
-    public RT<AssessmentTemplateQuestionVo> info(@RequestParam Long id){
-        AssessmentTemplateQuestionVo questionVo = planService.getQuestionsById(id);
+    public RT<AssessmentTemplatePlanQuestionVo> info(@RequestParam Long id){
+        AssessmentTemplatePlanQuestionVo questionVo = planService.getQuestionsById(id);
         if (questionVo == null) {
            return RT.error("找不到此数据!");
         }
@@ -79,10 +82,10 @@ public class AssessmentPlanAnswerController {
     }
 
     @PostMapping(value="save-answer")
-    @ApiOperation(value = "班主任确认考核")
-    @SaCheckPermission("assessmenttemplateplan:add")
-    public RT<Boolean> saveAnswer(@Valid @RequestBody AssessmentTemplatePlanSureDto dto){
-        boolean isSuccess = planService.sure(dto);
+    @ApiOperation(value = "提交答题")
+    @SaCheckPermission("assessmenttemplateplan:save-answer")
+    public RT<Boolean> saveAnswer(@Valid @RequestBody AssessmentPlanSubmitDto dto){
+        boolean isSuccess = planService.saveAnswer(dto);
         return RT.ok(isSuccess);
     }
 }

+ 26 - 0
src/main/java/com/xjrsoft/module/assessment/dto/AssessmentPlanAnswerSubmitDto.java

@@ -0,0 +1,26 @@
+package com.xjrsoft.module.assessment.dto;
+
+import com.xjrsoft.common.page.PageInput;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+
+/**
+* @title: 考核答题提交入参
+* @Author dzx
+* @Date: 2024-04-01
+* @Version 1.0
+*/
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class AssessmentPlanAnswerSubmitDto extends PageInput {
+
+
+    @ApiModelProperty("问题id")
+    private Long questionId;
+
+    @ApiModelProperty("状态(0:未发布 1:已发布)")
+    private Long answerId;
+
+}

+ 27 - 0
src/main/java/com/xjrsoft/module/assessment/dto/AssessmentPlanSubmitDto.java

@@ -0,0 +1,27 @@
+package com.xjrsoft.module.assessment.dto;
+
+import com.xjrsoft.common.page.PageInput;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.List;
+
+
+/**
+* @title: 考核答题提交入参
+* @Author dzx
+* @Date: 2024-04-01
+* @Version 1.0
+*/
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class AssessmentPlanSubmitDto extends PageInput {
+
+    @ApiModelProperty("考核计划id")
+    private Long assessmentTemplatePlanId;
+
+    @ApiModelProperty("问题答案")
+    List<AssessmentPlanAnswerSubmitDto> answerList;
+
+}

+ 16 - 0
src/main/java/com/xjrsoft/module/assessment/mapper/AssessmentPlanAnswerResultMapper.java

@@ -0,0 +1,16 @@
+package com.xjrsoft.module.assessment.mapper;
+
+import com.github.yulichang.base.MPJBaseMapper;
+import com.xjrsoft.module.assessment.entity.AssessmentPlanAnswerResult;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+* @title: 考核计划答题参与班级
+* @Author dzx
+* @Date: 2024-04-01
+* @Version 1.0
+*/
+@Mapper
+public interface AssessmentPlanAnswerResultMapper extends MPJBaseMapper<AssessmentPlanAnswerResult> {
+
+}

+ 4 - 0
src/main/java/com/xjrsoft/module/assessment/mapper/AssessmentPlanAnswerStudentMapper.java

@@ -26,4 +26,8 @@ public interface AssessmentPlanAnswerStudentMapper extends MPJBaseMapper<Assessm
             " WHERE t1.assessment_template_plan_id = #{dto.id} and t3.teacher_id = #{loginId}" +
             " AND t3.id = #{dto.classId}")
     Boolean sure(AssessmentTemplatePlanSureDto dto, Long loginId);
+
+
+    @Update("UPDATE assessment_plan_answer_student set submit_status = 1,modify_date = NOW() where assessment_template_plan_id = #{id} and student_user_id = #{loginId}")
+    Boolean submitAnswer(Long id, Long loginId);
 }

+ 5 - 2
src/main/java/com/xjrsoft/module/assessment/service/IAssessmentTemplatePlanService.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.yulichang.base.MPJBaseService;
 import com.xjrsoft.module.assessment.dto.AddAssessmentTemplatePlanDto;
 import com.xjrsoft.module.assessment.dto.AssessmentPlanAnswerPageDto;
+import com.xjrsoft.module.assessment.dto.AssessmentPlanSubmitDto;
 import com.xjrsoft.module.assessment.dto.AssessmentTemplatePlanPageDto;
 import com.xjrsoft.module.assessment.dto.AssessmentTemplatePlanSureDto;
 import com.xjrsoft.module.assessment.dto.UpdateAssessmentTemplatePlanDto;
@@ -11,7 +12,7 @@ import com.xjrsoft.module.assessment.dto.UpdateAssessmentTemplatePlanTimeDto;
 import com.xjrsoft.module.assessment.entity.AssessmentTemplatePlan;
 import com.xjrsoft.module.assessment.vo.AssessmentPlanAnswerStudentPageVo;
 import com.xjrsoft.module.assessment.vo.AssessmentTemplatePlanPageVo;
-import com.xjrsoft.module.assessment.vo.AssessmentTemplateQuestionVo;
+import com.xjrsoft.module.assessment.vo.AssessmentTemplatePlanQuestionVo;
 
 import java.util.List;
 
@@ -66,6 +67,8 @@ public interface IAssessmentTemplatePlanService extends MPJBaseService<Assessmen
      */
     Boolean sure(AssessmentTemplatePlanSureDto dto);
 
-    AssessmentTemplateQuestionVo getQuestionsById(Long id);
+    AssessmentTemplatePlanQuestionVo getQuestionsById(Long id);
+
+    Boolean saveAnswer(AssessmentPlanSubmitDto dto);
 
 }

+ 29 - 4
src/main/java/com/xjrsoft/module/assessment/service/impl/AssessmentTemplatePlanServiceImpl.java

@@ -11,17 +11,21 @@ import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import com.xjrsoft.common.enums.DeleteMark;
 import com.xjrsoft.module.assessment.dto.AddAssessmentTemplatePlanDto;
 import com.xjrsoft.module.assessment.dto.AssessmentPlanAnswerPageDto;
+import com.xjrsoft.module.assessment.dto.AssessmentPlanAnswerSubmitDto;
+import com.xjrsoft.module.assessment.dto.AssessmentPlanSubmitDto;
 import com.xjrsoft.module.assessment.dto.AssessmentTemplatePlanPageDto;
 import com.xjrsoft.module.assessment.dto.AssessmentTemplatePlanSureDto;
 import com.xjrsoft.module.assessment.dto.UpdateAssessmentTemplatePlanDto;
 import com.xjrsoft.module.assessment.dto.UpdateAssessmentTemplatePlanTimeDto;
 import com.xjrsoft.module.assessment.entity.AssessmentPlanAnswerClass;
+import com.xjrsoft.module.assessment.entity.AssessmentPlanAnswerResult;
 import com.xjrsoft.module.assessment.entity.AssessmentPlanAnswerStudent;
 import com.xjrsoft.module.assessment.entity.AssessmentPlanQuestion;
 import com.xjrsoft.module.assessment.entity.AssessmentQuestion;
 import com.xjrsoft.module.assessment.entity.AssessmentTemplate;
 import com.xjrsoft.module.assessment.entity.AssessmentTemplatePlan;
 import com.xjrsoft.module.assessment.mapper.AssessmentPlanAnswerClassMapper;
+import com.xjrsoft.module.assessment.mapper.AssessmentPlanAnswerResultMapper;
 import com.xjrsoft.module.assessment.mapper.AssessmentPlanAnswerStudentMapper;
 import com.xjrsoft.module.assessment.mapper.AssessmentPlanQuestionMapper;
 import com.xjrsoft.module.assessment.mapper.AssessmentQuestionMapper;
@@ -31,7 +35,7 @@ import com.xjrsoft.module.assessment.service.IAssessmentTemplatePlanService;
 import com.xjrsoft.module.assessment.vo.AssessmentPlanAnswerStudentPageVo;
 import com.xjrsoft.module.assessment.vo.AssessmentQuestionVo;
 import com.xjrsoft.module.assessment.vo.AssessmentTemplatePlanPageVo;
-import com.xjrsoft.module.assessment.vo.AssessmentTemplateQuestionVo;
+import com.xjrsoft.module.assessment.vo.AssessmentTemplatePlanQuestionVo;
 import com.xjrsoft.module.student.entity.BaseStudentSchoolRoll;
 import com.xjrsoft.module.teacher.entity.XjrUser;
 import com.xjrsoft.module.teacher.mapper.XjrUserMapper;
@@ -40,6 +44,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -61,7 +66,7 @@ public class AssessmentTemplatePlanServiceImpl extends MPJBaseServiceImpl<Assess
     private final AssessmentPlanAnswerStudentMapper studentMapper;
     private final AssessmentTemplateMapper assessmentTemplateMapper;
     private final AssessmentQuestionMapper questionMapper;
-
+    private final AssessmentPlanAnswerResultMapper resultMapper;
     private final XjrUserMapper xjrUserMapper;
 
 
@@ -251,9 +256,9 @@ public class AssessmentTemplatePlanServiceImpl extends MPJBaseServiceImpl<Assess
     }
 
     @Override
-    public AssessmentTemplateQuestionVo getQuestionsById(Long id) {
+    public AssessmentTemplatePlanQuestionVo getQuestionsById(Long id) {
         AssessmentTemplatePlan templatePlan = templatePlanMapper.selectById(id);
-        AssessmentTemplateQuestionVo vo = BeanUtil.toBean(templatePlan, AssessmentTemplateQuestionVo.class);
+        AssessmentTemplatePlanQuestionVo vo = BeanUtil.toBean(templatePlan, AssessmentTemplatePlanQuestionVo.class);
         List<AssessmentPlanQuestion> questionList = planQuestionMapper.selectList(
             new QueryWrapper<AssessmentPlanQuestion>().lambda()
             .eq(AssessmentPlanQuestion::getDeleteMark, DeleteMark.NODELETE.getCode())
@@ -295,4 +300,24 @@ public class AssessmentTemplatePlanServiceImpl extends MPJBaseServiceImpl<Assess
         vo.setChildren(oneList);
         return vo;
     }
+
+    @Override
+    public Boolean saveAnswer(AssessmentPlanSubmitDto dto) {
+        long studentUserId = StpUtil.getLoginIdAsLong();
+        Date date = new Date();
+        // 学生提交
+        studentMapper.submitAnswer(dto.getAssessmentTemplatePlanId(), studentUserId);
+        for (AssessmentPlanAnswerSubmitDto answerSubmitDto : dto.getAnswerList()) {
+            AssessmentPlanAnswerResult answerStudent = new AssessmentPlanAnswerResult();
+            answerStudent.setAssessmentTemplatePlanId(dto.getAssessmentTemplatePlanId());
+            answerStudent.setStudentUserId(studentUserId);
+            answerStudent.setCreateDate(date);
+            answerStudent.setQuestionId(answerSubmitDto.getQuestionId());
+            answerStudent.setAnswerId(answerSubmitDto.getAnswerId());
+            resultMapper.insert(answerStudent);
+
+        }
+
+        return true;
+    }
 }

+ 47 - 0
src/main/java/com/xjrsoft/module/assessment/vo/AssessmentTemplatePlanQuestionVo.java

@@ -0,0 +1,47 @@
+package com.xjrsoft.module.assessment.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+* @title: 考核模板表单出参
+* @Author dzx
+* @Date: 2024-03-29
+* @Version 1.0
+*/
+@Data
+public class AssessmentTemplatePlanQuestionVo {
+
+    /**
+    * 
+    */
+    @ApiModelProperty("")
+    private Long id;
+    /**
+    * 名称
+    */
+    @ApiModelProperty("名称")
+    private String name;
+    /**
+    * 分数
+    */
+    @ApiModelProperty("分数")
+    private Long score;
+
+    @ApiModelProperty("开始时间")
+    private Date startTime;
+
+    @ApiModelProperty("结束时间")
+    private Date endTime;
+
+
+    /**
+    * assessmentQuestion
+    */
+    @ApiModelProperty("assessmentQuestion子表")
+    private List<AssessmentQuestionVo> children;
+
+}