dataId用于将这个题目统一个营业数据绑定,dataType用来符号这个营业数据的范例,这两个字段利便数据的扩展;dataTitle是营业数据的问题;options是这个题目的选项;analysis题目的理会,用于用户答题竣事后的自查;right用来记录题目的正确与否。
新增题目
上层接口
提供新增题目的接口:
- @PostMapping("/saveOrUpdateQuestion")
- public JsonData saveOrUpdateQuestion(@RequestBody Question data) {
- questionService.saveOrUpdateQuestion(data);
- return JsonData.success();
- }
QuestionService:
- public void saveOrUpdateQuestion(Question data) {
- if (StringUtils.isEmpty(data.getId())) {// 新增
- writer.insert(manager.getExamDataBase(), ExamConstant.QUESTION_COLLECT, data);
- } else {//修改
- writer.updateDocument(data, ExamConstant.QUESTION_COLLECT);
- }
- }
DAO
Writer:
- public void insert(String dataBase, String collect, MongoBean data) {
- if (data.getId() == null) {
- data.setId(BsonTool.uuid());
- }
- MongoCollection<Document> collection = getCollection(dataBase, collect);
- collection.insertOne(Document.parse(JSONObject.toJSONString(data)));
- }
- public Document updateDocument(MongoBean data, String questionCollect) {
- Document filter = new Document();
- filter.put("id", data.getId());
- Document res = new Document();
- res.put("$set", BsonDocument.parse(JSONObject.toJSONString(data)));
- update(manager.getExamDataBase(), questionCollect, filter, res);
- return res;
- }
- public boolean update(String dataBase, String collect, Bson filter, Bson update) {
- MongoCollection<Document> collection = getCollection(dataBase, collect);
- UpdateResult ur = collection.updateOne(filter, update);
- return ur.getModifiedCount() > 0;
- }
这样后端的事变就所有完成了,接下来就是前端怎么给后端提供这样的数据布局了。
前端实现数据布局
(编辑:湖南网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|