Browse Source

题库,题目

lrf 8 tháng trước cách đây
mục cha
commit
ddfa1b3f69

+ 0 - 4
src/main/java/com/free/controller/FileController.java

@@ -6,7 +6,6 @@ import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.nio.file.Path;
 import java.nio.file.Paths;
-import java.time.Instant;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.HashMap;
@@ -18,13 +17,10 @@ import javax.servlet.http.HttpServletRequest;
 
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.core.io.InputStreamResource;
-import org.springframework.core.io.Resource;
 import org.springframework.http.HttpHeaders;
-import org.springframework.http.HttpStatus;
 import org.springframework.http.MediaType;
 import org.springframework.http.MediaTypeFactory;
 import org.springframework.http.ResponseEntity;
-import org.springframework.util.MimeTypeUtils;
 import org.springframework.util.StringUtils;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;

+ 16 - 1
src/main/java/com/free/controller/QuestionController.java

@@ -19,12 +19,15 @@ import org.springframework.web.bind.annotation.RestController;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.type.CollectionType;
 import com.free.config.CustomizationException;
 import com.free.config.ExceptionEnum;
 import com.free.config.ResponseFormat;
-import com.free.entity.ChatRecord;
 import com.free.entity.Question;
 import com.free.service.QuestionService;
+import com.free.utils.Utils;
 
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -120,4 +123,16 @@ public class QuestionController {
     service.removeById(id);
     return ResponseFormat.success();
   }
+
+  @ApiOperation("初始化问题")
+  @PostMapping("/initData")
+  public Object initData() throws JsonProcessingException {
+    String filePath = "db/question.json";
+    ObjectMapper mapper = new ObjectMapper();
+    String str = Utils.readJsonFile(filePath);
+    CollectionType javaType = mapper.getTypeFactory().constructCollectionType(List.class, Map.class);
+    List<Map> list = mapper.readValue(str, javaType);
+    this.service.initData(list);
+    return ResponseFormat.success();
+  }
 }

+ 6 - 1
src/main/java/com/free/entity/Question.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
 import com.free.utils.BaseEntity;
 import com.gitee.sunchenbin.mybatis.actable.annotation.Column;
 import com.gitee.sunchenbin.mybatis.actable.annotation.Table;
+import com.gitee.sunchenbin.mybatis.actable.constants.MySqlTypeConstant;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -22,7 +23,7 @@ public class Question extends BaseEntity{
   @ApiModelProperty("标题")
   private String title;
 
-  @Column(comment = "答案")
+  @Column(comment = "答案", type = MySqlTypeConstant.TEXT)
   @TableField(value = "answer")
   @ApiModelProperty("答案")
   private String answer;
@@ -33,4 +34,8 @@ public class Question extends BaseEntity{
   @ApiModelProperty("所属平台")
   private String platform;
   
+  @Column(comment = "是否使用", defaultValue = "0")
+  @TableField(value = "is_use")
+  @ApiModelProperty("是否使用")
+  private String is_use;
 }

+ 4 - 2
src/main/java/com/free/mapper/QuestionMapper.java

@@ -1,11 +1,13 @@
 package com.free.mapper;
 
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Update;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.free.entity.Question;
 
 @Mapper
-public interface QuestionMapper extends BaseMapper<Question>{
-  
+public interface QuestionMapper extends BaseMapper<Question> {
+  @Update("truncate table question")
+  void truncate();
 }

+ 13 - 1
src/main/java/com/free/service/QuestionService.java

@@ -1,12 +1,24 @@
 package com.free.service;
 
+import java.util.List;
+import java.util.Map;
 import org.springframework.stereotype.Service;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fasterxml.jackson.databind.ObjectMapper;
 import com.free.entity.Question;
 import com.free.mapper.QuestionMapper;
 
 @Service
 public class QuestionService extends ServiceImpl<QuestionMapper, Question> {
-
+  public void initData(List<Map> list) {
+    // 清空表
+    ObjectMapper mapper = new ObjectMapper();
+    this.baseMapper.truncate();
+    for (int i = 0; i < list.size(); i++) {
+      Map m = list.get(i);
+      Question roleData = mapper.convertValue(m, Question.class);
+      this.save(roleData);
+    }
+  }
 }

+ 8 - 0
src/main/resources/db/menus.json

@@ -109,6 +109,14 @@
       }
     ]
   },
+  {
+    "name": "题库管理",
+    "path": "/question",
+    "type": "1",
+    "is_default": "0",
+    "is_use": "0",
+    "route_name": "question"
+  },
   {
     "name": "个人中心",
     "order_num": 1000,

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 232 - 0
src/main/resources/db/question.json