Просмотр исходного кода

Merge remote-tracking branch 'origin/master'

Joburgess 5 лет назад
Родитель
Сommit
2638f608ec
49 измененных файлов с 556 добавлено и 62 удалено
  1. 5 0
      edu-auth/edu-auth-server/pom.xml
  2. 16 0
      edu-auth/edu-auth-server/src/main/resources/bootstrap-dev.properties
  3. 16 0
      edu-auth/edu-auth-server/src/main/resources/bootstrap-prod.properties
  4. 5 0
      edu-cms/pom.xml
  5. 0 5
      edu-cms/src/main/resources/application.yml
  6. 16 0
      edu-cms/src/main/resources/bootstrap-dev.properties
  7. 16 0
      edu-cms/src/main/resources/bootstrap-prod.properties
  8. 5 0
      edu-eureka/pom.xml
  9. 16 0
      edu-eureka/src/main/resources/bootstrap-dev.properties
  10. 16 0
      edu-eureka/src/main/resources/bootstrap-prod.properties
  11. 6 0
      edu-im/edu-im-server/pom.xml
  12. 0 1
      edu-im/edu-im-server/src/main/java/com/keao/edu/im/controller/RoomController.java
  13. 21 19
      edu-im/edu-im-server/src/main/java/com/keao/edu/im/mec/im/IMHelper.java
  14. 48 0
      edu-im/edu-im-server/src/main/java/com/keao/edu/im/pojo/RongCodeEnum.java
  15. 4 4
      edu-im/edu-im-server/src/main/java/com/keao/edu/im/service/Impl/RoomServiceImpl.java
  16. 16 0
      edu-im/edu-im-server/src/main/resources/bootstrap-dev.properties
  17. 16 0
      edu-im/edu-im-server/src/main/resources/bootstrap-prod.properties
  18. 5 0
      edu-task/pom.xml
  19. 16 0
      edu-task/src/main/resources/bootstrap-dev.properties
  20. 16 0
      edu-task/src/main/resources/bootstrap-prod.properties
  21. 6 0
      edu-user/edu-user-server/pom.xml
  22. 1 1
      edu-user/edu-user-server/src/main/java/com/keao/edu/user/config/ResourceServerConfig.java
  23. 2 0
      edu-user/edu-user-server/src/main/java/com/keao/edu/user/controller/EmployeeController.java
  24. 4 3
      edu-user/edu-user-server/src/main/java/com/keao/edu/user/controller/ExamOrderController.java
  25. 1 1
      edu-user/edu-user-server/src/main/java/com/keao/edu/user/controller/TeacherController.java
  26. 15 1
      edu-user/edu-user-server/src/main/java/com/keao/edu/user/dao/ExamRegistrationPaymentDao.java
  27. 7 0
      edu-user/edu-user-server/src/main/java/com/keao/edu/user/dao/SubjectDao.java
  28. 8 0
      edu-user/edu-user-server/src/main/java/com/keao/edu/user/dao/TeacherDao.java
  29. 21 0
      edu-user/edu-user-server/src/main/java/com/keao/edu/user/dto/ExamRegistrationPaymentDto.java
  30. 10 0
      edu-user/edu-user-server/src/main/java/com/keao/edu/user/entity/Teacher.java
  31. 11 4
      edu-user/edu-user-server/src/main/java/com/keao/edu/user/page/EmployeeQueryInfo.java
  32. 22 0
      edu-user/edu-user-server/src/main/java/com/keao/edu/user/page/ExamRegistrationPaymentQueryInfo.java
  33. 2 1
      edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/ExamRegistrationPaymentService.java
  34. 4 0
      edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/TeacherService.java
  35. 6 5
      edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/impl/ExamRegistrationPaymentServiceImpl.java
  36. 14 10
      edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/impl/ExamRegistrationServiceImpl.java
  37. 15 0
      edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/impl/SubjectServiceImpl.java
  38. 30 1
      edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/impl/TeacherServiceImpl.java
  39. 16 0
      edu-user/edu-user-server/src/main/resources/bootstrap-dev.properties
  40. 16 0
      edu-user/edu-user-server/src/main/resources/bootstrap-prod.properties
  41. 1 1
      edu-user/edu-user-server/src/main/resources/config/mybatis/EmployeeMapper.xml
  42. 22 4
      edu-user/edu-user-server/src/main/resources/config/mybatis/ExamRegistrationPaymentMapper.xml
  43. 4 0
      edu-user/edu-user-server/src/main/resources/config/mybatis/SubjectMapper.xml
  44. 10 1
      edu-user/edu-user-server/src/main/resources/config/mybatis/TeacherMapper.xml
  45. 6 0
      edu-util/pom.xml
  46. 5 0
      edu-zuul/pom.xml
  47. 16 0
      edu-zuul/src/main/resources/bootstrap-dev.properties
  48. 16 0
      edu-zuul/src/main/resources/bootstrap-prod.properties
  49. 6 0
      pom.xml

+ 5 - 0
edu-auth/edu-auth-server/pom.xml

@@ -27,6 +27,11 @@
 
 		<dependency>
 			<groupId>org.springframework.cloud</groupId>
+			<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
+		</dependency>
+
+		<dependency>
+			<groupId>org.springframework.cloud</groupId>
 			<artifactId>spring-cloud-starter-oauth2</artifactId>
 		</dependency>
 

+ 16 - 0
edu-auth/edu-auth-server/src/main/resources/bootstrap-dev.properties

@@ -0,0 +1,16 @@
+#\u6307\u5b9a\u5f00\u53d1\u73af\u5883
+#spring.profiles.active=dev
+#\u670d\u52a1\u5668\u5730\u5740
+spring.cloud.nacos.config.server-addr=47.114.176.40:8848
+#\u9ed8\u8ba4\u4e3aPublic\u547d\u540d\u7a7a\u95f4,\u53ef\u4ee5\u7701\u7565\u4e0d\u5199
+spring.cloud.nacos.config.namespace=a5c10b43-0c4d-4e3b-a0ad-9af651cfe89c
+#\u6307\u5b9a\u914d\u7f6e\u7fa4\u7ec4 --\u5982\u679c\u662fPublic\u547d\u540d\u7a7a\u95f4 \u5219\u53ef\u4ee5\u7701\u7565\u7fa4\u7ec4\u914d\u7f6e
+spring.cloud.nacos.config.group=DEFAULT_GROUP
+#\u6587\u4ef6\u540d -- \u5982\u679c\u6ca1\u6709\u914d\u7f6e\u5219\u9ed8\u8ba4\u4e3a ${spring.appliction.name}
+spring.cloud.nacos.config.prefix=auth
+#\u6307\u5b9a\u6587\u4ef6\u540e\u7f00
+spring.cloud.nacos.config.file-extension=yaml
+#\u662f\u5426\u52a8\u6001\u5237\u65b0
+spring.cloud.nacos.config.refresh.enabled=true
+#\u662f\u5426\u542f\u7528nacos\u914d\u7f6e\u4e2d\u5fc3
+spring.cloud.nacos.config.enabled=true

+ 16 - 0
edu-auth/edu-auth-server/src/main/resources/bootstrap-prod.properties

@@ -0,0 +1,16 @@
+#\u6307\u5b9a\u5f00\u53d1\u73af\u5883
+#spring.profiles.active=dev
+#\u670d\u52a1\u5668\u5730\u5740
+spring.cloud.nacos.config.server-addr=47.96.80.97:8848
+#\u9ed8\u8ba4\u4e3aPublic\u547d\u540d\u7a7a\u95f4,\u53ef\u4ee5\u7701\u7565\u4e0d\u5199
+spring.cloud.nacos.config.namespace=f40a7594-4bd0-4bc6-8397-9353c6d2e63a
+#\u6307\u5b9a\u914d\u7f6e\u7fa4\u7ec4 --\u5982\u679c\u662fPublic\u547d\u540d\u7a7a\u95f4 \u5219\u53ef\u4ee5\u7701\u7565\u7fa4\u7ec4\u914d\u7f6e
+spring.cloud.nacos.config.group=DEFAULT_GROUP
+#\u6587\u4ef6\u540d -- \u5982\u679c\u6ca1\u6709\u914d\u7f6e\u5219\u9ed8\u8ba4\u4e3a ${spring.appliction.name}
+spring.cloud.nacos.config.prefix=auth
+#\u6307\u5b9a\u6587\u4ef6\u540e\u7f00
+spring.cloud.nacos.config.file-extension=yaml
+#\u662f\u5426\u52a8\u6001\u5237\u65b0
+spring.cloud.nacos.config.refresh.enabled=true
+#\u662f\u5426\u542f\u7528nacos\u914d\u7f6e\u4e2d\u5fc3
+spring.cloud.nacos.config.enabled=true

