浏览代码

rename to examcloud-exchange-api

deason 2 年之前
父节点
当前提交
365867cefe
共有 95 个文件被更改,包括 5542 次插入21 次删除
  1. 2 2
      examcloud-exchange-api-client/pom.xml
  2. 0 0
      examcloud-exchange-api-client/src/main/java/cn/com/qmth/examcloud/exchange/inner/api/client/AbstractCloudClientSupport.java
  3. 0 0
      examcloud-exchange-api-client/src/main/java/cn/com/qmth/examcloud/exchange/inner/api/client/SmsCloudServiceClient.java
  4. 1 1
      examcloud-exchange-api/pom.xml
  5. 0 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/inner/api/SmsCloudService.java
  6. 0 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/inner/api/request/CaptureFailedAlarmReq.java
  7. 0 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/inner/api/request/CheckSmsCodeReq.java
  8. 0 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/inner/api/request/SendSmsCodeReq.java
  9. 0 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/inner/api/request/SendSmsReq.java
  10. 0 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/inner/api/response/CheckSmsCodeResp.java
  11. 0 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/inner/api/response/SendSmsCodeResp.java
  12. 0 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/inner/api/response/SendSmsResp.java
  13. 25 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/CourseGroupOuterService.java
  14. 26 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/CugOuterService.java
  15. 36 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/ExamOuterService.java
  16. 58 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/ExamQuestionOuterService.java
  17. 36 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/ExamStudentOuterService.java
  18. 18 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/GetExamRecordAuditInfoService.java
  19. 22 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/GetScoreDataService.java
  20. 18 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/QueryCapturePhotoService.java
  21. 32 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/ScoreQueueService.java
  22. 57 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/StudentOuterService.java
  23. 46 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/bean/CourseBean.java
  24. 56 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/bean/DefaultPaperBean.java
  25. 56 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/bean/DefaultQuestionGroupBean.java
  26. 109 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/bean/DefaultQuestionStructureWrapperBean.java
  27. 67 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/bean/DefaultQuestionUnitWrapperBean.java
  28. 206 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/bean/ExamStudent4BatchBean.java
  29. 136 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/bean/ExamStudentStatus4BatchBean.java
  30. 63 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/bean/OuterBlockBean.java
  31. 128 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/bean/OuterExamRecordBean.java
  32. 173 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/bean/OuterExamStudent4ResetReqBean.java
  33. 285 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/bean/OuterExamStudent4ResetRespBean.java
  34. 160 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/bean/OuterExamStudentBean.java
  35. 60 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/bean/OuterGetCapturePhotoBean.java
  36. 135 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/bean/OuterScoreDataBean.java
  37. 25 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/bean/OuterSectionBean.java
  38. 25 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/bean/OuterSectionCollectionBean.java
  39. 63 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/bean/OuterSubjectivePaperBean.java
  40. 105 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/bean/OuterSubjectivePaperQuestionBean.java
  41. 63 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/bean/OuterSubjectivePaperStructBean.java
  42. 61 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/bean/OuterSubjectiveQuestionBean.java
  43. 60 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/bean/OuterSubjectiveQuestionRecordBean.java
  44. 183 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/bean/Student4BatchBean.java
  45. 52 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/bean/StudentStatus4BatchBean.java
  46. 76 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/request/OuterBatchSaveExamStudentReq.java
  47. 35 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/request/OuterBatchSaveStudentReq.java
  48. 43 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/request/OuterDeleteScoreQueueTopReq.java
  49. 32 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/request/OuterGetCourseListReq.java
  50. 35 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/request/OuterGetExamRecordAuditInfoReq.java
  51. 62 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/request/OuterGetExamReq.java
  52. 59 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/request/OuterGetPaperStructReq.java
  53. 26 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/request/OuterGetQuestionAnswerReq.java
  54. 42 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/request/OuterGetScoreDataReq.java
  55. 24 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/request/OuterGetScoreQueueTopReq.java
  56. 37 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/request/OuterGetSubjectivePaperReq.java
  57. 26 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/request/OuterGetSubjectivePaperStructReq.java
  58. 59 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/request/OuterGetSubjectiveQuestionReq.java
  59. 42 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/request/OuterQueryCapturePhotoReq.java
  60. 82 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/request/OuterQueryScoreDataReq.java
  61. 98 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/request/OuterQueryScoreListReq.java
  62. 102 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/request/OuterResetExamStudentReq.java
  63. 131 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/request/OuterSaveExamReq.java
  64. 249 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/request/OuterSaveExamStudentReq.java
  65. 182 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/request/OuterSaveStudentReq.java
  66. 110 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/request/OuterUpdateExamStudentStatusReq.java
  67. 54 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/request/OuterUpdatePasswordReq.java
  68. 53 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/request/OuterUpdateStudentStatusReq.java
  69. 192 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/request/cug/OuterSaveCugStudentAndExamStudentReq.java
  70. 39 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/response/OuterBatchSaveExamStudentResp.java
  71. 42 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/response/OuterBatchSaveStudentResp.java
  72. 43 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/response/OuterDeleteScoreQueueTopResp.java
  73. 22 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/response/OuterGetCourseListResp.java
  74. 88 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/response/OuterGetExamRecordAuditInfoResp.java
  75. 159 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/response/OuterGetExamResp.java
  76. 28 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/response/OuterGetPaperStructResp.java
  77. 27 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/response/OuterGetQuestionAnswerResp.java
  78. 30 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/response/OuterGetScoreDataResp.java
  79. 86 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/response/OuterGetScoreQueueTopResp.java
  80. 26 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/response/OuterGetSubjectivePaperResp.java
  81. 27 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/response/OuterGetSubjectivePaperStructResp.java
  82. 40 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/response/OuterGetSubjectiveQuestionResp.java
  83. 38 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/response/OuterQueryCapturePhotoResp.java
  84. 26 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/response/OuterQueryScoreDataResp.java
  85. 44 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/response/OuterQueryScoreListResp.java
  86. 22 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/response/OuterResetExamStudentResp.java
  87. 28 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/response/OuterSaveExamResp.java
  88. 29 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/response/OuterSaveExamStudentResp.java
  89. 16 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/response/OuterSaveStudentPhotoResp.java
  90. 54 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/response/OuterSaveStudentResp.java
  91. 19 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/response/OuterUpdateExamStudentStatusResp.java
  92. 9 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/response/OuterUpdatePasswordResp.java
  93. 9 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/response/OuterUpdateStudentStatusResp.java
  94. 74 0
      examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/response/cug/SaveCugStudentAndExamStudentResp.java
  95. 18 18
      pom.xml

+ 2 - 2
examcloud-exchange-inner-api-client/pom.xml → examcloud-exchange-api-client/pom.xml

@@ -2,7 +2,7 @@
 <project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
          xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
     <modelVersion>4.0.0</modelVersion>
-    <artifactId>examcloud-exchange-inner-api-client</artifactId>
+    <artifactId>examcloud-exchange-api-client</artifactId>
     <packaging>jar</packaging>
 
     <parent>
@@ -14,7 +14,7 @@
     <dependencies>
         <dependency>
             <groupId>cn.com.qmth.examcloud.rpc</groupId>
-            <artifactId>examcloud-exchange-inner-api</artifactId>
+            <artifactId>examcloud-exchange-api</artifactId>
             <version>${project.version}</version>
         </dependency>
         <dependency>

+ 0 - 0
examcloud-exchange-inner-api-client/src/main/java/cn/com/qmth/examcloud/exchange/inner/api/client/AbstractCloudClientSupport.java → examcloud-exchange-api-client/src/main/java/cn/com/qmth/examcloud/exchange/inner/api/client/AbstractCloudClientSupport.java


+ 0 - 0
examcloud-exchange-inner-api-client/src/main/java/cn/com/qmth/examcloud/exchange/inner/api/client/SmsCloudServiceClient.java → examcloud-exchange-api-client/src/main/java/cn/com/qmth/examcloud/exchange/inner/api/client/SmsCloudServiceClient.java


+ 1 - 1
examcloud-exchange-inner-api/pom.xml → examcloud-exchange-api/pom.xml

@@ -2,7 +2,7 @@
 <project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
          xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
     <modelVersion>4.0.0</modelVersion>
-    <artifactId>examcloud-exchange-inner-api</artifactId>
+    <artifactId>examcloud-exchange-api</artifactId>
     <packaging>jar</packaging>
 
     <parent>

+ 0 - 0
examcloud-exchange-inner-api/src/main/java/cn/com/qmth/examcloud/exchange/inner/api/SmsCloudService.java → examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/inner/api/SmsCloudService.java


+ 0 - 0
examcloud-exchange-inner-api/src/main/java/cn/com/qmth/examcloud/exchange/inner/api/request/CaptureFailedAlarmReq.java → examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/inner/api/request/CaptureFailedAlarmReq.java


+ 0 - 0
examcloud-exchange-inner-api/src/main/java/cn/com/qmth/examcloud/exchange/inner/api/request/CheckSmsCodeReq.java → examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/inner/api/request/CheckSmsCodeReq.java


+ 0 - 0
examcloud-exchange-inner-api/src/main/java/cn/com/qmth/examcloud/exchange/inner/api/request/SendSmsCodeReq.java → examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/inner/api/request/SendSmsCodeReq.java


+ 0 - 0
examcloud-exchange-inner-api/src/main/java/cn/com/qmth/examcloud/exchange/inner/api/request/SendSmsReq.java → examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/inner/api/request/SendSmsReq.java


+ 0 - 0
examcloud-exchange-inner-api/src/main/java/cn/com/qmth/examcloud/exchange/inner/api/response/CheckSmsCodeResp.java → examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/inner/api/response/CheckSmsCodeResp.java


+ 0 - 0
examcloud-exchange-inner-api/src/main/java/cn/com/qmth/examcloud/exchange/inner/api/response/SendSmsCodeResp.java → examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/inner/api/response/SendSmsCodeResp.java


+ 0 - 0
examcloud-exchange-inner-api/src/main/java/cn/com/qmth/examcloud/exchange/inner/api/response/SendSmsResp.java → examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/inner/api/response/SendSmsResp.java


+ 25 - 0
examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/CourseGroupOuterService.java

@@ -0,0 +1,25 @@
+package cn.com.qmth.examcloud.exchange.outer.api;
+
+import cn.com.qmth.examcloud.api.commons.EnterpriseService;
+import cn.com.qmth.examcloud.exchange.outer.api.request.OuterGetCourseListReq;
+import cn.com.qmth.examcloud.exchange.outer.api.response.OuterGetCourseListResp;
+
+/**
+ * 课程组服务
+ *
+ * @author WANGWEI
+ * @date 2019年1月7日
+ * @Copyright (c) 2018-? http://qmth.com.cn All Rights Reserved.
+ */
+public interface CourseGroupOuterService extends EnterpriseService {
+
+	/**
+	 * 方法注释
+	 *
+	 * @author WANGWEI
+	 * @param req
+	 * @return
+	 */
+	OuterGetCourseListResp getCourseList(OuterGetCourseListReq req);
+
+}

+ 26 - 0
examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/CugOuterService.java

@@ -0,0 +1,26 @@
+package cn.com.qmth.examcloud.exchange.outer.api;
+
+import cn.com.qmth.examcloud.api.commons.EnterpriseService;
+import cn.com.qmth.examcloud.exchange.outer.api.request.cug.OuterSaveCugStudentAndExamStudentReq;
+import cn.com.qmth.examcloud.exchange.outer.api.response.cug.SaveCugStudentAndExamStudentResp;
+
+/**
+ * 中国地质大学(武汉)
+ *
+ * @author WANGWEI
+ * @date 2018年9月4日
+ * @Copyright (c) 2018-? http://qmth.com.cn All Rights Reserved.
+ */
+public interface CugOuterService extends EnterpriseService {
+
+	/**
+	 * 方法注释
+	 *
+	 * @author WANGWEI
+	 * @param req
+	 * @return
+	 */
+	SaveCugStudentAndExamStudentResp saveCugStudentAndExamStudent(
+			OuterSaveCugStudentAndExamStudentReq req);
+
+}

+ 36 - 0
examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/ExamOuterService.java

@@ -0,0 +1,36 @@
+package cn.com.qmth.examcloud.exchange.outer.api;
+
+import cn.com.qmth.examcloud.api.commons.EnterpriseService;
+import cn.com.qmth.examcloud.exchange.outer.api.request.OuterGetExamReq;
+import cn.com.qmth.examcloud.exchange.outer.api.request.OuterSaveExamReq;
+import cn.com.qmth.examcloud.exchange.outer.api.response.OuterGetExamResp;
+import cn.com.qmth.examcloud.exchange.outer.api.response.OuterSaveExamResp;
+
+/**
+ * 类注释
+ *
+ * @author WANGWEI
+ * @date 2018年6月29日
+ * @Copyright (c) 2018-? http://qmth.com.cn All Rights Reserved.
+ */
+public interface ExamOuterService extends EnterpriseService {
+
+	/**
+	 * 保存考试
+	 *
+	 * @author WANGWEI
+	 * @param req
+	 * @return
+	 */
+	OuterSaveExamResp saveExam(OuterSaveExamReq req);
+
+	/**
+	 * 查询考试
+	 *
+	 * @author WANGWEI
+	 * @param req
+	 * @return
+	 */
+	OuterGetExamResp getExam(OuterGetExamReq req);
+
+}

+ 58 - 0
examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/ExamQuestionOuterService.java

@@ -0,0 +1,58 @@
+package cn.com.qmth.examcloud.exchange.outer.api;
+
+import cn.com.qmth.examcloud.api.commons.EnterpriseService;
+import cn.com.qmth.examcloud.exchange.outer.api.request.*;
+import cn.com.qmth.examcloud.exchange.outer.api.response.*;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiResponse;
+import io.swagger.annotations.ApiResponses;
+
+
+/**
+ * @Description 考试作答服务
+ * @Author lideyin
+ * @Date 2020/3/30 15:19
+ * @Version 1.0
+ */
+public interface ExamQuestionOuterService extends EnterpriseService {
+
+    /**
+     * 获取主观题试卷结构
+     *
+     * @param req
+     * @return
+     */
+    OuterGetSubjectivePaperStructResp getSubjectivePaperStruct(OuterGetSubjectivePaperStructReq req);
+
+    /**
+     * 获取主观题作答结果
+     *
+     * @param req
+     * @return
+     */
+    OuterGetSubjectiveQuestionResp getSubjectiveQuestion(OuterGetSubjectiveQuestionReq req);
+
+    /**
+     * 获取主观题试卷信息
+     *
+     * @param req
+     * @return
+     */
+    OuterGetSubjectivePaperResp getSubjectivePaper(OuterGetSubjectivePaperReq req);
+
+    /**
+     * 获取题目答案
+     *
+     * @param req
+     * @return
+     */
+    OuterGetQuestionAnswerResp getQuestionAnswer(OuterGetQuestionAnswerReq req);
+
+    /**
+     * 获取试卷结构(题库中的原始试卷结构)
+     *
+     * @param req
+     * @return
+     */
+    OuterGetPaperStructResp getPaperStruct(OuterGetPaperStructReq req);
+}

+ 36 - 0
examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/ExamStudentOuterService.java

@@ -0,0 +1,36 @@
+package cn.com.qmth.examcloud.exchange.outer.api;
+
+import cn.com.qmth.examcloud.api.commons.EnterpriseService;
+import cn.com.qmth.examcloud.exchange.outer.api.request.OuterBatchSaveExamStudentReq;
+import cn.com.qmth.examcloud.exchange.outer.api.request.OuterResetExamStudentReq;
+import cn.com.qmth.examcloud.exchange.outer.api.request.OuterSaveExamStudentReq;
+import cn.com.qmth.examcloud.exchange.outer.api.request.OuterUpdateExamStudentStatusReq;
+import cn.com.qmth.examcloud.exchange.outer.api.response.OuterBatchSaveExamStudentResp;
+import cn.com.qmth.examcloud.exchange.outer.api.response.OuterResetExamStudentResp;
+import cn.com.qmth.examcloud.exchange.outer.api.response.OuterSaveExamStudentResp;
+import cn.com.qmth.examcloud.exchange.outer.api.response.OuterUpdateExamStudentStatusResp;
+
+/**
+ * 类注释
+ *
+ * @author WANGWEI
+ * @date 2018年6月29日
+ * @Copyright (c) 2018-? http://qmth.com.cn All Rights Reserved.
+ */
+public interface ExamStudentOuterService extends EnterpriseService {
+
+	OuterSaveExamStudentResp saveExamStudent(OuterSaveExamStudentReq req);
+
+	OuterBatchSaveExamStudentResp batchSaveExamStudent(OuterBatchSaveExamStudentReq req);
+
+	OuterUpdateExamStudentStatusResp updateExamStudentStatus(OuterUpdateExamStudentStatusReq req);
+
+	/**
+	 * 重置考生
+	 *
+	 * @author WANGWEI
+	 * @param req
+	 * @return
+	 */
+	OuterResetExamStudentResp resetExamStudent(OuterResetExamStudentReq req);
+}

+ 18 - 0
examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/GetExamRecordAuditInfoService.java

@@ -0,0 +1,18 @@
+package cn.com.qmth.examcloud.exchange.outer.api;
+
+import cn.com.qmth.examcloud.api.commons.EnterpriseService;
+import cn.com.qmth.examcloud.exchange.outer.api.request.OuterGetExamRecordAuditInfoReq;
+import cn.com.qmth.examcloud.exchange.outer.api.response.OuterGetExamRecordAuditInfoResp;
+
+/**
+ * 
+ * @author  	chenken
+ * @date    	2018年11月16日 下午2:43:14
+ * @company 	QMTH
+ * @description 获取考试记录审核信息
+ */
+public interface GetExamRecordAuditInfoService extends EnterpriseService{
+
+	public OuterGetExamRecordAuditInfoResp getExamRecordAuditInfo(OuterGetExamRecordAuditInfoReq req);
+	
+}

+ 22 - 0
examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/GetScoreDataService.java

@@ -0,0 +1,22 @@
+package cn.com.qmth.examcloud.exchange.outer.api;
+
+import cn.com.qmth.examcloud.api.commons.EnterpriseService;
+import cn.com.qmth.examcloud.exchange.outer.api.request.OuterGetScoreDataReq;
+import cn.com.qmth.examcloud.exchange.outer.api.request.OuterQueryScoreDataReq;
+import cn.com.qmth.examcloud.exchange.outer.api.response.OuterGetScoreDataResp;
+import cn.com.qmth.examcloud.exchange.outer.api.response.OuterQueryScoreDataResp;
+
+/**
+ * 
+ * @author  	chenken
+ * @date    	2018年11月16日 上午11:32:53
+ * @company 	QMTH
+ * @description 获取成绩数据
+ */
+public interface GetScoreDataService extends EnterpriseService{
+
+	public OuterGetScoreDataResp getScoreData(OuterGetScoreDataReq req);
+	
+	
+	public OuterQueryScoreDataResp queryScoreData(OuterQueryScoreDataReq req);
+}

+ 18 - 0
examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/QueryCapturePhotoService.java

@@ -0,0 +1,18 @@
+package cn.com.qmth.examcloud.exchange.outer.api;
+
+import cn.com.qmth.examcloud.api.commons.EnterpriseService;
+import cn.com.qmth.examcloud.exchange.outer.api.request.OuterQueryCapturePhotoReq;
+import cn.com.qmth.examcloud.exchange.outer.api.response.OuterQueryCapturePhotoResp;
+
+/**
+ * 
+ * @author  	chenken
+ * @date    	2018年11月16日 下午2:33:21
+ * @company 	QMTH
+ * @description 获取抓拍照片数据
+ */
+public interface QueryCapturePhotoService extends EnterpriseService{
+
+	public OuterQueryCapturePhotoResp queryCapturePhotoList(OuterQueryCapturePhotoReq req);
+	
+}

+ 32 - 0
examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/ScoreQueueService.java

@@ -0,0 +1,32 @@
+package cn.com.qmth.examcloud.exchange.outer.api;
+
+import cn.com.qmth.examcloud.api.commons.EnterpriseService;
+import cn.com.qmth.examcloud.exchange.outer.api.request.OuterDeleteScoreQueueTopReq;
+import cn.com.qmth.examcloud.exchange.outer.api.request.OuterGetScoreQueueTopReq;
+import cn.com.qmth.examcloud.exchange.outer.api.response.OuterDeleteScoreQueueTopResp;
+import cn.com.qmth.examcloud.exchange.outer.api.response.OuterGetScoreQueueTopResp;
+
+
+/**
+ * 
+ * @author  	chenken
+ * @date    	2018年11月16日 下午3:02:45
+ * @company 	QMTH
+ * @description 成绩队列处理
+ */
+public interface ScoreQueueService extends EnterpriseService{
+	
+	/**
+	 * 取队列最顶层记录
+	 * @param req
+	 * @return
+	 */
+	public OuterGetScoreQueueTopResp getScoreQueueTop(OuterGetScoreQueueTopReq req);
+	
+	/**
+	 * 删除队列最顶层记录
+	 * @param req
+	 * @return
+	 */
+	public OuterDeleteScoreQueueTopResp deleteScoreQueueTop(OuterDeleteScoreQueueTopReq req);
+}

