Procházet zdrojové kódy

feat:quit item supports mark field

shc před 1 rokem
rodič
revize
6afabf0ba0

+ 11 - 10
db/10wm_quiz_item.sql

@@ -9,16 +9,17 @@ SET FOREIGN_KEY_CHECKS = 0;
 DROP TABLE IF EXISTS `wm_quiz_item`;
 CREATE TABLE `wm_quiz_item`
 (
-    `item_id`     INT AUTO_INCREMENT COMMENT 'Id',
-    `quiz_sn`     VARCHAR(64)  NOT NULL COMMENT '试卷序号',
-    `label`       VARCHAR(64)  NOT NULL COMMENT '标题',
-    `options`     JSON COMMENT '选项',
-    `answer`      VARCHAR(255) NULL COMMENT '答案',
-    `widget`      BIGINT       NOT NULL COMMENT '排序权重',
-    `create_by`   VARCHAR(64)  NOT NULL COMMENT '创建人',
-    `update_by`   VARCHAR(64)  NOT NULL COMMENT '修改人',
-    `create_time` DATETIME     NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
-    `update_time` DATETIME     NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+    `item_id`      INT AUTO_INCREMENT COMMENT 'Id',
+    `quiz_sn`      VARCHAR(64)  NOT NULL COMMENT '试卷序号',
+    `label`        VARCHAR(64)  NOT NULL COMMENT '标题',
+    `quiz_options` JSON COMMENT '选项',
+    `answer`       VARCHAR(255) NULL COMMENT '答案',
+    `widget`       BIGINT       NOT NULL COMMENT '排序权重',
+    `mark`         INT          NOT NULL DEFAULT 0 COMMENT '分数',
+    `create_by`    VARCHAR(64)  NOT NULL COMMENT '创建人',
+    `update_by`    VARCHAR(64)  NOT NULL COMMENT '修改人',
+    `create_time`  DATETIME     NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+    `update_time`  DATETIME     NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
     PRIMARY KEY `pk_id` (`item_id`) USING BTREE,
     INDEX `idx_quiz_sn` (`quiz_sn`) USING BTREE
 ) ENGINE = InnoDB

+ 8 - 0
hnqz-upms/hnqz-upms-api/src/main/java/com/qunzhixinxi/hnqz/admin/api/dto/WmQuizDTO.java

@@ -9,6 +9,7 @@ import lombok.NoArgsConstructor;
 import org.hibernate.validator.constraints.Length;
 
 import javax.validation.Valid;
+import javax.validation.constraints.Min;
 import javax.validation.constraints.NotBlank;
 import javax.validation.constraints.NotEmpty;
 import javax.validation.constraints.NotNull;
@@ -79,6 +80,10 @@ public final class WmQuizDTO {
 
 		@NotNull(message = "排序权重必填")
 		private Long widget;
+
+		@NotNull(message = "分数必填")
+		@Min(value = 0, message = "分数最小为{value}")
+		private Integer mark;
 	}
 
 	@Data
@@ -94,6 +99,9 @@ public final class WmQuizDTO {
 		private String answer;
 
 		private Long widget;
+
+		@Min(value = 0, message = "分数最小为{value}")
+		private Integer mark;
 	}
 
 	@Data

+ 3 - 1
hnqz-upms/hnqz-upms-api/src/main/java/com/qunzhixinxi/hnqz/admin/api/entity/WmQuizItem.java

@@ -29,13 +29,15 @@ public final class WmQuizItem {
 
 	private String label;
 
-	@TableField(typeHandler = JacksonTypeHandler.class)
+	@TableField(value = "quiz_options", typeHandler = JacksonTypeHandler.class)
 	private WmQuestion.Option[] options;
 
 	private String answer;
 
 	private Long widget;
 
+	private Integer mark;
+
 	/**
 	 * 创建人
 	 */

+ 7 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmQuizItemServiceImpl.java

@@ -74,6 +74,10 @@ public class WmQuizItemServiceImpl extends ServiceImpl<WmQuizItemMapper, WmQuizI
 			quizItem.setOptions(item.getOptions());
 			quizItem.setAnswer(item.getAnswer());
 			quizItem.setWidget(item.getWidget());
+
+			int mark = item.getMark() == null ? 0 : item.getMark();
+
+			quizItem.setMark(mark);
 			String username = user.getUsername();
 			quizItem.setCreateBy(username);
 			quizItem.setUpdateBy(username);
@@ -120,6 +124,9 @@ public class WmQuizItemServiceImpl extends ServiceImpl<WmQuizItemMapper, WmQuizI
 			quizItem.setWidget(resource.getWidget());
 		}
 
+		if (resource.getMark() != null){
+			quizItem.setMark(resource.getMark());
+		}
 
 		return this.updateById(quizItem);
 	}