+ 5 - 0
edu-cms/pom.xml

@@ -34,6 +34,11 @@
 			<groupId>org.springframework.cloud</groupId>
 			<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
 		</dependency>
+
+		<dependency>
+			<groupId>org.springframework.cloud</groupId>
+			<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
+		</dependency>
 		
 		<dependency>
 			<groupId>com.spring4all</groupId>

+ 0 - 5
edu-cms/src/main/resources/application.yml

@@ -97,8 +97,3 @@ ribbon:
 
 message:
   debugMode: false
-
-user:
-  server:
-    context:
-      path: http://admin.dayaedu.com/

+ 16 - 0
edu-cms/src/main/resources/bootstrap-dev.properties

@@ -0,0 +1,16 @@
+#\u6307\u5b9a\u5f00\u53d1\u73af\u5883
+#spring.profiles.active=dev
+#\u670d\u52a1\u5668\u5730\u5740
+spring.cloud.nacos.config.server-addr=47.114.176.40:8848
+#\u9ed8\u8ba4\u4e3aPublic\u547d\u540d\u7a7a\u95f4,\u53ef\u4ee5\u7701\u7565\u4e0d\u5199
+spring.cloud.nacos.config.namespace=a5c10b43-0c4d-4e3b-a0ad-9af651cfe89c
+#\u6307\u5b9a\u914d\u7f6e\u7fa4\u7ec4 --\u5982\u679c\u662fPublic\u547d\u540d\u7a7a\u95f4 \u5219\u53ef\u4ee5\u7701\u7565\u7fa4\u7ec4\u914d\u7f6e
+spring.cloud.nacos.config.group=DEFAULT_GROUP
+#\u6587\u4ef6\u540d -- \u5982\u679c\u6ca1\u6709\u914d\u7f6e\u5219\u9ed8\u8ba4\u4e3a ${spring.appliction.name}
+spring.cloud.nacos.config.prefix=cms
+#\u6307\u5b9a\u6587\u4ef6\u540e\u7f00
+spring.cloud.nacos.config.file-extension=yaml
+#\u662f\u5426\u52a8\u6001\u5237\u65b0
+spring.cloud.nacos.config.refresh.enabled=true
+#\u662f\u5426\u542f\u7528nacos\u914d\u7f6e\u4e2d\u5fc3
+spring.cloud.nacos.config.enabled=true

+ 16 - 0
edu-cms/src/main/resources/bootstrap-prod.properties

@@ -0,0 +1,16 @@
+#\u6307\u5b9a\u5f00\u53d1\u73af\u5883
+#spring.profiles.active=dev
+#\u670d\u52a1\u5668\u5730\u5740
+spring.cloud.nacos.config.server-addr=47.96.80.97:8848
+#\u9ed8\u8ba4\u4e3aPublic\u547d\u540d\u7a7a\u95f4,\u53ef\u4ee5\u7701\u7565\u4e0d\u5199
+spring.cloud.nacos.config.namespace=f40a7594-4bd0-4bc6-8397-9353c6d2e63a
+#\u6307\u5b9a\u914d\u7f6e\u7fa4\u7ec4 --\u5982\u679c\u662fPublic\u547d\u540d\u7a7a\u95f4 \u5219\u53ef\u4ee5\u7701\u7565\u7fa4\u7ec4\u914d\u7f6e
+spring.cloud.nacos.config.group=DEFAULT_GROUP
+#\u6587\u4ef6\u540d -- \u5982\u679c\u6ca1\u6709\u914d\u7f6e\u5219\u9ed8\u8ba4\u4e3a ${spring.appliction.name}
+spring.cloud.nacos.config.prefix=cms
+#\u6307\u5b9a\u6587\u4ef6\u540e\u7f00
+spring.cloud.nacos.config.file-extension=yaml
+#\u662f\u5426\u52a8\u6001\u5237\u65b0
+spring.cloud.nacos.config.refresh.enabled=true
+#\u662f\u5426\u542f\u7528nacos\u914d\u7f6e\u4e2d\u5fc3
+spring.cloud.nacos.config.enabled=true

+ 5 - 0
edu-eureka/pom.xml

@@ -21,6 +21,11 @@
 			<groupId>org.springframework.cloud</groupId>
 			<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
 		</dependency>
+
+		<dependency>
+			<groupId>org.springframework.cloud</groupId>
+			<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
+		</dependency>
 	</dependencies>
 
 	<build>

+ 16 - 0
edu-eureka/src/main/resources/bootstrap-dev.properties

@@ -0,0 +1,16 @@
+#\u6307\u5b9a\u5f00\u53d1\u73af\u5883
+#spring.profiles.active=dev
+#\u670d\u52a1\u5668\u5730\u5740
+spring.cloud.nacos.config.server-addr=47.114.176.40:8848
+#\u9ed8\u8ba4\u4e3aPublic\u547d\u540d\u7a7a\u95f4,\u53ef\u4ee5\u7701\u7565\u4e0d\u5199
+spring.cloud.nacos.config.namespace=a5c10b43-0c4d-4e3b-a0ad-9af651cfe89c
+#\u6307\u5b9a\u914d\u7f6e\u7fa4\u7ec4 --\u5982\u679c\u662fPublic\u547d\u540d\u7a7a\u95f4 \u5219\u53ef\u4ee5\u7701\u7565\u7fa4\u7ec4\u914d\u7f6e
+spring.cloud.nacos.config.group=DEFAULT_GROUP
+#\u6587\u4ef6\u540d -- \u5982\u679c\u6ca1\u6709\u914d\u7f6e\u5219\u9ed8\u8ba4\u4e3a ${spring.appliction.name}
+spring.cloud.nacos.config.prefix=eureka
+#\u6307\u5b9a\u6587\u4ef6\u540e\u7f00
+spring.cloud.nacos.config.file-extension=yaml
+#\u662f\u5426\u52a8\u6001\u5237\u65b0
+spring.cloud.nacos.config.refresh.enabled=true
+#\u662f\u5426\u542f\u7528nacos\u914d\u7f6e\u4e2d\u5fc3
+spring.cloud.nacos.config.enabled=true

+ 16 - 0
edu-eureka/src/main/resources/bootstrap-prod.properties

@@ -0,0 +1,16 @@
+#\u6307\u5b9a\u5f00\u53d1\u73af\u5883
+#spring.profiles.active=dev
+#\u670d\u52a1\u5668\u5730\u5740
+spring.cloud.nacos.config.server-addr=47.96.80.97:8848
+#\u9ed8\u8ba4\u4e3aPublic\u547d\u540d\u7a7a\u95f4,\u53ef\u4ee5\u7701\u7565\u4e0d\u5199
+spring.cloud.nacos.config.namespace=f40a7594-4bd0-4bc6-8397-9353c6d2e63a
+#\u6307\u5b9a\u914d\u7f6e\u7fa4\u7ec4 --\u5982\u679c\u662fPublic\u547d\u540d\u7a7a\u95f4 \u5219\u53ef\u4ee5\u7701\u7565\u7fa4\u7ec4\u914d\u7f6e
+spring.cloud.nacos.config.group=DEFAULT_GROUP
+#\u6587\u4ef6\u540d -- \u5982\u679c\u6ca1\u6709\u914d\u7f6e\u5219\u9ed8\u8ba4\u4e3a ${spring.appliction.name}
+spring.cloud.nacos.config.prefix=eureka
+#\u6307\u5b9a\u6587\u4ef6\u540e\u7f00
+spring.cloud.nacos.config.file-extension=yaml
+#\u662f\u5426\u52a8\u6001\u5237\u65b0
+spring.cloud.nacos.config.refresh.enabled=true
+#\u662f\u5426\u542f\u7528nacos\u914d\u7f6e\u4e2d\u5fc3
+spring.cloud.nacos.config.enabled=true

+ 6 - 0
edu-im/edu-im-server/pom.xml

@@ -99,6 +99,12 @@
 			<groupId>org.springframework.cloud</groupId>
 			<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
 		</dependency>
+
+		<dependency>
+			<groupId>org.springframework.cloud</groupId>
+			<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
+		</dependency>
+		
         <dependency>
             <groupId>com.keao.edu</groupId>
             <artifactId>edu-user-client-api</artifactId>

+ 0 - 1
edu-im/edu-im-server/src/main/java/com/keao/edu/im/controller/RoomController.java