+ 57 - 0
examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/StudentOuterService.java

@@ -0,0 +1,57 @@
+package cn.com.qmth.examcloud.exchange.outer.api;
+
+import cn.com.qmth.examcloud.api.commons.EnterpriseService;
+import cn.com.qmth.examcloud.exchange.outer.api.request.OuterBatchSaveStudentReq;
+import cn.com.qmth.examcloud.exchange.outer.api.request.OuterSaveStudentReq;
+import cn.com.qmth.examcloud.exchange.outer.api.request.OuterUpdatePasswordReq;
+import cn.com.qmth.examcloud.exchange.outer.api.request.OuterUpdateStudentStatusReq;
+import cn.com.qmth.examcloud.exchange.outer.api.response.OuterBatchSaveStudentResp;
+import cn.com.qmth.examcloud.exchange.outer.api.response.OuterSaveStudentResp;
+import cn.com.qmth.examcloud.exchange.outer.api.response.OuterUpdatePasswordResp;
+import cn.com.qmth.examcloud.exchange.outer.api.response.OuterUpdateStudentStatusResp;
+
+/**
+ * 类注释
+ *
+ * @author WANGWEI
+ * @date 2018年6月29日
+ * @Copyright (c) 2018-? http://qmth.com.cn All Rights Reserved.
+ */
+public interface StudentOuterService extends EnterpriseService {
+
+	/**
+	 * 保存学生
+	 *
+	 * @author WANGWEI
+	 * @param req
+	 * @return
+	 */
+	OuterSaveStudentResp saveStudent(OuterSaveStudentReq req);
+
+	/**
+	 * 批量创建学生
+	 * 
+	 * @param req
+	 * @return
+	 */
+	OuterBatchSaveStudentResp batchSaveStudent(OuterBatchSaveStudentReq req);
+
+	/**
+	 * 修改密码
+	 *
+	 * @author WANGWEI
+	 * @param req
+	 * @return
+	 */
+	OuterUpdatePasswordResp updatePassword(OuterUpdatePasswordReq req);
+
+	/**
+	 * 更新学生状态
+	 *
+	 * @author WANGWEI
+	 * @param req
+	 * @return
+	 */
+	OuterUpdateStudentStatusResp updateStudentStatus(OuterUpdateStudentStatusReq req);
+
+}

+ 46 - 0
examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/bean/CourseBean.java

@@ -0,0 +1,46 @@
+package cn.com.qmth.examcloud.exchange.outer.api.bean;
+
+import cn.com.qmth.examcloud.api.commons.exchange.JsonSerializable;
+
+/**
+ * 类注释
+ *
+ * @author WANGWEI
+ * @date 2018年9月4日
+ * @Copyright (c) 2018-? http://qmth.com.cn All Rights Reserved.
+ */
+public class CourseBean implements JsonSerializable {
+
+	private static final long serialVersionUID = 2064501395377152957L;
+
+	private String code;
+
+	private String name;
+
+	private String level;
+
+	public String getCode() {
+		return code;
+	}
+
+	public void setCode(String code) {
+		this.code = code;
+	}
+
+	public String getName() {
+		return name;
+	}
+
+	public void setName(String name) {
+		this.name = name;
+	}
+
+	public String getLevel() {
+		return level;
+	}
+
+	public void setLevel(String level) {
+		this.level = level;
+	}
+
+}

+ 56 - 0
examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/bean/DefaultPaperBean.java

@@ -0,0 +1,56 @@
+package cn.com.qmth.examcloud.exchange.outer.api.bean;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * 试卷结构
+ *
+ * @author WANGWEI
+ * @date 2018年8月15日
+ * @Copyright (c) 2018-? http://qmth.com.cn All Rights Reserved.
+ */
+public class DefaultPaperBean implements Serializable {
+
+	private static final long serialVersionUID = -5979287118960427883L;
+
+	/**
+	 * 试卷名称
+	 */
+	private String name;
+
+	/**
+	 * 是否全是客观题
+	 */
+	private Boolean fullyObjective;
+
+	/**
+	 * 分组集合
+	 */
+	private List<DefaultQuestionGroupBean> questionGroupList;
+
+	public String getName() {
+		return name;
+	}
+
+	public void setName(String name) {
+		this.name = name;
+	}
+
+	public Boolean getFullyObjective() {
+		return fullyObjective;
+	}
+
+	public void setFullyObjective(Boolean fullyObjective) {
+		this.fullyObjective = fullyObjective;
+	}
+
+	public List<DefaultQuestionGroupBean> getQuestionGroupList() {
+		return questionGroupList;
+	}
+
+	public void setQuestionGroupList(List<DefaultQuestionGroupBean> questionGroupList) {
+		this.questionGroupList = questionGroupList;
+	}
+
+}

+ 56 - 0
examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/bean/DefaultQuestionGroupBean.java

@@ -0,0 +1,56 @@
+package cn.com.qmth.examcloud.exchange.outer.api.bean;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * 题分组集合
+ *
+ * @author WANGWEI
+ * @date 2018年8月15日
+ * @Copyright (c) 2018-? http://qmth.com.cn All Rights Reserved.
+ */
+public class DefaultQuestionGroupBean implements Serializable {
+
+	private static final long serialVersionUID = 2149814711274942645L;
+
+	/**
+	 * 题组名称
+	 */
+	private String groupName;
+
+	/**
+	 * 题包装器集合<br>
+	 */
+	private List<DefaultQuestionStructureWrapperBean> questionWrapperList;
+
+	/**
+	 * 题组总分
+	 */
+	private Double groupScore;
+
+	public String getGroupName() {
+		return groupName;
+	}
+
+	public void setGroupName(String groupName) {
+		this.groupName = groupName;
+	}
+
+	public List<DefaultQuestionStructureWrapperBean> getQuestionWrapperList() {
+		return questionWrapperList;
+	}
+
+	public void setQuestionWrapperList(List<DefaultQuestionStructureWrapperBean> questionWrapperList) {
+		this.questionWrapperList = questionWrapperList;
+	}
+
+	public Double getGroupScore() {
+		return groupScore;
+	}
+
+	public void setGroupScore(Double groupScore) {
+		this.groupScore = groupScore;
+	}
+
+}

+ 109 - 0
examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/bean/DefaultQuestionStructureWrapperBean.java

@@ -0,0 +1,109 @@
+package cn.com.qmth.examcloud.exchange.outer.api.bean;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * 题结构包装器
+ *
+ * @author WANGWEI
+ * @date 2018年8月15日
+ * @Copyright (c) 2018-? http://qmth.com.cn All Rights Reserved.
+ */
+public class DefaultQuestionStructureWrapperBean implements Serializable {
+
+	private static final long serialVersionUID = 8423916951155451548L;
+
+	/**
+	 * 题ID
+	 */
+	private String questionId;
+
+	/**
+	 * 版本号
+	 */
+	private String version;
+
+	/**
+	 * 题分数
+	 */
+	private Double questionScore;
+
+	/**
+	 * 限制播放次数
+	 */
+	private Integer limitedPlayTimes;
+
+	/**
+	 * 已播放次数
+	 */
+	private Integer playedTimes;
+
+	/**
+	 * 作答限时
+	 */
+	private Long timeLimit;
+
+	/**
+	 * 题单元包装器
+	 */
+	private List<DefaultQuestionUnitWrapperBean> questionUnitWrapperList;
+
+	public String getQuestionId() {
+		return questionId;
+	}
+
+	public void setQuestionId(String questionId) {
+		this.questionId = questionId;
+	}
+
+	public String getVersion() {
+		return version;
+	}
+
+	public void setVersion(String version) {
+		this.version = version;
+	}
+
+	public Double getQuestionScore() {
+		return questionScore;
+	}
+
+	public void setQuestionScore(Double questionScore) {
+		this.questionScore = questionScore;
+	}
+
+	public Integer getLimitedPlayTimes() {
+		return limitedPlayTimes;
+	}
+
+	public void setLimitedPlayTimes(Integer limitedPlayTimes) {
+		this.limitedPlayTimes = limitedPlayTimes;
+	}
+
+	public Integer getPlayedTimes() {
+		return playedTimes;
+	}
+
+	public void setPlayedTimes(Integer playedTimes) {
+		this.playedTimes = playedTimes;
+	}
+
+	public Long getTimeLimit() {
+		return timeLimit;
+	}
+
+	public void setTimeLimit(Long timeLimit) {
+		this.timeLimit = timeLimit;
+	}
+
+	public List<DefaultQuestionUnitWrapperBean> getQuestionUnitWrapperList() {
+		return questionUnitWrapperList;
+	}
+
+	public void setQuestionUnitWrapperList(
+			List<DefaultQuestionUnitWrapperBean> questionUnitWrapperList) {
+		this.questionUnitWrapperList = questionUnitWrapperList;
+	}
+
+}

+ 67 - 0
examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/bean/DefaultQuestionUnitWrapperBean.java

@@ -0,0 +1,67 @@
+package cn.com.qmth.examcloud.exchange.outer.api.bean;
+
+import java.io.Serializable;
+
+/**
+ * 题单元包装器
+ *
+ * @author WANGWEI
+ * @date 2018年8月16日
+ * @Copyright (c) 2018-? http://qmth.com.cn All Rights Reserved.
+ */
+public class DefaultQuestionUnitWrapperBean implements Serializable {
+
+	private static final long serialVersionUID = 7584275153456817959L;
+
+	/**
+	 * 选项排序值
+	 */
+	private Integer[] optionPermutation;
+
+	/**
+	 * 题分数
+	 */
+	private Double questionScore;
+
+	/**
+	 * 题型
+	 */
+	private String questionType;
+
+	/**
+	 * 作答类型
+	 */
+	private String answerType;
+
+	public Integer[] getOptionPermutation() {
+		return optionPermutation;
+	}
+
+	public void setOptionPermutation(Integer[] optionPermutation) {
+		this.optionPermutation = optionPermutation;
+	}
+
+	public Double getQuestionScore() {
+		return questionScore;
+	}
+
+	public void setQuestionScore(Double questionScore) {
+		this.questionScore = questionScore;
+	}
+
+	public String getQuestionType() {
+		return questionType;
+	}
+
+	public void setQuestionType(String questionType) {
+		this.questionType = questionType;
+	}
+
+	public String getAnswerType() {
+		return answerType;
+	}
+
+	public void setAnswerType(String answerType) {
+		this.answerType = answerType;
+	}
+}

+ 206 - 0
examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/bean/ExamStudent4BatchBean.java

@@ -0,0 +1,206 @@
+package cn.com.qmth.examcloud.exchange.outer.api.bean;
+
+import cn.com.qmth.examcloud.api.commons.exchange.JsonSerializable;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * 类注释
+ *
+ * @author WANGWEI
+ * @date 2018年11月14日
+ * @Copyright (c) 2018-? http://qmth.com.cn All Rights Reserved.
+ */
+@ApiModel(value = "examStudent4BatchBean", description = "考生信息(批量接入)")
+public class ExamStudent4BatchBean implements JsonSerializable {
+
+	private static final long serialVersionUID = 4259890948495983284L;
+
+	@ApiModelProperty(value = "学生姓名", example = "陈圆圆", required = true)
+	private String studentName;
+
+	@ApiModelProperty(value = "学生学号", example = "2018001001", required = true)
+	private String studentCode;
+
+	@ApiModelProperty(value = "学生身份证号", example = "XXXXXXXXXXXXXXXXXX", required = true)
+	private String identityNumber;
+
+	@ApiModelProperty(value = "考试课程名称", example = "大学英语", required = true)
+	private String courseName;
+
+	@ApiModelProperty(value = "考试课程code", example = "K2", required = true)
+	private String courseCode;
+
+	@ApiModelProperty(value = "考试课程level.  ZSB:专升本;GQZ:高起专;GQB:高起本;ALL:不限", example = "ALL", required = true)
+	private String courseLevel;
+
+	@ApiModelProperty(value = "试卷类型,大写字母A-Z", example = "X", required = true)
+	private String paperType;
+
+	@ApiModelProperty(value = "信息采集人", example = "赵飞燕", required = false)
+	private String infoCollector;
+
+	@ApiModelProperty(value = "专业名称", example = "计算机", required = false)
+	private String specialtyName;
+
+	@ApiModelProperty(value = "考点", example = "武汉", required = false)
+	private String examSite;
+
+	@ApiModelProperty(value = "年级", example = "2018", required = false)
+	private String grade;
+
+	@ApiModelProperty(value = "备注", example = "XX", required = false)
+	private String remark;
+
+	@ApiModelProperty(value = "扩展属性1", example = "XX", required = false)
+	private String ext1;
+
+	@ApiModelProperty(value = "扩展属性2", example = "XX", required = false)
+	private String ext2;
+
+	@ApiModelProperty(value = "扩展属性3", example = "XX", required = false)
+	private String ext3;
+
+	@ApiModelProperty(value = "扩展属性4", example = "XX", required = false)
+	private String ext4;
+
+	@ApiModelProperty(value = "扩展属性5", example = "XX", required = false)
+	private String ext5;
+
+	public String getStudentName() {
+		return studentName;
+	}
+
+	public void setStudentName(String studentName) {
+		this.studentName = studentName;
+	}
+
+	public String getStudentCode() {
+		return studentCode;
+	}
+
+	public void setStudentCode(String studentCode) {
+		this.studentCode = studentCode;
+	}
+
+	public String getIdentityNumber() {
+		return identityNumber;
+	}
+
+	public void setIdentityNumber(String identityNumber) {
+		this.identityNumber = identityNumber;
+	}
+
+	public String getCourseName() {
+		return courseName;
+	}
+
+	public void setCourseName(String courseName) {
+		this.courseName = courseName;
+	}
+
+	public String getCourseCode() {
+		return courseCode;
+	}
+
+	public void setCourseCode(String courseCode) {
+		this.courseCode = courseCode;
+	}
+
+	public String getCourseLevel() {
+		return courseLevel;
+	}
+
+	public void setCourseLevel(String courseLevel) {
+		this.courseLevel = courseLevel;
+	}
+
+	public String getPaperType() {
+		return paperType;
+	}
+
+	public void setPaperType(String paperType) {
+		this.paperType = paperType;
+	}
+
+	public String getInfoCollector() {
+		return infoCollector;
+	}
+
+	public void setInfoCollector(String infoCollector) {
+		this.infoCollector = infoCollector;
+	}
+
+	public String getSpecialtyName() {
+		return specialtyName;
+	}
+
+	public void setSpecialtyName(String specialtyName) {
+		this.specialtyName = specialtyName;
+	}
+
+	public String getExamSite() {
+		return examSite;
+	}
+
+	public void setExamSite(String examSite) {
+		this.examSite = examSite;
+	}
+
+	public String getGrade() {
+		return grade;
+	}
+
+	public void setGrade(String grade) {
+		this.grade = grade;
+	}
+
+	public String getRemark() {
+		return remark;
+	}
+
+	public void setRemark(String remark) {
+		this.remark = remark;
+	}
+
+	public String getExt1() {
+		return ext1;
+	}
+
+	public void setExt1(String ext1) {
+		this.ext1 = ext1;
+	}
+
+	public String getExt2() {
+		return ext2;
+	}
+
+	public void setExt2(String ext2) {
+		this.ext2 = ext2;
+	}
+
+	public String getExt3() {
+		return ext3;
+	}
+
+	public void setExt3(String ext3) {
+		this.ext3 = ext3;
+	}
+
+	public String getExt4() {
+		return ext4;
+	}
+
+	public void setExt4(String ext4) {
+		this.ext4 = ext4;
+	}
+
+	public String getExt5() {
+		return ext5;
+	}
+
+	public void setExt5(String ext5) {
+		this.ext5 = ext5;
+	}
+
+}

+ 136 - 0
examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/bean/ExamStudentStatus4BatchBean.java

@@ -0,0 +1,136 @@
+package cn.com.qmth.examcloud.exchange.outer.api.bean;
+
+import java.io.Serializable;
+
+/**
+ * 考生接入状态
+ *
+ * @author WANGWEI
+ * @date 2019年1月8日
+ * @Copyright (c) 2018-? http://qmth.com.cn All Rights Reserved.
+ */
+public class ExamStudentStatus4BatchBean implements Serializable {
+
+	private static final long serialVersionUID = -6794614626330803366L;
+
+	private String code;
+
+	private String desc;
+
+	private Long examId;
+
+	private String examName;
+
+	private Long id;
+
+	private Long studentId;
+
+	private String name;
+
+	private String studentCode;
+
+	private String identityNumber;
+
+	private String courseCode;
+
+	private String courseName;
+
+	private String courseLevel;
+
+	public String getCode() {
+		return code;
+	}
+
+	public void setCode(String code) {
+		this.code = code;
+	}
+
+	public String getDesc() {
+		return desc;
+	}
+
+	public void setDesc(String desc) {
+		this.desc = desc;
+	}
+
+	public Long getExamId() {
+		return examId;
+	}
+
+	public void setExamId(Long examId) {
+		this.examId = examId;
+	}
+
+	public String getExamName() {
+		return examName;
+	}
+
+	public void setExamName(String examName) {
+		this.examName = examName;
+	}
+
+	public Long getId() {
+		return id;
+	}
+
+	public void setId(Long id) {
+		this.id = id;
+	}
+
+	public Long getStudentId() {
+		return studentId;
+	}
+
+	public void setStudentId(Long studentId) {
+		this.studentId = studentId;
+	}
+
+	public String getName() {
+		return name;
+	}
+
+	public void setName(String name) {
+		this.name = name;
+	}
+
+	public String getStudentCode() {
+		return studentCode;
+	}
+
+	public void setStudentCode(String studentCode) {
+		this.studentCode = studentCode;
+	}
+
+	public String getIdentityNumber() {
+		return identityNumber;
+	}
+
+	public void setIdentityNumber(String identityNumber) {
+		this.identityNumber = identityNumber;
+	}
+
+	public String getCourseCode() {
+		return courseCode;
+	}
+
+	public void setCourseCode(String courseCode) {
+		this.courseCode = courseCode;
+	}
+
+	public String getCourseName() {
+		return courseName;
+	}
+
+	public void setCourseName(String courseName) {
+		this.courseName = courseName;
+	}
+
+	public String getCourseLevel() {
+		return courseLevel;
+	}
+
+	public void setCourseLevel(String courseLevel) {
+		this.courseLevel = courseLevel;
+	}
+
+}

+ 63 - 0
examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/bean/OuterBlockBean.java

@@ -0,0 +1,63 @@
+package cn.com.qmth.examcloud.exchange.outer.api.bean;
+
+import java.util.Map;
+
+/**
+ * @Description 从题库拷过来的代码,用于处理导出阅卷数据 ,见ExamRecordQuestionsCloudServiceProvider
+ * @Author lideyin
+ * @Date 2020/3/2 18:35
+ * @Version 1.0
+ */
+public class OuterBlockBean {
+    /**
+     * text:文字
+     * image:图片
+     * audio:音频
+     * video:视频
+     */
+    private String type;
+    /**
+     * 资源相对路径
+     */
+    private String value;
+    /**
+     * 播放次数
+     */
+    private Integer playTime;
+
+    private Map<String, Object> param;
+
+    public String getType() {
+        return type;
+    }
+
+    public void setType(String type) {
+        this.type = type;
+    }
+
+    public String getValue() {
+        return value;
+    }
+
+    public void setValue(String value) {
+        this.value = value;
+    }
+
+    public Map<String, Object> getParam() {
+        return param;
+    }
+
+    public void setParam(Map<String, Object> param) {
+        this.param = param;
+    }
+
+    public Integer getPlayTime() {
+        return playTime;
+    }
+
+    public void setPlayTime(Integer playTime) {
+        this.playTime = playTime;
+    }
+
+}
+

+ 128 - 0
examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/bean/OuterExamRecordBean.java

