Browse Source

feat(admin|server): 修改结构

Go 4 years ago
parent
commit
8a039b4732
41 changed files with 1045 additions and 532 deletions
  1. 2 1
      front/project/admin/routes/setting/index.js
  2. 0 10
      front/project/admin/routes/setting/report/page.js
  3. 3 3
      front/project/admin/routes/setting/report/index.js
  4. 1 1
      front/project/admin/routes/setting/report/index.less
  5. 82 0
      front/project/admin/routes/setting/tips/page.js
  6. 8 0
      front/project/admin/stores/system.js
  7. 1 1
      server/data/src/main/java/com/qxgmat/data/constants/enums/SettingKey.java
  8. 0 7
      server/data/src/main/java/com/qxgmat/data/dao/ExaminationPaperQuestionMapper.java
  9. 0 7
      server/data/src/main/java/com/qxgmat/data/dao/ExercisePaperQuestionMapper.java
  10. 7 0
      server/data/src/main/java/com/qxgmat/data/dao/StatDayMapper.java
  11. 166 0
      server/data/src/main/java/com/qxgmat/data/dao/entity/ExaminationPaper.java
  12. 0 115
      server/data/src/main/java/com/qxgmat/data/dao/entity/ExaminationPaperQuestion.java
  13. 35 0
      server/data/src/main/java/com/qxgmat/data/dao/entity/ExercisePaper.java
  14. 0 133
      server/data/src/main/java/com/qxgmat/data/dao/entity/ExercisePaperQuestion.java
  15. 16 16
      server/data/src/main/java/com/qxgmat/data/dao/entity/FeedbackError.java
  16. 35 35
      server/data/src/main/java/com/qxgmat/data/dao/entity/HomeworkPreview.java
  17. 132 0
      server/data/src/main/java/com/qxgmat/data/dao/entity/QuestionNo.java
  18. 195 0
      server/data/src/main/java/com/qxgmat/data/dao/entity/StatDay.java
  19. 62 0
      server/data/src/main/java/com/qxgmat/data/dao/entity/TextbookPaper.java
  20. 35 35
      server/data/src/main/java/com/qxgmat/data/dao/entity/UserPaper.java
  21. 35 0
      server/data/src/main/java/com/qxgmat/data/dao/entity/UserPaperQuestion.java
  22. 35 0
      server/data/src/main/java/com/qxgmat/data/dao/entity/UserQuestion.java
  23. 35 35
      server/data/src/main/java/com/qxgmat/data/dao/entity/UserReport.java
  24. 22 0
      server/data/src/main/java/com/qxgmat/data/dao/mapping/ExaminationPaperMapper.xml
  25. 0 18
      server/data/src/main/java/com/qxgmat/data/dao/mapping/ExaminationPaperQuestionMapper.xml
  26. 12 0
      server/data/src/main/java/com/qxgmat/data/dao/mapping/ExercisePaperMapper.xml
  27. 2 2
      server/data/src/main/java/com/qxgmat/data/dao/mapping/FeedbackErrorMapper.xml
  28. 14 3
      server/data/src/main/java/com/qxgmat/data/dao/mapping/HomeworkPreviewMapper.xml
  29. 6 1
      server/data/src/main/java/com/qxgmat/data/dao/mapping/QuestionNoMapper.xml
  30. 7 5
      server/data/src/main/java/com/qxgmat/data/dao/mapping/ExercisePaperQuestionMapper.xml
  31. 19 0
      server/data/src/main/java/com/qxgmat/data/dao/mapping/TextbookPaperMapper.xml
  32. 13 2
      server/data/src/main/java/com/qxgmat/data/dao/mapping/UserPaperMapper.xml
  33. 2 1
      server/data/src/main/java/com/qxgmat/data/dao/mapping/UserPaperQuestionMapper.xml
  34. 3 2
      server/data/src/main/java/com/qxgmat/data/dao/mapping/UserQuestionMapper.xml
  35. 13 2
      server/data/src/main/java/com/qxgmat/data/dao/mapping/UserReportMapper.xml
  36. 0 7
      server/gateway-api/src/main/java/com/qxgmat/controller/admin/ExerciseController.java
  37. 30 12
      server/gateway-api/src/main/java/com/qxgmat/controller/admin/SettingController.java
  38. 13 1
      server/gateway-api/src/main/java/com/qxgmat/schedule/Schedule.java
  39. 0 4
      server/gateway-api/src/main/java/com/qxgmat/service/ExercisePaperService.java
  40. 0 70
      server/gateway-api/src/main/java/com/qxgmat/service/inline/ExercisePaperQuestionService.java
  41. 4 3
      server/gateway-api/src/main/java/com/qxgmat/service/inline/SettingService.java

+ 2 - 1
front/project/admin/routes/setting/index.js

@@ -1,7 +1,8 @@
 import struct from './struct';
+import tips from './tips';
 import service from './service';
 import index from './index/';
 import place from './place';
 import time from './time';
 
-export default [struct, service, index, place, time];
+export default [struct, tips, service, index, place, time];

+ 0 - 10
front/project/admin/routes/setting/report/page.js

@@ -1,10 +0,0 @@
-import React from 'react';
-import './index.less';
-import Page from '@src/containers/Page';
-import Block from '@src/components/Block';
-
-export default class extends Page {
-  renderView() {
-    return <Block flex />;
-  }
-}

+ 3 - 3
front/project/admin/routes/setting/report/index.js

