Ver código fonte

新增平时成绩和期末成绩增删改

wangliang 1 ano atrás
pai
commit
cf37be10ab

+ 16 - 13
distributed-print-business/src/main/java/com/qmth/distributed/print/business/entity/TCFinalScore.java

@@ -6,6 +6,7 @@ import com.qmth.teachcloud.common.contant.SystemConstant;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
+import javax.validation.constraints.NotNull;
 import java.io.Serializable;
 
 /**
@@ -23,6 +24,7 @@ public class TCFinalScore implements Serializable {
 
     @ApiModelProperty(value = "主键")
     @JsonSerialize(using = ToStringSerializer.class)
+    @NotNull(message = "id不能为空")
     private Long id;
 
     @ApiModelProperty(value = "考试id")
@@ -39,15 +41,18 @@ public class TCFinalScore implements Serializable {
     private String paperNumber;
 
     @ApiModelProperty(value = "考生姓名")
+    @NotNull(message = "考生姓名不能为空")
     private String name;
 
     @ApiModelProperty(value = "学号")
     private String studentCode;
 
     @ApiModelProperty(value = "分数")
+    @NotNull(message = "分数不能为空")
     private Double score;
 
     @ApiModelProperty(value = "成绩明细")
+    @NotNull(message = "成绩明细不能为空")
     private String scoreDetail;
 
     @ApiModelProperty(value = "是否启用,0:停用,1:启用")
@@ -82,19 +87,17 @@ public class TCFinalScore implements Serializable {
         this.createTime = System.currentTimeMillis();
     }
 
-    public TCFinalScore(Long examId, String courseCode, String courseName, String paperNumber, String name, String studentCode, Double score, String scoreDetail, Long userId) {
-        this.id = SystemConstant.getDbUuid();
-        this.examId = examId;
-        this.courseCode = courseCode;
-        this.courseName = courseName;
-        this.paperNumber = paperNumber;
-        this.name = name;
-        this.studentCode = studentCode;
-        this.score = score;
-        this.scoreDetail = scoreDetail;
-        this.enable = true;
-        this.createId = userId;
-        this.createTime = System.currentTimeMillis();
+    public void updateInfo(TCFinalScore tcFinalScore, Long userId) {
+        this.name = tcFinalScore.getName();
+        this.score = tcFinalScore.getScore();
+        this.scoreDetail = tcFinalScore.getScoreDetail();
+        this.updateId = userId;
+        this.updateTime = System.currentTimeMillis();
+    }
+
+    public void updateInfo(Long userId) {
+        this.updateId = userId;
+        this.updateTime = System.currentTimeMillis();
     }
 
     public Long getId() {

+ 15 - 12
distributed-print-business/src/main/java/com/qmth/distributed/print/business/entity/TCUsualScore.java

@@ -6,6 +6,7 @@ import com.qmth.teachcloud.common.contant.SystemConstant;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
+import javax.validation.constraints.NotNull;
 import java.io.Serializable;
 
 /**
@@ -23,6 +24,7 @@ public class TCUsualScore implements Serializable {
 
     @ApiModelProperty(value = "主键")
     @JsonSerialize(using = ToStringSerializer.class)
+    @NotNull(message = "id不能为空")
     private Long id;
 
     @ApiModelProperty(value = "考试id")
@@ -39,12 +41,14 @@ public class TCUsualScore implements Serializable {
     private String paperNumber;
 
     @ApiModelProperty(value = "考生姓名")
+    @NotNull(message = "考生姓名不能为空")
     private String name;
 
     @ApiModelProperty(value = "学号")
     private String studentCode;
 
     @ApiModelProperty(value = "平常作业分数")
+    @NotNull(message = "平常作业分数不能为空")
     private String score;
 
     @ApiModelProperty(value = "是否启用,0:停用,1:启用")
@@ -79,20 +83,19 @@ public class TCUsualScore implements Serializable {
         this.createTime = System.currentTimeMillis();
     }
 
-    public TCUsualScore(Long examId, String courseCode, String courseName, String paperNumber, String name, String studentCode, String score, Long userId) {
-        this.id = SystemConstant.getDbUuid();
-        this.examId = examId;
-        this.courseCode = courseCode;
-        this.courseName = courseName;
-        this.paperNumber = paperNumber;
-        this.name = name;
-        this.studentCode = studentCode;
-        this.score = score;
-        this.enable = true;
-        this.createId = userId;
-        this.createTime = System.currentTimeMillis();
+    public void updateInfo(TCUsualScore tcUsualScore, Long userId) {
+        this.name = tcUsualScore.getName();
+        this.score = tcUsualScore.getScore();
+        this.updateId = userId;
+        this.updateTime = System.currentTimeMillis();
     }
 
+    public void updateInfo(Long userId) {
+        this.updateId = userId;
+        this.updateTime = System.currentTimeMillis();
+    }
+
+
     public Long getId() {
         return id;
     }

+ 2 - 2
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/TCFinalScoreServiceImpl.java

@@ -133,8 +133,8 @@ public class TCFinalScoreServiceImpl extends ServiceImpl<TCFinalScoreMapper, TCF
                 tcFinalScoreService.remove(tcScoreEndExamQueryWrapper);
                 tcFinalScoreService.saveBatch(tcFinalScoreList);
             }
-            messageMap.put("正确信息", successData.length() > 0 ? successData.toString() : "无");
-            messageMap.put("错误信息", errorData.length() > 0 ? errorData.toString() : "无");
+            messageMap.put(SystemConstant.SUCCESS, successData.length() > 0 ? successData.toString() : "无");
+            messageMap.put(SystemConstant.EXCEL_ERROR, errorData.length() > 0 ? errorData.toString() : "无");
         } catch (Exception e) {
             log.error(SystemConstant.LOG_ERROR, e);
             if (e instanceof DuplicateKeyException) {

+ 2 - 2
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/TCUsualScoreServiceImpl.java

@@ -128,8 +128,8 @@ public class TCUsualScoreServiceImpl extends ServiceImpl<TCUsualScoreMapper, TCU
                 tcUsualScoreService.remove(tcScoreNormalQueryWrapper);
                 tcUsualScoreService.saveBatch(tcUsualScoreList);
             }
-            messageMap.put("正确信息", successData.length() > 0 ? successData.toString() : "无");
-            messageMap.put("错误信息", errorData.length() > 0 ? errorData.toString() : "无");
+            messageMap.put(SystemConstant.SUCCESS, successData.length() > 0 ? successData.toString() : "无");
+            messageMap.put(SystemConstant.EXCEL_ERROR, errorData.length() > 0 ? errorData.toString() : "无");
         } catch (Exception e) {
             log.error(SystemConstant.LOG_ERROR, e);
             if (e instanceof DuplicateKeyException) {

+ 19 - 4
distributed-print/src/main/java/com/qmth/distributed/print/api/TCFinalScoreController.java

@@ -10,15 +10,18 @@ import com.qmth.distributed.print.business.service.TCFinalScoreService;
 import com.qmth.teachcloud.common.annotation.OperationLogDetail;
 import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.entity.MarkQuestion;
+import com.qmth.teachcloud.common.entity.SysUser;
 import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
 import com.qmth.teachcloud.common.enums.log.CustomizedOperationTypeEnum;
 import com.qmth.teachcloud.common.util.ResultUtil;
+import com.qmth.teachcloud.common.util.ServletUtil;
 import com.qmth.teachcloud.mark.service.MarkQuestionService;
 import io.swagger.annotations.*;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
+import org.springframework.validation.BindingResult;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
@@ -43,7 +46,6 @@ import java.util.Objects;
 @Api(tags = "课程目标达成度-成绩管理-期末考试成绩Controller")
 @RestController
 @RequestMapping(ApiConstant.DEFAULT_URI_PREFIX + SystemConstant.PREFIX_URL_COURSE_DEGREE)
-@Validated
 public class TCFinalScoreController {
     private final static Logger log = LoggerFactory.getLogger(TCFinalScoreController.class);
 
@@ -121,8 +123,16 @@ public class TCFinalScoreController {
     @OperationLogDetail(customizedOperationType = CustomizedOperationTypeEnum.UPDATE)
     @ApiResponses({@ApiResponse(code = 200, message = "保存", response = EditResult.class)})
     @Transactional
-    public Object finalScoreSave(@ApiParam(value = "期末考试成绩信息", required = true) @Valid @RequestBody TCFinalScore tcFinalScore) throws IOException {
-        return ResultUtil.ok(true);
+    public Object finalScoreSave(@ApiParam(value = "期末考试成绩信息", required = true) @Valid @RequestBody TCFinalScore tcFinalScore, BindingResult bindingResult) throws IOException {
+        if (bindingResult.hasErrors()) {
+            return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());
+        }
+        TCFinalScore tcFinalScoreDb = tcFinalScoreService.getById(tcFinalScore.getId());
+        Objects.requireNonNull(tcFinalScoreDb, "未找到期末成绩信息");
+
+        SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
+        tcFinalScoreDb.updateInfo(tcFinalScore, sysUser.getId());
+        return ResultUtil.ok(tcFinalScoreService.updateById(tcFinalScoreDb));
     }
 
     @ApiOperation(value = "期末成绩启用/禁用")
@@ -135,6 +145,8 @@ public class TCFinalScoreController {
         TCFinalScore tcFinalScore = tcFinalScoreService.getById(id);
         Objects.requireNonNull(tcFinalScore, "未找到期末成绩信息");
         tcFinalScore.setEnable(enable);
+        SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
+        tcFinalScore.updateInfo(sysUser.getId());
         return ResultUtil.ok(tcFinalScoreService.updateById(tcFinalScore));
     }
 
@@ -143,7 +155,10 @@ public class TCFinalScoreController {
     @OperationLogDetail(customizedOperationType = CustomizedOperationTypeEnum.UPDATE)
     @ApiResponses({@ApiResponse(code = 200, message = "试卷蓝图保存", response = Object.class)})
     @Transactional
-    public Object finalScorePaperStructSave(@ApiParam(value = "试卷蓝图结构", required = true) @RequestBody Object body) throws IOException {
+    public Object finalScorePaperStructSave(@ApiParam(value = "试卷蓝图结构", required = true) @Valid @RequestBody Object body, BindingResult bindingResult) throws IOException {
+        if (bindingResult.hasErrors()) {
+            return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());
+        }
         return ResultUtil.ok(true);
     }
 

+ 15 - 4
distributed-print/src/main/java/com/qmth/distributed/print/api/TCUsualScoreController.java

@@ -10,13 +10,15 @@ import com.qmth.distributed.print.business.service.PrintCommonService;
 import com.qmth.distributed.print.business.service.TCUsualScoreService;
 import com.qmth.teachcloud.common.annotation.OperationLogDetail;
 import com.qmth.teachcloud.common.contant.SystemConstant;
+import com.qmth.teachcloud.common.entity.SysUser;
 import com.qmth.teachcloud.common.enums.log.CustomizedOperationTypeEnum;
 import com.qmth.teachcloud.common.util.ResultUtil;
+import com.qmth.teachcloud.common.util.ServletUtil;
 import io.swagger.annotations.*;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.transaction.annotation.Transactional;
-import org.springframework.validation.annotation.Validated;
+import org.springframework.validation.BindingResult;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
@@ -40,7 +42,6 @@ import java.util.Objects;
 @Api(tags = "课程目标达成度-成绩管理-平常作业成绩Controller")
 @RestController
 @RequestMapping(ApiConstant.DEFAULT_URI_PREFIX + SystemConstant.PREFIX_URL_COURSE_DEGREE)
-@Validated
 public class TCUsualScoreController {
     private final static Logger log = LoggerFactory.getLogger(TCUsualScoreController.class);
 
@@ -119,8 +120,16 @@ public class TCUsualScoreController {
     @OperationLogDetail(customizedOperationType = CustomizedOperationTypeEnum.UPDATE)
     @ApiResponses({@ApiResponse(code = 200, message = "保存", response = EditResult.class)})
     @Transactional
-    public Object usualScoreSave(@ApiParam(value = "平时成绩信息", required = true) @Valid @RequestBody TCUsualScore tcUsualScore) throws IOException {
-        return ResultUtil.ok(true);
+    public Object usualScoreSave(@ApiParam(value = "平时成绩信息", required = true) @Valid @RequestBody TCUsualScore tcUsualScore, BindingResult bindingResult) throws IOException {
+        if (bindingResult.hasErrors()) {
+            return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());
+        }
+        TCUsualScore tcUsualScoreDb = tcUsualScoreService.getById(tcUsualScore.getId());
+        Objects.requireNonNull(tcUsualScoreDb, "未找到平时成绩信息");
+
+        SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
+        tcUsualScoreDb.updateInfo(tcUsualScore, sysUser.getId());
+        return ResultUtil.ok(tcUsualScoreService.updateById(tcUsualScoreDb));
     }
 
     @ApiOperation(value = "平时成绩启用/禁用")
@@ -133,6 +142,8 @@ public class TCUsualScoreController {
         TCUsualScore tcUsualScore = tcUsualScoreService.getById(id);
         Objects.requireNonNull(tcUsualScore, "未找到平时成绩信息");
         tcUsualScore.setEnable(enable);
+        SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
+        tcUsualScore.updateInfo(sysUser.getId());
         return ResultUtil.ok(tcUsualScoreService.updateById(tcUsualScore));
     }
 }

+ 1 - 0
teachcloud-common/src/main/java/com/qmth/teachcloud/common/contant/SystemConstant.java

@@ -217,6 +217,7 @@ public class SystemConstant {
     public static final Charset CHARSET = Charset.forName(CHARSET_NAME);
     public static final String MD5 = "MD5";
     public static final String SUCCESS = "success";
+    public static final String EXCEL_ERROR = "error";
     public static final String EXTEND_COLUMN = "extendColumn";
     public static final String USER_DIR = "user.dir";
     public static final String OS_NAME = "os.name";