@@ -0,0 +1,128 @@
+package cn.com.qmth.examcloud.exchange.outer.api.bean;
+
+import cn.com.qmth.examcloud.api.commons.exchange.JsonSerializable;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.util.List;
+
+/**
+ * @Description 主观题考试记录实体
+ * @Author lideyin
+ * @Date 2020/3/30 16:06
+ * @Version 1.0
+ */
+@ApiModel(value = "OuterExamRecordBean", description = "主观题考试记录")
+public class OuterExamRecordBean implements JsonSerializable{
+	private static final long serialVersionUID = 2318585091725308489L;
+
+	@ApiModelProperty(value = "考试id", example = "1", required = true)
+	private Long examId;
+
+	@ApiModelProperty(value = "考生学号(对应网考的身份证号)", example = "111", required = true)
+	private String studentCode;
+	
+	@ApiModelProperty(value = "考生姓名", example = "XX", required = true)
+	private String name;
+	
+	@ApiModelProperty(value = "学院/年级", example = "XX", required = false)
+	private String college;
+
+	@ApiModelProperty(value = "班级", example = "", required = false)
+	private String className;
+
+	@ApiModelProperty(value = "教师", example = "", required = false)
+	private String teacher;
+
+	@ApiModelProperty(value = "科目代码", example = "", required = true)
+	private String subjectCode;
+
+	@ApiModelProperty(value = "科目名称", example = "", required = true)
+	private String subjectName;
+
+	@ApiModelProperty(value = "考生唯一标识(对应网考的考试记录id)", example = "", required = true)
+	private String examNumber;
+
+	@ApiModelProperty(value = "主观题作答集合", example = "[{}]", required = false)
+	private List<OuterSubjectiveQuestionRecordBean> subjectives;
+
+	public Long getExamId() {
+		return examId;
+	}
+
+	public void setExamId(Long examId) {
+		this.examId = examId;
+	}
+
+	public String getStudentCode() {
+		return studentCode;
+	}
+
+	public void setStudentCode(String studentCode) {
+		this.studentCode = studentCode;
+	}
+
+	public String getName() {
+		return name;
+	}
+
+	public void setName(String name) {
+		this.name = name;
+	}
+
+	public String getCollege() {
+		return college;
+	}
+
+	public void setCollege(String college) {
+		this.college = college;
+	}
+
+	public String getClassName() {
+		return className;
+	}
+
+	public void setClassName(String className) {
+		this.className = className;
+	}
+
+	public String getTeacher() {
+		return teacher;
+	}
+
+	public void setTeacher(String teacher) {
+		this.teacher = teacher;
+	}
+
+	public String getSubjectCode() {
+		return subjectCode;
+	}
+
+	public void setSubjectCode(String subjectCode) {
+		this.subjectCode = subjectCode;
+	}
+
+	public String getSubjectName() {
+		return subjectName;
+	}
+
+	public void setSubjectName(String subjectName) {
+		this.subjectName = subjectName;
+	}
+
+	public String getExamNumber() {
+		return examNumber;
+	}
+
+	public void setExamNumber(String examNumber) {
+		this.examNumber = examNumber;
+	}
+
+	public List<OuterSubjectiveQuestionRecordBean> getSubjectives() {
+		return subjectives;
+	}
+
+	public void setSubjectives(List<OuterSubjectiveQuestionRecordBean> subjectives) {
+		this.subjectives = subjectives;
+	}
+}

+ 173 - 0
examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/bean/OuterExamStudent4ResetReqBean.java

@@ -0,0 +1,173 @@
+package cn.com.qmth.examcloud.exchange.outer.api.bean;
+
+import cn.com.qmth.examcloud.api.commons.exchange.JsonSerializable;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * 类注释
+ *
+ * @author WANGWEI
+ * @date 2019年8月20日
+ * @Copyright (c) 2018-? http://qmth.com.cn All Rights Reserved.
+ */
+@ApiModel(value = "outerExamStudent4ResetReqBean", description = "考生信息(重置)")
+public class OuterExamStudent4ResetReqBean implements JsonSerializable {
+
+	private static final long serialVersionUID = 2079003980099252759L;
+
+	@ApiModelProperty(value = "考试课程名称", example = "大学英语", required = true)
+	private String courseName;
+
+	@ApiModelProperty(value = "考试课程code", example = "K2", required = true)
+	private String courseCode;
+
+	@ApiModelProperty(value = "考试课程level.  ZSB:专升本;GQZ:高起专;GQB:高起本;ALL:不限", example = "ALL", required = true)
+	private String courseLevel;
+
+	@ApiModelProperty(value = "考试课程level.  ZSB:专升本;GQZ:高起专;GQB:高起本;ALL:不限", example = "ALL", required = true)
+	private String paperType;
+
+	@ApiModelProperty(value = "信息采集人", example = "赵飞燕", required = false)
+	private String infoCollector;
+
+	@ApiModelProperty(value = "考点", example = "武汉", required = false)
+	private String examSite;
+
+	@ApiModelProperty(value = "专业名称", example = "计算机", required = false)
+	private String specialtyName;
+
+	@ApiModelProperty(value = "年级", example = "2018", required = false)
+	private String grade;
+
+	@ApiModelProperty(value = "备注", example = "XX", required = false)
+	private String remark;
+
+	@ApiModelProperty(value = "扩展属性1", example = "XX", required = false)
+	private String ext1;
+
+	@ApiModelProperty(value = "扩展属性2", example = "XX", required = false)
+	private String ext2;
+
+	@ApiModelProperty(value = "扩展属性3", example = "XX", required = false)
+	private String ext3;
+
+	@ApiModelProperty(value = "扩展属性4", example = "XX", required = false)
+	private String ext4;
+
+	@ApiModelProperty(value = "扩展属性5", example = "XX", required = false)
+	private String ext5;
+
+	public String getCourseName() {
+		return courseName;
+	}
+
+	public void setCourseName(String courseName) {
+		this.courseName = courseName;
+	}
+
+	public String getCourseCode() {
+		return courseCode;
+	}
+
+	public void setCourseCode(String courseCode) {
+		this.courseCode = courseCode;
+	}
+
+	public String getCourseLevel() {
+		return courseLevel;
+	}
+
+	public void setCourseLevel(String courseLevel) {
+		this.courseLevel = courseLevel;
+	}
+
+	public String getPaperType() {
+		return paperType;
+	}
+
+	public void setPaperType(String paperType) {
+		this.paperType = paperType;
+	}
+
+	public String getInfoCollector() {
+		return infoCollector;
+	}
+
+	public void setInfoCollector(String infoCollector) {
+		this.infoCollector = infoCollector;
+	}
+
+	public String getExamSite() {
+		return examSite;
+	}
+
+	public void setExamSite(String examSite) {
+		this.examSite = examSite;
+	}
+
+	public String getSpecialtyName() {
+		return specialtyName;
+	}
+
+	public void setSpecialtyName(String specialtyName) {
+		this.specialtyName = specialtyName;
+	}
+
+	public String getGrade() {
+		return grade;
+	}
+
+	public void setGrade(String grade) {
+		this.grade = grade;
+	}
+
+	public String getRemark() {
+		return remark;
+	}
+
+	public void setRemark(String remark) {
+		this.remark = remark;
+	}
+
+	public String getExt1() {
+		return ext1;
+	}
+
+	public void setExt1(String ext1) {
+		this.ext1 = ext1;
+	}
+
+	public String getExt2() {
+		return ext2;
+	}
+
+	public void setExt2(String ext2) {
+		this.ext2 = ext2;
+	}
+
+	public String getExt3() {
+		return ext3;
+	}
+
+	public void setExt3(String ext3) {
+		this.ext3 = ext3;
+	}
+
+	public String getExt4() {
+		return ext4;
+	}
+
+	public void setExt4(String ext4) {
+		this.ext4 = ext4;
+	}
+
+	public String getExt5() {
+		return ext5;
+	}
+
+	public void setExt5(String ext5) {
+		this.ext5 = ext5;
+	}
+
+}

+ 285 - 0
examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/bean/OuterExamStudent4ResetRespBean.java

@@ -0,0 +1,285 @@
+package cn.com.qmth.examcloud.exchange.outer.api.bean;
+
+import cn.com.qmth.examcloud.api.commons.exchange.JsonSerializable;
+
+/**
+ * 类注释
+ *
+ * @author WANGWEI
+ * @date 2019年8月20日
+ * @Copyright (c) 2018-? http://qmth.com.cn All Rights Reserved.
+ */
+public class OuterExamStudent4ResetRespBean implements JsonSerializable {
+	private static final long serialVersionUID = 2079003980099252759L;
+
+	private Long id;
+
+	/**
+	 * 学生ID
+	 */
+	private Long studentId;
+
+	/**
+	 * 机构ID
+	 */
+	private Long orgId;
+
+	/**
+	 * 机构名称
+	 */
+	private String orgName;
+
+	/**
+	 * 机构编码
+	 */
+	private String orgCode;
+
+	/**
+	 * 顶级机构ID
+	 */
+	private Long rootOrgId;
+
+	/**
+	 * 考试ID
+	 */
+	private Long examId;
+
+	/**
+	 * 考试名称
+	 */
+	private String examName;
+
+	/**
+	 * 学生姓名
+	 */
+	private String studentName;
+
+	/**
+	 * 学生学号
+	 */
+	private String studentCode;
+
+	/**
+	 * 学生身份证号
+	 */
+	private String identityNumber;
+
+	/**
+	 * 考试课程名称
+	 */
+	private String courseName;
+
+	/**
+	 * 考试课程code
+	 */
+	private String courseCode;
+
+	/**
+	 * 考试课程level
+	 */
+	private String courseLevel;
+
+	/**
+	 * 试卷类型
+	 */
+	private String paperType;
+
+	/**
+	 * 专业名称
+	 */
+	private String specialtyName;
+
+	/**
+	 * 课程ID
+	 */
+	private Long courseId;
+
+	/**
+	 * 年级
+	 */
+	private String grade;
+
+	/**
+	 * 备注
+	 */
+	private String remark;
+
+	/**
+	 * 考点
+	 */
+	private String examSite;
+
+	/**
+	 * 信息采集人
+	 */
+	private String infoCollector;
+
+	public Long getId() {
+		return id;
+	}
+
+	public void setId(Long id) {
+		this.id = id;
+	}
+
+	public Long getRootOrgId() {
+		return rootOrgId;
+	}
+
+	public void setRootOrgId(Long rootOrgId) {
+		this.rootOrgId = rootOrgId;
+	}
+
+	public Long getExamId() {
+		return examId;
+	}
+
+	public void setExamId(Long examId) {
+		this.examId = examId;
+	}
+
+	public String getExamName() {
+		return examName;
+	}
+
+	public void setExamName(String examName) {
+		this.examName = examName;
+	}
+
+	public String getStudentName() {
+		return studentName;
+	}
+
+	public void setStudentName(String studentName) {
+		this.studentName = studentName;
+	}
+
+	public String getStudentCode() {
+		return studentCode;
+	}
+
+	public void setStudentCode(String studentCode) {
+		this.studentCode = studentCode;
+	}
+
+	public String getIdentityNumber() {
+		return identityNumber;
+	}
+
+	public void setIdentityNumber(String identityNumber) {
+		this.identityNumber = identityNumber;
+	}
+
+	public String getCourseName() {
+		return courseName;
+	}
+
+	public void setCourseName(String courseName) {
+		this.courseName = courseName;
+	}
+
+	public String getCourseCode() {
+		return courseCode;
+	}
+
+	public void setCourseCode(String courseCode) {
+		this.courseCode = courseCode;
+	}
+
+	public String getCourseLevel() {
+		return courseLevel;
+	}
+
+	public void setCourseLevel(String courseLevel) {
+		this.courseLevel = courseLevel;
+	}
+
+	public String getPaperType() {
+		return paperType;
+	}
+
+	public void setPaperType(String paperType) {
+		this.paperType = paperType;
+	}
+
+	public Long getStudentId() {
+		return studentId;
+	}
+
+	public void setStudentId(Long studentId) {
+		this.studentId = studentId;
+	}
+
+	public Long getOrgId() {
+		return orgId;
+	}
+
+	public void setOrgId(Long orgId) {
+		this.orgId = orgId;
+	}
+
+	public String getOrgName() {
+		return orgName;
+	}
+
+	public void setOrgName(String orgName) {
+		this.orgName = orgName;
+	}
+
+	public String getOrgCode() {
+		return orgCode;
+	}
+
+	public void setOrgCode(String orgCode) {
+		this.orgCode = orgCode;
+	}
+
+	public String getSpecialtyName() {
+		return specialtyName;
+	}
+
+	public void setSpecialtyName(String specialtyName) {
+		this.specialtyName = specialtyName;
+	}
+
+	public Long getCourseId() {
+		return courseId;
+	}
+
+	public void setCourseId(Long courseId) {
+		this.courseId = courseId;
+	}
+
+	public String getGrade() {
+		return grade;
+	}
+
+	public void setGrade(String grade) {
+		this.grade = grade;
+	}
+
+	public String getRemark() {
+		return remark;
+	}
+
+	public void setRemark(String remark) {
+		this.remark = remark;
+	}
+
+	public String getExamSite() {
+		return examSite;
+	}
+
+	public void setExamSite(String examSite) {
+		this.examSite = examSite;
+	}
+
+	public String getInfoCollector() {
+		return infoCollector;
+	}
+
+	public void setInfoCollector(String infoCollector) {
+		this.infoCollector = infoCollector;
+	}
+
+}

+ 160 - 0
examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/bean/OuterExamStudentBean.java

@@ -0,0 +1,160 @@
+package cn.com.qmth.examcloud.exchange.outer.api.bean;
+
+import cn.com.qmth.examcloud.api.commons.exchange.JsonSerializable;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * 类注释
+ *
+ * @author WANGWEI
+ * @date 2018年11月14日
+ * @Copyright (c) 2018-? http://qmth.com.cn All Rights Reserved.
+ */
+@ApiModel(value = "examStudentBean", description = "考生信息")
+public class OuterExamStudentBean implements JsonSerializable {
+	private static final long serialVersionUID = 2079003980099252759L;
+
+	/**
+	 * 顶级机构ID
+	 */
+	@ApiModelProperty(value = "顶级机构", example = "0", required = true)
+	private Long rootOrgId;
+
+	/**
+	 * 考试ID
+	 */
+	@ApiModelProperty(value = "考试ID", example = "100", required = true)
+	private Long examId;
+
+	/**
+	 * 考试名称
+	 */
+	@ApiModelProperty(value = "考试名称(废弃属性,实际上为考试编码)", example = "2018年秋季入学考试", required = true)
+	@Deprecated
+	private String examName;
+
+	/**
+	 * 学生姓名
+	 */
+	@ApiModelProperty(value = "学生姓名", example = "陈圆圆", required = true)
+	private String studentName;
+
+	/**
+	 * 学生学号
+	 */
+	@ApiModelProperty(value = "学生学号", example = "2018001001", required = true)
+	private String studentCode;
+
+	/**
+	 * 学生身份证号
+	 */
+	@ApiModelProperty(value = "学生身份证号", example = "XXXXXXXXXXXXXXXXXX", required = true)
+	private String identityNumber;
+
+	/**
+	 * 考试课程名称
+	 */
+	@ApiModelProperty(value = "考试课程名称", example = "大学英语", required = true)
+	private String courseName;
+
+	/**
+	 * 考试课程code
+	 */
+	@ApiModelProperty(value = "考试课程code", example = "K2", required = true)
+	private String courseCode;
+
+	/**
+	 * 考试课程level
+	 */
+	@ApiModelProperty(value = "考试课程level.  ZSB:专升本;GQZ:高起专;GQB:高起本;ALL:不限", example = "ALL", required = true)
+
+	private String courseLevel;
+
+	/**
+	 * 试卷类型
+	 */
+	@ApiModelProperty(value = "试卷类型,大写字母A-Z", example = "X", required = true)
+	private String paperType;
+
+	public Long getRootOrgId() {
+		return rootOrgId;
+	}
+
+	public void setRootOrgId(Long rootOrgId) {
+		this.rootOrgId = rootOrgId;
+	}
+
+	public Long getExamId() {
+		return examId;
+	}
+
+	public void setExamId(Long examId) {
+		this.examId = examId;
+	}
+
+	public String getExamName() {
+		return examName;
+	}
+
+	public void setExamName(String examName) {
+		this.examName = examName;
+	}
+
+	public String getStudentName() {
+		return studentName;
+	}
+
+	public void setStudentName(String studentName) {
+		this.studentName = studentName;
+	}
+
+	public String getStudentCode() {
+		return studentCode;
+	}
+
+	public void setStudentCode(String studentCode) {
+		this.studentCode = studentCode;
+	}
+
+	public String getIdentityNumber() {
+		return identityNumber;
+	}
+
+	public void setIdentityNumber(String identityNumber) {
+		this.identityNumber = identityNumber;
+	}
+
+	public String getCourseName() {
+		return courseName;
+	}
+
+	public void setCourseName(String courseName) {
+		this.courseName = courseName;
+	}
+
+	public String getCourseCode() {
+		return courseCode;
+	}
+
+	public void setCourseCode(String courseCode) {
+		this.courseCode = courseCode;
+	}
+
+	public String getCourseLevel() {
+		return courseLevel;
+	}
+
+	public void setCourseLevel(String courseLevel) {
+		this.courseLevel = courseLevel;
+	}
+
+	public String getPaperType() {
+		return paperType;
+	}
+
+	public void setPaperType(String paperType) {
+		this.paperType = paperType;
+	}
+
+}

+ 60 - 0
examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/bean/OuterGetCapturePhotoBean.java

@@ -0,0 +1,60 @@
+package cn.com.qmth.examcloud.exchange.outer.api.bean;
+
+
+import cn.com.qmth.examcloud.api.commons.exchange.JsonSerializable;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * 
+ * @author  	chenken
+ * @date    	2018年11月16日 下午1:50:02
+ * @company 	QMTH
+ * @description OuterGetCapturePhotoBean.java
+ */
+@ApiModel(value = "capturePhotoBean", description = "抓拍照片信息")
+public class OuterGetCapturePhotoBean implements JsonSerializable{
+
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = 2867275034372864464L;
+	
+	@ApiModelProperty(value = "文件URL", example = "https://ecs-XXX.qmth.com.cn/capture_photo/XXX/XXX.jpg", required = true)
+    private String fileUrl;
+    
+	@ApiModelProperty(value = "人脸比对是否通过", example = "true", required = true)
+    private Boolean isPass;
+    
+	@ApiModelProperty(value = "人脸比对是否有陌生人脸", example = "false", required = true)
+    private Boolean isStranger;
+    
+	@ApiModelProperty(value = "人脸真实性是否通过", example = "true", required = true)
+    private Boolean isLivenessPass;
+	
+	public String getFileUrl() {
+		return fileUrl;
+	}
+	public void setFileUrl(String fileUrl) {
+		this.fileUrl = fileUrl;
+	}
+	public Boolean getIsPass() {
+		return isPass;
+	}
+	public void setIsPass(Boolean isPass) {
+		this.isPass = isPass;
+	}
+	public Boolean getIsStranger() {
+		return isStranger;
+	}
+	public void setIsStranger(Boolean isStranger) {
+		this.isStranger = isStranger;
+	}
+	public Boolean getIsLivenessPass() {
+		return isLivenessPass;
+	}
+	public void setIsLivenessPass(Boolean isLivenessPass) {
+		this.isLivenessPass = isLivenessPass;
+	}
+	
+}

+ 135 - 0
examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/bean/OuterScoreDataBean.java

@@ -0,0 +1,135 @@
+package cn.com.qmth.examcloud.exchange.outer.api.bean;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.util.Date;
+
+import cn.com.qmth.examcloud.api.commons.exchange.JsonSerializable;
+
+/**
+ * 
+ * @author  	chenken
+ * @date    	2018年11月27日 下午5:41:09
+ * @company 	QMTH
+ * @description OuterGetScoreDataBean.java
+ */
+@ApiModel(value = "scoreDataBean", description = "考生成绩数据")
+public class OuterScoreDataBean implements JsonSerializable{
+
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = 7476060044159007486L;
+
+	@ApiModelProperty(value = "考试记录ID", example = "1", required = true)
+	private Long examRecordDataId;
+	
+	@ApiModelProperty(value = "学生姓名", example = "XX", required = true)
+	private String studentName;
+	
+	@ApiModelProperty(value = "学生学号", example = "X000001", required = true)
+	private String studentCode;
+	
+	@ApiModelProperty(value = "学生身份证号码", example = "10XXXX", required = true)
+	private String identityNumber;
+	
+	@ApiModelProperty(value = "课程名称", example = "语文001", required = true)
+	private String courseName;
+	
+	@ApiModelProperty(value = "课程code", example = "A000001", required = true)
+	private String courseCode;
+	
+	@ApiModelProperty(value = "开考时间", example = "2018-11-16 10:00:00", required = true)
+	private Date startTime;
+	
+	@ApiModelProperty(value = "交卷时间", example = "2018-11-16 10:30:00", required = true)
+	private Date endTime;
+	
+	@ApiModelProperty(value = "得分", example = "100.0", required = true)
+	private Double totalScore;
+	
+	@ApiModelProperty(value = "是否异常数据", example = "false", required = true)
+	private Boolean isWarn;
+	
+	@ApiModelProperty(value = "是否被审核", example = "false", required = true)
+	private Boolean isAudit;
+	
+	@ApiModelProperty(value = "是否违纪", example = "false", required = true)
+	private Boolean isIllegality;
+	
+	public Long getExamRecordDataId() {
+		return examRecordDataId;
+	}
+	public void setExamRecordDataId(Long examRecordDataId) {
+		this.examRecordDataId = examRecordDataId;
+	}
+	public String getStudentName() {
+		return studentName;
+	}
+	public void setStudentName(String studentName) {
+		this.studentName = studentName;
+	}
+	public String getStudentCode() {
+		return studentCode;
+	}
+	public void setStudentCode(String studentCode) {
+		this.studentCode = studentCode;
+	}
+	public String getIdentityNumber() {
+		return identityNumber;
+	}
+	public void setIdentityNumber(String identityNumber) {
+		this.identityNumber = identityNumber;
+	}
+	public String getCourseName() {
+		return courseName;
+	}
+	public void setCourseName(String courseName) {
+		this.courseName = courseName;
+	}
+	public String getCourseCode() {
+		return courseCode;
+	}
+	public void setCourseCode(String courseCode) {
+		this.courseCode = courseCode;
+	}
+	public Date getStartTime() {
+		return startTime;
+	}
+	public void setStartTime(Date startTime) {
+		this.startTime = startTime;
+	}
+	public Date getEndTime() {
+		return endTime;
+	}
+	public void setEndTime(Date endTime) {
+		this.endTime = endTime;
+	}
+	public Double getTotalScore() {
+		return totalScore;
+	}
+	public void setTotalScore(Double totalScore) {
+		this.totalScore = totalScore;
+	}
+	public Boolean getIsWarn() {
+		return isWarn;
+	}
+	public void setIsWarn(Boolean isWarn) {
+		this.isWarn = isWarn;
+	}
+	public Boolean getIsAudit() {
+		return isAudit;
+	}
+	public void setIsAudit(Boolean isAudit) {
+		this.isAudit = isAudit;
+	}
+	public Boolean getIsIllegality() {
+		return isIllegality;
+	}
+	public void setIsIllegality(Boolean isIllegality) {
+		this.isIllegality = isIllegality;
+	}
+	
+	
+}