@@ -11,7 +11,6 @@ import com.keao.edu.im.service.RoomService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
-
 import java.util.List;
 
 /**

+ 21 - 19
edu-im/edu-im-server/src/main/java/com/keao/edu/im/mec/im/IMHelper.java

@@ -2,7 +2,7 @@ package com.keao.edu.im.mec.im;
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
-import com.google.gson.JsonObject;
+import com.keao.edu.common.exception.BizException;
 import com.keao.edu.im.http.HttpHelper;
 import com.keao.edu.im.pojo.IMApiResultInfo;
 import com.keao.edu.im.pojo.IMTokenInfo;
@@ -222,11 +222,10 @@ public class IMHelper {
     /**
      * 开始录制
      * @param hostUserId
-     * @param sessionId
      * @return
      * @throws Exception
      */
-    public IMApiResultInfo startRecord(String hostUserId, String sessionId, String roomId) throws Exception {
+    public IMApiResultInfo startRecord(String hostUserId, String roomId) throws Exception {
         if (hostUserId == null) {
             throw new IllegalArgumentException("Paramer 'userId' is required");
         }
@@ -243,12 +242,12 @@ public class IMHelper {
         jsonObject.put("sliceMin","60");
         jsonObject.put("hostUserId",hostUserId);
         JSONObject json = new JSONObject();
-        json.put("sessionId",sessionId);
+        json.put("sessionId",roomQuery(roomId));
         json.put("config",jsonObject);
 
         String body = json.toJSONString();
 
-        HttpURLConnection conn = httpHelper.createIMRtcPostHttpConnection("/rtc/record/start.json", "application/x-www-form-urlencoded",roomId);
+        HttpURLConnection conn = httpHelper.createIMRtcPostHttpConnection("/rtc/record/start.json", "application/json",roomId);
         httpHelper.setBodyParameter(body, conn);
 
         return JSON.parseObject(httpHelper.returnResult(conn, body), IMApiResultInfo.class);
@@ -257,11 +256,10 @@ public class IMHelper {
     /**
      * 结束录制
      * @param hostUserId
-     * @param sessionId
      * @return
      * @throws Exception
      */
-    public IMApiResultInfo stopRecord(String hostUserId, String sessionId, String roomId) throws Exception {
+    public IMApiResultInfo stopRecord(String hostUserId, String roomId) throws Exception {
         if (hostUserId == null) {
             throw new IllegalArgumentException("Paramer 'userId' is required");
         }
@@ -278,12 +276,12 @@ public class IMHelper {
         jsonObject.put("sliceMin","60");
         jsonObject.put("hostUserId",hostUserId);
         JSONObject json = new JSONObject();
-        json.put("sessionId",sessionId);
+        json.put("sessionId",roomQuery(roomId));
         json.put("config",jsonObject);
 
         String body = json.toJSONString();
 
-        HttpURLConnection conn = httpHelper.createIMRtcPostHttpConnection("/rtc/record/stop.json", "application/x-www-form-urlencoded",roomId);
+        HttpURLConnection conn = httpHelper.createIMRtcPostHttpConnection("/rtc/record/stop.json", "application/json",roomId);
         httpHelper.setBodyParameter(body, conn);
 
         return JSON.parseObject(httpHelper.returnResult(conn, body), IMApiResultInfo.class);
@@ -295,19 +293,23 @@ public class IMHelper {
      * @return
      * @throws Exception
      */
-    public IMApiResultInfo roomQuery(String roomId) throws Exception {
+    public String roomQuery(String roomId) throws Exception {
         if (StringUtils.isEmpty(roomId)) {
             throw new IllegalArgumentException("Paramer 'roomId' is required");
         }
-
-        StringBuilder sb = new StringBuilder();
-        sb.append("roomId=").append(URLEncoder.encode(roomId, UTF8));
-        String body = sb.toString();
-
-        HttpURLConnection conn = httpHelper.createIMRtcPostHttpConnection("/rtc/room/query", "application/x-www-form-urlencoded",null);
-        httpHelper.setBodyParameter(body, conn);
-        String returnResult = httpHelper.returnResult(conn, body);
-        return null;
+        JSONObject jsonObject = new JSONObject();
+        jsonObject.put("roomId",roomId);
+
+        HttpURLConnection conn = httpHelper.createIMRtcPostHttpConnection("/rtc/room/query.json", "application/json",null);
+        httpHelper.setBodyParameter(jsonObject.toJSONString(), conn);
+        String returnResult = httpHelper.returnResult(conn, jsonObject.toJSONString());
+        JSONObject resultObject = JSONObject.parseObject(returnResult);
+        String code = resultObject.get("code").toString();
+        if("200".equals(code)){
+            return resultObject.get("sessionId").toString();
+        }else {
+            throw new BizException("获取sessionId失败");
+        }
     }
 
 

+ 48 - 0
edu-im/edu-im-server/src/main/java/com/keao/edu/im/pojo/RongCodeEnum.java

@@ -0,0 +1,48 @@
+package com.keao.edu.im.pojo;
+
+import com.keao.edu.common.enums.BaseEnum;
+
+public enum RongCodeEnum implements BaseEnum<String, RongCodeEnum> {
+    NO_IN_ROOM("40001", "操作的用户已经不在该房间了"),
+    internal_error("40002", "服务器内部错误"),
+    NOT_ROOM("40003","没有该房间"),
+    USER_ID_NULL("40004", "用户id是空"),
+    LIMIT_ERROR("40005", "房间人数超过限制"),
+    PARAM_ERROR("40006", "请求的参数错误"),
+    TOKEN_ERROR("40007", "token编解码错误"),
+    DB_ERROR("40008", "暂时没有这个错误的抛出"),
+    JSON_ERROR("40009", "解析json失败"),
+    NOT_OPEN_VOICE_ERROR("400010", "用户没有开通音视频服务"),
+    ROOM_TYPE_ERROR("400011", "加入房间的类型错误"),
+    USER_NOT_HAVE_AUTH("400012", "用户没有被授权(混合云)"),
+    NOT_CONFIG_MCU_ADDRESS("400015", "没有配置混流地址"),
+    NOT_ALLOW_VIDEO_BROADCAST("400016", "不允许开启视频直播"),
+    NOT_ALLOW_VOICE_BROADCAST("400017", "不允许开启音频直播"),
+    GET_TOKEN_FAILED("400018", "生成token失败"),
+    USER_IS_BLOCKED("400021", "用户被封禁");
+
+    private String code;
+
+    private String msg;
+
+    RongCodeEnum(String code, String msg) {
+        this.code = code;
+        this.msg = msg;
+    }
+
+    @Override
+    public String getCode() {
+        return this.code;
+    }
+
+    public void setCode(String code) {
+        this.code = code;
+    }
+
+    public String getMsg() {
+        return msg;
+    }
+
+    public void setMsg(String msg) {
+        this.msg = msg;
+    }}

+ 4 - 4
edu-im/edu-im-server/src/main/java/com/keao/edu/im/service/Impl/RoomServiceImpl.java

@@ -200,8 +200,8 @@ public class RoomServiceImpl implements RoomService {
         roomResult.setRoomId(roomId);
 
         roomResult.setMembers(roomMemberDao.findByRid(roomId));
-        List<Whiteboard> whiteboardList = whiteboardDao.findByRid(roomId);
-        roomResult.setWhiteboards(whiteboardList);
+//        List<Whiteboard> whiteboardList = whiteboardDao.findByRid(roomId);
+//        roomResult.setWhiteboards(whiteboardList);
         log.info("join success: roomId = {}, userId = {}, userName={}, role = {}", roomId, userId, roleEnum);
         return roomResult;
     }
@@ -304,7 +304,7 @@ public class RoomServiceImpl implements RoomService {
         room.setName(roomName);
         room.setCreateDt(createTime);
         room.setDisplay(display);
-        room.setWhiteboardNameIndex(0);
+//        room.setWhiteboardNameIndex(0);
         try {
             roomDao.save(room);
         }catch (Exception e){
@@ -373,7 +373,7 @@ public class RoomServiceImpl implements RoomService {
                 if (apiResultInfo.getCode() == 200) {
                     roomMemberDao.deleteUserByRidAndUid(roomId, userId);
                     roomDao.deleteByRid(roomId);
-                    deleteWhiteboardByUser(roomId, userId);
+//                    deleteWhiteboardByUser(roomId, userId);
                     log.info("dismiss the room: {},userId: {}", roomId,userId);
                 } else {
                     log.error("{} exit {} room error: {}", userId, roomId, apiResultInfo.getErrorMessage());

+ 16 - 0
edu-im/edu-im-server/src/main/resources/bootstrap-dev.properties

@@ -0,0 +1,16 @@
+#\u6307\u5b9a\u5f00\u53d1\u73af\u5883
+#spring.profiles.active=dev
+#\u670d\u52a1\u5668\u5730\u5740
+spring.cloud.nacos.config.server-addr=47.114.176.40:8848
+#\u9ed8\u8ba4\u4e3aPublic\u547d\u540d\u7a7a\u95f4,\u53ef\u4ee5\u7701\u7565\u4e0d\u5199
+spring.cloud.nacos.config.namespace=a5c10b43-0c4d-4e3b-a0ad-9af651cfe89c
+#\u6307\u5b9a\u914d\u7f6e\u7fa4\u7ec4 --\u5982\u679c\u662fPublic\u547d\u540d\u7a7a\u95f4 \u5219\u53ef\u4ee5\u7701\u7565\u7fa4\u7ec4\u914d\u7f6e
+spring.cloud.nacos.config.group=DEFAULT_GROUP
+#\u6587\u4ef6\u540d -- \u5982\u679c\u6ca1\u6709\u914d\u7f6e\u5219\u9ed8\u8ba4\u4e3a ${spring.appliction.name}
+spring.cloud.nacos.config.prefix=im
+#\u6307\u5b9a\u6587\u4ef6\u540e\u7f00
+spring.cloud.nacos.config.file-extension=yaml
+#\u662f\u5426\u52a8\u6001\u5237\u65b0
+spring.cloud.nacos.config.refresh.enabled=true
+#\u662f\u5426\u542f\u7528nacos\u914d\u7f6e\u4e2d\u5fc3
+spring.cloud.nacos.config.enabled=true

+ 16 - 0
edu-im/edu-im-server/src/main/resources/bootstrap-prod.properties

@@ -0,0 +1,16 @@
+#\u6307\u5b9a\u5f00\u53d1\u73af\u5883
+#spring.profiles.active=dev
+#\u670d\u52a1\u5668\u5730\u5740
+spring.cloud.nacos.config.server-addr=47.96.80.97:8848
+#\u9ed8\u8ba4\u4e3aPublic\u547d\u540d\u7a7a\u95f4,\u53ef\u4ee5\u7701\u7565\u4e0d\u5199
+spring.cloud.nacos.config.namespace=f40a7594-4bd0-4bc6-8397-9353c6d2e63a
+#\u6307\u5b9a\u914d\u7f6e\u7fa4\u7ec4 --\u5982\u679c\u662fPublic\u547d\u540d\u7a7a\u95f4 \u5219\u53ef\u4ee5\u7701\u7565\u7fa4\u7ec4\u914d\u7f6e
+spring.cloud.nacos.config.group=DEFAULT_GROUP
+#\u6587\u4ef6\u540d -- \u5982\u679c\u6ca1\u6709\u914d\u7f6e\u5219\u9ed8\u8ba4\u4e3a ${spring.appliction.name}
+spring.cloud.nacos.config.prefix=im
+#\u6307\u5b9a\u6587\u4ef6\u540e\u7f00
+spring.cloud.nacos.config.file-extension=yaml
+#\u662f\u5426\u52a8\u6001\u5237\u65b0
+spring.cloud.nacos.config.refresh.enabled=true
+#\u662f\u5426\u542f\u7528nacos\u914d\u7f6e\u4e2d\u5fc3
+spring.cloud.nacos.config.enabled=true

+ 5 - 0
edu-task/pom.xml

@@ -24,6 +24,11 @@
 		</dependency>
 
 		<dependency>
+			<groupId>org.springframework.cloud</groupId>
+			<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
+		</dependency>
+
+		<dependency>
 			<groupId>org.quartz-scheduler</groupId>
 			<artifactId>quartz</artifactId>
 		</dependency>

+ 16 - 0
edu-task/src/main/resources/bootstrap-dev.properties

@@ -0,0 +1,16 @@
+#\u6307\u5b9a\u5f00\u53d1\u73af\u5883
+#spring.profiles.active=dev
+#\u670d\u52a1\u5668\u5730\u5740
+spring.cloud.nacos.config.server-addr=47.114.176.40:8848
+#\u9ed8\u8ba4\u4e3aPublic\u547d\u540d\u7a7a\u95f4,\u53ef\u4ee5\u7701\u7565\u4e0d\u5199
+spring.cloud.nacos.config.namespace=a5c10b43-0c4d-4e3b-a0ad-9af651cfe89c
+#\u6307\u5b9a\u914d\u7f6e\u7fa4\u7ec4 --\u5982\u679c\u662fPublic\u547d\u540d\u7a7a\u95f4 \u5219\u53ef\u4ee5\u7701\u7565\u7fa4\u7ec4\u914d\u7f6e
+spring.cloud.nacos.config.group=DEFAULT_GROUP
+#\u6587\u4ef6\u540d -- \u5982\u679c\u6ca1\u6709\u914d\u7f6e\u5219\u9ed8\u8ba4\u4e3a ${spring.appliction.name}
+spring.cloud.nacos.config.prefix=task
+#\u6307\u5b9a\u6587\u4ef6\u540e\u7f00
+spring.cloud.nacos.config.file-extension=yaml
+#\u662f\u5426\u52a8\u6001\u5237\u65b0
+spring.cloud.nacos.config.refresh.enabled=true
+#\u662f\u5426\u542f\u7528nacos\u914d\u7f6e\u4e2d\u5fc3
+spring.cloud.nacos.config.enabled=true

+ 16 - 0
edu-task/src/main/resources/bootstrap-prod.properties

@@ -0,0 +1,16 @@
+#\u6307\u5b9a\u5f00\u53d1\u73af\u5883
+#spring.profiles.active=dev
+#\u670d\u52a1\u5668\u5730\u5740
+spring.cloud.nacos.config.server-addr=47.96.80.97:8848
+#\u9ed8\u8ba4\u4e3aPublic\u547d\u540d\u7a7a\u95f4,\u53ef\u4ee5\u7701\u7565\u4e0d\u5199
+spring.cloud.nacos.config.namespace=f40a7594-4bd0-4bc6-8397-9353c6d2e63a
+#\u6307\u5b9a\u914d\u7f6e\u7fa4\u7ec4 --\u5982\u679c\u662fPublic\u547d\u540d\u7a7a\u95f4 \u5219\u53ef\u4ee5\u7701\u7565\u7fa4\u7ec4\u914d\u7f6e
+spring.cloud.nacos.config.group=DEFAULT_GROUP
+#\u6587\u4ef6\u540d -- \u5982\u679c\u6ca1\u6709\u914d\u7f6e\u5219\u9ed8\u8ba4\u4e3a ${spring.appliction.name}
+spring.cloud.nacos.config.prefix=task
+#\u6307\u5b9a\u6587\u4ef6\u540e\u7f00
+spring.cloud.nacos.config.file-extension=yaml
+#\u662f\u5426\u52a8\u6001\u5237\u65b0
+spring.cloud.nacos.config.refresh.enabled=true
+#\u662f\u5426\u542f\u7528nacos\u914d\u7f6e\u4e2d\u5fc3
+spring.cloud.nacos.config.enabled=true

+ 6 - 0
edu-user/edu-user-server/pom.xml

@@ -20,6 +20,12 @@
 			<groupId>org.springframework.cloud</groupId>
 			<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
 		</dependency>
+
+		<dependency>
+			<groupId>org.springframework.cloud</groupId>
+			<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
+		</dependency>
+		
 		<dependency>
 			<groupId>org.springframework.boot</groupId>
 			<artifactId>spring-boot-starter-web</artifactId>

+ 1 - 1
edu-user/edu-user-server/src/main/java/com/keao/edu/user/config/ResourceServerConfig.java

@@ -26,7 +26,7 @@ public class ResourceServerConfig extends ResourceServerConfigurerAdapter {
     public void configure(HttpSecurity http) throws Exception {
         http.authorizeRequests()
                 .antMatchers("/v2/api-docs", "/su/**", "/student/apply", "/examRegistration/ocr", "/examOrder/paymentResult",
-                        "/examOrder/notify","/examinationBasic/getInfo","/examOrder/executePayment")
+                        "/examOrder/notify","/examinationBasic/getInfo","/examOrder/executePayment","/examOrder/pageList")
                 .permitAll()
                 .anyRequest().authenticated().and().csrf().disable().exceptionHandling().accessDeniedHandler(baseAccessDeniedHandler)
                 .authenticationEntryPoint(baseAuthenticationEntryPoint).and();

+ 2 - 0
edu-user/edu-user-server/src/main/java/com/keao/edu/user/controller/EmployeeController.java

@@ -28,6 +28,8 @@ public class EmployeeController extends BaseController {
 	@ApiOperation("员工服务分页查询")
 	@GetMapping(value = "/list")
 	public HttpResponseResult<PageInfo<Employee>> getList(EmployeeQueryInfo queryInfo) {
+		SysUser sysUser = sysUserFeignService.queryUserInfo();
+		queryInfo.setUserId(sysUser.getId());
 		return succeed(employeeService.queryPage(queryInfo));
 	}
 

+ 4 - 3
edu-user/edu-user-server/src/main/java/com/keao/edu/user/controller/ExamOrderController.java

@@ -9,6 +9,7 @@ import com.keao.edu.common.page.PageInfo;
 import com.keao.edu.thirdparty.adapay.ConfigInit;
 import com.keao.edu.thirdparty.adapay.Payment;
 import com.keao.edu.thirdparty.yqpay.Msg;
+import com.keao.edu.user.dto.ExamRegistrationPaymentDto;
 import com.keao.edu.user.dto.StudentExamPaymentDto;
 import com.keao.edu.user.entity.Employee;
 import com.keao.edu.user.entity.ExamRegistrationPayment;
@@ -46,7 +47,7 @@ public class ExamOrderController extends BaseController {
     @ApiOperation(value = "缴费列表")
     @GetMapping(value = "pageList")
     @PreAuthorize("@pcs.hasPermissions('examOrder/pageList')")
-    public HttpResponseResult<PageInfo<ExamRegistrationPayment>> pageList(ExamRegistrationPaymentQueryInfo queryInfo) {
+    public HttpResponseResult<PageInfo<ExamRegistrationPaymentDto>> pageList(ExamRegistrationPaymentQueryInfo queryInfo) {
         SysUser sysUser = sysUserFeignService.queryUserInfo();
         if (!sysUser.getIsSuperAdmin() && Objects.isNull(queryInfo.getOrganId())) {
             Employee employee = employeeService.get(sysUser.getId());
@@ -148,8 +149,8 @@ public class ExamOrderController extends BaseController {
     @GetMapping(value = "/paymentResult")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "orderNo", value = "订单编号", required = true, dataType = "String")})
-    public HttpResponseResult<StudentExamPaymentDto> getExamOrderInfo(String orderNo) {
-        return succeed(examRegistrationPaymentService.getExamOrderInfo(orderNo));
+    public HttpResponseResult<ExamRegistrationPayment> getExamOrderInfo(String orderNo) {
+        return succeed(examRegistrationPaymentService.getByOrderNo(orderNo));
     }
 
     @PostMapping("/notify")

+ 1 - 1
edu-user/edu-user-server/src/main/java/com/keao/edu/user/controller/TeacherController.java

@@ -29,7 +29,7 @@ public class TeacherController extends BaseController {
 	@GetMapping(value = "list")
     @PreAuthorize("@pcs.hasPermissions('teacher/list')")
 	public HttpResponseResult<PageInfo<Teacher>> list(TeacherQueryInfo queryInfo) {
-		return succeed(teacherService.queryPage(queryInfo));
+		return succeed(teacherService.queryTeacherPage(queryInfo));
 	}
 
 	@ApiOperation(value = "修改教师")

+ 15 - 1
edu-user/edu-user-server/src/main/java/com/keao/edu/user/dao/ExamRegistrationPaymentDao.java

@@ -1,6 +1,7 @@
 package com.keao.edu.user.dao;
 
 import com.keao.edu.common.dal.BaseDAO;
+import com.keao.edu.user.dto.ExamRegistrationPaymentDto;
 import com.keao.edu.user.dto.StudentExamPaymentDto;
 import com.keao.edu.user.entity.ExamRegistrationPayment;
 import com.keao.edu.user.enums.TransStatusEnum;
@@ -9,6 +10,7 @@ import org.apache.poi.ss.formula.functions.T;
 
 import java.util.Date;
 import java.util.List;
+import java.util.Map;
 
 public interface ExamRegistrationPaymentDao extends BaseDAO<Long, ExamRegistrationPayment> {
 
@@ -57,5 +59,17 @@ public interface ExamRegistrationPaymentDao extends BaseDAO<Long, ExamRegistrati
      */
     List<ExamRegistrationPayment> findOrdersOverTime(@Param("orderNoList") List<String> orderNoList, @Param("transStatus") TransStatusEnum transStatus, @Param("beforeTime") Date beforeTime);
 
-    List<ExamRegistrationPayment> getOrderPageList();
+    /**
+     * 获取支付列表
+     *
+     * @return
+     */
+    List<ExamRegistrationPaymentDto> getOrderPageList(Map<String, Object> params);
+
+    /**
+     * 获取订单总条数
+     * @param params
+     * @return
+     */
+    Integer getOrderListCount(Map<String, Object> params);
 }

+ 7 - 0
edu-user/edu-user-server/src/main/java/com/keao/edu/user/dao/SubjectDao.java

@@ -51,4 +51,11 @@ public interface SubjectDao extends BaseDAO<Integer, Subject> {
      * @return
      */
     String findNames(String subjectIdList);
+
+    /**
+     * 是否有使用中的专业
+     * @param id
+     * @return
+     */
+    int countExamSubject(Integer id);
 }

+ 8 - 0
edu-user/edu-user-server/src/main/java/com/keao/edu/user/dao/TeacherDao.java

@@ -6,9 +6,17 @@ import com.keao.edu.user.entity.Teacher;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
+import java.util.Map;
+import java.util.Set;
 
 public interface TeacherDao extends BaseDAO<Integer, Teacher> {
 
     List<Teacher> getWithTeachers(@Param("teacherIds") List<Integer> teacherIds);
 
+    /**
+     * 获取教师声部名
+     * @param teacherIds
+     * @return
+     */
+    List<Map<Integer, String>> queryTeacherSubjectNames(@Param("teacherIds") Set<Integer> teacherIds);
 }

+ 21 - 0
edu-user/edu-user-server/src/main/java/com/keao/edu/user/dto/ExamRegistrationPaymentDto.java

@@ -0,0 +1,21 @@
+package com.keao.edu.user.dto;
+
+import com.keao.edu.user.entity.ExamLocation;
+import com.keao.edu.user.entity.ExamRegistrationPayment;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.util.List;
+
+public class ExamRegistrationPaymentDto extends ExamRegistrationPayment {
+
+    @ApiModelProperty(value = "考试地点")
+    private List<ExamLocation> examLocations;
+
+    public List<ExamLocation> getExamLocations() {
+        return examLocations;
+    }
+
+    public void setExamLocations(List<ExamLocation> examLocations) {
+        this.examLocations = examLocations;
+    }
+}

+ 10 - 0
edu-user/edu-user-server/src/main/java/com/keao/edu/user/entity/Teacher.java

@@ -51,6 +51,16 @@ public class Teacher {
 
 	private String tenantId;
 
+	private String subjectName;
+
+	public String getSubjectName() {
+		return subjectName;
+	}
+
+	public void setSubjectName(String subjectName) {
+		this.subjectName = subjectName;
+	}
+
 	public String getTenantId() {
 		return tenantId;
 	}

+ 11 - 4
edu-user/edu-user-server/src/main/java/com/keao/edu/user/page/EmployeeQueryInfo.java

@@ -3,15 +3,22 @@ package com.keao.edu.user.page;
 import com.keao.edu.common.page.QueryInfo;
 import io.swagger.annotations.ApiModelProperty;
 
-/**
- * @Author Joburgess
- * @Date 2019/9/17
- */
 public class EmployeeQueryInfo extends QueryInfo {
 
     @ApiModelProperty(value = "角色ID",required = false)
     private Integer roleId;
 
+    @ApiModelProperty(value = "当前用户",required = false)
+    private Integer userId;
+
+    public Integer getUserId() {
+        return userId;
+    }
+
+    public void setUserId(Integer userId) {
+        this.userId = userId;
+    }
+
     public Integer getRoleId() {
         return roleId;
     }

+ 22 - 0
edu-user/edu-user-server/src/main/java/com/keao/edu/user/page/ExamRegistrationPaymentQueryInfo.java

@@ -10,6 +10,12 @@ public class ExamRegistrationPaymentQueryInfo extends QueryInfo {
     @ApiModelProperty(value = "合作单位编号")
     private Integer organId;
 
+    @ApiModelProperty(value = "准考证号")
+    private String cardNo;
+
+    @ApiModelProperty(value = "考级名称")
+    private String ExamName;
+
     @ApiModelProperty(value = "考试报名编号")
     private Integer examRegistrationId;
 
@@ -51,4 +57,20 @@ public class ExamRegistrationPaymentQueryInfo extends QueryInfo {
     public void setExaminationBasicId(Integer examinationBasicId) {
         this.examinationBasicId = examinationBasicId;
     }
+
+    public String getCardNo() {
+        return cardNo;
+    }
+
+    public void setCardNo(String cardNo) {
+        this.cardNo = cardNo;
+    }
+
+    public String getExamName() {
+        return ExamName;
+    }
+
+    public void setExamName(String examName) {
+        ExamName = examName;
+    }
 }

+ 2 - 1
edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/ExamRegistrationPaymentService.java

@@ -2,6 +2,7 @@ package com.keao.edu.user.service;
 
 import com.keao.edu.common.page.PageInfo;
 import com.keao.edu.common.service.BaseService;
+import com.keao.edu.user.dto.ExamRegistrationPaymentDto;
 import com.keao.edu.user.dto.StudentExamPaymentDto;
 import com.keao.edu.user.entity.ExamRegistration;
 import com.keao.edu.user.entity.ExamRegistrationPayment;
@@ -52,7 +53,7 @@ public interface ExamRegistrationPaymentService extends BaseService<Long, ExamRe
      * @param queryInfo
      * @return
      */
-    PageInfo<ExamRegistrationPayment> pageList(ExamRegistrationPaymentQueryInfo queryInfo);
+    PageInfo<ExamRegistrationPaymentDto> pageList(ExamRegistrationPaymentQueryInfo queryInfo);
 
 
     /**

+ 4 - 0
edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/TeacherService.java

@@ -1,8 +1,10 @@
 package com.keao.edu.user.service;
 
 
+import com.keao.edu.common.page.PageInfo;
 import com.keao.edu.common.service.BaseService;
 import com.keao.edu.user.entity.Teacher;
+import com.keao.edu.user.page.TeacherQueryInfo;
 
 public interface TeacherService extends BaseService<Integer, Teacher> {
 
@@ -17,4 +19,6 @@ public interface TeacherService extends BaseService<Integer, Teacher> {
      * @param teacher
      */
     void updateTeacher(Teacher teacher);
+
+    PageInfo<Teacher> queryTeacherPage(TeacherQueryInfo queryInfo);
 }

+ 6 - 5
edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/impl/ExamRegistrationPaymentServiceImpl.java

@@ -12,6 +12,7 @@ import com.keao.edu.thirdparty.yqpay.YqPayFeignService;
 import com.keao.edu.thirdparty.yqpay.YqPayUtil;
 import com.keao.edu.user.dao.ExamOrganizationRelationDao;
 import com.keao.edu.user.dao.ExamRegistrationPaymentDao;
+import com.keao.edu.user.dto.ExamRegistrationPaymentDto;
 import com.keao.edu.user.dto.StudentExamPaymentDto;
 import com.keao.edu.user.entity.ExamOrganizationRelation;
 import com.keao.edu.user.entity.ExamRegistration;
@@ -113,8 +114,8 @@ public class ExamRegistrationPaymentServiceImpl extends BaseServiceImpl<Long, Ex
     }
 
     @Override
-    public PageInfo<ExamRegistrationPayment> pageList(ExamRegistrationPaymentQueryInfo queryInfo) {
-        PageInfo<ExamRegistrationPayment> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
+    public PageInfo<ExamRegistrationPaymentDto> pageList(ExamRegistrationPaymentQueryInfo queryInfo) {
+        PageInfo<ExamRegistrationPaymentDto> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
 
         Map<String, Object> params = new HashMap<>();
         MapUtil.populateMap(params, queryInfo);
@@ -122,12 +123,12 @@ public class ExamRegistrationPaymentServiceImpl extends BaseServiceImpl<Long, Ex
         List<Integer> nextLevelOrganIds = organizationService.getChildOrganIds(queryInfo.getOrganId(), true);
         params.put("organIds", nextLevelOrganIds);
 
-        List<ExamRegistrationPayment> dataList = Collections.EMPTY_LIST;
-        int count = this.findCount(params);
+        List<ExamRegistrationPaymentDto> dataList = Collections.EMPTY_LIST;
+        int count = examRegistrationPaymentDao.getOrderListCount(params);
         if (count > 0) {
             pageInfo.setTotal(count);
             params.put("offset", pageInfo.getOffset());
-            dataList = this.getDAO().queryPage(params);
+            dataList = examRegistrationPaymentDao.getOrderPageList(params);
         }
         pageInfo.setRows(dataList);
         return pageInfo;

+ 14 - 10
edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/impl/ExamRegistrationServiceImpl.java

@@ -74,11 +74,11 @@ public class ExamRegistrationServiceImpl extends BaseServiceImpl<Long, ExamRegis
             throw new BizException("请选择专业级别");
         }
 
-        if(examRegistration.getOrganId() == null){
+        if (examRegistration.getOrganId() == null) {
             throw new BizException("机构id不能为空");
         }
         Organization organization = organizationDao.get(examRegistration.getOrganId());
-        if(organization == null){
+        if (organization == null) {
             throw new BizException("机构不存在");
         }
         Date nowDate = new Date();
@@ -104,7 +104,6 @@ public class ExamRegistrationServiceImpl extends BaseServiceImpl<Long, ExamRegis
         examRegistration.setTheoryLevelFee(theoryLevelFee);
         examRegistration.setCreateTime(nowDate);
         examRegistration.setUpdateTime(nowDate);
-        examRegistrationDao.insert(examRegistration);
 
         ExamRegistrationPayment examIngOrder = examRegistrationPaymentService.getExamIngOrder(examinationBasic.getId(), examRegistration.getStudentId());
         if (examIngOrder != null) {
@@ -113,6 +112,11 @@ public class ExamRegistrationServiceImpl extends BaseServiceImpl<Long, ExamRegis
             if (examRegistrationPaymentService.update(examIngOrder) <= 0) {
                 throw new BizException("未支付订单关闭失败");
             }
+            ExamRegistration examReg = examRegistrationDao.get(examIngOrder.getExamRegistrationId());
+            examRegistration.setId(examReg.getId());
+            examRegistrationDao.update(examRegistration);
+        } else {
+            examRegistrationDao.insert(examRegistration);
         }
 
         ExamRegistrationPayment examRegistrationPayment = new ExamRegistrationPayment();
@@ -161,10 +165,10 @@ public class ExamRegistrationServiceImpl extends BaseServiceImpl<Long, ExamRegis
             pageInfo.setTotal(count);
             params.put("offset", pageInfo.getOffset());
             dataList = this.getDAO().queryPage(params);
-            List<Integer> examIds = dataList.stream().filter(e->Objects.nonNull(e.getOrganId())).map(ExamRegistration::getExaminationBasicId).collect(Collectors.toList());
+            List<Integer> examIds = dataList.stream().filter(e -> Objects.nonNull(e.getOrganId())).map(ExamRegistration::getExaminationBasicId).collect(Collectors.toList());
             Map<Integer, String> examIdNameMap = this.getMap("examination_basic", "id_", "name_", examIds, Integer.class, String.class);
 
-            List<Integer> organIds = dataList.stream().filter(e->Objects.nonNull(e.getOrganId())).map(ExamRegistration::getOrganId).collect(Collectors.toList());
+            List<Integer> organIds = dataList.stream().filter(e -> Objects.nonNull(e.getOrganId())).map(ExamRegistration::getOrganId).collect(Collectors.toList());
             Map<Integer, String> organIdNameMap = this.getMap("organization", "id_", "name_", organIds, Integer.class, String.class);
 
             List<Integer> subjectIds = dataList.stream().map(ExamRegistration::getSubjectId).collect(Collectors.toList());
@@ -252,18 +256,18 @@ public class ExamRegistrationServiceImpl extends BaseServiceImpl<Long, ExamRegis
 
     @Override
     public void updateExamRegistration(ExamRegistration examRegistration) {
-        if(Objects.isNull(examRegistration.getId())){
+        if (Objects.isNull(examRegistration.getId())) {
             throw new BizException("请指定学员报名信息");
         }
         ExamRegistration er = examRegistrationDao.get(examRegistration.getId().longValue());
-        if(Objects.isNull(er)) {
+        if (Objects.isNull(er)) {
             throw new BizException("学员报名信息不存在");
         }
-        if(!StudentRegistrationStatusEnum.AUDIT_WAIT.equals(er.getStatus())){
+        if (!StudentRegistrationStatusEnum.AUDIT_WAIT.equals(er.getStatus())) {
             throw new BizException("审核状态错误");
         }
-        if(!StudentRegistrationStatusEnum.AUDIT_PASS.equals(examRegistration.getStatus())
-            &&!StudentRegistrationStatusEnum.AUDIT_REJECT.equals(examRegistration.getStatus())){
+        if (!StudentRegistrationStatusEnum.AUDIT_PASS.equals(examRegistration.getStatus())
+                && !StudentRegistrationStatusEnum.AUDIT_REJECT.equals(examRegistration.getStatus())) {
             throw new BizException("审核状态错误");
         }
         examRegistrationDao.update(examRegistration);

+ 15 - 0
edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/impl/SubjectServiceImpl.java

@@ -2,6 +2,7 @@ package com.keao.edu.user.service.impl;
 
 
 import com.keao.edu.common.dal.BaseDAO;
+import com.keao.edu.common.exception.BizException;
 import com.keao.edu.common.page.PageInfo;
 import com.keao.edu.common.service.impl.BaseServiceImpl;
 import com.keao.edu.user.dao.SubjectDao;
@@ -39,6 +40,20 @@ public class SubjectServiceImpl extends BaseServiceImpl<Integer, Subject> implem
     @Override
     public void upSetSubject(Subject subject) {
         if(subject.getDelFlag() != null && subject.getDelFlag() == true){
+            Subject subject1 = subjectDao.get(subject.getId());
+            if(subject1.getParentSubjectId() == 0){
+                //是否有子类
+                List<Subject> byParentId = subjectDao.findByParentId(subject1.getParentSubjectId(), YesOrNoEnum.NO, subject.getTenantId());
+                if(byParentId != null && byParentId.size() > 0){
+                    throw new BizException("操作失败:有未删除的专业");
+                }
+            }else {
+                //是否在使用
+                int num = subjectDao.countExamSubject(subject.getId());
+                if(num > 0){
+                    throw new BizException("操作失败:当前专业正在使用");
+                }
+            }
             subjectDao.delete(subject.getId());
             return;
         }

+ 30 - 1
edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/impl/TeacherServiceImpl.java

@@ -5,6 +5,7 @@ import com.keao.edu.auth.api.client.SysUserFeignService;
 import com.keao.edu.auth.api.entity.SysUser;
 import com.keao.edu.common.dal.BaseDAO;
 import com.keao.edu.common.exception.BizException;
+import com.keao.edu.common.page.PageInfo;
 import com.keao.edu.common.service.impl.BaseServiceImpl;
 import com.keao.edu.im.api.client.ImFeignService;
 import com.keao.edu.im.api.entity.ImResult;
@@ -13,13 +14,16 @@ import com.keao.edu.user.dao.SysUserDao;
 import com.keao.edu.user.dao.TeacherDao;
 import com.keao.edu.user.entity.Teacher;
 import com.keao.edu.user.enums.YesOrNoEnum;
+import com.keao.edu.user.page.TeacherQueryInfo;
 import com.keao.edu.user.service.TeacherService;
+import com.keao.edu.util.collection.MapUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.util.Date;
+import java.util.*;
+import java.util.stream.Collectors;
 
 @Service
 public class TeacherServiceImpl extends BaseServiceImpl<Integer, Teacher> implements TeacherService {
@@ -103,4 +107,29 @@ public class TeacherServiceImpl extends BaseServiceImpl<Integer, Teacher> implem
 		sysUserDao.update(sysUser);
 		imFeignService.update(new ImUserModel(sysUser.getId().toString(),sysUser.getRealName(),sysUser.getAvatar()));
 	}
+
+	@Override
+	public PageInfo<Teacher> queryTeacherPage(TeacherQueryInfo queryInfo) {
+		PageInfo<Teacher> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
+		Map<String, Object> params = new HashMap<>();
+		MapUtil.populateMap(params, queryInfo);
+
+		List<Teacher> dataList = null;
+		int count = this.findCount(params);
+		if (count > 0) {
+			pageInfo.setTotal(count);
+			params.put("offset", pageInfo.getOffset());
+			dataList = this.getDAO().queryPage(params);
+			Set<Integer> teacherIds = dataList.stream().map(e -> e.getUserId()).collect(Collectors.toSet());
+			Map<Integer,String> subjectNames = MapUtil.convertMybatisMap(teacherDao.queryTeacherSubjectNames(teacherIds));
+			dataList.forEach(e->{
+				e.setSubjectName(subjectNames.get(e.getUserId()));
+			});
+		}
+		if (count == 0) {
+			dataList = new ArrayList<>();
+		}
+		pageInfo.setRows(dataList);
+		return pageInfo;
+	}
 }

+ 16 - 0
edu-user/edu-user-server/src/main/resources/bootstrap-dev.properties

@@ -0,0 +1,16 @@
+#\u6307\u5b9a\u5f00\u53d1\u73af\u5883
+#spring.profiles.active=dev
+#\u670d\u52a1\u5668\u5730\u5740
+spring.cloud.nacos.config.server-addr=47.114.176.40:8848
+#\u9ed8\u8ba4\u4e3aPublic\u547d\u540d\u7a7a\u95f4,\u53ef\u4ee5\u7701\u7565\u4e0d\u5199
+spring.cloud.nacos.config.namespace=a5c10b43-0c4d-4e3b-a0ad-9af651cfe89c
+#\u6307\u5b9a\u914d\u7f6e\u7fa4\u7ec4 --\u5982\u679c\u662fPublic\u547d\u540d\u7a7a\u95f4 \u5219\u53ef\u4ee5\u7701\u7565\u7fa4\u7ec4\u914d\u7f6e
+spring.cloud.nacos.config.group=DEFAULT_GROUP
+#\u6587\u4ef6\u540d -- \u5982\u679c\u6ca1\u6709\u914d\u7f6e\u5219\u9ed8\u8ba4\u4e3a ${spring.appliction.name}
+spring.cloud.nacos.config.prefix=user
+#\u6307\u5b9a\u6587\u4ef6\u540e\u7f00
+spring.cloud.nacos.config.file-extension=yaml
+#\u662f\u5426\u52a8\u6001\u5237\u65b0
+spring.cloud.nacos.config.refresh.enabled=true
+#\u662f\u5426\u542f\u7528nacos\u914d\u7f6e\u4e2d\u5fc3
+spring.cloud.nacos.config.enabled=true

+ 16 - 0
edu-user/edu-user-server/src/main/resources/bootstrap-prod.properties

@@ -0,0 +1,16 @@
+#\u6307\u5b9a\u5f00\u53d1\u73af\u5883
+#spring.profiles.active=dev
+#\u670d\u52a1\u5668\u5730\u5740
+spring.cloud.nacos.config.server-addr=47.96.80.97:8848
+#\u9ed8\u8ba4\u4e3aPublic\u547d\u540d\u7a7a\u95f4,\u53ef\u4ee5\u7701\u7565\u4e0d\u5199
+spring.cloud.nacos.config.namespace=f40a7594-4bd0-4bc6-8397-9353c6d2e63a
+#\u6307\u5b9a\u914d\u7f6e\u7fa4\u7ec4 --\u5982\u679c\u662fPublic\u547d\u540d\u7a7a\u95f4 \u5219\u53ef\u4ee5\u7701\u7565\u7fa4\u7ec4\u914d\u7f6e
+spring.cloud.nacos.config.group=DEFAULT_GROUP
+#\u6587\u4ef6\u540d -- \u5982\u679c\u6ca1\u6709\u914d\u7f6e\u5219\u9ed8\u8ba4\u4e3a ${spring.appliction.name}
+spring.cloud.nacos.config.prefix=user
+#\u6307\u5b9a\u6587\u4ef6\u540e\u7f00
+spring.cloud.nacos.config.file-extension=yaml
+#\u662f\u5426\u52a8\u6001\u5237\u65b0
+spring.cloud.nacos.config.refresh.enabled=true
+#\u662f\u5426\u542f\u7528nacos\u914d\u7f6e\u4e2d\u5fc3
+spring.cloud.nacos.config.enabled=true

+ 1 - 1
edu-user/edu-user-server/src/main/resources/config/mybatis/EmployeeMapper.xml

@@ -104,7 +104,7 @@
 	</update>
 	<sql id="employeeQueryPage">
 		<where>
-				e.del_flag_ = 0 AND e.tenant_id_ = #{tenantId}
+				e.del_flag_ = 0 AND e.tenant_id_ = #{tenantId} AND e.user_id_ != #{userId}
 			<if test="search != null and search != ''">
 				AND (e.user_id_ = #{search} OR su.phone_ LIKE CONCAT('%',#{search},'%') OR su.real_name_ LIKE CONCAT('%',#{search},'%'))
 			</if>

+ 22 - 4
edu-user/edu-user-server/src/main/resources/config/mybatis/ExamRegistrationPaymentMapper.xml

@@ -122,6 +122,12 @@
             <if test="examRegistrationId!=null">
                 AND erp.exam_registration_id_=#{examRegistrationId}
             </if>
+            <if test="cardNo!=null">
+                AND ec.card_no_=#{cardNo}
+            </if>
+            <if test="examName!=null">
+                AND ec.card_no_=#{cardNo}
+            </if>
             <if test="organIds!=null">
                 AND erp.organ_id_ IN
                 <foreach collection="organIds" item="organId" separator="," open="(" close=")">
@@ -135,17 +141,28 @@
     </sql>
 
     <!-- 分页查询 -->
-    <select id="queryPage" resultMap="pageList" parameterType="map">
-        SELECT erp.* FROM exam_registration_payment erp
+    <select id="queryPage" resultMap="ExamRegistrationPayment" parameterType="map">
+        SELECT erp.*,eb.exam_location_id_list_ FROM exam_registration_payment erp
+        LEFT JOIN exam_certification ec ON erp.exam_registration_id_ = ec.exam_registration_id_
+        LEFT JOIN examination_basic eb ON erp.examination_basic_id_ = eb.id_
+        <include refid="queryCondition" />
+        <include refid="global.limit"/>
+    </select>
+
+    <!-- 分页查询 -->
+    <select id="getOrderPageList" resultMap="ExamRegistrationPaymentDto" parameterType="map">
+        SELECT erp.*,eb.exam_location_id_list_ FROM exam_registration_payment erp
         LEFT JOIN exam_certification ec ON erp.exam_registration_id_ = ec.exam_registration_id_
+        LEFT JOIN examination_basic eb ON erp.examination_basic_id_ = eb.id_
         <include refid="queryCondition" />
         <include refid="global.limit"/>
     </select>
 
     <!-- 查询当前表的总记录数 -->
-    <select id="queryCount" resultType="int">
+    <select id="getOrderListCount" resultType="int">
         SELECT COUNT(*) FROM exam_registration_payment erp
         LEFT JOIN exam_certification ec ON erp.exam_registration_id_ = ec.exam_registration_id_
+        LEFT JOIN examination_basic eb ON erp.examination_basic_id_ = eb.id_
         <include refid="queryCondition" />
     </select>
 
@@ -185,7 +202,8 @@
         <![CDATA[ AND create_time_ <= ]]> #{beforeTime}
     </select>
 
-    <resultMap id="pageList" type="com.keao.edu.user.entity.ExamRegistrationPayment" extends="ExamRegistrationPayment">
+    <resultMap id="ExamRegistrationPaymentDto" type="com.keao.edu.user.dto.ExamRegistrationPaymentDto" extends="ExamRegistrationPayment">
         <association property="examRegistration" select="com.keao.edu.user.dao.ExamRegistrationDao.getExamRegistrationInfo" column="{id=exam_registration_id_}"/>
+        <association property="examLocations"  select="com.keao.edu.user.dao.ExamLocationDao.getExamLocationByIds" column="{ids=exam_location_id_list_}"/>
     </resultMap>
 </mapper>

+ 4 - 0
edu-user/edu-user-server/src/main/resources/config/mybatis/SubjectMapper.xml

@@ -136,4 +136,8 @@
           #{subjectId}
       </foreach>
     </select>
+    <select id="countExamSubject" resultType="java.lang.Integer">
+        SELECT COUNT(0) FROM exam_subject es
+        WHERE es.subject_id_ IN (SELECT s.id_ FROM `subject` s WHERE s.id_ = #{id});
+    </select>
 </mapper>

+ 10 - 1
edu-user/edu-user-server/src/main/resources/config/mybatis/TeacherMapper.xml

@@ -19,7 +19,7 @@
 		<result column="create_time_" property="createTime" />
 		<result column="update_time_" property="updateTime" />
 		<result column="tenant_id_" property="tenantId" />
-		<association property="sysUser" columnPrefix="teacher_" resultMap="com.keao.edu.user.dao.SysUserDao.SysUser"/>
+		<association property="sysUser" resultMap="com.keao.edu.user.dao.SysUserDao.SysUser"/>
 	</resultMap>
 
 	<resultMap id="TeacherDto" type="com.keao.edu.user.dto.TeacherDto" extends="Teacher">
@@ -116,4 +116,13 @@
 			(#{teacherId})
 		</foreach>
 	</select>
+	<select id="queryTeacherSubjectNames" resultType="java.util.Map">
+		SELECT t.user_id_ 'key',GROUP_CONCAT(s.name_) 'value' FROM teacher t
+		LEFT JOIN `subject` s ON FIND_IN_SET(s.id_,t.subject_id_list_)
+		WHERE t.user_id_ IN
+		<foreach collection="teacherIds" separator="," open="(" close=")" item="item">
+			#{item}
+		</foreach>
+		GROUP BY t.user_id_
+	</select>
 </mapper>

+ 6 - 0
edu-util/pom.xml

@@ -94,5 +94,11 @@
 			<groupId>javax.servlet</groupId>
 			<artifactId>javax.servlet-api</artifactId>
 		</dependency>
+		
+		<dependency>
+			<groupId>net.coobird</groupId>
+			<artifactId>thumbnailator</artifactId>
+			<version>0.4.11</version>
+		</dependency>
 	</dependencies>
 </project>

+ 5 - 0
edu-zuul/pom.xml

@@ -23,6 +23,11 @@
 
 		<dependency>
 			<groupId>org.springframework.cloud</groupId>
+			<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
+		</dependency>
+
+		<dependency>
+			<groupId>org.springframework.cloud</groupId>
 			<artifactId>spring-cloud-starter-netflix-zuul</artifactId>
 		</dependency>
 

+ 16 - 0
edu-zuul/src/main/resources/bootstrap-dev.properties

@@ -0,0 +1,16 @@
+#\u6307\u5b9a\u5f00\u53d1\u73af\u5883
+#spring.profiles.active=dev
+#\u670d\u52a1\u5668\u5730\u5740
+spring.cloud.nacos.config.server-addr=47.114.176.40:8848
+#\u9ed8\u8ba4\u4e3aPublic\u547d\u540d\u7a7a\u95f4,\u53ef\u4ee5\u7701\u7565\u4e0d\u5199
+spring.cloud.nacos.config.namespace=a5c10b43-0c4d-4e3b-a0ad-9af651cfe89c
+#\u6307\u5b9a\u914d\u7f6e\u7fa4\u7ec4 --\u5982\u679c\u662fPublic\u547d\u540d\u7a7a\u95f4 \u5219\u53ef\u4ee5\u7701\u7565\u7fa4\u7ec4\u914d\u7f6e
+spring.cloud.nacos.config.group=DEFAULT_GROUP
+#\u6587\u4ef6\u540d -- \u5982\u679c\u6ca1\u6709\u914d\u7f6e\u5219\u9ed8\u8ba4\u4e3a ${spring.appliction.name}
+spring.cloud.nacos.config.prefix=zuul
+#\u6307\u5b9a\u6587\u4ef6\u540e\u7f00
+spring.cloud.nacos.config.file-extension=yaml
+#\u662f\u5426\u52a8\u6001\u5237\u65b0
+spring.cloud.nacos.config.refresh.enabled=true
+#\u662f\u5426\u542f\u7528nacos\u914d\u7f6e\u4e2d\u5fc3
+spring.cloud.nacos.config.enabled=true

+ 16 - 0
edu-zuul/src/main/resources/bootstrap-prod.properties

@@ -0,0 +1,16 @@
+#\u6307\u5b9a\u5f00\u53d1\u73af\u5883
+#spring.profiles.active=dev
+#\u670d\u52a1\u5668\u5730\u5740
+spring.cloud.nacos.config.server-addr=47.96.80.97:8848
+#\u9ed8\u8ba4\u4e3aPublic\u547d\u540d\u7a7a\u95f4,\u53ef\u4ee5\u7701\u7565\u4e0d\u5199
+spring.cloud.nacos.config.namespace=f40a7594-4bd0-4bc6-8397-9353c6d2e63a
+#\u6307\u5b9a\u914d\u7f6e\u7fa4\u7ec4 --\u5982\u679c\u662fPublic\u547d\u540d\u7a7a\u95f4 \u5219\u53ef\u4ee5\u7701\u7565\u7fa4\u7ec4\u914d\u7f6e
+spring.cloud.nacos.config.group=DEFAULT_GROUP
+#\u6587\u4ef6\u540d -- \u5982\u679c\u6ca1\u6709\u914d\u7f6e\u5219\u9ed8\u8ba4\u4e3a ${spring.appliction.name}
+spring.cloud.nacos.config.prefix=zuul
+#\u6307\u5b9a\u6587\u4ef6\u540e\u7f00
+spring.cloud.nacos.config.file-extension=yaml
+#\u662f\u5426\u52a8\u6001\u5237\u65b0
+spring.cloud.nacos.config.refresh.enabled=true
+#\u662f\u5426\u542f\u7528nacos\u914d\u7f6e\u4e2d\u5fc3
+spring.cloud.nacos.config.enabled=true

+ 6 - 0
pom.xml

@@ -152,6 +152,12 @@
 				<version>1.9.5</version>
 			</dependency>
 
+			<dependency>
+				<groupId>org.springframework.cloud</groupId>
+				<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
+				<version>0.9.0.RELEASE</version>
+			</dependency>
+
 		</dependencies>
 	</dependencyManagement>