Przeglądaj źródła

移动端答题结果保存功能

dzx 1 rok temu
rodzic
commit
7bbadccbf4

+ 14 - 0
src/main/java/com/xjrsoft/module/evaluate/controller/EvaluateWriteController.java

@@ -5,8 +5,10 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.xjrsoft.common.model.result.RT;
 import com.xjrsoft.common.page.ConventPage;
 import com.xjrsoft.common.page.PageOutput;
+import com.xjrsoft.module.evaluate.dto.EvaluateResultSaveDto;
 import com.xjrsoft.module.evaluate.dto.EvaluateWritePageDto;
 import com.xjrsoft.module.evaluate.service.IEvaluateManageService;
+import com.xjrsoft.module.evaluate.service.IEvaluateResultService;
 import com.xjrsoft.module.evaluate.vo.EvaluateManageItemVo;
 import com.xjrsoft.module.evaluate.vo.EvaluateWritePageVo;
 import com.xjrsoft.module.evaluate.vo.EvaluateWriteVo;
@@ -14,6 +16,8 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
 import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
@@ -36,6 +40,8 @@ public class EvaluateWriteController {
 
     private final IEvaluateManageService evaluateManageService;
 
+    private final IEvaluateResultService evaluateResultService;
+
     @GetMapping(value = "/page")
     @ApiOperation(value="评价管理列表(分页)")
     @SaCheckPermission("evaluatemanage:detail")
@@ -72,5 +78,13 @@ public class EvaluateWriteController {
         return RT.ok(itemList);
     }
 
+    @PostMapping
+    @ApiOperation(value = "评价对象保存")
+    @SaCheckPermission("evaluateobject:save")
+    public RT<String> save(@Valid @RequestBody EvaluateResultSaveDto dto){
+        String isSuccess = evaluateResultService.saveBatch(dto);
+        return RT.ok(isSuccess);
+    }
+
 
 }

+ 1 - 22
src/main/java/com/xjrsoft/module/evaluate/dto/AddEvaluateResultDto.java

@@ -2,14 +2,8 @@ package com.xjrsoft.module.evaluate.dto;
 
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
-import java.io.Serializable;
-import com.fasterxml.jackson.annotation.JsonFormat;
 
-import java.time.LocalTime;
-import java.time.LocalDateTime;
-import java.math.BigDecimal;
-import java.util.List;
-import java.util.Date;
+import java.io.Serializable;
 
 
 
@@ -30,21 +24,6 @@ public class AddEvaluateResultDto implements Serializable {
     @ApiModelProperty("评价项编号")
     private Long evaluateItemId;
     /**
-    * 参评人编号
-    */
-    @ApiModelProperty("参评人编号")
-    private String userId;
-    /**
-    * 被评对象(teacher:老师,class:班级,student:学生)
-    */
-    @ApiModelProperty("被评对象(teacher:老师,class:班级,student:学生)")
-    private String evaluatedObject;
-    /**
-    * 被评对象编号
-    */
-    @ApiModelProperty("被评对象编号")
-    private Long evaluatedObjectId;
-    /**
     * 评价分数
     */
     @ApiModelProperty("评价分数")

+ 27 - 0
src/main/java/com/xjrsoft/module/evaluate/dto/EvaluateResultSaveDto.java

@@ -0,0 +1,27 @@
+package com.xjrsoft.module.evaluate.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+
+/**
+* @title: 评价管理分页查询入参
+* @Author dzx
+* @Date: 2024-01-16
+* @Version 1.0
+*/
+@Data
+public class EvaluateResultSaveDto implements Serializable {
+
+    /**
+     * 评价管理主键编号
+     */
+    @ApiModelProperty(value = "评价管理主键编号",required = true)
+    private Long evaluateManageId;
+
+    @ApiModelProperty(value = "填写答案信息")
+    private List<AddEvaluateResultDto> resultList;
+}

+ 1 - 1
src/main/java/com/xjrsoft/module/evaluate/entity/EvaluateResult.java

@@ -82,7 +82,7 @@ public class EvaluateResult implements Serializable {
     * 参评人编号
     */
     @ApiModelProperty("参评人编号")
-    private String userId;
+    private Long userId;
     /**
     * 被评对象(teacher:老师,class:班级,student:学生)
     */

+ 3 - 0
src/main/java/com/xjrsoft/module/evaluate/service/IEvaluateResultService.java

@@ -5,6 +5,7 @@ import com.github.yulichang.base.MPJBaseService;
 import com.xjrsoft.module.evaluate.dto.EvaluateResultDetailPageDetailDto;
 import com.xjrsoft.module.evaluate.dto.EvaluateResultDetailPageDto;
 import com.xjrsoft.module.evaluate.dto.EvaluateResultIndexPageDto;
+import com.xjrsoft.module.evaluate.dto.EvaluateResultSaveDto;
 import com.xjrsoft.module.evaluate.dto.ResultViewingPageDto;
 import com.xjrsoft.module.evaluate.entity.EvaluateResult;
 import com.xjrsoft.module.evaluate.vo.EvaluateResultDetailPageDetailVo;
@@ -27,4 +28,6 @@ public interface IEvaluateResultService extends MPJBaseService<EvaluateResult> {
     EvaluateResultDetailPageDetailVo getDetailPageDetail(EvaluateResultDetailPageDetailDto dto);
 
     IPage<ResultViewingPageVo> pageResultViewing(ResultViewingPageDto dto);
+
+    String saveBatch(EvaluateResultSaveDto dto);
 }

+ 39 - 0
src/main/java/com/xjrsoft/module/evaluate/service/impl/EvaluateResultServiceImpl.java

@@ -1,16 +1,24 @@
 package com.xjrsoft.module.evaluate.service.impl;
 
+import cn.dev33.satoken.stp.StpUtil;
+import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.github.yulichang.base.MPJBaseServiceImpl;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import com.xjrsoft.common.enums.DeleteMark;
+import com.xjrsoft.common.enums.EnabledMark;
 import com.xjrsoft.common.page.ConventPage;
 import com.xjrsoft.common.utils.VoToColumnUtil;
 import com.xjrsoft.module.base.entity.BaseClass;
 import com.xjrsoft.module.base.entity.BaseSemester;
 import com.xjrsoft.module.base.mapper.BaseClassMapper;
+import com.xjrsoft.module.evaluate.dto.AddEvaluateResultDto;
 import com.xjrsoft.module.evaluate.dto.EvaluateResultDetailPageDetailDto;
 import com.xjrsoft.module.evaluate.dto.EvaluateResultDetailPageDto;
 import com.xjrsoft.module.evaluate.dto.EvaluateResultIndexPageDto;
+import com.xjrsoft.module.evaluate.dto.EvaluateResultSaveDto;
 import com.xjrsoft.module.evaluate.dto.ResultViewingPageDto;
 import com.xjrsoft.module.evaluate.entity.*;
 import com.xjrsoft.module.evaluate.mapper.*;
@@ -24,6 +32,7 @@ import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
 
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
@@ -215,4 +224,34 @@ public class EvaluateResultServiceImpl extends MPJBaseServiceImpl<EvaluateResult
         }
         return resultViewingPageVoIPage;
     }