+ 25 - 0
examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/bean/OuterSectionBean.java

@@ -0,0 +1,25 @@
+package cn.com.qmth.examcloud.exchange.outer.api.bean;
+
+import java.util.List;
+
+/**
+ * @Description 节点
+ * @Author lideyin
+ * @Date 2020/3/30 17:00
+ * @Version 1.0
+ */
+public class OuterSectionBean {
+
+    private List<OuterBlockBean> blocks;
+
+    public List<OuterBlockBean> getBlocks() {
+        return blocks;
+    }
+
+    public void setBlocks(List<OuterBlockBean> blocks) {
+        this.blocks = blocks;
+    }
+
+
+}
+

+ 25 - 0
examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/bean/OuterSectionCollectionBean.java

@@ -0,0 +1,25 @@
+package cn.com.qmth.examcloud.exchange.outer.api.bean;
+
+import java.util.List;
+
+/**
+ * @Description 节点集合
+ * @Author lideyin
+ * @Date 2020/3/30 16:59
+ * @Version 1.0
+ */
+public class OuterSectionCollectionBean {
+
+    private List<OuterSectionBean> sections;
+
+    public List<OuterSectionBean> getSections() {
+        return sections;
+    }
+
+    public void setSections(List<OuterSectionBean> sections) {
+        this.sections = sections;
+    }
+
+
+}
+

+ 63 - 0
examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/bean/OuterSubjectivePaperBean.java

@@ -0,0 +1,63 @@
+package cn.com.qmth.examcloud.exchange.outer.api.bean;
+
+import cn.com.qmth.examcloud.api.commons.exchange.JsonSerializable;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.util.List;
+
+/**
+ * @Description 主观题试卷信息实体
+ * @Author lideyin
+ * @Date 2020/6/23 15:08
+ * @Version 1.0
+ */
+@ApiModel(value = "OuterSubjectivePaperBean", description = "主观题试卷信息实体")
+public class OuterSubjectivePaperBean implements JsonSerializable{
+
+	private static final long serialVersionUID = -861207406409903426L;
+
+	@ApiModelProperty(value = "考试ID", example = "1", required = true)
+	private Long examId;
+
+	@ApiModelProperty(value = "科目代码", example = "XX", required = true)
+	private String subjectCode;
+
+	@ApiModelProperty(value = "科目名称", example = "XX", required = true)
+	private String subjectName;
+
+	@ApiModelProperty(value = "主观题集合", example = "[]", required = true)
+	private List<OuterSubjectivePaperQuestionBean> questions;
+
+	public Long getExamId() {
+		return examId;
+	}
+
+	public void setExamId(Long examId) {
+		this.examId = examId;
+	}
+
+	public String getSubjectCode() {
+		return subjectCode;
+	}
+
+	public void setSubjectCode(String subjectCode) {
+		this.subjectCode = subjectCode;
+	}
+
+	public String getSubjectName() {
+		return subjectName;
+	}
+
+	public void setSubjectName(String subjectName) {
+		this.subjectName = subjectName;
+	}
+
+	public List<OuterSubjectivePaperQuestionBean> getQuestions() {
+		return questions;
+	}
+
+	public void setQuestions(List<OuterSubjectivePaperQuestionBean> questions) {
+		this.questions = questions;
+	}
+}

+ 105 - 0
examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/bean/OuterSubjectivePaperQuestionBean.java

@@ -0,0 +1,105 @@
+package cn.com.qmth.examcloud.exchange.outer.api.bean;
+
+import cn.com.qmth.examcloud.api.commons.exchange.JsonSerializable;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * @Description 主观题实体
+ * @Author lideyin
+ * @Date 2020/3/30 16:05
+ * @Version 1.0
+ */
+@ApiModel(value = "OuterSubjectivePaperQuestionBean", description = "主观题实体")
+public class OuterSubjectivePaperQuestionBean implements JsonSerializable{
+
+	private static final long serialVersionUID = -861207406409903426L;
+
+	@ApiModelProperty(value = "大题号", example = "1", required = true)
+	private Integer mainNumber;
+
+//	@ApiModelProperty(value = "大题名称", example = "XX", required = true)
+//	private String mainTitle;
+
+	@ApiModelProperty(value = "小题号", example = "XX", required = true)
+	private Integer subNumber;
+
+//	@ApiModelProperty(value = "小题分", example = "1", required = true)
+//	private Double totalScore;
+
+	@ApiModelProperty(value = "试题id,String,一个套题共用一个questionId", example = "1", required = true)
+	private String questionId;
+
+	@ApiModelProperty(value = "标准答案", example = "{}", required = false)
+	private OuterSectionCollectionBean answer;
+
+	@ApiModelProperty(value = "题干", example = "{}", required = true)
+	private OuterSectionCollectionBean body;
+
+	@ApiModelProperty(value = "父题干", example = "{}", required = false)
+	private OuterSectionCollectionBean parentBody;
+
+	public Integer getMainNumber() {
+		return mainNumber;
+	}
+
+	public void setMainNumber(Integer mainNumber) {
+		this.mainNumber = mainNumber;
+	}
+
+//	public String getMainTitle() {
+//		return mainTitle;
+//	}
+//
+//	public void setMainTitle(String mainTitle) {
+//		this.mainTitle = mainTitle;
+//	}
+
+	public Integer getSubNumber() {
+		return subNumber;
+	}
+
+	public void setSubNumber(Integer subNumber) {
+		this.subNumber = subNumber;
+	}
+
+//	public Double getTotalScore() {
+//		return totalScore;
+//	}
+//
+//	public void setTotalScore(Double totalScore) {
+//		this.totalScore = totalScore;
+//	}
+
+	public String getQuestionId() {
+		return questionId;
+	}
+
+	public void setQuestionId(String questionId) {
+		this.questionId = questionId;
+	}
+
+	public OuterSectionCollectionBean getAnswer() {
+		return answer;
+	}
+
+	public void setAnswer(OuterSectionCollectionBean answer) {
+		this.answer = answer;
+	}
+
+	public OuterSectionCollectionBean getBody() {
+		return body;
+	}
+
+	public void setBody(OuterSectionCollectionBean body) {
+		this.body = body;
+	}
+
+	public OuterSectionCollectionBean getParentBody() {
+		return parentBody;
+	}
+
+	public void setParentBody(OuterSectionCollectionBean parentBody) {
+		this.parentBody = parentBody;
+	}
+}

+ 63 - 0
examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/bean/OuterSubjectivePaperStructBean.java

@@ -0,0 +1,63 @@
+package cn.com.qmth.examcloud.exchange.outer.api.bean;
+
+import cn.com.qmth.examcloud.api.commons.exchange.JsonSerializable;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.util.List;
+
+/**
+ * @Description 主观题试卷结构实体
+ * @Author lideyin
+ * @Date 2020/3/30 15:37
+ * @Version 1.0
+ */
+@ApiModel(value = "OuterSubjectivePaperStructBean", description = "考生成绩数据")
+public class OuterSubjectivePaperStructBean implements JsonSerializable{
+
+	private static final long serialVersionUID = -861207406409903426L;
+
+	@ApiModelProperty(value = "考试ID", example = "1", required = true)
+	private Long examId;
+
+	@ApiModelProperty(value = "科目代码", example = "XX", required = true)
+	private String subjectCode;
+
+	@ApiModelProperty(value = "科目名称", example = "XX", required = true)
+	private String subjectName;
+
+	@ApiModelProperty(value = "主观题集合", example = "[]", required = true)
+	private List<OuterSubjectiveQuestionBean> questions;
+
+	public Long getExamId() {
+		return examId;
+	}
+
+	public void setExamId(Long examId) {
+		this.examId = examId;
+	}
+
+	public String getSubjectCode() {
+		return subjectCode;
+	}
+
+	public void setSubjectCode(String subjectCode) {
+		this.subjectCode = subjectCode;
+	}
+
+	public String getSubjectName() {
+		return subjectName;
+	}
+
+	public void setSubjectName(String subjectName) {
+		this.subjectName = subjectName;
+	}
+
+	public List<OuterSubjectiveQuestionBean> getQuestions() {
+		return questions;
+	}
+
+	public void setQuestions(List<OuterSubjectiveQuestionBean> questions) {
+		this.questions = questions;
+	}
+}

+ 61 - 0
examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/bean/OuterSubjectiveQuestionBean.java

@@ -0,0 +1,61 @@
+package cn.com.qmth.examcloud.exchange.outer.api.bean;
+
+import cn.com.qmth.examcloud.api.commons.exchange.JsonSerializable;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * @Description 主观题实体
+ * @Author lideyin
+ * @Date 2020/3/30 16:05
+ * @Version 1.0
+ */
+@ApiModel(value = "OuterSubjectiveQuestionBean", description = "考生成绩数据")
+public class OuterSubjectiveQuestionBean implements JsonSerializable{
+
+	private static final long serialVersionUID = -861207406409903426L;
+
+	@ApiModelProperty(value = "大题号", example = "1", required = true)
+	private Integer mainNumber;
+
+	@ApiModelProperty(value = "大题名称", example = "XX", required = true)
+	private String mainTitle;
+
+	@ApiModelProperty(value = "小题号", example = "XX", required = true)
+	private Integer subNumber;
+
+	@ApiModelProperty(value = "小题分", example = "1", required = true)
+	private Double totalScore;
+
+	public Integer getMainNumber() {
+		return mainNumber;
+	}
+
+	public void setMainNumber(Integer mainNumber) {
+		this.mainNumber = mainNumber;
+	}
+
+	public String getMainTitle() {
+		return mainTitle;
+	}
+
+	public void setMainTitle(String mainTitle) {
+		this.mainTitle = mainTitle;
+	}
+
+	public Integer getSubNumber() {
+		return subNumber;
+	}
+
+	public void setSubNumber(Integer subNumber) {
+		this.subNumber = subNumber;
+	}
+
+	public Double getTotalScore() {
+		return totalScore;
+	}
+
+	public void setTotalScore(Double totalScore) {
+		this.totalScore = totalScore;
+	}
+}

+ 60 - 0
examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/bean/OuterSubjectiveQuestionRecordBean.java

@@ -0,0 +1,60 @@
+package cn.com.qmth.examcloud.exchange.outer.api.bean;
+
+import cn.com.qmth.examcloud.api.commons.exchange.JsonSerializable;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * @Description 主观题作答记录实体
+ * @Author lideyin
+ * @Date 2020/3/30 16:43
+ * @Version 1.0
+ */
+@ApiModel(value = "OuterSubjectiveQuestionRecordBean", description = "主观题作答记录实体")
+public class OuterSubjectiveQuestionRecordBean implements JsonSerializable{
+	private static final long serialVersionUID = 5992269834285704045L;
+
+	@ApiModelProperty(value = "大题号", example = "1", required = true)
+	private Integer mainNumber;
+
+	@ApiModelProperty(value = "小题号", example = "XX", required = true)
+	private Integer subNumber;
+
+	@ApiModelProperty(value = "试题id,String,一个套题共用一个questionId", example = "1", required = true)
+	private String questionId;
+
+	@ApiModelProperty(value = "学生答案", example = "{}", required = false)
+	private OuterSectionCollectionBean answer;
+
+	public Integer getMainNumber() {
+		return mainNumber;
+	}
+
+	public void setMainNumber(Integer mainNumber) {
+		this.mainNumber = mainNumber;
+	}
+
+	public Integer getSubNumber() {
+		return subNumber;
+	}
+
+	public void setSubNumber(Integer subNumber) {
+		this.subNumber = subNumber;
+	}
+
+	public String getQuestionId() {
+		return questionId;
+	}
+
+	public void setQuestionId(String questionId) {
+		this.questionId = questionId;
+	}
+
+	public OuterSectionCollectionBean getAnswer() {
+		return answer;
+	}
+
+	public void setAnswer(OuterSectionCollectionBean answer) {
+		this.answer = answer;
+	}
+}

+ 183 - 0
examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/bean/Student4BatchBean.java

@@ -0,0 +1,183 @@
+package cn.com.qmth.examcloud.exchange.outer.api.bean;
+
+import io.swagger.annotations.ApiModelProperty;
+
+import java.io.Serializable;
+
+/**
+ * 
+ * @author chenken
+ * @date 2019年1月23日 上午9:59:27
+ * @company QMTH
+ * @description Student4BatchBean.java
+ */
+public class Student4BatchBean implements Serializable {
+
+	private static final long serialVersionUID = -4695731347447671839L;
+
+	@ApiModelProperty(value = "是否可用", example = "true", required = false)
+	private Boolean enable;
+
+	/**
+	 * 学生姓名
+	 */
+	@ApiModelProperty(value = "学生姓名", example = "赵飞燕", required = true)
+	private String name;
+
+	/**
+	 * 顶级机构ID
+	 */
+	@ApiModelProperty(value = "顶级机构ID", example = "0", required = true)
+	private Long rootOrgId;
+
+	/**
+	 * 机构ID
+	 */
+	@ApiModelProperty(value = "学习中心ID", example = "1", required = false)
+	private Long orgId;
+
+	/**
+	 * 学习中心编码
+	 */
+	@ApiModelProperty(value = "学习中心编码", example = "LC111111", required = true)
+	private String orgCode;
+
+	/**
+	 * 学习中心名称
+	 */
+	@ApiModelProperty(value = "学习中心名称", example = "LC111111", required = true)
+	private String orgName;
+
+	/**
+	 * 学生code
+	 */
+	@ApiModelProperty(value = "学号", example = "1111", required = true)
+	private String studentCode;
+
+	/**
+	 * 身份证号码
+	 */
+	@ApiModelProperty(value = "身份证号", example = "XXXXXXXXXXXXXXXXXX", required = true)
+	private String identityNumber;
+
+	/**
+	 * 备注
+	 */
+	@ApiModelProperty(value = "备注", example = "xx", required = false)
+	private String remark;
+
+	/**
+	 * 图片地址
+	 */
+	@ApiModelProperty(value = "图片URL", example = "http://xxxx.xx/photo.jpg", required = false)
+	private String photoUrl;
+
+	/**
+	 * 手机号码
+	 */
+	@ApiModelProperty(value = "手机号码", example = "XXXXXXXXXXX", required = true)
+	private String phoneNumber;
+
+	/**
+	 * 操作者
+	 */
+	@ApiModelProperty(value = "操作者", example = "XXX", required = true)
+	private String operator;
+
+	public Boolean getEnable() {
+		return enable;
+	}
+
+	public void setEnable(Boolean enable) {
+		this.enable = enable;
+	}
+
+	public String getName() {
+		return name;
+	}
+
+	public void setName(String name) {
+		this.name = name;
+	}
+
+	public Long getRootOrgId() {
+		return rootOrgId;
+	}
+
+	public void setRootOrgId(Long rootOrgId) {
+		this.rootOrgId = rootOrgId;
+	}
+
+	public Long getOrgId() {
+		return orgId;
+	}
+
+	public void setOrgId(Long orgId) {
+		this.orgId = orgId;
+	}
+
+	public String getOrgCode() {
+		return orgCode;
+	}
+
+	public void setOrgCode(String orgCode) {
+		this.orgCode = orgCode;
+	}
+
+	public String getOrgName() {
+		return orgName;
+	}
+
+	public void setOrgName(String orgName) {
+		this.orgName = orgName;
+	}
+
+	public String getStudentCode() {
+		return studentCode;
+	}
+
+	public void setStudentCode(String studentCode) {
+		this.studentCode = studentCode;
+	}
+
+	public String getIdentityNumber() {
+		return identityNumber;
+	}
+
+	public void setIdentityNumber(String identityNumber) {
+		this.identityNumber = identityNumber;
+	}
+
+	public String getRemark() {
+		return remark;
+	}
+
+	public void setRemark(String remark) {
+		this.remark = remark;
+	}
+
+	public String getPhotoUrl() {
+		return photoUrl;
+	}
+
+	public void setPhotoUrl(String photoUrl) {
+		this.photoUrl = photoUrl;
+	}
+
+	public String getPhoneNumber() {
+		return phoneNumber;
+	}
+
+	public void setPhoneNumber(String phoneNumber) {
+		this.phoneNumber = phoneNumber;
+	}
+
+	public String getOperator() {
+		return operator;
+	}
+
+	public void setOperator(String operator) {
+		this.operator = operator;
+	}
+
+}

+ 52 - 0
examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/bean/StudentStatus4BatchBean.java

@@ -0,0 +1,52 @@
+package cn.com.qmth.examcloud.exchange.outer.api.bean;
+
+import java.io.Serializable;
+
+public class StudentStatus4BatchBean implements Serializable{
+
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = -2088122629950881541L;
+
+	private Long studentId;
+	
+	private String name;
+	
+	private String studentCode;
+
+	private String identityNumber;
+
+	public Long getStudentId() {
+		return studentId;
+	}
+
+	public void setStudentId(Long studentId) {
+		this.studentId = studentId;
+	}
+
+	public String getName() {
+		return name;
+	}
+
+	public void setName(String name) {
+		this.name = name;
+	}
+
+	public String getStudentCode() {
+		return studentCode;
+	}
+
+	public void setStudentCode(String studentCode) {
+		this.studentCode = studentCode;
+	}
+
+	public String getIdentityNumber() {
+		return identityNumber;
+	}
+
+	public void setIdentityNumber(String identityNumber) {
+		this.identityNumber = identityNumber;
+	}
+	
+}

+ 76 - 0
examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/request/OuterBatchSaveExamStudentReq.java

@@ -0,0 +1,76 @@
+package cn.com.qmth.examcloud.exchange.outer.api.request;
+
+import java.util.List;
+
+import cn.com.qmth.examcloud.api.commons.exchange.EnterpriseRequest;
+import cn.com.qmth.examcloud.exchange.outer.api.bean.ExamStudent4BatchBean;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * 类注释
+ *
+ * @author WANGWEI
+ * @date 2019年1月8日
+ * @Copyright (c) 2018-? http://qmth.com.cn All Rights Reserved.
+ */
+public class OuterBatchSaveExamStudentReq extends EnterpriseRequest {
+
+	private static final long serialVersionUID = 9086274932441194883L;
+
+	@ApiModelProperty(value = "顶级机构", example = "0", required = true)
+	private Long rootOrgId;
+
+	@ApiModelProperty(value = "考试ID", example = "100", required = false)
+	private Long examId;
+
+	@ApiModelProperty(value = "考试名称(废弃属性,实际上作为考试编码使用)", example = "2018年秋季入学考试", required = false)
+	@Deprecated
+	private String examName;
+
+	@ApiModelProperty(value = "考试编码", example = "2018年秋季入学考试", required = true)
+	private String examCode;
+
+	@ApiModelProperty(value = "考生集合", example = "", required = true)
+	List<ExamStudent4BatchBean> examStudentList;
+
+	public Long getRootOrgId() {
+		return rootOrgId;
+	}
+
+	public void setRootOrgId(Long rootOrgId) {
+		this.rootOrgId = rootOrgId;
+	}
+
+	public Long getExamId() {
+		return examId;
+	}
+
+	public void setExamId(Long examId) {
+		this.examId = examId;
+	}
+
+	public String getExamName() {
+		return examName;
+	}
+
+	public void setExamName(String examName) {
+		this.examName = examName;
+	}
+
+	public String getExamCode() {
+		return examCode;
+	}
+
+	public void setExamCode(String examCode) {
+		this.examCode = examCode;
+	}
+
+	public List<ExamStudent4BatchBean> getExamStudentList() {
+		return examStudentList;
+	}
+
+	public void setExamStudentList(List<ExamStudent4BatchBean> examStudentList) {
+		this.examStudentList = examStudentList;
+	}
+
+}