@@ -2,9 +2,9 @@ import module from '../../module';
 import group from '../group';
 
 export default {
-  path: '/setting/report',
-  key: 'setting-report',
-  title: '报告设置',
+  path: '/setting/tips',
+  key: 'setting-tips',
+  title: '结构说明',
   needLogin: true,
   module,
   group,

+ 1 - 1
front/project/admin/routes/setting/report/index.less

@@ -1,3 +1,3 @@
 @charset "utf-8";
 
-#setting-report {}
+#setting-tips {}

+ 82 - 0
front/project/admin/routes/setting/tips/page.js

@@ -0,0 +1,82 @@
+import React from 'react';
+import { Col, Row, Button } from 'antd';
+import './index.less';
+import Page from '@src/containers/Page';
+import Block from '@src/components/Block';
+import EditTableCell from '@src/components/EditTableCell';
+import TableLayout from '@src/layouts/TableLayout';
+import { asyncSMessage } from '@src/services/AsyncTools';
+import { System } from '../../../stores/system';
+
+const locations = [
+  { page: '4-1/3模考-千行CAT', location: '显示第一次模考成绩', value: '4-1/3-show' },
+  { page: '4-1-1 做题结束-练习报告', location: '建议用时', value: '4-1-1-suggest' },
+  { page: '4-2-2模考-数学机经-选择习题册', location: '已更新至邮箱', value: '4-2-2-update' },
+  { page: '4-2-2模考-数学机经-选择习题册', location: '下载弹框', value: '4-2-2-download' },
+  { page: '4-2-2模考-数学机经-选择习题册', location: '邮箱处', value: '4-2-2-email' },
+  { page: '4-4 模考-休息', location: 'Optional Break', value: '4-4-optional' },
+  { page: '4-2-3 模考-数学机经-购买', location: '购买方式', value: '4-2-3-buy' },
+  { page: '4-2-3 模考-数学机经-购买', location: '填写邮箱', value: '4-2-3-email' },
+  { page: '5-1/3主页/弹框', location: '备注6', value: '5-1/3-note' },
+];
+
+export default class extends Page {
+  constructor(props) {
+    super(props);
+    this.columns = [{
+      title: '页面',
+      dataIndex: 'page',
+    }, {
+      title: '位置',
+      dataIndex: 'location',
+    }, {
+      title: '内容',
+      dataIndex: 'value',
+      render: (text, record) => {
+        const { data } = this.state;
+        return <EditTableCell value={data[record.value]} onChange={(v) => {
+          this.changeData(record.value, v);
+        }} />;
+      },
+    }];
+  }
+
+  initData() {
+    System.getTips().then(result => {
+      this.setState({ load: true, data: result });
+    });
+  }
+
+  changeData(key, value) {
+    const { data } = this.state;
+    data[key] = value;
+    this.setState({ data });
+  }
+
+  submit() {
+    const { data } = this.state;
+    System.setTips(data)
+      .then(() => {
+        this.setState(data);
+        asyncSMessage('保存成功');
+      });
+  }
+
+  renderView() {
+    return <Block flex >
+      <TableLayout
+        columns={this.columns}
+        list={locations}
+        pagination={false}
+        loading={this.props.core.loading}
+      />
+      <Row type="flex" justify="center">
+        <Col>
+          <Button type="primary" onClick={() => {
+            this.submit();
+          }}>保存</Button>
+        </Col>
+      </Row>
+    </Block>;
+  }
+}

+ 8 - 0
front/project/admin/stores/system.js

@@ -69,6 +69,14 @@ export default class SystemStore extends BaseStore {
     return this.apiPut('/setting/examination_time', params);
   }
 
+  getTips() {
+    return this.apiGet('/setting/tips');
+  }
+
+  setTips(params) {
+    return this.apiPut('/setting/tips', params);
+  }
+
   uploadImage(file) {
     return this.apiForm('/common/upload/image', { file });
   }

+ 1 - 1
server/data/src/main/java/com/qxgmat/data/constants/enums/SettingKey.java

@@ -4,7 +4,7 @@ package com.qxgmat.data.constants.enums;
  * Created by gaojie on 2017/11/19.
  */
 public enum SettingKey {
-    INDEX("index"), SENTENCE("sentence"), PLACE("place"), EXERCISE_TIME("exercise_time"), EXAMINATION_TIME("examination_time"), FILTER_TIME("filter_time"), EXERCISE_PAPER("exercise_paper");
+    INDEX("index"), SENTENCE("sentence"), PLACE("place"), EXERCISE_TIME("exercise_time"), EXAMINATION_TIME("examination_time"), FILTER_TIME("filter_time"), EXERCISE_PAPER("exercise_paper"), PREPARE_INFO("prepare_info"), TIPS("tips");
     final static public String message = "设置key";
 
     public String key;

+ 0 - 7
server/data/src/main/java/com/qxgmat/data/dao/ExaminationPaperQuestionMapper.java

@@ -1,7 +0,0 @@
-package com.qxgmat.data.dao;
-
-import com.nuliji.tools.mybatis.Mapper;
-import com.qxgmat.data.dao.entity.ExaminationPaperQuestion;
-
-public interface ExaminationPaperQuestionMapper extends Mapper<ExaminationPaperQuestion> {
-}

+ 0 - 7
server/data/src/main/java/com/qxgmat/data/dao/ExercisePaperQuestionMapper.java

@@ -1,7 +0,0 @@
-package com.qxgmat.data.dao;
-
-import com.nuliji.tools.mybatis.Mapper;
-import com.qxgmat.data.dao.entity.ExercisePaperQuestion;
-
-public interface ExercisePaperQuestionMapper extends Mapper<ExercisePaperQuestion> {
-}

+ 7 - 0
server/data/src/main/java/com/qxgmat/data/dao/StatDayMapper.java

@@ -0,0 +1,7 @@
+package com.qxgmat.data.dao;
+
+import com.nuliji.tools.mybatis.Mapper;
+import com.qxgmat.data.dao.entity.StatDay;
+
+public interface StatDayMapper extends Mapper<StatDay> {
+}

+ 166 - 0
server/data/src/main/java/com/qxgmat/data/dao/entity/ExaminationPaper.java

@@ -10,6 +10,33 @@ public class ExaminationPaper implements Serializable {
     @GeneratedValue(strategy = GenerationType.IDENTITY)
     private Integer id;
 
+    @Column(name = "`struct_id`")
+    private Integer structId;
+
+    /**
+     * 标题
+     */
+    @Column(name = "`title`")
+    private String title;
+
+    /**
+     * 题目数量
+     */
+    @Column(name = "`question_number`")
+    private Integer questionNumber;
+
+    /**
+     * 开放状态:0关闭,1开启
+     */
+    @Column(name = "`status`")
+    private Integer status;
+
+    /**
+     * 题目编号ids:json
+     */
+    @Column(name = "`question_no_ids`")
+    private String questionNoIds;
+
     private static final long serialVersionUID = 1L;
 
     /**
@@ -26,6 +53,92 @@ public class ExaminationPaper implements Serializable {
         this.id = id;
     }
 
+    /**
+     * @return struct_id
+     */
+    public Integer getStructId() {
+        return structId;
+    }
+
+    /**
+     * @param structId
+     */
+    public void setStructId(Integer structId) {
+        this.structId = structId;
+    }
+
+    /**
+     * 获取标题
+     *
+     * @return title - 标题
+     */
+    public String getTitle() {
+        return title;
+    }
+
+    /**
+     * 设置标题
+     *
+     * @param title 标题
+     */
+    public void setTitle(String title) {
+        this.title = title;
+    }
+
+    /**
+     * 获取题目数量
+     *
+     * @return question_number - 题目数量
+     */
+    public Integer getQuestionNumber() {
+        return questionNumber;
+    }
+
+    /**
+     * 设置题目数量
+     *
+     * @param questionNumber 题目数量
+     */
+    public void setQuestionNumber(Integer questionNumber) {
+        this.questionNumber = questionNumber;
+    }
+
+    /**
+     * 获取开放状态:0关闭,1开启
+     *
+     * @return status - 开放状态:0关闭,1开启
+     */
+    public Integer getStatus() {
+        return status;
+    }
+
+    /**
+     * 设置开放状态:0关闭,1开启
+     *
+     * @param status 开放状态:0关闭,1开启
+     */
+    public void setStatus(Integer status) {
+        this.status = status;
+    }
+
+    /**
+     * 获取题目编号ids:json
+     *
+     * @return question_no_ids - 题目编号ids:json
+     */
+    public String getQuestionNoIds() {
+        return questionNoIds;
+    }
+
+    /**
+     * 设置题目编号ids:json
+     *
+     * @param questionNoIds 题目编号ids:json
+     */
+    public void setQuestionNoIds(String questionNoIds) {
+        this.questionNoIds = questionNoIds;
+    }
+
     @Override
     public String toString() {
         StringBuilder sb = new StringBuilder();
@@ -33,6 +146,11 @@ public class ExaminationPaper implements Serializable {
         sb.append(" [");
         sb.append("Hash = ").append(hashCode());
         sb.append(", id=").append(id);
+        sb.append(", structId=").append(structId);
+        sb.append(", title=").append(title);
+        sb.append(", questionNumber=").append(questionNumber);
+        sb.append(", status=").append(status);
+        sb.append(", questionNoIds=").append(questionNoIds);
         sb.append("]");
         return sb.toString();
     }
@@ -56,6 +174,54 @@ public class ExaminationPaper implements Serializable {
             return this;
         }
 
+        /**
+         * @param structId
+         */
+        public Builder structId(Integer structId) {
+            obj.setStructId(structId);
+            return this;
+        }
+
+        /**
+         * 设置标题
+         *
+         * @param title 标题
+         */
+        public Builder title(String title) {
+            obj.setTitle(title);
+            return this;
+        }
+
+        /**
+         * 设置题目数量
+         *
+         * @param questionNumber 题目数量
+         */
+        public Builder questionNumber(Integer questionNumber) {
+            obj.setQuestionNumber(questionNumber);
+            return this;
+        }
+
+        /**
+         * 设置开放状态:0关闭,1开启
+         *
+         * @param status 开放状态:0关闭,1开启
+         */
+        public Builder status(Integer status) {
+            obj.setStatus(status);
+            return this;
+        }
+
+        /**
+         * 设置题目编号ids:json
+         *
+         * @param questionNoIds 题目编号ids:json
+         */
+        public Builder questionNoIds(String questionNoIds) {
+            obj.setQuestionNoIds(questionNoIds);
+            return this;
+        }
+
         public ExaminationPaper build() {
             return this.obj;
         }

+ 0 - 115
server/data/src/main/java/com/qxgmat/data/dao/entity/ExaminationPaperQuestion.java

@@ -1,115 +0,0 @@
-package com.qxgmat.data.dao.entity;
-
-import java.io.Serializable;
-import javax.persistence.*;
-
-@Table(name = "examination_paper_question")
-public class ExaminationPaperQuestion implements Serializable {
-    @Id
-    @Column(name = "`id`")
-    @GeneratedValue(strategy = GenerationType.IDENTITY)
-    private Integer id;
-
-    @Column(name = "`paper_id`")
-    private Integer paperId;
-
-    @Column(name = "`question_id`")
-    private Integer questionId;
-
-    private static final long serialVersionUID = 1L;
-
-    /**
-     * @return id
-     */
-    public Integer getId() {
-        return id;
-    }
-
-    /**
-     * @param id
-     */
-    public void setId(Integer id) {
-        this.id = id;
-    }
-
-    /**
-     * @return paper_id
-     */
-    public Integer getPaperId() {
-        return paperId;
-    }
-
-    /**
-     * @param paperId
-     */
-    public void setPaperId(Integer paperId) {
-        this.paperId = paperId;
-    }
-
-    /**
-     * @return question_id
-     */
-    public Integer getQuestionId() {
-        return questionId;
-    }
-
-    /**
-     * @param questionId
-     */
-    public void setQuestionId(Integer questionId) {
-        this.questionId = questionId;
-    }
-
-    @Override
-    public String toString() {
-        StringBuilder sb = new StringBuilder();
-        sb.append(getClass().getSimpleName());
-        sb.append(" [");
-        sb.append("Hash = ").append(hashCode());
-        sb.append(", id=").append(id);
-        sb.append(", paperId=").append(paperId);
-        sb.append(", questionId=").append(questionId);
-        sb.append("]");
-        return sb.toString();
-    }
-
-    public static ExaminationPaperQuestion.Builder builder() {
-        return new ExaminationPaperQuestion.Builder();
-    }
-
-    public static class Builder {
-        private ExaminationPaperQuestion obj;
-
-        public Builder() {
-            this.obj = new ExaminationPaperQuestion();
-        }
-
-        /**
-         * @param id
-         */
-        public Builder id(Integer id) {
-            obj.setId(id);
-            return this;
-        }
-
-        /**
-         * @param paperId
-         */
-        public Builder paperId(Integer paperId) {
-            obj.setPaperId(paperId);
-            return this;
-        }
-
-        /**
-         * @param questionId
-         */
-        public Builder questionId(Integer questionId) {
-            obj.setQuestionId(questionId);
-            return this;
-        }
-
-        public ExaminationPaperQuestion build() {
-            return this.obj;
-        }
-    }
-}

+ 35 - 0
server/data/src/main/java/com/qxgmat/data/dao/entity/ExercisePaper.java

@@ -58,6 +58,12 @@ public class ExercisePaper implements Serializable {
     @Column(name = "`status`")
     private Integer status;
 
+    /**
+     * 题目编号ids:json
+     */
+    @Column(name = "`question_no_ids`")
+    private String questionNoIds;
+
     private static final long serialVersionUID = 1L;
 
     /**
@@ -218,6 +224,24 @@ public class ExercisePaper implements Serializable {
         this.status = status;
     }
 
+    /**
+     * 获取题目编号ids:json
+     *
+     * @return question_no_ids - 题目编号ids:json
+     */
+    public String getQuestionNoIds() {
+        return questionNoIds;
+    }
+
+    /**
+     * 设置题目编号ids:json
+     *
+     * @param questionNoIds 题目编号ids:json
+     */
+    public void setQuestionNoIds(String questionNoIds) {
+        this.questionNoIds = questionNoIds;
+    }
+
     @Override
     public String toString() {
         StringBuilder sb = new StringBuilder();
@@ -233,6 +257,7 @@ public class ExercisePaper implements Serializable {
         sb.append(", title=").append(title);
         sb.append(", questionNumber=").append(questionNumber);
         sb.append(", status=").append(status);
+        sb.append(", questionNoIds=").append(questionNoIds);
         sb.append("]");
         return sb.toString();
     }
@@ -336,6 +361,16 @@ public class ExercisePaper implements Serializable {
             return this;
         }
 
+        /**
+         * 设置题目编号ids:json
+         *
+         * @param questionNoIds 题目编号ids:json
+         */
+        public Builder questionNoIds(String questionNoIds) {
+            obj.setQuestionNoIds(questionNoIds);
+            return this;
+        }
+
         public ExercisePaper build() {
             return this.obj;
         }

+ 0 - 133
server/data/src/main/java/com/qxgmat/data/dao/entity/ExercisePaperQuestion.java

@@ -1,133 +0,0 @@
-package com.qxgmat.data.dao.entity;
-
-import java.io.Serializable;
-import javax.persistence.*;
-
-@Table(name = "exercise_paper_question")
-public class ExercisePaperQuestion implements Serializable {
-    @Id
-    @Column(name = "`id`")
-    @GeneratedValue(strategy = GenerationType.IDENTITY)
-    private Integer id;
-
-    /**
-     * 组卷id
-     */
-    @Column(name = "`paper_id`")
-    private Integer paperId;
-
-    /**
-     * 题目id
-     */
-    @Column(name = "`question_id`")
-    private Integer questionId;
-
-    private static final long serialVersionUID = 1L;
-
-    /**
-     * @return id
-     */
-    public Integer getId() {
-        return id;
-    }
-
-    /**
-     * @param id
-     */
-    public void setId(Integer id) {
-        this.id = id;
-    }
-
-    /**
-     * 获取组卷id
-     *
-     * @return paper_id - 组卷id
-     */
-    public Integer getPaperId() {
-        return paperId;
-    }
-
-    /**
-     * 设置组卷id
-     *
-     * @param paperId 组卷id
-     */
-    public void setPaperId(Integer paperId) {
-        this.paperId = paperId;
-    }
-
-    /**
-     * 获取题目id
-     *
-     * @return question_id - 题目id
-     */
-    public Integer getQuestionId() {
-        return questionId;
-    }
-
-    /**
-     * 设置题目id
-     *
-     * @param questionId 题目id
-     */
-    public void setQuestionId(Integer questionId) {
-        this.questionId = questionId;
-    }
-
-    @Override
-    public String toString() {
-        StringBuilder sb = new StringBuilder();
-        sb.append(getClass().getSimpleName());
-        sb.append(" [");
-        sb.append("Hash = ").append(hashCode());
-        sb.append(", id=").append(id);
-        sb.append(", paperId=").append(paperId);
-        sb.append(", questionId=").append(questionId);
-        sb.append("]");
-        return sb.toString();
-    }
-
-    public static ExercisePaperQuestion.Builder builder() {
-        return new ExercisePaperQuestion.Builder();
-    }
-
-    public static class Builder {
-        private ExercisePaperQuestion obj;
-
-        public Builder() {
-            this.obj = new ExercisePaperQuestion();
-        }
-
-        /**
-         * @param id
-         */
-        public Builder id(Integer id) {
-            obj.setId(id);
-            return this;
-        }
-
-        /**
-         * 设置组卷id
-         *
-         * @param paperId 组卷id
-         */
-        public Builder paperId(Integer paperId) {
-            obj.setPaperId(paperId);
-            return this;
-        }
-
-        /**
-         * 设置题目id
-         *
-         * @param questionId 题目id
-         */
-        public Builder questionId(Integer questionId) {
-            obj.setQuestionId(questionId);
-            return this;
-        }
-
-        public ExercisePaperQuestion build() {
-            return this.obj;
-        }
-    }
-}

+ 16 - 16
server/data/src/main/java/com/qxgmat/data/dao/entity/FeedbackError.java

@@ -18,10 +18,10 @@ public class FeedbackError implements Serializable {
     private Integer userId;
 
     /**
-     * 题目id
+     * 题目编号id
      */
-    @Column(name = "`question_id`")
-    private Integer questionId;
+    @Column(name = "`question_no_id`")
+    private Integer questionNoId;
 
     @Column(name = "`type`")
     private Integer type;
@@ -67,21 +67,21 @@ public class FeedbackError implements Serializable {
     }
 
     /**
-     * 获取题目id
+     * 获取题目编号id
      *
-     * @return question_id - 题目id
+     * @return question_no_id - 题目编号id
      */
-    public Integer getQuestionId() {
-        return questionId;
+    public Integer getQuestionNoId() {
+        return questionNoId;
     }
 
     /**
-     * 设置题目id
+     * 设置题目编号id
      *
-     * @param questionId 题目id
+     * @param questionNoId 题目编号id
      */
-    public void setQuestionId(Integer questionId) {
-        this.questionId = questionId;
+    public void setQuestionNoId(Integer questionNoId) {
+        this.questionNoId = questionNoId;
     }
 
     /**
@@ -134,7 +134,7 @@ public class FeedbackError implements Serializable {
         sb.append("Hash = ").append(hashCode());
         sb.append(", id=").append(id);
         sb.append(", userId=").append(userId);
-        sb.append(", questionId=").append(questionId);
+        sb.append(", questionNoId=").append(questionNoId);
         sb.append(", type=").append(type);
         sb.append(", createTime=").append(createTime);
         sb.append(", content=").append(content);
@@ -172,12 +172,12 @@ public class FeedbackError implements Serializable {
         }
 
         /**
-         * 设置题目id
+         * 设置题目编号id
          *
-         * @param questionId 题目id
+         * @param questionNoId 题目编号id
          */
-        public Builder questionId(Integer questionId) {
-            obj.setQuestionId(questionId);
+        public Builder questionNoId(Integer questionNoId) {
+            obj.setQuestionNoId(questionNoId);
             return this;
         }
 

+ 35 - 35
server/data/src/main/java/com/qxgmat/data/dao/entity/HomeworkPreview.java

@@ -24,12 +24,6 @@ public class HomeworkPreview implements Serializable {
     private Integer category;
 
     /**
-     * 题目id:json
-     */
-    @Column(name = "`question_ids`")
-    private Integer[] questionIds;
-
-    /**
      * 制定作业用户id:json
      */
     @Column(name = "`user_ids`")
@@ -59,6 +53,12 @@ public class HomeworkPreview implements Serializable {
     @Column(name = "`update_time`")
     private Date updateTime;
 
+    /**
+     * 题目编号id:json
+     */
+    @Column(name = "`question_no_ids`")
+    private String questionNoIds;
+
     private static final long serialVersionUID = 1L;
 
     /**
@@ -112,24 +112,6 @@ public class HomeworkPreview implements Serializable {
     }
 
     /**
-     * 获取题目id:json
-     *
-     * @return question_ids - 题目id:json
-     */
-    public Integer[] getQuestionIds() {
-        return questionIds;
-    }
-
-    /**
-     * 设置题目id:json
-     *
-     * @param questionIds 题目id:json
-     */
-    public void setQuestionIds(Integer[] questionIds) {
-        this.questionIds = questionIds;
-    }
-
-    /**
      * 获取制定作业用户id:json
      *
      * @return user_ids - 制定作业用户id:json
@@ -229,6 +211,24 @@ public class HomeworkPreview implements Serializable {
         this.updateTime = updateTime;
     }
 
+    /**
+     * 获取题目编号id:json
+     *
+     * @return question_no_ids - 题目编号id:json
+     */
+    public String getQuestionNoIds() {
+        return questionNoIds;
+    }
+
+    /**
+     * 设置题目编号id:json
+     *
+     * @param questionNoIds 题目编号id:json
+     */
+    public void setQuestionNoIds(String questionNoIds) {
+        this.questionNoIds = questionNoIds;
+    }
+
     @Override
     public String toString() {
         StringBuilder sb = new StringBuilder();
@@ -238,13 +238,13 @@ public class HomeworkPreview implements Serializable {
         sb.append(", id=").append(id);
         sb.append(", title=").append(title);
         sb.append(", category=").append(category);
-        sb.append(", questionIds=").append(questionIds);
         sb.append(", userIds=").append(userIds);
         sb.append(", startTime=").append(startTime);
         sb.append(", endTime=").append(endTime);
         sb.append(", finish=").append(finish);
         sb.append(", createTime=").append(createTime);
         sb.append(", updateTime=").append(updateTime);
+        sb.append(", questionNoIds=").append(questionNoIds);
         sb.append("]");
         return sb.toString();
     }
@@ -289,16 +289,6 @@ public class HomeworkPreview implements Serializable {
         }
 
         /**
-         * 设置题目id:json
-         *
-         * @param questionIds 题目id:json
-         */
-        public Builder questionIds(Integer[] questionIds) {
-            obj.setQuestionIds(questionIds);
-            return this;
-        }
-
-        /**
          * 设置制定作业用户id:json
          *
          * @param userIds 制定作业用户id:json
@@ -354,6 +344,16 @@ public class HomeworkPreview implements Serializable {
             return this;
         }
 
+        /**
+         * 设置题目编号id:json
+         *
+         * @param questionNoIds 题目编号id:json
+         */
+        public Builder questionNoIds(String questionNoIds) {
+            obj.setQuestionNoIds(questionNoIds);
+            return this;
+        }
+
         public HomeworkPreview build() {
             return this.obj;
         }

+ 132 - 0
server/data/src/main/java/com/qxgmat/data/dao/entity/QuestionNo.java

@@ -1,6 +1,7 @@
 package com.qxgmat.data.dao.entity;
 
 import java.io.Serializable;
+import java.util.Date;
 import javax.persistence.*;
 
 @Table(name = "question_no")
@@ -34,6 +35,27 @@ public class QuestionNo implements Serializable {
     @Column(name = "`module_struct`")
     private String moduleStruct;
 
+    /**
+     * 总作答时间
+     */
+    @Column(name = "`total_time`")
+    private Integer totalTime;
+
+    /**
+     * 总作答次数
+     */
+    @Column(name = "`total_number`")
+    private Integer totalNumber;
+
+    /**
+     * 总正确次数
+     */
+    @Column(name = "`total_correct`")
+    private Integer totalCorrect;
+
+    @Column(name = "`delete_time`")
+    private Date deleteTime;
+
     private static final long serialVersionUID = 1L;
 
     /**
@@ -122,6 +144,74 @@ public class QuestionNo implements Serializable {
         this.moduleStruct = moduleStruct;
     }
 
+    /**
+     * 获取总作答时间
+     *
+     * @return total_time - 总作答时间
+     */
+    public Integer getTotalTime() {
+        return totalTime;
+    }
+
+    /**
+     * 设置总作答时间
+     *
+     * @param totalTime 总作答时间
+     */
+    public void setTotalTime(Integer totalTime) {
+        this.totalTime = totalTime;
+    }
+
+    /**
+     * 获取总作答次数
+     *
+     * @return total_number - 总作答次数
+     */
+    public Integer getTotalNumber() {
+        return totalNumber;
+    }
+
+    /**
+     * 设置总作答次数
+     *
+     * @param totalNumber 总作答次数
+     */
+    public void setTotalNumber(Integer totalNumber) {
+        this.totalNumber = totalNumber;
+    }
+
+    /**
+     * 获取总正确次数
+     *
+     * @return total_correct - 总正确次数
+     */
+    public Integer getTotalCorrect() {
+        return totalCorrect;
+    }
+
+    /**
+     * 设置总正确次数
+     *
+     * @param totalCorrect 总正确次数
+     */
+    public void setTotalCorrect(Integer totalCorrect) {
+        this.totalCorrect = totalCorrect;
+    }
+
+    /**
+     * @return delete_time
+     */
+    public Date getDeleteTime() {
+        return deleteTime;
+    }
+
+    /**
+     * @param deleteTime
+     */
+    public void setDeleteTime(Date deleteTime) {
+        this.deleteTime = deleteTime;
+    }
+
     @Override
     public String toString() {
         StringBuilder sb = new StringBuilder();
@@ -133,6 +223,10 @@ public class QuestionNo implements Serializable {
         sb.append(", module=").append(module);
         sb.append(", no=").append(no);
         sb.append(", moduleStruct=").append(moduleStruct);
+        sb.append(", totalTime=").append(totalTime);
+        sb.append(", totalNumber=").append(totalNumber);
+        sb.append(", totalCorrect=").append(totalCorrect);
+        sb.append(", deleteTime=").append(deleteTime);
         sb.append("]");
         return sb.toString();
     }
@@ -196,6 +290,44 @@ public class QuestionNo implements Serializable {
             return this;
         }
 
+        /**
+         * 设置总作答时间
+         *
+         * @param totalTime 总作答时间
+         */
+        public Builder totalTime(Integer totalTime) {
+            obj.setTotalTime(totalTime);
+            return this;
+        }
+
+        /**
+         * 设置总作答次数
+         *
+         * @param totalNumber 总作答次数
+         */
+        public Builder totalNumber(Integer totalNumber) {
+            obj.setTotalNumber(totalNumber);
+            return this;
+        }
+
+        /**
+         * 设置总正确次数
+         *
+         * @param totalCorrect 总正确次数
+         */
+        public Builder totalCorrect(Integer totalCorrect) {
+            obj.setTotalCorrect(totalCorrect);
+            return this;
+        }
+
+        /**
+         * @param deleteTime
+         */
+        public Builder deleteTime(Date deleteTime) {
+            obj.setDeleteTime(deleteTime);
+            return this;
+        }
+
         public QuestionNo build() {
             return this.obj;
         }

+ 195 - 0
server/data/src/main/java/com/qxgmat/data/dao/entity/StatDay.java

@@ -0,0 +1,195 @@
+package com.qxgmat.data.dao.entity;
+
+import java.io.Serializable;
+import java.util.Date;
+import javax.persistence.*;
+
+@Table(name = "stat_day")
+public class StatDay implements Serializable {
+    @Id
+    @Column(name = "`id`")
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    private Integer id;
+
+    /**
+     * 用户id
+     */
+    @Column(name = "`user_id`")
+    private Integer userId;
+
+    /**
+     * 统计项:exericse,examination
+     */
+    @Column(name = "`key`")
+    private String key;
+
+    /**
+     * 时间
+     */
+    @Column(name = "`time`")
+    private Integer time;
+
+    @Column(name = "`create_time`")
+    private Date createTime;
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * @return id
+     */
+    public Integer getId() {
+        return id;
+    }
+
+    /**
+     * @param id
+     */
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    /**
+     * 获取用户id
+     *
+     * @return user_id - 用户id
+     */
+    public Integer getUserId() {
+        return userId;
+    }
+
+    /**
+     * 设置用户id
+     *
+     * @param userId 用户id
+     */
+    public void setUserId(Integer userId) {
+        this.userId = userId;
+    }
+
+    /**
+     * 获取统计项:exericse,examination
+     *
+     * @return key - 统计项:exericse,examination
+     */
+    public String getKey() {
+        return key;
+    }
+
+    /**
+     * 设置统计项:exericse,examination
+     *
+     * @param key 统计项:exericse,examination
+     */
+    public void setKey(String key) {
+        this.key = key;
+    }
+
+    /**
+     * 获取时间
+     *
+     * @return time - 时间
+     */
+    public Integer getTime() {
+        return time;
+    }
+
+    /**
+     * 设置时间
+     *
+     * @param time 时间
+     */
+    public void setTime(Integer time) {
+        this.time = time;
+    }
+
+    /**
+     * @return create_time
+     */
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    /**
+     * @param createTime
+     */
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", id=").append(id);
+        sb.append(", userId=").append(userId);
+        sb.append(", key=").append(key);
+        sb.append(", time=").append(time);
+        sb.append(", createTime=").append(createTime);
+        sb.append("]");
+        return sb.toString();
+    }
+
+    public static StatDay.Builder builder() {
+        return new StatDay.Builder();
+    }
+
+    public static class Builder {
+        private StatDay obj;
+
+        public Builder() {
+            this.obj = new StatDay();
+        }
+
+        /**
+         * @param id
+         */
+        public Builder id(Integer id) {
+            obj.setId(id);
+            return this;
+        }
+
+        /**
+         * 设置用户id
+         *
+         * @param userId 用户id
+         */
+        public Builder userId(Integer userId) {
+            obj.setUserId(userId);
+            return this;
+        }
+
+        /**
+         * 设置统计项:exericse,examination
+         *
+         * @param key 统计项:exericse,examination
+         */
+        public Builder key(String key) {
+            obj.setKey(key);
+            return this;
+        }
+
+        /**
+         * 设置时间
+         *
+         * @param time 时间
+         */
+        public Builder time(Integer time) {
+            obj.setTime(time);
+            return this;
+        }
+
+        /**
+         * @param createTime
+         */
+        public Builder createTime(Date createTime) {
+            obj.setCreateTime(createTime);
+            return this;
+        }
+
+        public StatDay build() {
+            return this.obj;
+        }
+    }
+}

+ 62 - 0
server/data/src/main/java/com/qxgmat/data/dao/entity/TextbookPaper.java

@@ -1,6 +1,7 @@
 package com.qxgmat.data.dao.entity;
 
 import java.io.Serializable;
+import java.util.Date;
 import javax.persistence.*;
 
 @Table(name = "textbook_paper")
@@ -10,6 +11,15 @@ public class TextbookPaper implements Serializable {
     @GeneratedValue(strategy = GenerationType.IDENTITY)
     private Integer id;
 
+    @Column(name = "`create_time`")
+    private Date createTime;
+
+    /**
+     * 题目编号ids:json
+     */
+    @Column(name = "`question_no_ids`")
+    private String questionNoIds;
+
     private static final long serialVersionUID = 1L;
 
     /**
@@ -26,6 +36,38 @@ public class TextbookPaper implements Serializable {
         this.id = id;
     }
 
+    /**
+     * @return create_time
+     */
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    /**
+     * @param createTime
+     */
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    /**
+     * 获取题目编号ids:json
+     *
+     * @return question_no_ids - 题目编号ids:json
+     */
+    public String getQuestionNoIds() {
+        return questionNoIds;
+    }
+
+    /**
+     * 设置题目编号ids:json
+     *
+     * @param questionNoIds 题目编号ids:json
+     */
+    public void setQuestionNoIds(String questionNoIds) {
+        this.questionNoIds = questionNoIds;
+    }
+
     @Override
     public String toString() {
         StringBuilder sb = new StringBuilder();
@@ -33,6 +75,8 @@ public class TextbookPaper implements Serializable {
         sb.append(" [");
         sb.append("Hash = ").append(hashCode());
         sb.append(", id=").append(id);
+        sb.append(", createTime=").append(createTime);
+        sb.append(", questionNoIds=").append(questionNoIds);
         sb.append("]");
         return sb.toString();
     }
@@ -56,6 +100,24 @@ public class TextbookPaper implements Serializable {
             return this;
         }
 
+        /**
+         * @param createTime
+         */
+        public Builder createTime(Date createTime) {
+            obj.setCreateTime(createTime);
+            return this;
+        }
+
+        /**
+         * 设置题目编号ids:json
+         *
+         * @param questionNoIds 题目编号ids:json
+         */
+        public Builder questionNoIds(String questionNoIds) {
+            obj.setQuestionNoIds(questionNoIds);
+            return this;
+        }
+
         public TextbookPaper build() {
             return this.obj;
         }

+ 35 - 35
server/data/src/main/java/com/qxgmat/data/dao/entity/UserPaper.java

@@ -35,12 +35,6 @@ public class UserPaper implements Serializable {
     private Integer moduleId;
 
     /**
-     * 题目id列表:json
-     */
-    @Column(name = "`question_ids`")
-    private Integer[] questionIds;
-
-    /**
      * 练习次数
      */
     @Column(name = "`number`")
@@ -52,6 +46,12 @@ public class UserPaper implements Serializable {
     @Column(name = "`time`")
     private Integer time;
 
+    /**
+     * 题目编号id列表:json
+     */
+    @Column(name = "`question_no_ids`")
+    private String questionNoIds;
+
     private static final long serialVersionUID = 1L;
 
     /**
@@ -141,24 +141,6 @@ public class UserPaper implements Serializable {
     }
 
     /**
-     * 获取题目id列表:json
-     *
-     * @return question_ids - 题目id列表:json
-     */
-    public Integer[] getQuestionIds() {
-        return questionIds;
-    }
-
-    /**
-     * 设置题目id列表:json
-     *
-     * @param questionIds 题目id列表:json
-     */
-    public void setQuestionIds(Integer[] questionIds) {
-        this.questionIds = questionIds;
-    }
-
-    /**
      * 获取练习次数
      *
      * @return number - 练习次数
@@ -194,6 +176,24 @@ public class UserPaper implements Serializable {
         this.time = time;
     }
 
+    /**
+     * 获取题目编号id列表:json
+     *
+     * @return question_no_ids - 题目编号id列表:json
+     */
+    public String getQuestionNoIds() {
+        return questionNoIds;
+    }
+
+    /**
+     * 设置题目编号id列表:json
+     *
+     * @param questionNoIds 题目编号id列表:json
+     */
+    public void setQuestionNoIds(String questionNoIds) {
+        this.questionNoIds = questionNoIds;
+    }
+
     @Override
     public String toString() {
         StringBuilder sb = new StringBuilder();
@@ -205,9 +205,9 @@ public class UserPaper implements Serializable {
         sb.append(", title=").append(title);
         sb.append(", module=").append(module);
         sb.append(", moduleId=").append(moduleId);
-        sb.append(", questionIds=").append(questionIds);
         sb.append(", number=").append(number);
         sb.append(", time=").append(time);
+        sb.append(", questionNoIds=").append(questionNoIds);
         sb.append("]");
         return sb.toString();
     }
@@ -272,16 +272,6 @@ public class UserPaper implements Serializable {
         }
 
         /**
-         * 设置题目id列表:json
-         *
-         * @param questionIds 题目id列表:json
-         */
-        public Builder questionIds(Integer[] questionIds) {
-            obj.setQuestionIds(questionIds);
-            return this;
-        }
-
-        /**
          * 设置练习次数
          *
          * @param number 练习次数
@@ -301,6 +291,16 @@ public class UserPaper implements Serializable {
             return this;
         }
 
+        /**
+         * 设置题目编号id列表:json
+         *
+         * @param questionNoIds 题目编号id列表:json
+         */
+        public Builder questionNoIds(String questionNoIds) {
+            obj.setQuestionNoIds(questionNoIds);
+            return this;
+        }
+
         public UserPaper build() {
             return this.obj;
         }

+ 35 - 0
server/data/src/main/java/com/qxgmat/data/dao/entity/UserPaperQuestion.java

@@ -23,6 +23,12 @@ public class UserPaperQuestion implements Serializable {
     private Integer paperId;
 
     /**
+     * 题目编号id
+     */
+    @Column(name = "`question_no_id`")
+    private Integer questionNoId;
+
+    /**
      * 组卷模块:collect,error
      */
     @Column(name = "`paper_module`")
@@ -81,6 +87,24 @@ public class UserPaperQuestion implements Serializable {
     }
 
     /**
+     * 获取题目编号id
+     *
+     * @return question_no_id - 题目编号id
+     */
+    public Integer getQuestionNoId() {
+        return questionNoId;
+    }
+
+    /**
+     * 设置题目编号id
+     *
+     * @param questionNoId 题目编号id
+     */
+    public void setQuestionNoId(Integer questionNoId) {
+        this.questionNoId = questionNoId;
+    }
+
+    /**
      * 获取组卷模块:collect,error
      *
      * @return paper_module - 组卷模块:collect,error
@@ -107,6 +131,7 @@ public class UserPaperQuestion implements Serializable {
         sb.append(", id=").append(id);
         sb.append(", userId=").append(userId);
         sb.append(", paperId=").append(paperId);
+        sb.append(", questionNoId=").append(questionNoId);
         sb.append(", paperModule=").append(paperModule);
         sb.append("]");
         return sb.toString();
@@ -152,6 +177,16 @@ public class UserPaperQuestion implements Serializable {
         }
 
         /**
+         * 设置题目编号id
+         *
+         * @param questionNoId 题目编号id
+         */
+        public Builder questionNoId(Integer questionNoId) {
+            obj.setQuestionNoId(questionNoId);
+            return this;
+        }
+
+        /**
          * 设置组卷模块:collect,error
          *
          * @param paperModule 组卷模块:collect,error

+ 35 - 0
server/data/src/main/java/com/qxgmat/data/dao/entity/UserQuestion.java

@@ -31,6 +31,12 @@ public class UserQuestion implements Serializable {
     private Integer questionId;
 
     /**
+     * 题目编号id
+     */
+    @Column(name = "`question_no_id`")
+    private Integer questionNoId;
+
+    /**
      * 系统定义时间
      */
     @Column(name = "`time`")
@@ -134,6 +140,24 @@ public class UserQuestion implements Serializable {
     }
 
     /**
+     * 获取题目编号id
+     *
+     * @return question_no_id - 题目编号id
+     */
+    public Integer getQuestionNoId() {
+        return questionNoId;
+    }
+
+    /**
+     * 设置题目编号id
+     *
+     * @param questionNoId 题目编号id
+     */
+    public void setQuestionNoId(Integer questionNoId) {
+        this.questionNoId = questionNoId;
+    }
+
+    /**
      * 获取系统定义时间
      *
      * @return time - 系统定义时间
@@ -247,6 +271,7 @@ public class UserQuestion implements Serializable {
         sb.append(", userId=").append(userId);
         sb.append(", reportId=").append(reportId);
         sb.append(", questionId=").append(questionId);
+        sb.append(", questionNoId=").append(questionNoId);
         sb.append(", time=").append(time);
         sb.append(", userTime=").append(userTime);
         sb.append(", createTime=").append(createTime);
@@ -307,6 +332,16 @@ public class UserQuestion implements Serializable {
         }
 
         /**
+         * 设置题目编号id
+         *
+         * @param questionNoId 题目编号id
+         */
+        public Builder questionNoId(Integer questionNoId) {
+            obj.setQuestionNoId(questionNoId);
+            return this;
+        }
+
+        /**
          * 设置系统定义时间
          *
          * @param time 系统定义时间

+ 35 - 35
server/data/src/main/java/com/qxgmat/data/dao/entity/UserReport.java

@@ -55,12 +55,6 @@ public class UserReport implements Serializable {
     private Integer userTime;
 
     /**
-     * 题目id列表:json
-     */
-    @Column(name = "`question_ids`")
-    private Integer[] questionIds;
-
-    /**
      * 正确题目数
      */
     @Column(name = "`correct_number`")
@@ -78,6 +72,12 @@ public class UserReport implements Serializable {
     @Column(name = "`detail`")
     private JSONObject detail;
 
+    /**
+     * 题目编号id列表:json
+     */
+    @Column(name = "`question_no_ids`")
+    private String questionNoIds;
+
     private static final long serialVersionUID = 1L;
 
     /**
@@ -231,24 +231,6 @@ public class UserReport implements Serializable {
     }
 
     /**
-     * 获取题目id列表:json
-     *
-     * @return question_ids - 题目id列表:json
-     */
-    public Integer[] getQuestionIds() {
-        return questionIds;
-    }
-
-    /**
-     * 设置题目id列表:json
-     *
-     * @param questionIds 题目id列表:json
-     */
-    public void setQuestionIds(Integer[] questionIds) {
-        this.questionIds = questionIds;
-    }
-
-    /**
      * 获取正确题目数
      *
      * @return correct_number - 正确题目数
@@ -302,6 +284,24 @@ public class UserReport implements Serializable {
         this.detail = detail;
     }
 
+    /**
+     * 获取题目编号id列表:json
+     *
+     * @return question_no_ids - 题目编号id列表:json
+     */
+    public String getQuestionNoIds() {
+        return questionNoIds;
+    }
+
+    /**
+     * 设置题目编号id列表:json
+     *
+     * @param questionNoIds 题目编号id列表:json
+     */
+    public void setQuestionNoIds(String questionNoIds) {
+        this.questionNoIds = questionNoIds;
+    }
+
     @Override
     public String toString() {
         StringBuilder sb = new StringBuilder();
@@ -317,10 +317,10 @@ public class UserReport implements Serializable {
         sb.append(", totalTime=").append(totalTime);
         sb.append(", userNumber=").append(userNumber);
         sb.append(", userTime=").append(userTime);
-        sb.append(", questionIds=").append(questionIds);
         sb.append(", correctNumber=").append(correctNumber);
         sb.append(", finishTime=").append(finishTime);
         sb.append(", detail=").append(detail);
+        sb.append(", questionNoIds=").append(questionNoIds);
         sb.append("]");
         return sb.toString();
     }
@@ -421,16 +421,6 @@ public class UserReport implements Serializable {
         }
 
         /**
-         * 设置题目id列表:json
-         *
-         * @param questionIds 题目id列表:json
-         */
-        public Builder questionIds(Integer[] questionIds) {
-            obj.setQuestionIds(questionIds);
-            return this;
-        }
-
-        /**
          * 设置正确题目数
          *
          * @param correctNumber 正确题目数
@@ -460,6 +450,16 @@ public class UserReport implements Serializable {
             return this;
         }
 
+        /**
+         * 设置题目编号id列表:json
+         *
+         * @param questionNoIds 题目编号id列表:json
+         */
+        public Builder questionNoIds(String questionNoIds) {
+            obj.setQuestionNoIds(questionNoIds);
+            return this;
+        }
+
         public UserReport build() {
             return this.obj;
         }

+ 22 - 0
server/data/src/main/java/com/qxgmat/data/dao/mapping/ExaminationPaperMapper.xml

@@ -6,5 +6,27 @@
       WARNING - @mbg.generated
     -->
     <id column="id" jdbcType="INTEGER" property="id" />
+    <result column="struct_id" jdbcType="INTEGER" property="structId" />
+    <result column="title" jdbcType="VARCHAR" property="title" />
+    <result column="question_number" jdbcType="INTEGER" property="questionNumber" />
+    <result column="status" jdbcType="INTEGER" property="status" />
   </resultMap>
+  <resultMap extends="BaseResultMap" id="ResultMapWithBLOBs" type="com.qxgmat.data.dao.entity.ExaminationPaper">
+    <!--
+      WARNING - @mbg.generated
+    -->
+    <result column="question_no_ids" jdbcType="LONGVARCHAR" property="questionNoIds" />
+  </resultMap>
+  <sql id="Base_Column_List">
+    <!--
+      WARNING - @mbg.generated
+    -->
+    `id`, `struct_id`, `title`, `question_number`, `status`
+  </sql>
+  <sql id="Blob_Column_List">
+    <!--
+      WARNING - @mbg.generated
+    -->
+    `question_no_ids`
+  </sql>
 </mapper>

+ 0 - 18
server/data/src/main/java/com/qxgmat/data/dao/mapping/ExaminationPaperQuestionMapper.xml

@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.qxgmat.data.dao.ExaminationPaperQuestionMapper">
-  <resultMap id="BaseResultMap" type="com.qxgmat.data.dao.entity.ExaminationPaperQuestion">
-    <!--
-      WARNING - @mbg.generated
-    -->
-    <id column="id" jdbcType="INTEGER" property="id" />
-    <result column="paper_id" jdbcType="INTEGER" property="paperId" />
-    <result column="question_id" jdbcType="INTEGER" property="questionId" />
-  </resultMap>
-  <sql id="Base_Column_List">
-    <!--
-      WARNING - @mbg.generated
-    -->
-    `id`, `paper_id`, `question_id`
-  </sql>
-</mapper>

+ 12 - 0
server/data/src/main/java/com/qxgmat/data/dao/mapping/ExercisePaperMapper.xml

@@ -15,6 +15,12 @@
     <result column="question_number" jdbcType="INTEGER" property="questionNumber" />
     <result column="status" jdbcType="INTEGER" property="status" />
   </resultMap>
+  <resultMap extends="BaseResultMap" id="ResultMapWithBLOBs" type="com.qxgmat.data.dao.entity.ExercisePaper">
+    <!--
+      WARNING - @mbg.generated
+    -->
+    <result column="question_no_ids" jdbcType="LONGVARCHAR" property="questionNoIds" />
+  </resultMap>
   <sql id="Base_Column_List">
     <!--
       WARNING - @mbg.generated
@@ -22,4 +28,10 @@
     `id`, `type`, `logic`, `logic_extend`, `struct_id`, `struct_parent`, `title`, `question_number`, 
     `status`
   </sql>
+  <sql id="Blob_Column_List">
+    <!--
+      WARNING - @mbg.generated
+    -->
+    `question_no_ids`
+  </sql>
 </mapper>

+ 2 - 2
server/data/src/main/java/com/qxgmat/data/dao/mapping/FeedbackErrorMapper.xml

@@ -7,7 +7,7 @@
     -->
     <id column="id" jdbcType="INTEGER" property="id" />
     <result column="user_id" jdbcType="INTEGER" property="userId" />
-    <result column="question_id" jdbcType="INTEGER" property="questionId" />
+    <result column="question_no_id" jdbcType="INTEGER" property="questionNoId" />
     <result column="type" jdbcType="INTEGER" property="type" />
     <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
   </resultMap>
@@ -21,7 +21,7 @@
     <!--
       WARNING - @mbg.generated
     -->
-    `id`, `user_id`, `question_id`, `type`, `create_time`
+    `id`, `user_id`, `question_no_id`, `type`, `create_time`
   </sql>
   <sql id="Blob_Column_List">
     <!--

+ 14 - 3
server/data/src/main/java/com/qxgmat/data/dao/mapping/HomeworkPreviewMapper.xml

@@ -8,7 +8,6 @@
     <id column="id" jdbcType="INTEGER" property="id" />
     <result column="title" jdbcType="VARCHAR" property="title" />
     <result column="category" jdbcType="INTEGER" property="category" />
-    <result column="question_ids" jdbcType="VARCHAR" property="questionIds" typeHandler="com.nuliji.tools.mybatis.handler.IntegerArrayWithJsonHandler" />
     <result column="user_ids" jdbcType="VARCHAR" property="userIds" typeHandler="com.nuliji.tools.mybatis.handler.IntegerArrayWithJsonHandler" />
     <result column="start_time" jdbcType="TIMESTAMP" property="startTime" />
     <result column="end_time" jdbcType="TIMESTAMP" property="endTime" />
@@ -16,11 +15,23 @@
     <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
     <result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
   </resultMap>
+  <resultMap extends="BaseResultMap" id="ResultMapWithBLOBs" type="com.qxgmat.data.dao.entity.HomeworkPreview">
+    <!--
+      WARNING - @mbg.generated
+    -->
+    <result column="question_no_ids" jdbcType="LONGVARCHAR" property="questionNoIds" />
+  </resultMap>
   <sql id="Base_Column_List">
     <!--
       WARNING - @mbg.generated
     -->
-    `id`, `title`, `category`, `question_ids`, `user_ids`, `start_time`, `end_time`, 
-    `finish`, `create_time`, `update_time`
+    `id`, `title`, `category`, `user_ids`, `start_time`, `end_time`, `finish`, `create_time`, 
+    `update_time`
+  </sql>
+  <sql id="Blob_Column_List">
+    <!--
+      WARNING - @mbg.generated
+    -->
+    `question_no_ids`
   </sql>
 </mapper>

+ 6 - 1
server/data/src/main/java/com/qxgmat/data/dao/mapping/QuestionNoMapper.xml

@@ -10,11 +10,16 @@
     <result column="module" jdbcType="VARCHAR" property="module" />
     <result column="no" jdbcType="VARCHAR" property="no" />
     <result column="module_struct" jdbcType="VARCHAR" property="moduleStruct" />
+    <result column="total_time" jdbcType="INTEGER" property="totalTime" />
+    <result column="total_number" jdbcType="INTEGER" property="totalNumber" />
+    <result column="total_correct" jdbcType="INTEGER" property="totalCorrect" />
+    <result column="delete_time" jdbcType="TIMESTAMP" property="deleteTime" />
   </resultMap>
   <sql id="Base_Column_List">
     <!--
       WARNING - @mbg.generated
     -->
-    `id`, `question_id`, `module`, `no`, `module_struct`
+    `id`, `question_id`, `module`, `no`, `module_struct`, `total_time`, `total_number`, 
+    `total_correct`, `delete_time`
   </sql>
 </mapper>

+ 7 - 5
server/data/src/main/java/com/qxgmat/data/dao/mapping/ExercisePaperQuestionMapper.xml

@@ -1,18 +1,20 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.qxgmat.data.dao.ExercisePaperQuestionMapper">
-  <resultMap id="BaseResultMap" type="com.qxgmat.data.dao.entity.ExercisePaperQuestion">
+<mapper namespace="com.qxgmat.data.dao.StatDayMapper">
+  <resultMap id="BaseResultMap" type="com.qxgmat.data.dao.entity.StatDay">
     <!--
       WARNING - @mbg.generated
     -->
     <id column="id" jdbcType="INTEGER" property="id" />
-    <result column="paper_id" jdbcType="INTEGER" property="paperId" />
-    <result column="question_id" jdbcType="INTEGER" property="questionId" />
+    <result column="user_id" jdbcType="INTEGER" property="userId" />
+    <result column="key" jdbcType="VARCHAR" property="key" />
+    <result column="time" jdbcType="INTEGER" property="time" />
+    <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
   </resultMap>
   <sql id="Base_Column_List">
     <!--
       WARNING - @mbg.generated
     -->
-    `id`, `paper_id`, `question_id`
+    `id`, `user_id`, `key`, `time`, `create_time`
   </sql>
 </mapper>

+ 19 - 0
server/data/src/main/java/com/qxgmat/data/dao/mapping/TextbookPaperMapper.xml

@@ -6,5 +6,24 @@
       WARNING - @mbg.generated
     -->
     <id column="id" jdbcType="INTEGER" property="id" />
+    <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
   </resultMap>
+  <resultMap extends="BaseResultMap" id="ResultMapWithBLOBs" type="com.qxgmat.data.dao.entity.TextbookPaper">
+    <!--
+      WARNING - @mbg.generated
+    -->
+    <result column="question_no_ids" jdbcType="LONGVARCHAR" property="questionNoIds" />
+  </resultMap>
+  <sql id="Base_Column_List">
+    <!--
+      WARNING - @mbg.generated
+    -->
+    `id`, `create_time`
+  </sql>
+  <sql id="Blob_Column_List">
+    <!--
+      WARNING - @mbg.generated
+    -->
+    `question_no_ids`
+  </sql>
 </mapper>

+ 13 - 2
server/data/src/main/java/com/qxgmat/data/dao/mapping/UserPaperMapper.xml

@@ -10,14 +10,25 @@
     <result column="title" jdbcType="VARCHAR" property="title" />
     <result column="module" jdbcType="VARCHAR" property="module" />
     <result column="module_id" jdbcType="INTEGER" property="moduleId" />
-    <result column="question_ids" jdbcType="VARCHAR" property="questionIds" typeHandler="com.nuliji.tools.mybatis.handler.IntegerArrayWithJsonHandler" />
     <result column="number" jdbcType="INTEGER" property="number" />
     <result column="time" jdbcType="INTEGER" property="time" />
   </resultMap>
+  <resultMap extends="BaseResultMap" id="ResultMapWithBLOBs" type="com.qxgmat.data.dao.entity.UserPaper">
+    <!--
+      WARNING - @mbg.generated
+    -->
+    <result column="question_no_ids" jdbcType="LONGVARCHAR" property="questionNoIds" />
+  </resultMap>
   <sql id="Base_Column_List">
     <!--
       WARNING - @mbg.generated
     -->
-    `id`, `user_id`, `title`, `module`, `module_id`, `question_ids`, `number`, `time`
+    `id`, `user_id`, `title`, `module`, `module_id`, `number`, `time`
+  </sql>
+  <sql id="Blob_Column_List">
+    <!--
+      WARNING - @mbg.generated
+    -->
+    `question_no_ids`
   </sql>
 </mapper>

+ 2 - 1
server/data/src/main/java/com/qxgmat/data/dao/mapping/UserPaperQuestionMapper.xml

@@ -8,12 +8,13 @@
     <id column="id" jdbcType="INTEGER" property="id" />
     <result column="user_id" jdbcType="INTEGER" property="userId" />
     <result column="paper_id" jdbcType="INTEGER" property="paperId" />
+    <result column="question_no_id" jdbcType="INTEGER" property="questionNoId" />
     <result column="paper_module" jdbcType="VARCHAR" property="paperModule" />
   </resultMap>
   <sql id="Base_Column_List">
     <!--
       WARNING - @mbg.generated
     -->
-    `id`, `user_id`, `paper_id`, `paper_module`
+    `id`, `user_id`, `paper_id`, `question_no_id`, `paper_module`
   </sql>
 </mapper>

+ 3 - 2
server/data/src/main/java/com/qxgmat/data/dao/mapping/UserQuestionMapper.xml

@@ -9,6 +9,7 @@
     <result column="user_id" jdbcType="INTEGER" property="userId" />
     <result column="report_id" jdbcType="INTEGER" property="reportId" />
     <result column="question_id" jdbcType="INTEGER" property="questionId" />
+    <result column="question_no_id" jdbcType="INTEGER" property="questionNoId" />
     <result column="time" jdbcType="INTEGER" property="time" />
     <result column="user_time" jdbcType="INTEGER" property="userTime" />
     <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
@@ -20,7 +21,7 @@
     <!--
       WARNING - @mbg.generated
     -->
-    `id`, `user_id`, `report_id`, `question_id`, `time`, `user_time`, `create_time`, 
-    `answer`, `user_answer`, `is_correct`
+    `id`, `user_id`, `report_id`, `question_id`, `question_no_id`, `time`, `user_time`, 
+    `create_time`, `answer`, `user_answer`, `is_correct`
   </sql>
 </mapper>

+ 13 - 2
server/data/src/main/java/com/qxgmat/data/dao/mapping/UserReportMapper.xml

@@ -14,16 +14,27 @@
     <result column="total_time" jdbcType="INTEGER" property="totalTime" />
     <result column="user_number" jdbcType="INTEGER" property="userNumber" />
     <result column="user_time" jdbcType="INTEGER" property="userTime" />
-    <result column="question_ids" jdbcType="VARCHAR" property="questionIds" typeHandler="com.nuliji.tools.mybatis.handler.IntegerArrayWithJsonHandler" />
     <result column="correct_number" jdbcType="INTEGER" property="correctNumber" />
     <result column="finish_time" jdbcType="TIMESTAMP" property="finishTime" />
     <result column="detail" jdbcType="VARCHAR" property="detail" typeHandler="com.nuliji.tools.mybatis.handler.JsonObjectHandler" />
   </resultMap>
+  <resultMap extends="BaseResultMap" id="ResultMapWithBLOBs" type="com.qxgmat.data.dao.entity.UserReport">
+    <!--
+      WARNING - @mbg.generated
+    -->
+    <result column="question_no_ids" jdbcType="LONGVARCHAR" property="questionNoIds" />
+  </resultMap>
   <sql id="Base_Column_List">
     <!--
       WARNING - @mbg.generated
     -->
     `id`, `user_id`, `module`, `module_id`, `create_time`, `total_number`, `total_time`, 
-    `user_number`, `user_time`, `question_ids`, `correct_number`, `finish_time`, `detail`
+    `user_number`, `user_time`, `correct_number`, `finish_time`, `detail`
+  </sql>
+  <sql id="Blob_Column_List">
+    <!--
+      WARNING - @mbg.generated
+    -->
+    `question_no_ids`
   </sql>
 </mapper>

+ 0 - 7
server/gateway-api/src/main/java/com/qxgmat/controller/admin/ExerciseController.java

@@ -6,17 +6,14 @@ import com.nuliji.tools.PageMessage;
 import com.nuliji.tools.Response;
 import com.nuliji.tools.ResponseHelp;
 import com.nuliji.tools.Transform;
-import com.qxgmat.data.constants.enums.module.QuestionModule;
 import com.qxgmat.data.constants.enums.status.DirectionStatus;
 import com.qxgmat.data.dao.entity.ExercisePaper;
 import com.qxgmat.data.dao.entity.ExerciseStruct;
 import com.qxgmat.data.dao.entity.Question;
 import com.qxgmat.dto.admin.request.ExerciseStructDto;
-import com.qxgmat.dto.admin.request.QuestionDto;
 import com.qxgmat.dto.admin.response.ExercisePaperListDto;
 import com.qxgmat.dto.admin.response.ExerciseQuestionListDto;
 import com.qxgmat.service.ExercisePaperService;
-import com.qxgmat.service.inline.ExercisePaperQuestionService;
 import com.qxgmat.service.inline.ExerciseStructService;
 import com.qxgmat.service.inline.ManagerLogService;
 import com.qxgmat.service.inline.QuestionService;
@@ -29,7 +26,6 @@ import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpSession;
-import java.util.Collection;
 import java.util.List;
 
 @RestController("AdminExerciseController")
@@ -46,9 +42,6 @@ public class ExerciseController {
     private ExercisePaperService exercisePaperService;
 
     @Autowired
-    private ExercisePaperQuestionService exercisePaperQuestionService;
-
-    @Autowired
     private QuestionService questionService;
 
     @RequestMapping(value = "/struct/add", method = RequestMethod.POST)

+ 30 - 12
server/gateway-api/src/main/java/com/qxgmat/controller/admin/SettingController.java

@@ -31,7 +31,7 @@ public class SettingController {
     @RequestMapping(value = "/index", method = RequestMethod.PUT)
     @ApiOperation(value = "修改首页配置", httpMethod = "PUT")
     private Response<Boolean> indexEdit(@RequestBody @Validated JSONObject dto){
-        Setting entity = settingService.getByKey(SettingKey.INDEX.key);
+        Setting entity = settingService.getByKey(SettingKey.INDEX);
         entity.setValue(dto);
         settingService.edit(entity);
         return ResponseHelp.success(true);
@@ -40,7 +40,7 @@ public class SettingController {
     @RequestMapping(value = "/index", method = RequestMethod.GET)
     @ApiOperation(value = "获取首页配置", httpMethod = "GET")
     private Response<JSONObject> indexGet(){
-        Setting entity = settingService.getByKey(SettingKey.INDEX.key);
+        Setting entity = settingService.getByKey(SettingKey.INDEX);
         logger.debug("{}", entity);
         return ResponseHelp.success(entity.getValue());
     }
@@ -48,7 +48,7 @@ public class SettingController {
     @RequestMapping(value = "/place", method = RequestMethod.PUT)
     @ApiOperation(value = "修改考点设置", httpMethod = "PUT")
     private Response<Boolean> placeEdit(@RequestBody @Validated JSONObject dto){
-        Setting entity = settingService.getByKey(SettingKey.PLACE.key);
+        Setting entity = settingService.getByKey(SettingKey.PLACE);
         entity.setValue(dto);
         settingService.edit(entity);
         return ResponseHelp.success(true);
@@ -57,7 +57,7 @@ public class SettingController {
     @RequestMapping(value = "/place", method = RequestMethod.GET)
     @ApiOperation(value = "获取考点配置", httpMethod = "GET")
     private Response<JSONObject> placeGet(){
-        Setting entity = settingService.getByKey(SettingKey.PLACE.key);
+        Setting entity = settingService.getByKey(SettingKey.PLACE);
 
         return ResponseHelp.success(entity.getValue());
     }
@@ -66,7 +66,7 @@ public class SettingController {
     @RequestMapping(value = "/sentence", method = RequestMethod.PUT)
     @ApiOperation(value = "修改长难句设置", httpMethod = "PUT")
     private Response<Boolean> sentenceEdit(@RequestBody @Validated JSONObject dto){
-        Setting entity = settingService.getByKey(SettingKey.SENTENCE.key);
+        Setting entity = settingService.getByKey(SettingKey.SENTENCE);
         entity.setValue(dto);
         settingService.edit(entity);
         return ResponseHelp.success(true);
@@ -75,7 +75,7 @@ public class SettingController {
     @RequestMapping(value = "/sentence", method = RequestMethod.GET)
     @ApiOperation(value = "获取长难句配置", httpMethod = "GET")
     private Response<JSONObject> sentenceGet(){
-        Setting entity = settingService.getByKey(SettingKey.SENTENCE.key);
+        Setting entity = settingService.getByKey(SettingKey.SENTENCE);
 
         return ResponseHelp.success(entity.getValue());
     }
@@ -84,7 +84,7 @@ public class SettingController {
     @RequestMapping(value = "/exercise_time", method = RequestMethod.PUT)
     @ApiOperation(value = "修改做题时间设置", httpMethod = "PUT")
     private Response<Boolean> exerciseTimeEdit(@RequestBody @Validated JSONObject dto){
-        Setting entity = settingService.getByKey(SettingKey.EXERCISE_TIME.key);
+        Setting entity = settingService.getByKey(SettingKey.EXERCISE_TIME);
         entity.setValue(dto);
         settingService.edit(entity);
         return ResponseHelp.success(true);
@@ -93,14 +93,14 @@ public class SettingController {
     @RequestMapping(value = "/exercise_time", method = RequestMethod.GET)
     @ApiOperation(value = "获取做题时间配置", httpMethod = "GET")
     private Response<JSONObject> exerciseTimeGet(){
-        Setting entity = settingService.getByKey(SettingKey.EXERCISE_TIME.key);
+        Setting entity = settingService.getByKey(SettingKey.EXERCISE_TIME);
 
         return ResponseHelp.success(entity.getValue());
     }
     @RequestMapping(value = "/examination_time", method = RequestMethod.PUT)
     @ApiOperation(value = "修改做题时间设置", httpMethod = "PUT")
     private Response<Boolean> examinationTimeEdit(@RequestBody @Validated JSONObject dto){
-        Setting entity = settingService.getByKey(SettingKey.EXAMINATION_TIME.key);
+        Setting entity = settingService.getByKey(SettingKey.EXAMINATION_TIME);
         entity.setValue(dto);
         settingService.edit(entity);
         return ResponseHelp.success(true);
@@ -109,14 +109,15 @@ public class SettingController {
     @RequestMapping(value = "/examination_time", method = RequestMethod.GET)
     @ApiOperation(value = "获取做题时间配置", httpMethod = "GET")
     private Response<JSONObject> examinationTimeGet(){
-        Setting entity = settingService.getByKey(SettingKey.EXAMINATION_TIME.key);
+        Setting entity = settingService.getByKey(SettingKey.EXAMINATION_TIME);
 
         return ResponseHelp.success(entity.getValue());
     }
+
     @RequestMapping(value = "/filter_time", method = RequestMethod.PUT)
     @ApiOperation(value = "修改剔除时间设置", httpMethod = "PUT")
     private Response<Boolean> filterTimeEdit(@RequestBody @Validated JSONObject dto){
-        Setting entity = settingService.getByKey(SettingKey.FILTER_TIME.key);
+        Setting entity = settingService.getByKey(SettingKey.FILTER_TIME);
         entity.setValue(dto);
         settingService.edit(entity);
         return ResponseHelp.success(true);
@@ -125,7 +126,24 @@ public class SettingController {
     @RequestMapping(value = "/filter_time", method = RequestMethod.GET)
     @ApiOperation(value = "获取做题时间配置", httpMethod = "GET")
     private Response<JSONObject> filterTimeGet(){
-        Setting entity = settingService.getByKey(SettingKey.FILTER_TIME.key);
+        Setting entity = settingService.getByKey(SettingKey.FILTER_TIME);
+
+        return ResponseHelp.success(entity.getValue());
+    }
+
+    @RequestMapping(value = "/tips", method = RequestMethod.PUT)
+    @ApiOperation(value = "修改结构说明", httpMethod = "PUT")
+    private Response<Boolean> tipsEdit(@RequestBody @Validated JSONObject dto){
+        Setting entity = settingService.getByKey(SettingKey.TIPS);
+        entity.setValue(dto);
+        settingService.edit(entity);
+        return ResponseHelp.success(true);
+    }
+
+    @RequestMapping(value = "/tips", method = RequestMethod.GET)
+    @ApiOperation(value = "获取结构说明", httpMethod = "GET")
+    private Response<JSONObject> tipsGet(){
+        Setting entity = settingService.getByKey(SettingKey.TIPS);
 
         return ResponseHelp.success(entity.getValue());
     }

+ 13 - 1
server/gateway-api/src/main/java/com/qxgmat/schedule/Schedule.java

@@ -17,9 +17,21 @@ public class Schedule {
      * 注意: 30 * * * * * 表示每分钟的第30秒执行,而(*斜杠30)表示每30秒执行
      *
      * */
-    @Scheduled(cron="* 0 * * * *")
+    @Scheduled(cron="0 0 * * * *")
     public void refreshToken(){
         // 每小时刷新快过期用户的accessToken
 
     }
+
+    @Scheduled(cron="0 0 * * * *")
+    public void refreshPrepare(){
+        // 每小时刷新备考统计信息
+
+    }
+
+    @Scheduled(cron="0 0 0 * * *")
+    public void autoExercisePaper(){
+        // 每天判断是否自动组卷
+
+    }
 }

+ 0 - 4
server/gateway-api/src/main/java/com/qxgmat/service/ExercisePaperService.java

@@ -7,7 +7,6 @@ import com.nuliji.tools.exception.SystemException;
 import com.qxgmat.data.dao.ExercisePaperMapper;
 import com.qxgmat.data.dao.entity.ExercisePaper;
 import com.qxgmat.data.dao.entity.Question;
-import com.qxgmat.service.inline.ExercisePaperQuestionService;
 import com.qxgmat.service.inline.QuestionService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -26,9 +25,6 @@ public class ExercisePaperService extends AbstractService {
     private ExercisePaperMapper exercisePaperMapper;
 
     @Resource
-    private ExercisePaperQuestionService exercisePaperQuestionService;
-
-    @Resource
     private QuestionService questionService;
 
     @Transactional

+ 0 - 70
server/gateway-api/src/main/java/com/qxgmat/service/inline/ExercisePaperQuestionService.java

@@ -1,70 +0,0 @@
-package com.qxgmat.service.inline;
-
-import com.github.pagehelper.Page;
-import com.nuliji.tools.AbstractService;
-import com.nuliji.tools.exception.ParameterException;
-import com.nuliji.tools.exception.SystemException;
-import com.qxgmat.data.dao.ExercisePaperMapper;
-import com.qxgmat.data.dao.ExercisePaperQuestionMapper;
-import com.qxgmat.data.dao.entity.ExercisePaper;
-import com.qxgmat.data.dao.entity.ExercisePaperQuestion;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.stereotype.Service;
-
-import javax.annotation.Resource;
-import java.util.Collection;
-import java.util.List;
-
-@Service
-public class ExercisePaperQuestionService extends AbstractService {
-    private static final Logger logger = LoggerFactory.getLogger(ExercisePaperQuestionService.class);
-
-    @Resource
-    private ExercisePaperQuestionMapper exercisePaperQuestionMapper;
-
-    public ExercisePaperQuestion add(ExercisePaperQuestion question){
-        int result = insert(exercisePaperQuestionMapper, question);
-        question = one(exercisePaperQuestionMapper, question.getId());
-        if(question == null){
-            throw new SystemException("组卷添加失败");
-        }
-        return question;
-    }
-
-    public ExercisePaperQuestion edit(ExercisePaperQuestion question){
-        ExercisePaperQuestion in = one(exercisePaperQuestionMapper, question.getId());
-        if(in == null){
-            throw new ParameterException("组卷不存在");
-        }
-        int result = update(exercisePaperQuestionMapper, question);
-        return question;
-    }
-
-    public boolean delete(Number id){
-        ExercisePaperQuestion in = one(exercisePaperQuestionMapper, id);
-        if(in == null){
-            throw new ParameterException("组卷不存在");
-        }
-        int result = delete(exercisePaperQuestionMapper, id);
-        return result > 0;
-    }
-
-    public ExercisePaperQuestion selectOne(Number id){
-        ExercisePaperQuestion in = one(exercisePaperQuestionMapper, id);
-
-        if(in == null){
-            throw new ParameterException("组卷不存在");
-        }
-        return in;
-    }
-
-    public Page<ExercisePaperQuestion> select(int page, int pageSize){
-        return select(exercisePaperQuestionMapper, page, pageSize);
-    }
-
-    public List<ExercisePaperQuestion> select(Collection ids){
-        return select(exercisePaperQuestionMapper, ids);
-    }
-
-}

+ 4 - 3
server/gateway-api/src/main/java/com/qxgmat/service/inline/SettingService.java

@@ -5,6 +5,7 @@ import com.nuliji.tools.AbstractService;
 import com.nuliji.tools.exception.ParameterException;
 import com.nuliji.tools.exception.SystemException;
 import com.nuliji.tools.mybatis.Example;
+import com.qxgmat.data.constants.enums.SettingKey;
 import com.qxgmat.data.dao.SettingMapper;
 import com.qxgmat.data.dao.entity.Setting;
 import org.slf4j.Logger;
@@ -23,12 +24,12 @@ public class SettingService extends AbstractService {
     @Resource
     private SettingMapper settingMapper;
 
-    @Cacheable(value="setting", key="#key", unless="#result==null")
-    public Setting getByKey(String key) {
+    @Cacheable(value="setting", key="#settingKey.key", unless="#result==null")
+    public Setting getByKey(SettingKey settingKey) {
         Example example = new Example(Setting.class);
         example.and(
                 example.createCriteria()
-                        .andEqualTo("key", key)
+                        .andEqualTo("key", settingKey.key)
         );
         return one(settingMapper, example);
     }