+
+    @Override
+    public String saveBatch(EvaluateResultSaveDto dto) {
+        Long loginUserId = StpUtil.getLoginIdAsLong();
+        Date createDate = new Date();
+        //修改答题人状态
+        EvaluateExecuter executer = evaluateExecuterMapper.selectOne(
+            new QueryWrapper<EvaluateExecuter>().lambda()
+            .eq(EvaluateExecuter::getUserId, loginUserId)
+            .eq(EvaluateExecuter::getEvaluateManageId, dto.getEvaluateManageId())
+        );
+        UpdateWrapper<EvaluateExecuter> updateWrapper = new UpdateWrapper<>();
+        updateWrapper.eq("id", executer.getId());
+        updateWrapper.setSql("status = 1");
+        evaluateExecuterMapper.update(executer, updateWrapper);
+
+        List<AddEvaluateResultDto> resultList = dto.getResultList();
+        for (AddEvaluateResultDto addEvaluateResultDto : resultList) {
+            EvaluateResult evaluateResult = BeanUtil.toBean(addEvaluateResultDto, EvaluateResult.class);
+            evaluateResult.setEvaluatedObject("teacher");
+            evaluateResult.setUserId(loginUserId);
+            evaluateResult.setEvaluatedObjectId(executer.getEvaluateObjectId());
+            evaluateResult.setDeleteMark(DeleteMark.NODELETE.getCode());
+            evaluateResult.setEnabledMark(EnabledMark.ENABLED.getCode());
+            evaluateResult.setCreateDate(createDate);
+            evaluateResultMapper.insert(evaluateResult);
+        }
+
+        return "ok";
+    }
 }

+ 1 - 1
src/main/resources/sqlScript/20240112_sql.sql

@@ -59,7 +59,7 @@ CREATE TABLE evaluate_result
     `delete_mark` INT NOT NULL COMMENT '删除标记',
     `enabled_mark` INT NOT NULL COMMENT '有效标志',
     `evaluate_item_id` BIGINT NULL DEFAULT NULL COMMENT '评价项编号',
-    `user_id`  VARCHAR(200) NULL DEFAULT NULL COMMENT '参评人编号',
+    `user_id` BIGINT NULL DEFAULT NULL COMMENT '参评人编号',
     `evaluated_object` VARCHAR(30) NULL DEFAULT NULL COMMENT '被评对象(teacher:老师,class:班级,student:学生)',
     `evaluated_object_id` BIGINT NULL DEFAULT NULL COMMENT '被评对象编号',
     `score` INT NULL DEFAULT NULL COMMENT '评价分数',