+ 35 - 0
examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/request/OuterBatchSaveStudentReq.java

@@ -0,0 +1,35 @@
+package cn.com.qmth.examcloud.exchange.outer.api.request;
+
+import java.util.List;
+
+import cn.com.qmth.examcloud.api.commons.exchange.EnterpriseRequest;
+import cn.com.qmth.examcloud.exchange.outer.api.bean.Student4BatchBean;
+
+public class OuterBatchSaveStudentReq extends EnterpriseRequest{
+
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = -5950300030279373369L;
+	
+	private Long rootOrgId;
+	
+	private List<Student4BatchBean> studentList;
+
+	public Long getRootOrgId() {
+		return rootOrgId;
+	}
+
+	public void setRootOrgId(Long rootOrgId) {
+		this.rootOrgId = rootOrgId;
+	}
+
+	public List<Student4BatchBean> getStudentList() {
+		return studentList;
+	}
+
+	public void setStudentList(List<Student4BatchBean> studentList) {
+		this.studentList = studentList;
+	}
+
+}

+ 43 - 0
examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/request/OuterDeleteScoreQueueTopReq.java

@@ -0,0 +1,43 @@
+package cn.com.qmth.examcloud.exchange.outer.api.request;
+
+import cn.com.qmth.examcloud.api.commons.exchange.EnterpriseRequest;
+import io.swagger.annotations.ApiModelProperty;
+
+
+/**
+ * 
+ * @author  	chenken
+ * @date    	2018年11月16日 下午3:12:02
+ * @company 	QMTH
+ * @description 删除队列请求
+ */
+public class OuterDeleteScoreQueueTopReq extends EnterpriseRequest{
+
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = 6340573640799250911L;
+	
+	@ApiModelProperty(value = "顶级机构ID", example = "1", required = true)
+	private Long rootOrgId;
+	
+	@ApiModelProperty(value = "队列ID", example = "1", required = true)
+	private Long queueId;
+
+	public Long getQueueId() {
+		return queueId;
+	}
+
+	public void setQueueId(Long queueId) {
+		this.queueId = queueId;
+	}
+
+	public Long getRootOrgId() {
+		return rootOrgId;
+	}
+
+	public void setRootOrgId(Long rootOrgId) {
+		this.rootOrgId = rootOrgId;
+	}
+	
+}

+ 32 - 0
examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/request/OuterGetCourseListReq.java

@@ -0,0 +1,32 @@
+package cn.com.qmth.examcloud.exchange.outer.api.request;
+
+import cn.com.qmth.examcloud.api.commons.exchange.EnterpriseRequest;
+import io.swagger.annotations.ApiModelProperty;
+
+public class OuterGetCourseListReq extends EnterpriseRequest {
+
+	private static final long serialVersionUID = -8374755306658040184L;
+
+	@ApiModelProperty(value = "顶级机构", example = "0", required = true)
+	private Long rootOrgId;
+
+	@ApiModelProperty(value = "课程组", example = "计算机本科", required = true)
+	private String courseGroupName;
+
+	public Long getRootOrgId() {
+		return rootOrgId;
+	}
+
+	public void setRootOrgId(Long rootOrgId) {
+		this.rootOrgId = rootOrgId;
+	}
+
+	public String getCourseGroupName() {
+		return courseGroupName;
+	}
+
+	public void setCourseGroupName(String courseGroupName) {
+		this.courseGroupName = courseGroupName;
+	}
+
+}

+ 35 - 0
examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/request/OuterGetExamRecordAuditInfoReq.java

@@ -0,0 +1,35 @@
+package cn.com.qmth.examcloud.exchange.outer.api.request;
+
+import cn.com.qmth.examcloud.api.commons.exchange.EnterpriseRequest;
+import io.swagger.annotations.ApiModelProperty;
+
+public class OuterGetExamRecordAuditInfoReq extends EnterpriseRequest{
+
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = 492449120567501650L;
+	
+	@ApiModelProperty(value = "顶级机构", example = "0", required = true)
+	private Long rootOrgId;
+	
+	@ApiModelProperty(value = "考试记录ID", example = "1", required = true)
+	private Long examRecordDataId;
+
+	public Long getRootOrgId() {
+		return rootOrgId;
+	}
+
+	public void setRootOrgId(Long rootOrgId) {
+		this.rootOrgId = rootOrgId;
+	}
+
+	public Long getExamRecordDataId() {
+		return examRecordDataId;
+	}
+
+	public void setExamRecordDataId(Long examRecordDataId) {
+		this.examRecordDataId = examRecordDataId;
+	}
+	
+}

+ 62 - 0
examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/request/OuterGetExamReq.java

@@ -0,0 +1,62 @@
+package cn.com.qmth.examcloud.exchange.outer.api.request;
+
+import cn.com.qmth.examcloud.api.commons.exchange.EnterpriseRequest;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * 类注释
+ *
+ * @author WANGWEI
+ * @date 2018年11月16日
+ * @Copyright (c) 2018-? http://qmth.com.cn All Rights Reserved.
+ */
+public class OuterGetExamReq extends EnterpriseRequest {
+
+	private static final long serialVersionUID = -2827676106721670081L;
+
+	@ApiModelProperty(value = "考试ID", example = "128", required = true)
+	private Long id;
+
+	@ApiModelProperty(value = "顶级机构", example = "0", required = true)
+	private Long rootOrgId;
+
+	@ApiModelProperty(value = "考试名称(废弃属性,实际上作为考试编码使用)", example = "2018年6月期末考试", required = false)
+	@Deprecated
+	private String name;
+
+	@ApiModelProperty(value = "考试编码(不传时取考试名称)", example = "2018年6月期末考试", required = true)
+	private String code;
+
+	public Long getId() {
+		return id;
+	}
+
+	public void setId(Long id) {
+		this.id = id;
+	}
+
+	public Long getRootOrgId() {
+		return rootOrgId;
+	}
+
+	public void setRootOrgId(Long rootOrgId) {
+		this.rootOrgId = rootOrgId;
+	}
+
+	public String getName() {
+		return name;
+	}
+
+	public void setName(String name) {
+		this.name = name;
+	}
+
+	public String getCode() {
+		return code;
+	}
+
+	public void setCode(String code) {
+		this.code = code;
+	}
+
+}

+ 59 - 0
examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/request/OuterGetPaperStructReq.java

@@ -0,0 +1,59 @@
+package cn.com.qmth.examcloud.exchange.outer.api.request;
+
+import cn.com.qmth.examcloud.api.commons.exchange.EnterpriseRequest;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * @Description 获取试卷结构
+ * @Author lideyin
+ * @Date 2020/5/25 15:56
+ * @Version 1.0
+ */
+public class OuterGetPaperStructReq extends EnterpriseRequest {
+
+    private static final long serialVersionUID = -8374755306658040184L;
+
+    @ApiModelProperty(value = "考试id", example = "123", required = true)
+    private Long examId;
+
+    @ApiModelProperty(value = "课程code", example = "123", required = true)
+    private String courseCode;
+
+    @ApiModelProperty(value = "卷型", example = "123", required = true)
+    private String paperType;
+
+    @ApiModelProperty(value = "原始试卷id", example = "123", required = true)
+    private String basePaperId;
+
+    public Long getExamId() {
+        return examId;
+    }
+
+    public void setExamId(Long examId) {
+        this.examId = examId;
+    }
+
+    public String getCourseCode() {
+        return courseCode;
+    }
+
+    public void setCourseCode(String courseCode) {
+        this.courseCode = courseCode;
+    }
+
+    public String getPaperType() {
+        return paperType;
+    }
+
+    public void setPaperType(String paperType) {
+        this.paperType = paperType;
+    }
+
+    public String getBasePaperId() {
+        return basePaperId;
+    }
+
+    public void setBasePaperId(String basePaperId) {
+        this.basePaperId = basePaperId;
+    }
+}

+ 26 - 0
examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/request/OuterGetQuestionAnswerReq.java

@@ -0,0 +1,26 @@
+package cn.com.qmth.examcloud.exchange.outer.api.request;
+
+import cn.com.qmth.examcloud.api.commons.exchange.EnterpriseRequest;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * @Description 获取作答结果请求
+ * @Author lideyin
+ * @Date 2020/4/25 18:58
+ * @Version 1.0
+ */
+public class OuterGetQuestionAnswerReq extends EnterpriseRequest {
+
+    private static final long serialVersionUID = -8374755306658040184L;
+
+    @ApiModelProperty(value = "题目id", example = "123", required = true)
+    private String questionId;
+
+    public String getQuestionId() {
+        return questionId;
+    }
+
+    public void setQuestionId(String questionId) {
+        this.questionId = questionId;
+    }
+}

+ 42 - 0
examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/request/OuterGetScoreDataReq.java

@@ -0,0 +1,42 @@
+package cn.com.qmth.examcloud.exchange.outer.api.request;
+
+import cn.com.qmth.examcloud.api.commons.exchange.EnterpriseRequest;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * 
+ * @author  	chenken
+ * @date    	2018年11月16日 上午11:22:27
+ * @company 	QMTH
+ * @description OuterGetScoreInfoReq.java
+ */
+public class OuterGetScoreDataReq extends EnterpriseRequest{
+
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = -7514465576897689892L;
+
+	@ApiModelProperty(value = "顶级机构", example = "0", required = true)
+	private Long rootOrgId;
+	
+	@ApiModelProperty(value = "考试记录ID", example = "1", required = true)
+	private Long examRecordDataId;
+
+	public Long getRootOrgId() {
+		return rootOrgId;
+	}
+
+	public void setRootOrgId(Long rootOrgId) {
+		this.rootOrgId = rootOrgId;
+	}
+
+	public Long getExamRecordDataId() {
+		return examRecordDataId;
+	}
+
+	public void setExamRecordDataId(Long examRecordDataId) {
+		this.examRecordDataId = examRecordDataId;
+	}
+
+}

+ 24 - 0
examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/request/OuterGetScoreQueueTopReq.java

@@ -0,0 +1,24 @@
+package cn.com.qmth.examcloud.exchange.outer.api.request;
+
+import cn.com.qmth.examcloud.api.commons.exchange.EnterpriseRequest;
+import io.swagger.annotations.ApiModelProperty;
+
+public class OuterGetScoreQueueTopReq extends EnterpriseRequest{
+
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = -8881081085095233235L;
+	
+	@ApiModelProperty(value = "机构ID", example = "1", required = true)
+	private Long rootOrgId;
+
+	public Long getRootOrgId() {
+		return rootOrgId;
+	}
+
+	public void setRootOrgId(Long rootOrgId) {
+		this.rootOrgId = rootOrgId;
+	}
+	
+}

+ 37 - 0
examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/request/OuterGetSubjectivePaperReq.java

@@ -0,0 +1,37 @@
+package cn.com.qmth.examcloud.exchange.outer.api.request;
+
+import cn.com.qmth.examcloud.api.commons.exchange.EnterpriseRequest;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * @Description 获取主观题试卷请求类
+ * @Author lideyin
+ * @Date 2020/6/23 15:25
+ * @Version 1.0
+ */
+public class OuterGetSubjectivePaperReq extends EnterpriseRequest {
+
+	private static final long serialVersionUID = 8892205616387684966L;
+
+	@ApiModelProperty(value = "考试ID", example = "128", required = true)
+	private Long examId;
+
+	@ApiModelProperty(value = "科目代码", example = "128", required = true)
+	private String subjectCode;
+
+	public Long getExamId() {
+		return examId;
+	}
+
+	public void setExamId(Long examId) {
+		this.examId = examId;
+	}
+
+	public String getSubjectCode() {
+		return subjectCode;
+	}
+
+	public void setSubjectCode(String subjectCode) {
+		this.subjectCode = subjectCode;
+	}
+}

+ 26 - 0
examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/request/OuterGetSubjectivePaperStructReq.java

@@ -0,0 +1,26 @@
+package cn.com.qmth.examcloud.exchange.outer.api.request;
+
+import cn.com.qmth.examcloud.api.commons.exchange.EnterpriseRequest;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * @Description 获取主观题试卷结构请求类
+ * @Author lideyin
+ * @Date 2020/3/30 15:24
+ * @Version 1.0
+ */
+public class OuterGetSubjectivePaperStructReq extends EnterpriseRequest {
+
+	private static final long serialVersionUID = 8892205616387684966L;
+
+	@ApiModelProperty(value = "考试ID", example = "128", required = true)
+	private Long examId;
+
+	public Long getExamId() {
+		return examId;
+	}
+
+	public void setExamId(Long examId) {
+		this.examId = examId;
+	}
+}

+ 59 - 0
examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/request/OuterGetSubjectiveQuestionReq.java

@@ -0,0 +1,59 @@
+package cn.com.qmth.examcloud.exchange.outer.api.request;
+
+import cn.com.qmth.examcloud.api.commons.exchange.EnterpriseRequest;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * @Description 获取主观题考试作答请求类
+ * @Author lideyin
+ * @Date 2020/3/30 15:25
+ * @Version 1.0
+ */
+public class OuterGetSubjectiveQuestionReq extends EnterpriseRequest {
+
+    private static final long serialVersionUID = 8303860788475413215L;
+
+    @ApiModelProperty(value = "考试ID", example = "128", required = true)
+    private Long examId;
+
+    @ApiModelProperty(value = "科目代码", example = "128", required = true)
+    private String subjectCode;
+
+    @ApiModelProperty(value = "考生id,Long,第一次调用传0,下次调用,用返回的nextId", example = "0", required = true)
+    private Long startId;
+
+    @ApiModelProperty(value = "考试记录集合大小,最大不得超过500", example = "200", required = true)
+    private Integer size;
+
+    public Long getExamId() {
+        return examId;
+    }
+
+    public void setExamId(Long examId) {
+        this.examId = examId;
+    }
+
+    public String getSubjectCode() {
+        return subjectCode;
+    }
+
+    public void setSubjectCode(String subjectCode) {
+        this.subjectCode = subjectCode;
+    }
+
+    public Long getStartId() {
+        return startId;
+    }
+
+    public void setStartId(Long startId) {
+        this.startId = startId;
+    }
+
+    public Integer getSize() {
+        return size;
+    }
+
+    public void setSize(Integer size) {
+        this.size = size;
+    }
+}

+ 42 - 0
examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/request/OuterQueryCapturePhotoReq.java

@@ -0,0 +1,42 @@
+package cn.com.qmth.examcloud.exchange.outer.api.request;
+
+import cn.com.qmth.examcloud.api.commons.exchange.EnterpriseRequest;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * 
+ * @author  	chenken
+ * @date    	2018年11月16日 上午11:35:15
+ * @company 	QMTH
+ * @description OuterGetCapturePhotoReq.java
+ */
+public class OuterQueryCapturePhotoReq extends EnterpriseRequest{
+
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = -3913911619514532603L;
+	
+	@ApiModelProperty(value = "顶级机构", example = "0", required = true)
+	private Long rootOrgId;
+	
+	@ApiModelProperty(value = "考试记录ID", example = "1", required = true)
+	private Long examRecordDataId;
+
+	public Long getRootOrgId() {
+		return rootOrgId;
+	}
+
+	public void setRootOrgId(Long rootOrgId) {
+		this.rootOrgId = rootOrgId;
+	}
+
+	public Long getExamRecordDataId() {
+		return examRecordDataId;
+	}
+
+	public void setExamRecordDataId(Long examRecordDataId) {
+		this.examRecordDataId = examRecordDataId;
+	}
+	
+}

+ 82 - 0
examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/request/OuterQueryScoreDataReq.java

@@ -0,0 +1,82 @@
+package cn.com.qmth.examcloud.exchange.outer.api.request;
+
+import cn.com.qmth.examcloud.api.commons.exchange.EnterpriseRequest;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ *
+ * @author  	chenken
+ * @date    	2018年11月27日 下午5:51:08
+ * @company 	QMTH
+ * @description OuterQueryScoreDataReq.java
+ */
+public class OuterQueryScoreDataReq extends EnterpriseRequest{
+
+	/**
+	 *
+	 */
+	private static final long serialVersionUID = -5033520077132433253L;
+
+	@ApiModelProperty(value = "考试代码,推荐使用")
+	private String examCode;
+	@ApiModelProperty(value = "考试名称(废弃属性,实际上作为考试编码使用)", example = "2018年6月期末考试", required = false)
+	@Deprecated
+	private String examName;
+
+	private Long rootOrgId;
+
+	private String studentCode;
+
+	private String identityNumber;
+
+	private String courseCode;
+
+	public String getExamName() {
+		return examName;
+	}
+
+	public void setExamName(String examName) {
+		this.examName = examName;
+	}
+
+	public String getExamCode() {
+		return examCode;
+	}
+
+	public void setExamCode(String examCode) {
+		this.examCode = examCode;
+	}
+
+	public Long getRootOrgId() {
+		return rootOrgId;
+	}
+
+	public void setRootOrgId(Long rootOrgId) {
+		this.rootOrgId = rootOrgId;
+	}
+
+	public String getStudentCode() {
+		return studentCode;
+	}
+
+	public void setStudentCode(String studentCode) {
+		this.studentCode = studentCode;
+	}
+
+	public String getIdentityNumber() {
+		return identityNumber;
+	}
+
+	public void setIdentityNumber(String identityNumber) {
+		this.identityNumber = identityNumber;
+	}
+
+	public String getCourseCode() {
+		return courseCode;
+	}
+
+	public void setCourseCode(String courseCode) {
+		this.courseCode = courseCode;
+	}
+
+}

+ 98 - 0
examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/request/OuterQueryScoreListReq.java

@@ -0,0 +1,98 @@
+package cn.com.qmth.examcloud.exchange.outer.api.request;
+
+import cn.com.qmth.examcloud.api.commons.exchange.EnterpriseRequest;
+import io.swagger.annotations.ApiModelProperty;
+
+public class OuterQueryScoreListReq extends EnterpriseRequest {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "学校ID", required = true)
+    private Long rootOrgId;
+
+    @ApiModelProperty(value = "考试代码,推荐使用")
+    private String examCode;
+
+    @Deprecated
+    @ApiModelProperty(value = "考试名称(废弃属性,实际上作为“考试代码”使用)")
+    private String examName;
+
+    @ApiModelProperty(value = "课程代码")
+    private String courseCode;
+
+    @ApiModelProperty(value = "查询起始时间,格式:yyyy-MM-dd HH:mm:ss")
+    private String queryStartTime;
+
+    @ApiModelProperty(value = "查询结束时间,格式:yyyy-MM-dd HH:mm:ss")
+    private String queryEndTime;
+
+    @ApiModelProperty(value = "分页:第几页,起始为1")
+    private Integer pageNo;
+
+    @ApiModelProperty(value = "分页:每页条数,限制最大100条")
+    private Integer pageSize;
+
+    public Long getRootOrgId() {
+        return rootOrgId;
+    }
+
+    public void setRootOrgId(Long rootOrgId) {
+        this.rootOrgId = rootOrgId;
+    }
+
+    public String getExamCode() {
+        return examCode;
+    }
+
+    public void setExamCode(String examCode) {
+        this.examCode = examCode;
+    }
+
+    public String getExamName() {
+        return examName;
+    }
+
+    public void setExamName(String examName) {
+        this.examName = examName;
+    }
+
+    public String getCourseCode() {
+        return courseCode;
+    }
+
+    public void setCourseCode(String courseCode) {
+        this.courseCode = courseCode;
+    }
+
+    public String getQueryStartTime() {
+        return queryStartTime;
+    }
+
+    public void setQueryStartTime(String queryStartTime) {
+        this.queryStartTime = queryStartTime;
+    }
+
+    public String getQueryEndTime() {
+        return queryEndTime;
+    }
+
+    public void setQueryEndTime(String queryEndTime) {
+        this.queryEndTime = queryEndTime;
+    }
+
+    public Integer getPageNo() {
+        return pageNo;
+    }
+
+    public void setPageNo(Integer pageNo) {
+        this.pageNo = pageNo;
+    }
+
+    public Integer getPageSize() {
+        return pageSize;
+    }
+
+    public void setPageSize(Integer pageSize) {
+        this.pageSize = pageSize;
+    }
+}

+ 102 - 0
examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/request/OuterResetExamStudentReq.java

@@ -0,0 +1,102 @@
+package cn.com.qmth.examcloud.exchange.outer.api.request;
+
+import java.util.List;
+
+import cn.com.qmth.examcloud.api.commons.exchange.EnterpriseRequest;
+import cn.com.qmth.examcloud.exchange.outer.api.bean.OuterExamStudent4ResetReqBean;
+import io.swagger.annotations.ApiModelProperty;
+
+public class OuterResetExamStudentReq extends EnterpriseRequest {
+
+	private static final long serialVersionUID = 3633974018347041831L;
+
+	@ApiModelProperty(value = "顶级机构", example = "0", required = true)
+	private Long rootOrgId;
+
+	@ApiModelProperty(value = "考试ID", example = "100", required = false)
+	private Long examId;
+
+	@ApiModelProperty(value = "考试名称(废弃属性,实际上作为考试编码使用)", example = "2018年秋季入学考试", required = false)
+	@Deprecated
+	private String examName;
+
+	@ApiModelProperty(value = "考试编码", example = "2018年秋季入学考试", required = true)
+	private String examCode;
+
+	@ApiModelProperty(value = "学生姓名", example = "陈圆圆", required = true)
+	private String studentName;
+
+	@ApiModelProperty(value = "学生学号", example = "2018001001", required = false)
+	private String studentCode;
+
+	@ApiModelProperty(value = "学生身份证号", example = "XXXXXXXXXXXXXXXXXX", required = true)
+	private String identityNumber;
+
+	@ApiModelProperty(value = "考生集合", example = "", required = true)
+	private List<OuterExamStudent4ResetReqBean> examStudentList;
+
+	public String getExamName() {
+		return examName;
+	}
+
+	public void setExamName(String examName) {
+		this.examName = examName;
+	}
+
+	public Long getRootOrgId() {
+		return rootOrgId;
+	}
+
+	public void setRootOrgId(Long rootOrgId) {
+		this.rootOrgId = rootOrgId;
+	}
+
+	public Long getExamId() {
+		return examId;
+	}
+
+	public void setExamId(Long examId) {
+		this.examId = examId;
+	}
+
+	public String getExamCode() {
+		return examCode;
+	}
+
+	public void setExamCode(String examCode) {
+		this.examCode = examCode;
+	}
+
+	public String getStudentName() {
+		return studentName;
+	}
+
+	public void setStudentName(String studentName) {
+		this.studentName = studentName;
+	}
+
+	public String getStudentCode() {
+		return studentCode;
+	}
+
+	public void setStudentCode(String studentCode) {
+		this.studentCode = studentCode;
+	}
+
+	public String getIdentityNumber() {
+		return identityNumber;
+	}
+
+	public void setIdentityNumber(String identityNumber) {
+		this.identityNumber = identityNumber;
+	}
+
+	public List<OuterExamStudent4ResetReqBean> getExamStudentList() {
+		return examStudentList;
+	}
+
+	public void setExamStudentList(List<OuterExamStudent4ResetReqBean> examStudentList) {
+		this.examStudentList = examStudentList;
+	}
+
+}

+ 131 - 0
examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/request/OuterSaveExamReq.java

@@ -0,0 +1,131 @@
+package cn.com.qmth.examcloud.exchange.outer.api.request;
+
+import java.util.Date;
+import java.util.Map;
+
+import cn.com.qmth.examcloud.api.commons.enums.ExamType;
+import cn.com.qmth.examcloud.api.commons.exchange.EnterpriseRequest;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * 类注释
+ *
+ * @author WANGWEI
+ * @date 2018年11月16日
+ * @Copyright (c) 2018-? http://qmth.com.cn All Rights Reserved.
+ */
+public class OuterSaveExamReq extends EnterpriseRequest {
+
+	private static final long serialVersionUID = 8298816850875139485L;
+
+	@ApiModelProperty(value = "顶级机构", example = "0", required = true)
+	private Long rootOrgId;
+
+	@ApiModelProperty(value = " 考试批次开始时间", example = "2018-10-10 08:00:00", required = true)
+	private Date beginTime;
+
+	@ApiModelProperty(value = " 考试批次结束时间", example = "2018-10-10 08:00:00", required = true)
+	private Date endTime;
+
+	@ApiModelProperty(value = "考试名称", example = "2018年6月期末考试", required = true)
+	private String name;
+
+	@ApiModelProperty(value = "考试编码(不传时取考试名称)", example = "2018年6月期末考试", required = false)
+	private String code;
+
+	@ApiModelProperty(value = " 考试类型(ONLINE:网考;TRADITION:传统;OFFLINE:离线;PRACTICE:练习;PRINT_EXAM:PRINT_EXAM.)", example = "ONLINE", required = true)
+	private ExamType examType;
+
+	@ApiModelProperty(value = "考试时长(单位:分钟)", example = "120", required = true)
+	private Integer duration;
+
+	@ApiModelProperty(value = "考试备注", example = "xxx", required = true)
+	private String remark;
+
+	@ApiModelProperty(value = "考试次数", example = "2", required = true)
+	private Long examTimes;
+
+	@ApiModelProperty(value = "扩展属性", example = "{\"IS_FACE_ENABLE\":\"false\"}", required = true)
+	private Map<String, String> properties;
+
+	public Long getRootOrgId() {
+		return rootOrgId;
+	}
+
+	public void setRootOrgId(Long rootOrgId) {
+		this.rootOrgId = rootOrgId;
+	}
+
+	public Date getBeginTime() {
+		return beginTime;
+	}
+
+	public void setBeginTime(Date beginTime) {
+		this.beginTime = beginTime;
+	}
+
+	public Date getEndTime() {
+		return endTime;
+	}
+
+	public void setEndTime(Date endTime) {
+		this.endTime = endTime;
+	}
+
+	public String getName() {
+		return name;
+	}
+
+	public void setName(String name) {
+		this.name = name;
+	}
+
+	public ExamType getExamType() {
+		return examType;
+	}
+
+	public void setExamType(ExamType examType) {
+		this.examType = examType;
+	}
+
+	public Integer getDuration() {
+		return duration;
+	}
+
+	public void setDuration(Integer duration) {
+		this.duration = duration;
+	}
+
+	public String getRemark() {
+		return remark;
+	}
+
+	public void setRemark(String remark) {
+		this.remark = remark;
+	}
+
+	public Long getExamTimes() {
+		return examTimes;
+	}
+
+	public void setExamTimes(Long examTimes) {
+		this.examTimes = examTimes;
+	}
+
+	public Map<String, String> getProperties() {
+		return properties;
+	}
+
+	public void setProperties(Map<String, String> properties) {
+		this.properties = properties;
+	}
+
+	public String getCode() {
+		return code;
+	}
+
+	public void setCode(String code) {
+		this.code = code;
+	}
+
+}

+ 249 - 0
examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/request/OuterSaveExamStudentReq.java

@@ -0,0 +1,249 @@
+package cn.com.qmth.examcloud.exchange.outer.api.request;
+
+import cn.com.qmth.examcloud.api.commons.exchange.EnterpriseRequest;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * 类注释
+ *
+ * @author WANGWEI
+ * @date 2018年11月14日
+ * @Copyright (c) 2018-? http://qmth.com.cn All Rights Reserved.
+ */
+public class OuterSaveExamStudentReq extends EnterpriseRequest {
+
+	private static final long serialVersionUID = -8455805881947392754L;
+
+	@ApiModelProperty(value = "顶级机构", example = "0", required = true)
+	private Long rootOrgId;
+
+	@ApiModelProperty(value = "考试ID", example = "100", required = false)
+	private Long examId;
+
+	@ApiModelProperty(value = "考试名称(废弃属性,实际上作为考试编码使用)", example = "2018年秋季入学考试", required = false)
+	@Deprecated
+	private String examName;
+
+	@ApiModelProperty(value = "考试编码", example = "2018年秋季入学考试", required = true)
+	private String examCode;
+
+	@ApiModelProperty(value = "学生姓名", example = "陈圆圆", required = true)
+	private String studentName;
+
+	@ApiModelProperty(value = "学生学号", example = "2018001001", required = false)
+	private String studentCode;
+
+	@ApiModelProperty(value = "学生身份证号", example = "XXXXXXXXXXXXXXXXXX", required = true)
+	private String identityNumber;
+
+	@ApiModelProperty(value = "考试课程名称", example = "大学英语", required = true)
+	private String courseName;
+
+	@ApiModelProperty(value = "考试课程code", example = "K2", required = true)
+	private String courseCode;
+
+	@ApiModelProperty(value = "考试课程level.  ZSB:专升本;GQZ:高起专;GQB:高起本;ALL:不限", example = "ALL", required = true)
+	private String courseLevel;
+
+	@ApiModelProperty(value = "试卷类型,大写字母A-Z", example = "X", required = true)
+	private String paperType;
+
+	@ApiModelProperty(value = "信息采集人", example = "赵飞燕", required = false)
+	private String infoCollector;
+
+	@ApiModelProperty(value = "专业名称", example = "计算机", required = false)
+	private String specialtyName;
+
+	@ApiModelProperty(value = "考点", example = "武汉", required = false)
+	private String examSite;
+
+	@ApiModelProperty(value = "年级", example = "2018", required = false)
+	private String grade;
+
+	@ApiModelProperty(value = "备注", example = "XX", required = false)
+	private String remark;
+
+	@ApiModelProperty(value = "扩展属性1", example = "XX", required = false)
+	private String ext1;
+
+	@ApiModelProperty(value = "扩展属性2", example = "XX", required = false)
+	private String ext2;
+
+	@ApiModelProperty(value = "扩展属性3", example = "XX", required = false)
+	private String ext3;
+
+	@ApiModelProperty(value = "扩展属性4", example = "XX", required = false)
+	private String ext4;
+
+	@ApiModelProperty(value = "扩展属性5", example = "XX", required = false)
+	private String ext5;
+
+	public Long getRootOrgId() {
+		return rootOrgId;
+	}
+
+	public void setRootOrgId(Long rootOrgId) {
+		this.rootOrgId = rootOrgId;
+	}
+
+	public Long getExamId() {
+		return examId;
+	}
+
+	public void setExamId(Long examId) {
+		this.examId = examId;
+	}
+
+	public String getExamName() {
+		return examName;
+	}
+
+	public void setExamName(String examName) {
+		this.examName = examName;
+	}
+
+	public String getExamCode() {
+		return examCode;
+	}
+
+	public void setExamCode(String examCode) {
+		this.examCode = examCode;
+	}
+
+	public String getStudentName() {
+		return studentName;
+	}
+
+	public void setStudentName(String studentName) {
+		this.studentName = studentName;
+	}
+
+	public String getStudentCode() {
+		return studentCode;
+	}
+
+	public void setStudentCode(String studentCode) {
+		this.studentCode = studentCode;
+	}
+
+	public String getIdentityNumber() {
+		return identityNumber;
+	}
+
+	public void setIdentityNumber(String identityNumber) {
+		this.identityNumber = identityNumber;
+	}
+
+	public String getCourseName() {
+		return courseName;
+	}
+
+	public void setCourseName(String courseName) {
+		this.courseName = courseName;
+	}
+
+	public String getCourseCode() {
+		return courseCode;
+	}
+
+	public void setCourseCode(String courseCode) {
+		this.courseCode = courseCode;
+	}
+
+	public String getCourseLevel() {
+		return courseLevel;
+	}
+
+	public void setCourseLevel(String courseLevel) {
+		this.courseLevel = courseLevel;
+	}
+
+	public String getPaperType() {
+		return paperType;
+	}
+
+	public void setPaperType(String paperType) {
+		this.paperType = paperType;
+	}
+
+	public String getInfoCollector() {
+		return infoCollector;
+	}
+
+	public void setInfoCollector(String infoCollector) {
+		this.infoCollector = infoCollector;
+	}
+
+	public String getSpecialtyName() {
+		return specialtyName;
+	}
+
+	public void setSpecialtyName(String specialtyName) {
+		this.specialtyName = specialtyName;
+	}
+
+	public String getExamSite() {
+		return examSite;
+	}
+
+	public void setExamSite(String examSite) {
+		this.examSite = examSite;
+	}
+
+	public String getGrade() {
+		return grade;
+	}
+
+	public void setGrade(String grade) {
+		this.grade = grade;
+	}
+
+	public String getRemark() {
+		return remark;
+	}
+
+	public void setRemark(String remark) {
+		this.remark = remark;
+	}
+
+	public String getExt1() {
+		return ext1;
+	}
+
+	public void setExt1(String ext1) {
+		this.ext1 = ext1;
+	}
+
+	public String getExt2() {
+		return ext2;
+	}
+
+	public void setExt2(String ext2) {
+		this.ext2 = ext2;
+	}
+
+	public String getExt3() {
+		return ext3;
+	}
+
+	public void setExt3(String ext3) {
+		this.ext3 = ext3;
+	}
+
+	public String getExt4() {
+		return ext4;
+	}
+
+	public void setExt4(String ext4) {
+		this.ext4 = ext4;
+	}
+
+	public String getExt5() {
+		return ext5;
+	}
+
+	public void setExt5(String ext5) {
+		this.ext5 = ext5;
+	}
+
+}

+ 182 - 0
examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/request/OuterSaveStudentReq.java

@@ -0,0 +1,182 @@
+package cn.com.qmth.examcloud.exchange.outer.api.request;
+
+import cn.com.qmth.examcloud.api.commons.exchange.EnterpriseRequest;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * 类注释
+ *
+ * @author WANGWEI
+ * @date 2018年6月29日
+ * @Copyright (c) 2018-? http://qmth.com.cn All Rights Reserved.
+ */
+public class OuterSaveStudentReq extends EnterpriseRequest {
+
+	private static final long serialVersionUID = -8500412921400589808L;
+
+	@ApiModelProperty(value = "是否可用", example = "true", required = false)
+	private Boolean enable;
+
+	/**
+	 * 学生姓名
+	 */
+	@ApiModelProperty(value = "学生姓名", example = "赵飞燕", required = true)
+	private String name;
+
+	/**
+	 * 顶级机构ID
+	 */
+	@ApiModelProperty(value = "顶级机构ID", example = "0", required = true)
+	private Long rootOrgId;
+
+	/**
+	 * 机构ID
+	 */
+	@ApiModelProperty(value = "学习中心ID", example = "1", required = false)
+	private Long orgId;
+
+	/**
+	 * 学习中心编码
+	 */
+	@ApiModelProperty(value = "学习中心编码", example = "LC111111", required = false)
+	private String orgCode;
+
+	/**
+	 * 学习中心名称
+	 */
+	@ApiModelProperty(value = "学习中心名称", example = "LC111111", required = false)
+	private String orgName;
+
+	/**
+	 * 学生code
+	 */
+	@ApiModelProperty(value = "学号", example = "1111", required = false)
+	private String studentCode;
+
+	/**
+	 * 身份证号码
+	 */
+	@ApiModelProperty(value = "身份证号", example = "XXXXXXXXXXXXXXXXXX", required = true)
+	private String identityNumber;
+
+	/**
+	 * 备注
+	 */
+	@ApiModelProperty(value = "备注", example = "xx", required = false)
+	private String remark;
+
+	/**
+	 * 图片地址
+	 */
+	@ApiModelProperty(value = "图片URL", example = "http://xxxx.xx/photo.jpg", required = false)
+	private String photoUrl;
+
+	/**
+	 * 手机号码
+	 */
+	@ApiModelProperty(value = "手机号码", example = "XXXXXXXXXXX", required = true)
+	private String phoneNumber;
+
+	/**
+	 * 操作者
+	 */
+	@ApiModelProperty(value = "操作者", example = "XXX", required = true)
+	private String operator;
+
+	public Boolean getEnable() {
+		return enable;
+	}
+
+	public void setEnable(Boolean enable) {
+		this.enable = enable;
+	}
+
+	public String getName() {
+		return name;
+	}
+
+	public void setName(String name) {
+		this.name = name;
+	}
+
+	public Long getRootOrgId() {
+		return rootOrgId;
+	}
+
+	public void setRootOrgId(Long rootOrgId) {
+		this.rootOrgId = rootOrgId;
+	}
+
+	public Long getOrgId() {
+		return orgId;
+	}
+
+	public void setOrgId(Long orgId) {
+		this.orgId = orgId;
+	}
+
+	public String getOrgCode() {
+		return orgCode;
+	}
+
+	public void setOrgCode(String orgCode) {
+		this.orgCode = orgCode;
+	}
+
+	public String getOrgName() {
+		return orgName;
+	}
+
+	public void setOrgName(String orgName) {
+		this.orgName = orgName;
+	}
+
+	public String getStudentCode() {
+		return studentCode;
+	}
+
+	public void setStudentCode(String studentCode) {
+		this.studentCode = studentCode;
+	}
+
+	public String getIdentityNumber() {
+		return identityNumber;
+	}
+
+	public void setIdentityNumber(String identityNumber) {
+		this.identityNumber = identityNumber;
+	}
+
+	public String getRemark() {
+		return remark;
+	}
+
+	public void setRemark(String remark) {
+		this.remark = remark;
+	}
+
+	public String getPhotoUrl() {
+		return photoUrl;
+	}
+
+	public void setPhotoUrl(String photoUrl) {
+		this.photoUrl = photoUrl;
+	}
+
+	public String getPhoneNumber() {
+		return phoneNumber;
+	}
+
+	public void setPhoneNumber(String phoneNumber) {
+		this.phoneNumber = phoneNumber;
+	}
+
+	public String getOperator() {
+		return operator;
+	}
+
+	public void setOperator(String operator) {
+		this.operator = operator;
+	}
+
+}

+ 110 - 0
examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/request/OuterUpdateExamStudentStatusReq.java

@@ -0,0 +1,110 @@
+package cn.com.qmth.examcloud.exchange.outer.api.request;
+
+import cn.com.qmth.examcloud.api.commons.exchange.EnterpriseRequest;
+import io.swagger.annotations.ApiModelProperty;
+
+public class OuterUpdateExamStudentStatusReq extends EnterpriseRequest {
+
+	private static final long serialVersionUID = -4293362630253480701L;
+
+	@ApiModelProperty(value = "顶级机构", example = "1", required = true)
+	private Long rootOrgId;
+
+	@ApiModelProperty(value = "考试ID", example = "1", required = false)
+	private Long examId;
+
+	@ApiModelProperty(value = "考试名称(废弃属性,实际上作为考试编码使用)", example = "2018年秋季入学考试", required = false)
+	@Deprecated
+	private String examName;
+
+	@ApiModelProperty(value = "考试编码", example = "2018年秋季入学考试", required = true)
+	private String examCode;
+
+	@ApiModelProperty(value = "学生身份证号码", example = "XXXX", required = false)
+	private String identityNumber;
+
+	@ApiModelProperty(value = "学生ID", example = "1", required = false)
+	private Long studentId;
+
+	@ApiModelProperty(value = "课程ID", example = "1", required = false)
+	private Long courseId;
+
+	@ApiModelProperty(value = "课程编码", example = "ABC", required = false)
+	private String courseCode;
+
+	@ApiModelProperty(value = "考生状态(是否可用)", example = "true", required = true)
+	private Boolean enable;
+
+	public String getExamName() {
+		return examName;
+	}
+
+	public void setExamName(String examName) {
+		this.examName = examName;
+	}
+
+	public Long getRootOrgId() {
+		return rootOrgId;
+	}
+
+	public void setRootOrgId(Long rootOrgId) {
+		this.rootOrgId = rootOrgId;
+	}
+
+	public Long getExamId() {
+		return examId;
+	}
+
+	public void setExamId(Long examId) {
+		this.examId = examId;
+	}
+
+	public String getExamCode() {
+		return examCode;
+	}
+
+	public void setExamCode(String examCode) {
+		this.examCode = examCode;
+	}
+
+	public String getIdentityNumber() {
+		return identityNumber;
+	}
+
+	public void setIdentityNumber(String identityNumber) {
+		this.identityNumber = identityNumber;
+	}
+
+	public Long getStudentId() {
+		return studentId;
+	}
+
+	public void setStudentId(Long studentId) {
+		this.studentId = studentId;
+	}
+
+	public String getCourseCode() {
+		return courseCode;
+	}
+
+	public void setCourseCode(String courseCode) {
+		this.courseCode = courseCode;
+	}
+
+	public Long getCourseId() {
+		return courseId;
+	}
+
+	public void setCourseId(Long courseId) {
+		this.courseId = courseId;
+	}
+
+	public Boolean getEnable() {
+		return enable;
+	}
+
+	public void setEnable(Boolean enable) {
+		this.enable = enable;
+	}
+
+}

+ 54 - 0
examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/request/OuterUpdatePasswordReq.java

@@ -0,0 +1,54 @@
+package cn.com.qmth.examcloud.exchange.outer.api.request;
+
+import cn.com.qmth.examcloud.api.commons.exchange.EnterpriseRequest;
+import io.swagger.annotations.ApiModelProperty;
+
+public class OuterUpdatePasswordReq extends EnterpriseRequest {
+
+	private static final long serialVersionUID = 1003594551453376759L;
+
+	@ApiModelProperty(value = "顶级机构", example = "1", required = true)
+	private Long rootOrgId;
+
+	@ApiModelProperty(value = "学生ID", example = "1", required = false)
+	private Long studentId;
+
+	@ApiModelProperty(value = "学生身份证号码", example = "XXXX", required = false)
+	private String identityNumber;
+
+	@ApiModelProperty(value = "密码", example = "XXXX", required = true)
+	private String password;
+
+	public Long getRootOrgId() {
+		return rootOrgId;
+	}
+
+	public void setRootOrgId(Long rootOrgId) {
+		this.rootOrgId = rootOrgId;
+	}
+
+	public Long getStudentId() {
+		return studentId;
+	}
+
+	public void setStudentId(Long studentId) {
+		this.studentId = studentId;
+	}
+
+	public String getIdentityNumber() {
+		return identityNumber;
+	}
+
+	public void setIdentityNumber(String identityNumber) {
+		this.identityNumber = identityNumber;
+	}
+
+	public String getPassword() {
+		return password;
+	}
+
+	public void setPassword(String password) {
+		this.password = password;
+	}
+
+}

+ 53 - 0
examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/request/OuterUpdateStudentStatusReq.java

@@ -0,0 +1,53 @@
+package cn.com.qmth.examcloud.exchange.outer.api.request;
+
+import cn.com.qmth.examcloud.api.commons.exchange.EnterpriseRequest;
+import io.swagger.annotations.ApiModelProperty;
+
+public class OuterUpdateStudentStatusReq extends EnterpriseRequest {
+	private static final long serialVersionUID = -3300491605950827319L;
+
+	@ApiModelProperty(value = "顶级机构", example = "1", required = true)
+	private Long rootOrgId;
+
+	@ApiModelProperty(value = "学生ID", example = "1", required = false)
+	private Long studentId;
+
+	@ApiModelProperty(value = "学生身份证号码", example = "XXXX", required = false)
+	private String identityNumber;
+
+	@ApiModelProperty(value = "学生状态(是否可用)", example = "true", required = true)
+	private Boolean enable;
+
+	public Long getRootOrgId() {
+		return rootOrgId;
+	}
+
+	public void setRootOrgId(Long rootOrgId) {
+		this.rootOrgId = rootOrgId;
+	}
+
+	public Long getStudentId() {
+		return studentId;
+	}
+
+	public void setStudentId(Long studentId) {
+		this.studentId = studentId;
+	}
+
+	public String getIdentityNumber() {
+		return identityNumber;
+	}
+
+	public void setIdentityNumber(String identityNumber) {
+		this.identityNumber = identityNumber;
+	}
+
+	public Boolean getEnable() {
+		return enable;
+	}
+
+	public void setEnable(Boolean enable) {
+		this.enable = enable;
+	}
+
+}

+ 192 - 0
examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/request/cug/OuterSaveCugStudentAndExamStudentReq.java

@@ -0,0 +1,192 @@
+package cn.com.qmth.examcloud.exchange.outer.api.request.cug;
+
+import cn.com.qmth.examcloud.api.commons.exchange.EnterpriseRequest;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * 类注释
+ *
+ * @author WANGWEI
+ * @date 2018年11月16日
+ * @Copyright (c) 2018-? http://qmth.com.cn All Rights Reserved.
+ */
+public class OuterSaveCugStudentAndExamStudentReq extends EnterpriseRequest {
+
+	private static final long serialVersionUID = 8293200048902081959L;
+
+	@ApiModelProperty(value = "学生姓名", example = "陈圆圆", required = true)
+	private String name;
+
+	@ApiModelProperty(value = "顶级机构", example = "0", required = true)
+	private Long rootOrgId;
+
+	@ApiModelProperty(value = "学习中心编码", example = "LC111", required = true)
+	private String orgCode;
+
+	@ApiModelProperty(value = "学习中心名称", example = "XXX", required = true)
+	private String orgName;
+
+	@ApiModelProperty(value = "学生学号", example = "2018001001", required = true)
+	private String studentCode;
+
+	@ApiModelProperty(value = "学生身份证号", example = "XXXXXXXXXXXXXXXXXX", required = true)
+	private String identityNumber;
+
+	@ApiModelProperty(value = "备注", example = "XX", required = false)
+	private String remark;
+
+	@ApiModelProperty(value = "照片URL", example = "http://xxxx.xx/123.jpg", required = false)
+	private String photoUrl;
+
+	@ApiModelProperty(value = "手机号码", example = "XXXXXXXXXXX", required = true)
+	private String phoneNumber;
+
+	@ApiModelProperty(value = "操作者", example = "XX系统", required = true)
+	private String operator;
+
+	@ApiModelProperty(value = "考试代码", example = "2018年秋季入学考试", required = false)
+	private String examCode;
+	@ApiModelProperty(value = "考试名称", example = "2018年秋季入学考试", required = true)
+	private String examName;
+
+	@ApiModelProperty(value = "专业名称", example = "计算机", required = false)
+	private String specialtyName;
+
+	@ApiModelProperty(value = "课程组", example = "本科", required = true)
+	private String courseGroupName;
+
+	@ApiModelProperty(value = "试卷类型,大写字母A-Z", example = "X", required = true)
+	private String paperType;
+
+	@ApiModelProperty(value = "信息采集人", example = "王二小", required = false)
+	private String infoCollector;
+
+	public String getExamCode() {
+		return examCode;
+	}
+
+	public void setExamCode(String examCode) {
+		this.examCode = examCode;
+	}
+
+	public String getName() {
+		return name;
+	}
+
+	public void setName(String name) {
+		this.name = name;
+	}
+
+	public Long getRootOrgId() {
+		return rootOrgId;
+	}
+
+	public void setRootOrgId(Long rootOrgId) {
+		this.rootOrgId = rootOrgId;
+	}
+
+	public String getOrgCode() {
+		return orgCode;
+	}
+
+	public void setOrgCode(String orgCode) {
+		this.orgCode = orgCode;
+	}
+
+	public String getOrgName() {
+		return orgName;
+	}
+
+	public void setOrgName(String orgName) {
+		this.orgName = orgName;
+	}
+
+	public String getStudentCode() {
+		return studentCode;
+	}
+
+	public void setStudentCode(String studentCode) {
+		this.studentCode = studentCode;
+	}
+
+	public String getIdentityNumber() {
+		return identityNumber;
+	}
+
+	public void setIdentityNumber(String identityNumber) {
+		this.identityNumber = identityNumber;
+	}
+
+	public String getRemark() {
+		return remark;
+	}
+
+	public void setRemark(String remark) {
+		this.remark = remark;
+	}
+
+	public String getPhotoUrl() {
+		return photoUrl;
+	}
+
+	public void setPhotoUrl(String photoUrl) {
+		this.photoUrl = photoUrl;
+	}
+
+	public String getPhoneNumber() {
+		return phoneNumber;
+	}
+
+	public void setPhoneNumber(String phoneNumber) {
+		this.phoneNumber = phoneNumber;
+	}
+
+	public String getOperator() {
+		return operator;
+	}
+
+	public void setOperator(String operator) {
+		this.operator = operator;
+	}
+
+	public String getExamName() {
+		return examName;
+	}
+
+	public void setExamName(String examName) {
+		this.examName = examName;
+	}
+
+	public String getSpecialtyName() {
+		return specialtyName;
+	}
+
+	public void setSpecialtyName(String specialtyName) {
+		this.specialtyName = specialtyName;
+	}
+
+	public String getCourseGroupName() {
+		return courseGroupName;
+	}
+
+	public void setCourseGroupName(String courseGroupName) {
+		this.courseGroupName = courseGroupName;
+	}
+
+	public String getPaperType() {
+		return paperType;
+	}
+
+	public void setPaperType(String paperType) {
+		this.paperType = paperType;
+	}
+
+	public String getInfoCollector() {
+		return infoCollector;
+	}
+
+	public void setInfoCollector(String infoCollector) {
+		this.infoCollector = infoCollector;
+	}
+
+}

+ 39 - 0
examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/response/OuterBatchSaveExamStudentResp.java

@@ -0,0 +1,39 @@
+package cn.com.qmth.examcloud.exchange.outer.api.response;
+
+import java.util.List;
+
+import cn.com.qmth.examcloud.api.commons.exchange.EnterpriseResponse;
+import cn.com.qmth.examcloud.exchange.outer.api.bean.ExamStudentStatus4BatchBean;
+
+/**
+ * 类注释
+ *
+ * @author WANGWEI
+ * @date 2019年1月8日
+ * @Copyright (c) 2018-? http://qmth.com.cn All Rights Reserved.
+ */
+public class OuterBatchSaveExamStudentResp extends EnterpriseResponse {
+
+	private static final long serialVersionUID = -3390197586494583825L;
+
+	private List<ExamStudentStatus4BatchBean> successList;
+
+	private List<ExamStudentStatus4BatchBean> failureList;
+
+	public List<ExamStudentStatus4BatchBean> getSuccessList() {
+		return successList;
+	}
+
+	public void setSuccessList(List<ExamStudentStatus4BatchBean> successList) {
+		this.successList = successList;
+	}
+
+	public List<ExamStudentStatus4BatchBean> getFailureList() {
+		return failureList;
+	}
+
+	public void setFailureList(List<ExamStudentStatus4BatchBean> failureList) {
+		this.failureList = failureList;
+	}
+
+}

+ 42 - 0
examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/response/OuterBatchSaveStudentResp.java

@@ -0,0 +1,42 @@
+package cn.com.qmth.examcloud.exchange.outer.api.response;
+
+import java.util.List;
+
+import cn.com.qmth.examcloud.api.commons.exchange.EnterpriseResponse;
+import cn.com.qmth.examcloud.exchange.outer.api.bean.StudentStatus4BatchBean;
+
+/**
+ * 
+ * @author  	chenken
+ * @date    	2019年1月23日 上午10:00:38
+ * @company 	QMTH
+ * @description 批量创建学生Resp
+ */
+public class OuterBatchSaveStudentResp extends EnterpriseResponse{
+
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = 9177263130683565423L;
+
+	private List<StudentStatus4BatchBean> successList;
+	
+	private List<StudentStatus4BatchBean> failureList;
+
+	public List<StudentStatus4BatchBean> getSuccessList() {
+		return successList;
+	}
+
+	public void setSuccessList(List<StudentStatus4BatchBean> successList) {
+		this.successList = successList;
+	}
+
+	public List<StudentStatus4BatchBean> getFailureList() {
+		return failureList;
+	}
+
+	public void setFailureList(List<StudentStatus4BatchBean> failureList) {
+		this.failureList = failureList;
+	}
+
+}

+ 43 - 0
examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/response/OuterDeleteScoreQueueTopResp.java

@@ -0,0 +1,43 @@
+package cn.com.qmth.examcloud.exchange.outer.api.response;
+
+import cn.com.qmth.examcloud.api.commons.exchange.EnterpriseResponse;
+import io.swagger.annotations.ApiModelProperty;
+
+
+/**
+ * 
+ * @author  	chenken
+ * @date    	2018年11月16日 下午3:11:41
+ * @company 	QMTH
+ * @description 删除队列返回
+ */
+public class OuterDeleteScoreQueueTopResp extends EnterpriseResponse{
+
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = 3067547229113108753L;
+
+	@ApiModelProperty(value = "是否成功", example = "true", required = true)
+	private Boolean isSuccess;
+	
+	@ApiModelProperty(value = "说明", example = "", required = false)
+	private String desc;
+
+	public Boolean getIsSuccess() {
+		return isSuccess;
+	}
+
+	public void setIsSuccess(Boolean isSuccess) {
+		this.isSuccess = isSuccess;
+	}
+
+	public String getDesc() {
+		return desc;
+	}
+
+	public void setDesc(String desc) {
+		this.desc = desc;
+	}
+	
+}

+ 22 - 0
examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/response/OuterGetCourseListResp.java

@@ -0,0 +1,22 @@
+package cn.com.qmth.examcloud.exchange.outer.api.response;
+
+import java.util.List;
+
+import cn.com.qmth.examcloud.api.commons.exchange.EnterpriseResponse;
+import cn.com.qmth.examcloud.exchange.outer.api.bean.CourseBean;
+
+public class OuterGetCourseListResp extends EnterpriseResponse {
+
+	private static final long serialVersionUID = 8290190579593586203L;
+
+	private List<CourseBean> courseList;
+
+	public List<CourseBean> getCourseList() {
+		return courseList;
+	}
+
+	public void setCourseList(List<CourseBean> courseList) {
+		this.courseList = courseList;
+	}
+
+}

+ 88 - 0
examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/response/OuterGetExamRecordAuditInfoResp.java

@@ -0,0 +1,88 @@
+package cn.com.qmth.examcloud.exchange.outer.api.response;
+
+import java.util.Date;
+
+import cn.com.qmth.examcloud.api.commons.exchange.EnterpriseResponse;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * 
+ * @author  	chenken
+ * @date    	2018年11月16日 下午2:38:13
+ * @company 	QMTH
+ * @description 审核信息返回
+ */
+public class OuterGetExamRecordAuditInfoResp extends EnterpriseResponse{
+
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = 6067030714515530914L;
+	
+	@ApiModelProperty(value = "考试记录ID", example = "1", required = true)
+	private Long examRecordDataId;
+	
+	@ApiModelProperty(value = "违纪类型", example = "指定动作失败", required = true)
+	private String disciplineType;
+	
+	@ApiModelProperty(value = "审核说明", example = "2018-10-17 18:15:01:动作有误,验证失败", required = true)
+	private String disciplineDetail;
+
+	@ApiModelProperty(value = "审核人", example = "admin", required = true)
+	private String auditUserName;
+	
+	@ApiModelProperty(value = "审核时间", example = "2018-01-01 10:00:00", required = true)
+	private Date creationTime;
+	
+	@ApiModelProperty(value = "是否违纪(0:未违纪,1:违纪),", example = "0", required = true)
+	private Integer isDiscipline;
+
+	public Long getExamRecordDataId() {
+		return examRecordDataId;
+	}
+
+	public void setExamRecordDataId(Long examRecordDataId) {
+		this.examRecordDataId = examRecordDataId;
+	}
+
+	public String getDisciplineType() {
+		return disciplineType;
+	}
+
+	public void setDisciplineType(String disciplineType) {
+		this.disciplineType = disciplineType;
+	}
+
+	public String getDisciplineDetail() {
+		return disciplineDetail;
+	}
+
+	public void setDisciplineDetail(String disciplineDetail) {
+		this.disciplineDetail = disciplineDetail;
+	}
+
+	public String getAuditUserName() {
+		return auditUserName;
+	}
+
+	public void setAuditUserName(String auditUserName) {
+		this.auditUserName = auditUserName;
+	}
+
+	public Date getCreationTime() {
+		return creationTime;
+	}
+
+	public void setCreationTime(Date creationTime) {
+		this.creationTime = creationTime;
+	}
+
+	public Integer getIsDiscipline() {
+		return isDiscipline;
+	}
+
+	public void setIsDiscipline(Integer isDiscipline) {
+		this.isDiscipline = isDiscipline;
+	}
+	
+}

+ 159 - 0
examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/response/OuterGetExamResp.java

@@ -0,0 +1,159 @@
+package cn.com.qmth.examcloud.exchange.outer.api.response;
+
+import java.util.Date;
+
+import cn.com.qmth.examcloud.api.commons.exchange.EnterpriseResponse;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * 类注释
+ *
+ * @author WANGWEI
+ * @date 2018年11月16日
+ * @Copyright (c) 2018-? http://qmth.com.cn All Rights Reserved.
+ */
+public class OuterGetExamResp extends EnterpriseResponse {
+
+	private static final long serialVersionUID = 1030154836013325322L;
+
+	/**
+	 * ID
+	 */
+	@ApiModelProperty(value = "考试ID", example = "128", required = true)
+	private Long id;
+
+	/**
+	 * 顶级机构Id
+	 */
+	@ApiModelProperty(value = "顶级机构", example = "0", required = true)
+	private Long rootOrgId;
+
+	/**
+	 * 考试批次开始时间
+	 */
+	@ApiModelProperty(value = " 考试批次开始时间", example = "2018-10-10 08:00:00", required = true)
+	private Date beginTime;
+
+	/**
+	 * 考试批次结束时间
+	 */
+	@ApiModelProperty(value = " 考试批次结束时间", example = "2018-10-10 08:00:00", required = true)
+	private Date endTime;
+
+	/**
+	 * 考试名称
+	 */
+	@ApiModelProperty(value = "考试名称(实际上为考试编码)", example = "2018年6月期末考试", required = true)
+	private String name;
+
+	/**
+	 * 考试类型
+	 */
+	@ApiModelProperty(value = " 考试类型(ONLINE:网考;TRADITION:传统;OFFLINE:离线;PRACTICE:练习;PRINT_EXAM:PRINT_EXAM.)", example = "ONLINE", required = true)
+	private String examType;
+
+	/**
+	 * 考试时长(分钟)
+	 */
+	@ApiModelProperty(value = "考试时长(单位:分钟)", example = "120", required = true)
+	private Integer duration;
+
+	/**
+	 * 是否可用
+	 */
+	@ApiModelProperty(value = "是否可用", example = "true", required = true)
+	private Boolean enable;
+
+	/**
+	 * 考试备注
+	 */
+	@ApiModelProperty(value = "考试备注", example = "xxx", required = true)
+	private String remark;
+
+	/**
+	 * 考试次数
+	 */
+	@ApiModelProperty(value = "考试次数", example = "2", required = true)
+	private Long examTimes;
+
+	public Long getId() {
+		return id;
+	}
+
+	public void setId(Long id) {
+		this.id = id;
+	}
+
+	public Long getRootOrgId() {
+		return rootOrgId;
+	}
+
+	public void setRootOrgId(Long rootOrgId) {
+		this.rootOrgId = rootOrgId;
+	}
+
+	public Date getBeginTime() {
+		return beginTime;
+	}
+
+	public void setBeginTime(Date beginTime) {
+		this.beginTime = beginTime;
+	}
+
+	public Date getEndTime() {
+		return endTime;
+	}
+
+	public void setEndTime(Date endTime) {
+		this.endTime = endTime;
+	}
+
+	public String getName() {
+		return name;
+	}
+
+	public void setName(String name) {
+		this.name = name;
+	}
+
+	public String getExamType() {
+		return examType;
+	}
+
+	public void setExamType(String examType) {
+		this.examType = examType;
+	}
+
+	public Integer getDuration() {
+		return duration;
+	}
+
+	public void setDuration(Integer duration) {
+		this.duration = duration;
+	}
+
+	public Boolean getEnable() {
+		return enable;
+	}
+
+	public void setEnable(Boolean enable) {
+		this.enable = enable;
+	}
+
+	public String getRemark() {
+		return remark;
+	}
+
+	public void setRemark(String remark) {
+		this.remark = remark;
+	}
+
+	public Long getExamTimes() {
+		return examTimes;
+	}
+
+	public void setExamTimes(Long examTimes) {
+		this.examTimes = examTimes;
+	}
+
+}

+ 28 - 0
examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/response/OuterGetPaperStructResp.java

@@ -0,0 +1,28 @@
+package cn.com.qmth.examcloud.exchange.outer.api.response;
+
+import cn.com.qmth.examcloud.api.commons.exchange.EnterpriseResponse;
+import cn.com.qmth.examcloud.exchange.outer.api.bean.DefaultPaperBean;
+
+/**
+ * @Description 获取试卷结构
+ * @Author lideyin
+ * @Date 2020/5/25 15:40
+ * @Version 1.0
+ */
+public class OuterGetPaperStructResp extends EnterpriseResponse {
+
+    private static final long serialVersionUID = 8290190579593586203L;
+
+    /**
+     * 试卷结构
+     */
+    private DefaultPaperBean defaultPaper;
+
+    public DefaultPaperBean getDefaultPaper() {
+        return defaultPaper;
+    }
+
+    public void setDefaultPaper(DefaultPaperBean defaultPaper) {
+        this.defaultPaper = defaultPaper;
+    }
+}

+ 27 - 0
examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/response/OuterGetQuestionAnswerResp.java

@@ -0,0 +1,27 @@
+package cn.com.qmth.examcloud.exchange.outer.api.response;
+
+import cn.com.qmth.examcloud.api.commons.exchange.EnterpriseResponse;
+
+import java.util.List;
+
+/**
+ * @Description 获取题目作答
+ * @Author lideyin
+ * @Date 2020/4/25 18:56
+ * @Version 1.0
+ */
+public class OuterGetQuestionAnswerResp extends EnterpriseResponse {
+
+    private static final long serialVersionUID = 8290190579593586203L;
+
+    //答案集合
+    private List<String> answerList;
+
+    public List<String> getAnswerList() {
+        return answerList;
+    }
+
+    public void setAnswerList(List<String> answerList) {
+        this.answerList = answerList;
+    }
+}

+ 30 - 0
examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/response/OuterGetScoreDataResp.java

@@ -0,0 +1,30 @@
+package cn.com.qmth.examcloud.exchange.outer.api.response;
+
+import cn.com.qmth.examcloud.api.commons.exchange.EnterpriseResponse;
+import cn.com.qmth.examcloud.exchange.outer.api.bean.OuterScoreDataBean;
+
+/**
+ * 
+ * @author  	chenken
+ * @date    	2018年11月16日 上午11:31:26
+ * @company 	QMTH
+ * @description 获取成绩数据返回
+ */
+public class OuterGetScoreDataResp extends EnterpriseResponse{
+
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = -9186364236466166910L;
+	
+	private OuterScoreDataBean outerScoreDataBean;
+
+	public OuterScoreDataBean getOuterScoreDataBean() {
+		return outerScoreDataBean;
+	}
+
+	public void setOuterScoreDataBean(OuterScoreDataBean outerScoreDataBean) {
+		this.outerScoreDataBean = outerScoreDataBean;
+	}
+
+}

+ 86 - 0
examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/response/OuterGetScoreQueueTopResp.java

@@ -0,0 +1,86 @@
+package cn.com.qmth.examcloud.exchange.outer.api.response;
+
+import cn.com.qmth.examcloud.api.commons.exchange.EnterpriseResponse;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ *
+ * @author  	chenken
+ * @date    	2018年11月16日 下午3:08:14
+ * @company 	QMTH
+ * @description 成绩队列返回信息
+ */
+public class OuterGetScoreQueueTopResp extends EnterpriseResponse{
+
+	/**
+	 *
+	 */
+	private static final long serialVersionUID = -2874809807909407199L;
+
+	@ApiModelProperty(value = "队列ID", example = "1", required = true)
+	private Long queueId;
+
+	@ApiModelProperty(value = "考试记录ID", example = "1", required = true)
+	private Long examRecordDataId;
+
+	@ApiModelProperty(value = "考试ID", example = "1", required = true)
+	private Long examId;
+
+	@ApiModelProperty(value = "考试编码", example = "1", required = true)
+	private String examCode;
+
+	@ApiModelProperty(value = "考试名称(废弃属性,实际上返回的是考试编码)", example = "2018年6月期末考试", required = false)
+	@Deprecated
+	private String examName;
+	@ApiModelProperty(value = "对象数据是否为空", example = "true", required = true)
+	private Boolean isEmpty;
+
+	public Long getQueueId() {
+		return queueId;
+	}
+
+	public void setQueueId(Long queueId) {
+		this.queueId = queueId;
+	}
+
+	public Long getExamRecordDataId() {
+		return examRecordDataId;
+	}
+
+	public void setExamRecordDataId(Long examRecordDataId) {
+		this.examRecordDataId = examRecordDataId;
+	}
+
+	public Long getExamId() {
+		return examId;
+	}
+
+	public void setExamId(Long examId) {
+		this.examId = examId;
+	}
+
+	public String getExamCode() {
+		return examCode;
+	}
+
+	public void setExamCode(String examCode) {
+		this.examCode = examCode;
+	}
+
+	public String getExamName() {
+		return examName;
+	}
+
+	public void setExamName(String examName) {
+		this.examName = examName;
+	}
+
+	public Boolean getIsEmpty() {
+		return isEmpty;
+	}
+
+	public void setIsEmpty(Boolean isEmpty) {
+		this.isEmpty = isEmpty;
+	}
+
+}

+ 26 - 0
examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/response/OuterGetSubjectivePaperResp.java

@@ -0,0 +1,26 @@
+package cn.com.qmth.examcloud.exchange.outer.api.response;
+
+import cn.com.qmth.examcloud.api.commons.exchange.EnterpriseResponse;
+import cn.com.qmth.examcloud.exchange.outer.api.bean.OuterSubjectivePaperBean;
+
+import java.util.List;
+
+/**
+ * @Description 获取主观题试卷信息响应类
+ * @Author lideyin
+ * @Date 2020/6/23 15:07
+ * @Version 1.0
+ */
+public class OuterGetSubjectivePaperResp extends EnterpriseResponse {
+    private static final long serialVersionUID = -3599160726204259551L;
+
+    private OuterSubjectivePaperBean subjectivePaper;
+
+    public OuterSubjectivePaperBean getSubjectivePaper() {
+        return subjectivePaper;
+    }
+
+    public void setSubjectivePaper(OuterSubjectivePaperBean subjectivePaper) {
+        this.subjectivePaper = subjectivePaper;
+    }
+}

+ 27 - 0
examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/response/OuterGetSubjectivePaperStructResp.java

@@ -0,0 +1,27 @@
+package cn.com.qmth.examcloud.exchange.outer.api.response;
+
+import cn.com.qmth.examcloud.api.commons.exchange.EnterpriseResponse;
+import cn.com.qmth.examcloud.exchange.outer.api.bean.OuterScoreDataBean;
+import cn.com.qmth.examcloud.exchange.outer.api.bean.OuterSubjectivePaperStructBean;
+
+import java.util.List;
+
+/**
+ * @Description 获取主观题试卷结构响应类
+ * @Author lideyin
+ * @Date 2020/3/30 15:31
+ * @Version 1.0
+ */
+public class OuterGetSubjectivePaperStructResp extends EnterpriseResponse{
+	private static final long serialVersionUID = -3599160726204259551L;
+
+	private List<OuterSubjectivePaperStructBean> paperStructList;
+
+	public List<OuterSubjectivePaperStructBean> getPaperStructList() {
+		return paperStructList;
+	}
+
+	public void setPaperStructList(List<OuterSubjectivePaperStructBean> paperStructList) {
+		this.paperStructList = paperStructList;
+	}
+}

+ 40 - 0
examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/response/OuterGetSubjectiveQuestionResp.java

@@ -0,0 +1,40 @@
+package cn.com.qmth.examcloud.exchange.outer.api.response;
+
+import cn.com.qmth.examcloud.api.commons.exchange.EnterpriseResponse;
+import cn.com.qmth.examcloud.exchange.outer.api.bean.OuterExamRecordBean;
+import cn.com.qmth.examcloud.exchange.outer.api.bean.OuterScoreDataBean;
+import io.swagger.annotations.ApiModelProperty;
+import java.util.List;
+
+/**
+ * @Description 获取主观题作答结果响应类
+ * @Author lideyin
+ * @Date 2020/3/30 15:30
+ * @Version 1.0
+ */
+public class OuterGetSubjectiveQuestionResp extends EnterpriseResponse{
+
+	private static final long serialVersionUID = -8015424509347237754L;
+
+	@ApiModelProperty(value = "下一个考生ID,如果已经是最后一条数据,则此值和startId相等", example = "128", required = true)
+	private Long nextId;
+
+	@ApiModelProperty(value = "考试记录集合", example = "[{'id':1}]", required = true)
+	private List<OuterExamRecordBean> dataList;
+
+	public Long getNextId() {
+		return nextId;
+	}
+
+	public void setNextId(Long nextId) {
+		this.nextId = nextId;
+	}
+
+	public List<OuterExamRecordBean> getDataList() {
+		return dataList;
+	}
+
+	public void setDataList(List<OuterExamRecordBean> dataList) {
+		this.dataList = dataList;
+	}
+}

+ 38 - 0
examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/response/OuterQueryCapturePhotoResp.java

@@ -0,0 +1,38 @@
+package cn.com.qmth.examcloud.exchange.outer.api.response;
+
+import java.util.List;
+
+import cn.com.qmth.examcloud.api.commons.exchange.EnterpriseResponse;
+import cn.com.qmth.examcloud.exchange.outer.api.bean.OuterGetCapturePhotoBean;
+import io.swagger.annotations.ApiModelProperty;
+
+public class OuterQueryCapturePhotoResp extends EnterpriseResponse{
+
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = -1332579670294448864L;
+
+	@ApiModelProperty(value = "考试记录ID", example = "128", required = true)
+	private Long examRecordDataId;
+	
+	@ApiModelProperty(value = "抓拍照片数据集合", example = "", required = true)
+	private List<OuterGetCapturePhotoBean> capturePhotoList;
+	
+	public Long getExamRecordDataId() {
+		return examRecordDataId;
+	}
+
+	public void setExamRecordDataId(Long examRecordDataId) {
+		this.examRecordDataId = examRecordDataId;
+	}
+
+	public List<OuterGetCapturePhotoBean> getCapturePhotoList() {
+		return capturePhotoList;
+	}
+
+	public void setCapturePhotoList(List<OuterGetCapturePhotoBean> capturePhotoList) {
+		this.capturePhotoList = capturePhotoList;
+	}
+	
+}

+ 26 - 0
examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/response/OuterQueryScoreDataResp.java

@@ -0,0 +1,26 @@
+package cn.com.qmth.examcloud.exchange.outer.api.response;
+
+import java.util.List;
+
+import cn.com.qmth.examcloud.api.commons.exchange.EnterpriseResponse;
+import cn.com.qmth.examcloud.exchange.outer.api.bean.OuterScoreDataBean;
+
+public class OuterQueryScoreDataResp extends EnterpriseResponse{
+
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = 7651693026235437061L;
+
+	
+	private List<OuterScoreDataBean> outerScoreDataBeanList;
+
+	public List<OuterScoreDataBean> getOuterScoreDataBeanList() {
+		return outerScoreDataBeanList;
+	}
+
+	public void setOuterScoreDataBeanList(List<OuterScoreDataBean> outerScoreDataBeanList) {
+		this.outerScoreDataBeanList = outerScoreDataBeanList;
+	}
+
+}

+ 44 - 0
examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/response/OuterQueryScoreListResp.java

@@ -0,0 +1,44 @@
+package cn.com.qmth.examcloud.exchange.outer.api.response;
+
+import cn.com.qmth.examcloud.api.commons.exchange.EnterpriseResponse;
+import cn.com.qmth.examcloud.exchange.outer.api.bean.OuterScoreDataBean;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.util.List;
+
+public class OuterQueryScoreListResp extends EnterpriseResponse {
+
+    private static final long serialVersionUID = 1L;
+
+    private List<OuterScoreDataBean> scoreList;
+
+    @ApiModelProperty(value = "总条数")
+    private long totalElements;
+
+    @ApiModelProperty(value = "总页数")
+    private int totalPages;
+
+    public List<OuterScoreDataBean> getScoreList() {
+        return scoreList;
+    }
+
+    public void setScoreList(List<OuterScoreDataBean> scoreList) {
+        this.scoreList = scoreList;
+    }
+
+    public long getTotalElements() {
+        return totalElements;
+    }
+
+    public void setTotalElements(long totalElements) {
+        this.totalElements = totalElements;
+    }
+
+    public int getTotalPages() {
+        return totalPages;
+    }
+
+    public void setTotalPages(int totalPages) {
+        this.totalPages = totalPages;
+    }
+}

+ 22 - 0
examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/response/OuterResetExamStudentResp.java

@@ -0,0 +1,22 @@
+package cn.com.qmth.examcloud.exchange.outer.api.response;
+
+import java.util.List;
+
+import cn.com.qmth.examcloud.api.commons.exchange.EnterpriseResponse;
+import cn.com.qmth.examcloud.exchange.outer.api.bean.OuterExamStudent4ResetRespBean;
+
+public class OuterResetExamStudentResp extends EnterpriseResponse {
+
+	private static final long serialVersionUID = 840523082568831570L;
+
+	private List<OuterExamStudent4ResetRespBean> examStudentList;
+
+	public List<OuterExamStudent4ResetRespBean> getExamStudentList() {
+		return examStudentList;
+	}
+
+	public void setExamStudentList(List<OuterExamStudent4ResetRespBean> examStudentList) {
+		this.examStudentList = examStudentList;
+	}
+
+}

+ 28 - 0
examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/response/OuterSaveExamResp.java

@@ -0,0 +1,28 @@
+package cn.com.qmth.examcloud.exchange.outer.api.response;
+
+import cn.com.qmth.examcloud.api.commons.exchange.EnterpriseResponse;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * 类注释
+ *
+ * @author WANGWEI
+ * @date 2018年11月16日
+ * @Copyright (c) 2018-? http://qmth.com.cn All Rights Reserved.
+ */
+public class OuterSaveExamResp extends EnterpriseResponse {
+
+	private static final long serialVersionUID = -8997559197584414927L;
+
+	@ApiModelProperty(value = "考试ID", example = "128", required = true)
+	private Long examId;
+
+	public Long getExamId() {
+		return examId;
+	}
+
+	public void setExamId(Long examId) {
+		this.examId = examId;
+	}
+
+}

+ 29 - 0
examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/response/OuterSaveExamStudentResp.java

@@ -0,0 +1,29 @@
+package cn.com.qmth.examcloud.exchange.outer.api.response;
+
+import cn.com.qmth.examcloud.api.commons.exchange.EnterpriseResponse;
+import cn.com.qmth.examcloud.exchange.outer.api.bean.OuterExamStudentBean;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * 响应
+ *
+ * @author WANGWEI
+ * @date 2018年11月14日
+ * @Copyright (c) 2018-? http://qmth.com.cn All Rights Reserved.
+ */
+public class OuterSaveExamStudentResp extends EnterpriseResponse {
+
+	private static final long serialVersionUID = 5003024673163742249L;
+
+	@ApiModelProperty(value = "考生信息", name = "examStudentBean")
+	private OuterExamStudentBean examStudentBean;
+
+	public OuterExamStudentBean getExamStudentBean() {
+		return examStudentBean;
+	}
+
+	public void setExamStudentBean(OuterExamStudentBean examStudentBean) {
+		this.examStudentBean = examStudentBean;
+	}
+
+}

+ 16 - 0
examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/response/OuterSaveStudentPhotoResp.java

@@ -0,0 +1,16 @@
+package cn.com.qmth.examcloud.exchange.outer.api.response;
+
+import cn.com.qmth.examcloud.api.commons.exchange.EnterpriseResponse;
+
+/**
+ * 类注释
+ *
+ * @author WANGWEI
+ * @date 2018年9月4日
+ * @Copyright (c) 2018-? http://qmth.com.cn All Rights Reserved.
+ */
+public class OuterSaveStudentPhotoResp extends EnterpriseResponse {
+
+	private static final long serialVersionUID = 8401121486324558126L;
+
+}

+ 54 - 0
examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/response/OuterSaveStudentResp.java

@@ -0,0 +1,54 @@
+package cn.com.qmth.examcloud.exchange.outer.api.response;
+
+import cn.com.qmth.examcloud.api.commons.exchange.EnterpriseResponse;
+import io.swagger.annotations.ApiModelProperty;
+
+public class OuterSaveStudentResp extends EnterpriseResponse {
+
+	private static final long serialVersionUID = 2523302124132923363L;
+
+	@ApiModelProperty(value = "学生ID", example = "100", required = true)
+	private Long studentId;
+
+	@ApiModelProperty(value = "顶级机构ID", example = "0", required = true)
+	private Long rootOrgId;
+
+	@ApiModelProperty(value = "学习中心ID", example = "1", required = true)
+	private Long orgId;
+
+	@ApiModelProperty(value = "学习中心编码", example = "LC111111", required = true)
+	private String orgName;
+
+	public Long getStudentId() {
+		return studentId;
+	}
+
+	public void setStudentId(Long studentId) {
+		this.studentId = studentId;
+	}
+
+	public Long getRootOrgId() {
+		return rootOrgId;
+	}
+
+	public void setRootOrgId(Long rootOrgId) {
+		this.rootOrgId = rootOrgId;
+	}
+
+	public Long getOrgId() {
+		return orgId;
+	}
+
+	public void setOrgId(Long orgId) {
+		this.orgId = orgId;
+	}
+
+	public String getOrgName() {
+		return orgName;
+	}
+
+	public void setOrgName(String orgName) {
+		this.orgName = orgName;
+	}
+
+}

+ 19 - 0
examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/response/OuterUpdateExamStudentStatusResp.java

@@ -0,0 +1,19 @@
+package cn.com.qmth.examcloud.exchange.outer.api.response;
+
+import cn.com.qmth.examcloud.api.commons.exchange.EnterpriseResponse;
+
+public class OuterUpdateExamStudentStatusResp extends EnterpriseResponse {
+
+	private static final long serialVersionUID = 4961110703893558833L;
+
+	private Long examStudentId;
+
+	public Long getExamStudentId() {
+		return examStudentId;
+	}
+
+	public void setExamStudentId(Long examStudentId) {
+		this.examStudentId = examStudentId;
+	}
+
+}

+ 9 - 0
examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/response/OuterUpdatePasswordResp.java

@@ -0,0 +1,9 @@
+package cn.com.qmth.examcloud.exchange.outer.api.response;
+
+import cn.com.qmth.examcloud.api.commons.exchange.EnterpriseResponse;
+
+public class OuterUpdatePasswordResp extends EnterpriseResponse {
+
+	private static final long serialVersionUID = -8014767470452998115L;
+
+}

+ 9 - 0
examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/response/OuterUpdateStudentStatusResp.java

@@ -0,0 +1,9 @@
+package cn.com.qmth.examcloud.exchange.outer.api.response;
+
+import cn.com.qmth.examcloud.api.commons.exchange.EnterpriseResponse;
+
+public class OuterUpdateStudentStatusResp extends EnterpriseResponse {
+
+	private static final long serialVersionUID = 5522567503210196810L;
+
+}

+ 74 - 0
examcloud-exchange-api/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/response/cug/SaveCugStudentAndExamStudentResp.java

@@ -0,0 +1,74 @@
+package cn.com.qmth.examcloud.exchange.outer.api.response.cug;
+
+import java.util.List;
+
+import cn.com.qmth.examcloud.api.commons.exchange.EnterpriseResponse;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * 类注释
+ *
+ * @author WANGWEI
+ * @date 2018年11月15日
+ * @Copyright (c) 2018-? http://qmth.com.cn All Rights Reserved.
+ */
+public class SaveCugStudentAndExamStudentResp extends EnterpriseResponse {
+
+	private static final long serialVersionUID = -7321764983963904493L;
+
+	@ApiModelProperty(value = "学生ID", example = "500", required = true)
+	private Long studentId;
+
+	@ApiModelProperty(value = "顶级机构ID", example = "0", required = true)
+	private Long rootOrgId;
+
+	@ApiModelProperty(value = "学习中心ID", example = "0", required = true)
+	private Long orgId;
+
+	@ApiModelProperty(value = "学习中心名称", example = "0", required = true)
+	private String orgName;
+
+	@ApiModelProperty(value = "考生ID集合", required = true)
+	private List<Long> examStudentIdList;
+
+	public Long getStudentId() {
+		return studentId;
+	}
+
+	public void setStudentId(Long studentId) {
+		this.studentId = studentId;
+	}
+
+	public Long getRootOrgId() {
+		return rootOrgId;
+	}
+
+	public void setRootOrgId(Long rootOrgId) {
+		this.rootOrgId = rootOrgId;
+	}
+
+	public Long getOrgId() {
+		return orgId;
+	}
+
+	public void setOrgId(Long orgId) {
+		this.orgId = orgId;
+	}
+
+	public String getOrgName() {
+		return orgName;
+	}
+
+	public void setOrgName(String orgName) {
+		this.orgName = orgName;
+	}
+
+	public List<Long> getExamStudentIdList() {
+		return examStudentIdList;
+	}
+
+	public void setExamStudentIdList(List<Long> examStudentIdList) {
+		this.examStudentIdList = examStudentIdList;
+	}
+
+}

+ 18 - 18
pom.xml

@@ -20,38 +20,38 @@
         <module>examcloud-core-examwork-api</module>
         <module>examcloud-core-examwork-api-client</module>
 
-        <module>examcloud-exchange-inner-api</module>
-        <module>examcloud-exchange-inner-api-client</module>
-
-        <module>examcloud-task-api</module>
-        <module>examcloud-task-api-client</module>
-
-        <module>examcloud-core-oe-admin-api</module>
-        <module>examcloud-core-oe-admin-api-client</module>
-
         <module>examcloud-core-questions-api</module>
         <module>examcloud-core-questions-api-client</module>
 
-        <module>examcloud-core-oe-task-api</module>
-        <module>examcloud-core-oe-task-api-client</module>
+        <module>examcloud-core-oe-admin-api</module>
+        <module>examcloud-core-oe-admin-api-client</module>
 
         <module>examcloud-core-oe-student-api</module>
         <module>examcloud-core-oe-student-api-client</module>
 
-        <module>examcloud-ws-api</module>
-        <module>examcloud-ws-api-client</module>
+        <module>examcloud-core-oe-task-api</module>
+        <module>examcloud-core-oe-task-api-client</module>
 
         <module>examcloud-core-marking-api</module>
         <module>examcloud-core-marking-api-client</module>
 
-        <module>examcloud-global-api</module>
-        <module>examcloud-global-api-client</module>
+        <module>examcloud-core-reports-api</module>
+        <module>examcloud-core-reports-api-client</module>
 
         <module>examcloud-core-print-api</module>
         <module>examcloud-core-print-api-client</module>
 
-        <module>examcloud-core-reports-api</module>
-        <module>examcloud-core-reports-api-client</module>
+        <module>examcloud-task-api</module>
+        <module>examcloud-task-api-client</module>
+
+        <module>examcloud-ws-api</module>
+        <module>examcloud-ws-api-client</module>
+
+        <module>examcloud-exchange-api</module>
+        <module>examcloud-exchange-api-client</module>
+
+        <module>examcloud-global-api</module>
+        <module>examcloud-global-api-client</module>
     </modules>
 
-</project>
+</project>