diff --git a/orange-demo-multi-service/OrangeMultiDemo.iml b/orange-demo-multi-service/OrangeMultiDemo.iml new file mode 100644 index 00000000..45fd11ef --- /dev/null +++ b/orange-demo-multi-service/OrangeMultiDemo.iml @@ -0,0 +1,146 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-multi-service/admin-monitor/admin-monitor.iml b/orange-demo-multi-service/admin-monitor/admin-monitor.iml new file mode 100644 index 00000000..d0c4ed63 --- /dev/null +++ b/orange-demo-multi-service/admin-monitor/admin-monitor.iml @@ -0,0 +1,226 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-multi-service/admin-monitor/pom.xml b/orange-demo-multi-service/admin-monitor/pom.xml index 67352a7a..0d4c2984 100644 --- a/orange-demo-multi-service/admin-monitor/pom.xml +++ b/orange-demo-multi-service/admin-monitor/pom.xml @@ -3,7 +3,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> com.orange.demo - OrangeDemo + OrangeMultiDemo 1.0.0 4.0.0 diff --git a/orange-demo-multi-service/admin-monitor/src/main/java/com/orange/demo/adminmonitor/AdminMonitorApplication.java b/orange-demo-multi-service/admin-monitor/src/main/java/com/orange/demo/adminmonitor/AdminMonitorApplication.java index efd7fddb..099c81e9 100644 --- a/orange-demo-multi-service/admin-monitor/src/main/java/com/orange/demo/adminmonitor/AdminMonitorApplication.java +++ b/orange-demo-multi-service/admin-monitor/src/main/java/com/orange/demo/adminmonitor/AdminMonitorApplication.java @@ -8,8 +8,8 @@ import org.springframework.cloud.client.discovery.EnableDiscoveryClient; /** * 服务指标监控启动类。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @SpringBootApplication @EnableAdminServer diff --git a/orange-demo-multi-service/application/application-common/application-common.iml b/orange-demo-multi-service/application/application-common/application-common.iml new file mode 100644 index 00000000..382c9947 --- /dev/null +++ b/orange-demo-multi-service/application/application-common/application-common.iml @@ -0,0 +1,259 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-multi-service/application/application-common/src/main/java/com/orange/demo/application/common/constant/DeviceType.java b/orange-demo-multi-service/application/application-common/src/main/java/com/orange/demo/application/common/constant/DeviceType.java index 01f6abee..0e8b47f2 100644 --- a/orange-demo-multi-service/application/application-common/src/main/java/com/orange/demo/application/common/constant/DeviceType.java +++ b/orange-demo-multi-service/application/application-common/src/main/java/com/orange/demo/application/common/constant/DeviceType.java @@ -6,8 +6,8 @@ import java.util.Map; /** * 设备类型常量字典对象。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ public final class DeviceType { diff --git a/orange-demo-multi-service/application/application-common/src/main/java/com/orange/demo/application/common/constant/ExpLevel.java b/orange-demo-multi-service/application/application-common/src/main/java/com/orange/demo/application/common/constant/ExpLevel.java index c5ef85fd..ef5a760c 100644 --- a/orange-demo-multi-service/application/application-common/src/main/java/com/orange/demo/application/common/constant/ExpLevel.java +++ b/orange-demo-multi-service/application/application-common/src/main/java/com/orange/demo/application/common/constant/ExpLevel.java @@ -6,8 +6,8 @@ import java.util.Map; /** * 经验等级常量字典对象。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ public final class ExpLevel { diff --git a/orange-demo-multi-service/application/application-common/src/main/java/com/orange/demo/application/common/constant/Gender.java b/orange-demo-multi-service/application/application-common/src/main/java/com/orange/demo/application/common/constant/Gender.java index f99c60b3..e7569526 100644 --- a/orange-demo-multi-service/application/application-common/src/main/java/com/orange/demo/application/common/constant/Gender.java +++ b/orange-demo-multi-service/application/application-common/src/main/java/com/orange/demo/application/common/constant/Gender.java @@ -6,8 +6,8 @@ import java.util.Map; /** * 性别常量字典对象。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ public final class Gender { diff --git a/orange-demo-multi-service/application/application-common/src/main/java/com/orange/demo/application/common/constant/StudentActionType.java b/orange-demo-multi-service/application/application-common/src/main/java/com/orange/demo/application/common/constant/StudentActionType.java index 77e4d3b2..c53a1d2e 100644 --- a/orange-demo-multi-service/application/application-common/src/main/java/com/orange/demo/application/common/constant/StudentActionType.java +++ b/orange-demo-multi-service/application/application-common/src/main/java/com/orange/demo/application/common/constant/StudentActionType.java @@ -6,8 +6,8 @@ import java.util.Map; /** * 学生行为常量字典对象。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ public final class StudentActionType { diff --git a/orange-demo-multi-service/application/application-common/src/main/java/com/orange/demo/application/common/constant/StudentStatus.java b/orange-demo-multi-service/application/application-common/src/main/java/com/orange/demo/application/common/constant/StudentStatus.java index 64cfb279..23c7bece 100644 --- a/orange-demo-multi-service/application/application-common/src/main/java/com/orange/demo/application/common/constant/StudentStatus.java +++ b/orange-demo-multi-service/application/application-common/src/main/java/com/orange/demo/application/common/constant/StudentStatus.java @@ -6,8 +6,8 @@ import java.util.Map; /** * 学生状态常量字典对象。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ public final class StudentStatus { diff --git a/orange-demo-multi-service/application/application-common/src/main/java/com/orange/demo/application/common/constant/Subject.java b/orange-demo-multi-service/application/application-common/src/main/java/com/orange/demo/application/common/constant/Subject.java index a4abe567..9fe2ed98 100644 --- a/orange-demo-multi-service/application/application-common/src/main/java/com/orange/demo/application/common/constant/Subject.java +++ b/orange-demo-multi-service/application/application-common/src/main/java/com/orange/demo/application/common/constant/Subject.java @@ -6,8 +6,8 @@ import java.util.Map; /** * 学科常量字典对象。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ public final class Subject { diff --git a/orange-demo-multi-service/application/application.iml b/orange-demo-multi-service/application/application.iml new file mode 100644 index 00000000..ee4abb7e --- /dev/null +++ b/orange-demo-multi-service/application/application.iml @@ -0,0 +1,193 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-multi-service/application/course-class/course-class-interface/course-class-interface.iml b/orange-demo-multi-service/application/course-class/course-class-interface/course-class-interface.iml new file mode 100644 index 00000000..6cc7f266 --- /dev/null +++ b/orange-demo-multi-service/application/course-class/course-class-interface/course-class-interface.iml @@ -0,0 +1,260 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-multi-service/application/course-class/course-class-interface/src/main/java/com/orange/demo/courseclassinterface/client/AreaCodeClient.java b/orange-demo-multi-service/application/course-class/course-class-interface/src/main/java/com/orange/demo/courseclassinterface/client/AreaCodeClient.java index 8a8b02fc..eeb7ac45 100644 --- a/orange-demo-multi-service/application/course-class/course-class-interface/src/main/java/com/orange/demo/courseclassinterface/client/AreaCodeClient.java +++ b/orange-demo-multi-service/application/course-class/course-class-interface/src/main/java/com/orange/demo/courseclassinterface/client/AreaCodeClient.java @@ -16,8 +16,8 @@ import java.util.*; /** * 行政区划远程访问接口类。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @FeignClient(name = "system-service", fallbackFactory = AreaCodeClient.AreaCodeClientFallbackFactory.class) public interface AreaCodeClient extends BaseClient { diff --git a/orange-demo-multi-service/application/course-class/course-class-interface/src/main/java/com/orange/demo/courseclassinterface/client/CourseClient.java b/orange-demo-multi-service/application/course-class/course-class-interface/src/main/java/com/orange/demo/courseclassinterface/client/CourseClient.java index 51908709..c94cfd23 100644 --- a/orange-demo-multi-service/application/course-class/course-class-interface/src/main/java/com/orange/demo/courseclassinterface/client/CourseClient.java +++ b/orange-demo-multi-service/application/course-class/course-class-interface/src/main/java/com/orange/demo/courseclassinterface/client/CourseClient.java @@ -16,8 +16,8 @@ import java.util.*; /** * 课程数据服务远程数据操作访问接口。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @FeignClient( name = "course-class", diff --git a/orange-demo-multi-service/application/course-class/course-class-interface/src/main/java/com/orange/demo/courseclassinterface/client/GradeClient.java b/orange-demo-multi-service/application/course-class/course-class-interface/src/main/java/com/orange/demo/courseclassinterface/client/GradeClient.java index 2cee5041..7ecf9ae2 100644 --- a/orange-demo-multi-service/application/course-class/course-class-interface/src/main/java/com/orange/demo/courseclassinterface/client/GradeClient.java +++ b/orange-demo-multi-service/application/course-class/course-class-interface/src/main/java/com/orange/demo/courseclassinterface/client/GradeClient.java @@ -16,8 +16,8 @@ import java.util.*; /** * 服务远程数据操作访问接口。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @FeignClient( name = "course-class", diff --git a/orange-demo-multi-service/application/course-class/course-class-interface/src/main/java/com/orange/demo/courseclassinterface/client/SchoolInfoClient.java b/orange-demo-multi-service/application/course-class/course-class-interface/src/main/java/com/orange/demo/courseclassinterface/client/SchoolInfoClient.java index c9e3cd58..dae8f5f4 100644 --- a/orange-demo-multi-service/application/course-class/course-class-interface/src/main/java/com/orange/demo/courseclassinterface/client/SchoolInfoClient.java +++ b/orange-demo-multi-service/application/course-class/course-class-interface/src/main/java/com/orange/demo/courseclassinterface/client/SchoolInfoClient.java @@ -16,8 +16,8 @@ import java.util.*; /** * 校区数据服务远程数据操作访问接口。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @FeignClient( name = "course-class", diff --git a/orange-demo-multi-service/application/course-class/course-class-interface/src/main/java/com/orange/demo/courseclassinterface/client/StudentClassClient.java b/orange-demo-multi-service/application/course-class/course-class-interface/src/main/java/com/orange/demo/courseclassinterface/client/StudentClassClient.java index ec5570d8..c32152ff 100644 --- a/orange-demo-multi-service/application/course-class/course-class-interface/src/main/java/com/orange/demo/courseclassinterface/client/StudentClassClient.java +++ b/orange-demo-multi-service/application/course-class/course-class-interface/src/main/java/com/orange/demo/courseclassinterface/client/StudentClassClient.java @@ -16,8 +16,8 @@ import java.util.*; /** * 班级数据服务远程数据操作访问接口。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @FeignClient( name = "course-class", diff --git a/orange-demo-multi-service/application/course-class/course-class-interface/src/main/java/com/orange/demo/courseclassinterface/client/StudentClient.java b/orange-demo-multi-service/application/course-class/course-class-interface/src/main/java/com/orange/demo/courseclassinterface/client/StudentClient.java index 4a5d31e9..a4aeac2d 100644 --- a/orange-demo-multi-service/application/course-class/course-class-interface/src/main/java/com/orange/demo/courseclassinterface/client/StudentClient.java +++ b/orange-demo-multi-service/application/course-class/course-class-interface/src/main/java/com/orange/demo/courseclassinterface/client/StudentClient.java @@ -16,8 +16,8 @@ import java.util.*; /** * 学生数据服务远程数据操作访问接口。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @FeignClient( name = "course-class", diff --git a/orange-demo-multi-service/application/course-class/course-class-interface/src/main/java/com/orange/demo/courseclassinterface/constant/ClassLevel.java b/orange-demo-multi-service/application/course-class/course-class-interface/src/main/java/com/orange/demo/courseclassinterface/constant/ClassLevel.java index 32cf85c0..7ac9f7ee 100644 --- a/orange-demo-multi-service/application/course-class/course-class-interface/src/main/java/com/orange/demo/courseclassinterface/constant/ClassLevel.java +++ b/orange-demo-multi-service/application/course-class/course-class-interface/src/main/java/com/orange/demo/courseclassinterface/constant/ClassLevel.java @@ -6,8 +6,8 @@ import java.util.Map; /** * 班级级别常量字典对象。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ public final class ClassLevel { diff --git a/orange-demo-multi-service/application/course-class/course-class-interface/src/main/java/com/orange/demo/courseclassinterface/constant/ClassStatus.java b/orange-demo-multi-service/application/course-class/course-class-interface/src/main/java/com/orange/demo/courseclassinterface/constant/ClassStatus.java index 98453a31..deee73c0 100644 --- a/orange-demo-multi-service/application/course-class/course-class-interface/src/main/java/com/orange/demo/courseclassinterface/constant/ClassStatus.java +++ b/orange-demo-multi-service/application/course-class/course-class-interface/src/main/java/com/orange/demo/courseclassinterface/constant/ClassStatus.java @@ -6,8 +6,8 @@ import java.util.Map; /** * 班级状态常量字典对象。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ public final class ClassStatus { diff --git a/orange-demo-multi-service/application/course-class/course-class-interface/src/main/java/com/orange/demo/courseclassinterface/constant/CourseDifficult.java b/orange-demo-multi-service/application/course-class/course-class-interface/src/main/java/com/orange/demo/courseclassinterface/constant/CourseDifficult.java index 15d394e4..8e3cee38 100644 --- a/orange-demo-multi-service/application/course-class/course-class-interface/src/main/java/com/orange/demo/courseclassinterface/constant/CourseDifficult.java +++ b/orange-demo-multi-service/application/course-class/course-class-interface/src/main/java/com/orange/demo/courseclassinterface/constant/CourseDifficult.java @@ -6,8 +6,8 @@ import java.util.Map; /** * 课程难度常量字典对象。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ public final class CourseDifficult { diff --git a/orange-demo-multi-service/application/course-class/course-class-interface/src/main/java/com/orange/demo/courseclassinterface/dto/AreaCodeDto.java b/orange-demo-multi-service/application/course-class/course-class-interface/src/main/java/com/orange/demo/courseclassinterface/dto/AreaCodeDto.java index 6d543bab..2a5fdacd 100644 --- a/orange-demo-multi-service/application/course-class/course-class-interface/src/main/java/com/orange/demo/courseclassinterface/dto/AreaCodeDto.java +++ b/orange-demo-multi-service/application/course-class/course-class-interface/src/main/java/com/orange/demo/courseclassinterface/dto/AreaCodeDto.java @@ -5,8 +5,8 @@ import lombok.Data; /** * 行政区划Dto。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Data public class AreaCodeDto { diff --git a/orange-demo-multi-service/application/course-class/course-class-interface/src/main/java/com/orange/demo/courseclassinterface/dto/ClassCourseDto.java b/orange-demo-multi-service/application/course-class/course-class-interface/src/main/java/com/orange/demo/courseclassinterface/dto/ClassCourseDto.java new file mode 100644 index 00000000..0fc0aa51 --- /dev/null +++ b/orange-demo-multi-service/application/course-class/course-class-interface/src/main/java/com/orange/demo/courseclassinterface/dto/ClassCourseDto.java @@ -0,0 +1,34 @@ +package com.orange.demo.courseclassinterface.dto; + +import com.orange.demo.common.core.validator.UpdateGroup; + +import lombok.Data; + +import javax.validation.constraints.*; + +/** + * ClassCourseDto对象。 + * + * @author Jerry + * @date 2020-09-27 + */ +@Data +public class ClassCourseDto { + + /** + * 班级Id。 + */ + @NotNull(message = "数据验证失败,班级Id不能为空!", groups = {UpdateGroup.class}) + private Long classId; + + /** + * 课程Id。 + */ + @NotNull(message = "数据验证失败,课程Id不能为空!", groups = {UpdateGroup.class}) + private Long courseId; + + /** + * 课程顺序(数值越小越靠前)。 + */ + private Integer courseOrder; +} diff --git a/orange-demo-multi-service/application/course-class/course-class-interface/src/main/java/com/orange/demo/courseclassinterface/dto/ClassStudentDto.java b/orange-demo-multi-service/application/course-class/course-class-interface/src/main/java/com/orange/demo/courseclassinterface/dto/ClassStudentDto.java new file mode 100644 index 00000000..1c1bafb8 --- /dev/null +++ b/orange-demo-multi-service/application/course-class/course-class-interface/src/main/java/com/orange/demo/courseclassinterface/dto/ClassStudentDto.java @@ -0,0 +1,29 @@ +package com.orange.demo.courseclassinterface.dto; + +import com.orange.demo.common.core.validator.UpdateGroup; + +import lombok.Data; + +import javax.validation.constraints.*; + +/** + * ClassStudentDto对象。 + * + * @author Jerry + * @date 2020-09-27 + */ +@Data +public class ClassStudentDto { + + /** + * 班级Id。 + */ + @NotNull(message = "数据验证失败,班级Id不能为空!", groups = {UpdateGroup.class}) + private Long classId; + + /** + * 学生Id。 + */ + @NotNull(message = "数据验证失败,学生Id不能为空!", groups = {UpdateGroup.class}) + private Long studentId; +} diff --git a/orange-demo-multi-service/application/course-class/course-class-interface/src/main/java/com/orange/demo/courseclassinterface/dto/CourseDto.java b/orange-demo-multi-service/application/course-class/course-class-interface/src/main/java/com/orange/demo/courseclassinterface/dto/CourseDto.java index 60aaa773..d75219e3 100644 --- a/orange-demo-multi-service/application/course-class/course-class-interface/src/main/java/com/orange/demo/courseclassinterface/dto/CourseDto.java +++ b/orange-demo-multi-service/application/course-class/course-class-interface/src/main/java/com/orange/demo/courseclassinterface/dto/CourseDto.java @@ -16,8 +16,8 @@ import java.util.Map; /** * CourseDto对象。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Data public class CourseDto { diff --git a/orange-demo-multi-service/application/course-class/course-class-interface/src/main/java/com/orange/demo/courseclassinterface/dto/GradeDto.java b/orange-demo-multi-service/application/course-class/course-class-interface/src/main/java/com/orange/demo/courseclassinterface/dto/GradeDto.java index 56daf3af..e4b76e7d 100644 --- a/orange-demo-multi-service/application/course-class/course-class-interface/src/main/java/com/orange/demo/courseclassinterface/dto/GradeDto.java +++ b/orange-demo-multi-service/application/course-class/course-class-interface/src/main/java/com/orange/demo/courseclassinterface/dto/GradeDto.java @@ -9,8 +9,8 @@ import javax.validation.constraints.*; /** * GradeDto对象。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Data public class GradeDto { @@ -26,10 +26,4 @@ public class GradeDto { */ @NotBlank(message = "数据验证失败,年级名称不能为空!") private String gradeName; - - /** - * 是否正在使用(0:不是,1:是)。 - */ - @NotNull(message = "数据验证失败,是否正在使用(0:不是,1:是)不能为空!") - private Integer status; } diff --git a/orange-demo-multi-service/application/course-class/course-class-interface/src/main/java/com/orange/demo/courseclassinterface/dto/SchoolInfoDto.java b/orange-demo-multi-service/application/course-class/course-class-interface/src/main/java/com/orange/demo/courseclassinterface/dto/SchoolInfoDto.java index 7ee0cc24..ed7faabe 100644 --- a/orange-demo-multi-service/application/course-class/course-class-interface/src/main/java/com/orange/demo/courseclassinterface/dto/SchoolInfoDto.java +++ b/orange-demo-multi-service/application/course-class/course-class-interface/src/main/java/com/orange/demo/courseclassinterface/dto/SchoolInfoDto.java @@ -11,8 +11,8 @@ import java.util.Map; /** * SchoolInfoDto对象。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Data public class SchoolInfoDto { diff --git a/orange-demo-multi-service/application/course-class/course-class-interface/src/main/java/com/orange/demo/courseclassinterface/dto/StudentClassDto.java b/orange-demo-multi-service/application/course-class/course-class-interface/src/main/java/com/orange/demo/courseclassinterface/dto/StudentClassDto.java index 186336da..2f9185e8 100644 --- a/orange-demo-multi-service/application/course-class/course-class-interface/src/main/java/com/orange/demo/courseclassinterface/dto/StudentClassDto.java +++ b/orange-demo-multi-service/application/course-class/course-class-interface/src/main/java/com/orange/demo/courseclassinterface/dto/StudentClassDto.java @@ -14,8 +14,8 @@ import java.util.Map; /** * StudentClassDto对象。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Data public class StudentClassDto { diff --git a/orange-demo-multi-service/application/course-class/course-class-interface/src/main/java/com/orange/demo/courseclassinterface/dto/StudentDto.java b/orange-demo-multi-service/application/course-class/course-class-interface/src/main/java/com/orange/demo/courseclassinterface/dto/StudentDto.java index e024bec7..f9593c72 100644 --- a/orange-demo-multi-service/application/course-class/course-class-interface/src/main/java/com/orange/demo/courseclassinterface/dto/StudentDto.java +++ b/orange-demo-multi-service/application/course-class/course-class-interface/src/main/java/com/orange/demo/courseclassinterface/dto/StudentDto.java @@ -16,8 +16,8 @@ import java.util.Map; /** * StudentDto对象。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Data public class StudentDto { @@ -81,13 +81,13 @@ public class StudentDto { /** * 总共充值学币数量。 */ - @NotNull(message = "数据验证失败,充值学币不能为空!") + @NotNull(message = "数据验证失败,充值学币不能为空!", groups = {UpdateGroup.class}) private Integer totalCoin; /** * 可用学币数量。 */ - @NotNull(message = "数据验证失败,剩余学币不能为空!") + @NotNull(message = "数据验证失败,剩余学币不能为空!", groups = {UpdateGroup.class}) private Integer leftCoin; /** @@ -110,7 +110,7 @@ public class StudentDto { /** * 学生状态 (0: 正常 1: 锁定 2: 注销)。 */ - @NotNull(message = "数据验证失败,状态 不能为空!") + @NotNull(message = "数据验证失败,状态 不能为空!", groups = {UpdateGroup.class}) @ConstDictRef(constDictClass = StudentStatus.class, message = "数据验证失败,状态 为无效值!") private Integer status; diff --git a/orange-demo-multi-service/application/course-class/course-class-service/course-class-service.iml b/orange-demo-multi-service/application/course-class/course-class-service/course-class-service.iml new file mode 100644 index 00000000..0eafbe81 --- /dev/null +++ b/orange-demo-multi-service/application/course-class/course-class-service/course-class-service.iml @@ -0,0 +1,277 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/CourseClassApplication.java b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/CourseClassApplication.java index ac3e9bdb..320a1c8a 100644 --- a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/CourseClassApplication.java +++ b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/CourseClassApplication.java @@ -8,8 +8,8 @@ import org.springframework.context.annotation.ComponentScan; /** * course-class服务启动类。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @SpringCloudApplication @EnableFeignClients(basePackages = "com.orange.demo") diff --git a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/config/ApplicationConfig.java b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/config/ApplicationConfig.java index f9cf319a..60b845cc 100644 --- a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/config/ApplicationConfig.java +++ b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/config/ApplicationConfig.java @@ -13,8 +13,8 @@ import org.springframework.context.annotation.Configuration; * uploadFileBaseDir: /user/xxx/fileRoot/ * defaultSomething: defaultValue * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Data @RefreshScope diff --git a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/config/DataSourceConfig.java b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/config/DataSourceConfig.java index 4e2c0827..dc974116 100644 --- a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/config/DataSourceConfig.java +++ b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/config/DataSourceConfig.java @@ -13,8 +13,8 @@ import javax.sql.DataSource; /** * 数据源配置Bean对象。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Configuration @EnableTransactionManagement diff --git a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/controller/AreaCodeController.java b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/controller/AreaCodeController.java index 0386b3b9..48e15feb 100644 --- a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/controller/AreaCodeController.java +++ b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/controller/AreaCodeController.java @@ -18,8 +18,8 @@ import java.util.*; /** * 行政区划数据访问接口类。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @RestController @RequestMapping("/areaCode") diff --git a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/controller/CourseController.java b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/controller/CourseController.java index d1ba77e3..3c45475a 100644 --- a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/controller/CourseController.java +++ b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/controller/CourseController.java @@ -15,6 +15,7 @@ import com.orange.demo.common.core.base.controller.BaseController; import com.orange.demo.common.core.base.service.BaseService; import com.orange.demo.common.core.annotation.MyRequestBody; import com.orange.demo.common.core.validator.UpdateGroup; +import com.orange.demo.common.redis.cache.SessionCacheHelper; import com.orange.demo.courseclassservice.config.ApplicationConfig; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -29,8 +30,8 @@ import java.util.*; /** * 课程数据操作控制器类。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Slf4j @RestController @@ -41,6 +42,8 @@ public class CourseController extends BaseController { private CourseService courseService; @Autowired private ApplicationConfig appConfig; + @Autowired + private SessionCacheHelper cacheHelper; @Override protected BaseService service() { @@ -191,31 +194,39 @@ public class CourseController extends BaseController { */ @GetMapping("/download") public void download( - @RequestParam Long courseId, + @RequestParam(required = false) Long courseId, @RequestParam String fieldName, @RequestParam String filename, @RequestParam Boolean asImage, HttpServletResponse response) { - if (MyCommonUtil.existBlankArgument(courseId, fieldName, filename, asImage)) { + if (MyCommonUtil.existBlankArgument(fieldName, filename, asImage)) { response.setStatus(HttpServletResponse.SC_BAD_REQUEST); return; } // 使用try来捕获异常,是为了保证一旦出现异常可以返回500的错误状态,便于调试。 // 否则有可能给前端返回的是200的错误码。 try { - Course course = courseService.getById(courseId); - if (course == null) { - response.setStatus(HttpServletResponse.SC_NOT_FOUND); - return; - } - String fieldJsonData = (String) ReflectUtil.getFieldValue(course, fieldName); - if (fieldJsonData == null) { - response.setStatus(HttpServletResponse.SC_BAD_REQUEST); - return; - } - if (!UpDownloadUtil.containFile(fieldJsonData, filename)) { - response.setStatus(HttpServletResponse.SC_FORBIDDEN); - return; + // 如果请求参数中没有包含主键Id,就判断该文件是否为当前session上传的。 + if (courseId == null) { + if (!cacheHelper.existSessionUploadFile(filename)) { + response.setStatus(HttpServletResponse.SC_FORBIDDEN); + return; + } + } else { + Course course = courseService.getById(courseId); + if (course == null) { + response.setStatus(HttpServletResponse.SC_NOT_FOUND); + return; + } + String fieldJsonData = (String) ReflectUtil.getFieldValue(course, fieldName); + if (fieldJsonData == null) { + response.setStatus(HttpServletResponse.SC_BAD_REQUEST); + return; + } + if (!UpDownloadUtil.containFile(fieldJsonData, filename)) { + response.setStatus(HttpServletResponse.SC_FORBIDDEN); + return; + } } UpDownloadUtil.doDownload(appConfig.getUploadFileBaseDir(), Course.class.getSimpleName(), fieldName, filename, asImage, response); @@ -240,8 +251,11 @@ public class CourseController extends BaseController { @RequestParam Boolean asImage, @RequestParam("uploadFile") MultipartFile uploadFile, HttpServletResponse response) throws IOException { - UpDownloadUtil.doUpload(appConfig.getUploadFileBaseDir(), appConfig.getServiceContextPath(), + String filename = UpDownloadUtil.doUpload(appConfig.getUploadFileBaseDir(), appConfig.getServiceContextPath(), Course.class.getSimpleName(), fieldName, asImage, uploadFile, response); + if (filename != null) { + cacheHelper.putSessionUploadFile(filename); + } } /** diff --git a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/controller/GradeController.java b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/controller/GradeController.java index 99ba7f94..675c9490 100644 --- a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/controller/GradeController.java +++ b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/controller/GradeController.java @@ -24,8 +24,8 @@ import java.util.*; /** * 年级操作控制器类。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Slf4j @RestController diff --git a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/controller/SchoolInfoController.java b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/controller/SchoolInfoController.java index 6c4b12ad..9035fc41 100644 --- a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/controller/SchoolInfoController.java +++ b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/controller/SchoolInfoController.java @@ -24,8 +24,8 @@ import java.util.*; /** * 校区数据操作控制器类。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Slf4j @RestController diff --git a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/controller/StudentClassController.java b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/controller/StudentClassController.java index 69416278..f19a0908 100644 --- a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/controller/StudentClassController.java +++ b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/controller/StudentClassController.java @@ -24,8 +24,8 @@ import java.util.stream.Collectors; /** * 班级数据操作控制器类。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Slf4j @RestController @@ -245,37 +245,75 @@ public class StudentClassController extends BaseController addClassCourse( @MyRequestBody Long classId, - @MyRequestBody(elementType = ClassCourse.class) List classCourseList) { - if (MyCommonUtil.existBlankArgument(classId, classCourseList)) { + @MyRequestBody(value = "classCourseList", elementType = ClassCourseDto.class) List classCourseDtoList) { + if (MyCommonUtil.existBlankArgument(classId, classCourseDtoList)) { return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); } - for (ClassCourse classCourse : classCourseList) { - // NOTE: 如果中间表 [ClassCourse] 除了两个关联主键之外还包括其他NotNull或NotBlank字段, - // 请在执行下面验证之前手动赋值缺省值。如果没有此种情况,请忽略并删除该TODO注释。 - // 如:classCourse.setCourseOrder(0) 或 classCourse.setStarCourse(false)等。 - classCourse.setClassId(classId); - classCourse.setCourseOrder(0); + for (ClassCourseDto classCourse : classCourseDtoList) { String errorMessage = MyCommonUtil.getModelValidationError(classCourse); if (errorMessage != null) { return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATAED_FAILED, errorMessage); } } Set courseIdSet = - classCourseList.stream().map(ClassCourse::getCourseId).collect(Collectors.toSet()); + classCourseDtoList.stream().map(ClassCourseDto::getCourseId).collect(Collectors.toSet()); if (!studentClassService.existId(classId) || !courseService.existUniqueKeyList("courseId", courseIdSet)) { return ResponseResult.error(ErrorCodeEnum.INVALID_RELATED_RECORD_ID); } - studentClassService.addClassCourseList(classCourseList); + List classCourseList = + MyModelUtil.copyCollectionTo(classCourseDtoList, ClassCourse.class); + studentClassService.addClassCourseList(classCourseList, classId); return ResponseResult.success(); } + /** + * 更新指定班级数据和指定 [课程数据] 的多对多关联数据。 + * + * @param classCourseDto 对多对中间表对象。 + * @return 应答结果对象。 + */ + @PostMapping("/updateClassCourse") + public ResponseResult updateClassCourse( + @MyRequestBody("classCourse") ClassCourseDto classCourseDto) { + String errorMessage = MyCommonUtil.getModelValidationError(classCourseDto); + if (errorMessage != null) { + return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATAED_FAILED, errorMessage); + } + ClassCourse classCourse = MyModelUtil.copyTo(classCourseDto, ClassCourse.class); + if (!studentClassService.updateClassCourse(classCourse)) { + return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST); + } + return ResponseResult.success(); + } + + /** + * 显示班级数据和指定 [课程数据] 的多对多关联详情数据。 + * + * @param classId 主表主键Id。 + * @param courseId 从表主键Id。 + * @return 应答结果对象,包括中间表详情。 + */ + @GetMapping("/viewClassCourse") + public ResponseResult viewClassCourse( + @RequestParam Long classId, @RequestParam Long courseId) { + if (MyCommonUtil.existBlankArgument(classId, courseId)) { + return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); + } + ClassCourse classCourse = studentClassService.getClassCourse(classId, courseId); + if (classCourse == null) { + return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST); + } + ClassCourseDto classCourseDto = MyModelUtil.copyTo(classCourse, ClassCourseDto.class); + return ResponseResult.success(classCourseDto); + } + /** * 移除指定班级数据和指定 [课程数据] 的多对多关联关系。 * @@ -364,33 +402,31 @@ public class StudentClassController extends BaseController addClassStudent( @MyRequestBody Long classId, - @MyRequestBody(elementType = ClassStudent.class) List classStudentList) { - if (MyCommonUtil.existBlankArgument(classId, classStudentList)) { + @MyRequestBody(value = "classStudentList", elementType = ClassStudentDto.class) List classStudentDtoList) { + if (MyCommonUtil.existBlankArgument(classId, classStudentDtoList)) { return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); } - for (ClassStudent classStudent : classStudentList) { - // NOTE: 如果中间表 [ClassCourse] 除了两个关联主键之外还包括其他NotNull或NotBlank字段, - // 请在执行下面验证之前手动赋值缺省值。如果没有此种情况,请忽略并删除该TODO注释。 - // 如:classCourse.setCourseOrder(0) 或 classCourse.setStarCourse(false)等。 - classStudent.setClassId(classId); + for (ClassStudentDto classStudent : classStudentDtoList) { String errorMessage = MyCommonUtil.getModelValidationError(classStudent); if (errorMessage != null) { return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATAED_FAILED, errorMessage); } } Set studentIdSet = - classStudentList.stream().map(ClassStudent::getStudentId).collect(Collectors.toSet()); + classStudentDtoList.stream().map(ClassStudentDto::getStudentId).collect(Collectors.toSet()); if (!studentClassService.existId(classId) || !studentService.existUniqueKeyList("studentId", studentIdSet)) { return ResponseResult.error(ErrorCodeEnum.INVALID_RELATED_RECORD_ID); } - studentClassService.addClassStudentList(classStudentList); + List classStudentList = + MyModelUtil.copyCollectionTo(classStudentDtoList, ClassStudent.class); + studentClassService.addClassStudentList(classStudentList, classId); return ResponseResult.success(); } diff --git a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/controller/StudentController.java b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/controller/StudentController.java index 57d17c7a..3c17025a 100644 --- a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/controller/StudentController.java +++ b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/controller/StudentController.java @@ -24,8 +24,8 @@ import java.util.*; /** * 学生数据操作控制器类。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Slf4j @RestController diff --git a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/dao/AreaCodeMapper.java b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/dao/AreaCodeMapper.java index 6db0562d..c0c05280 100644 --- a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/dao/AreaCodeMapper.java +++ b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/dao/AreaCodeMapper.java @@ -6,8 +6,8 @@ import com.orange.demo.courseclassservice.model.AreaCode; /** * 行政区划数据操作访问接口。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ public interface AreaCodeMapper extends BaseDaoMapper { } \ No newline at end of file diff --git a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/dao/ClassCourseMapper.java b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/dao/ClassCourseMapper.java index 6157b39b..eb3f25b9 100644 --- a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/dao/ClassCourseMapper.java +++ b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/dao/ClassCourseMapper.java @@ -6,8 +6,8 @@ import com.orange.demo.courseclassservice.model.ClassCourse; /** * 数据操作访问接口。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ public interface ClassCourseMapper extends BaseDaoMapper { } diff --git a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/dao/ClassStudentMapper.java b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/dao/ClassStudentMapper.java index f3aa1273..b9b946ee 100644 --- a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/dao/ClassStudentMapper.java +++ b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/dao/ClassStudentMapper.java @@ -6,8 +6,8 @@ import com.orange.demo.courseclassservice.model.ClassStudent; /** * 数据操作访问接口。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ public interface ClassStudentMapper extends BaseDaoMapper { } diff --git a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/dao/CourseMapper.java b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/dao/CourseMapper.java index 109cf042..29822dd9 100644 --- a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/dao/CourseMapper.java +++ b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/dao/CourseMapper.java @@ -9,8 +9,8 @@ import java.util.*; /** * 课程数据数据操作访问接口。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ public interface CourseMapper extends BaseDaoMapper { diff --git a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/dao/GradeMapper.java b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/dao/GradeMapper.java index ec34b168..a46bffd1 100644 --- a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/dao/GradeMapper.java +++ b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/dao/GradeMapper.java @@ -6,8 +6,8 @@ import com.orange.demo.courseclassservice.model.Grade; /** * 年级数据操作访问接口。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ public interface GradeMapper extends BaseDaoMapper { } diff --git a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/dao/MaterialEditionMapper.java b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/dao/MaterialEditionMapper.java index 8119abfa..4d211e80 100644 --- a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/dao/MaterialEditionMapper.java +++ b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/dao/MaterialEditionMapper.java @@ -6,8 +6,8 @@ import com.orange.demo.courseclassservice.model.MaterialEdition; /** * 数据操作访问接口。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ public interface MaterialEditionMapper extends BaseDaoMapper { } diff --git a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/dao/SchoolInfoMapper.java b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/dao/SchoolInfoMapper.java index a6e27477..7a32ab34 100644 --- a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/dao/SchoolInfoMapper.java +++ b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/dao/SchoolInfoMapper.java @@ -9,8 +9,8 @@ import java.util.*; /** * 校区数据数据操作访问接口。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ public interface SchoolInfoMapper extends BaseDaoMapper { diff --git a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/dao/StudentClassMapper.java b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/dao/StudentClassMapper.java index c85c002e..1f7d95f5 100644 --- a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/dao/StudentClassMapper.java +++ b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/dao/StudentClassMapper.java @@ -2,8 +2,6 @@ package com.orange.demo.courseclassservice.dao; import com.orange.demo.common.core.base.dao.BaseDaoMapper; import com.orange.demo.courseclassservice.model.StudentClass; -import com.orange.demo.courseclassservice.model.ClassCourse; -import com.orange.demo.courseclassservice.model.ClassStudent; import org.apache.ibatis.annotations.Param; import java.util.*; @@ -11,8 +9,8 @@ import java.util.*; /** * 班级数据数据操作访问接口。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ public interface StudentClassMapper extends BaseDaoMapper { @@ -43,18 +41,4 @@ public interface StudentClassMapper extends BaseDaoMapper { @Param("inFilterColumn") String inFilterColumn, @Param("inFilterValues") Set inFilterValues, @Param("studentClassFilter") StudentClass studentClassFilter); - - /** - * 插入一组关联关系数据。 - * - * @param classCourseList 关联关系数据项列表。 - */ - void addClassCourseList(List classCourseList); - - /** - * 插入一组关联关系数据。 - * - * @param classStudentList 关联关系数据项列表。 - */ - void addClassStudentList(List classStudentList); } diff --git a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/dao/StudentMapper.java b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/dao/StudentMapper.java index 8abb58ea..4d64e013 100644 --- a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/dao/StudentMapper.java +++ b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/dao/StudentMapper.java @@ -9,8 +9,8 @@ import java.util.*; /** * 学生数据数据操作访问接口。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ public interface StudentMapper extends BaseDaoMapper { diff --git a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/dao/mapper/StudentClassMapper.xml b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/dao/mapper/StudentClassMapper.xml index 00a827cf..57fc8f91 100644 --- a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/dao/mapper/StudentClassMapper.xml +++ b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/dao/mapper/StudentClassMapper.xml @@ -56,18 +56,4 @@ - - - REPLACE INTO zz_class_course(class_id, course_id) VALUES - - (#{item.classId}, #{item.courseId}) - - - - - REPLACE INTO zz_class_student(class_id, student_id) VALUES - - (#{item.classId}, #{item.studentId}) - - diff --git a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/model/AreaCode.java b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/model/AreaCode.java index b3261f21..abef3c6d 100644 --- a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/model/AreaCode.java +++ b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/model/AreaCode.java @@ -7,8 +7,8 @@ import javax.persistence.*; /** * 行政区划实体对象。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Data @Table(name = "zz_area_code") diff --git a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/model/ClassCourse.java b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/model/ClassCourse.java index 23e11a21..078088c8 100644 --- a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/model/ClassCourse.java +++ b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/model/ClassCourse.java @@ -7,8 +7,8 @@ import javax.validation.constraints.*; /** * ClassCourse实体对象。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Data @Table(name = "zz_class_course") @@ -33,7 +33,6 @@ public class ClassCourse { /** * 课程顺序(数值越小越靠前)。 */ - @NotNull(message = "数据验证失败,课程顺序(数值越小越靠前)不能为空!") @Column(name = "course_order") private Integer courseOrder; } diff --git a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/model/ClassStudent.java b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/model/ClassStudent.java index 656fc38a..a635e953 100644 --- a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/model/ClassStudent.java +++ b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/model/ClassStudent.java @@ -7,8 +7,8 @@ import javax.validation.constraints.*; /** * ClassStudent实体对象。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Data @Table(name = "zz_class_student") diff --git a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/model/Course.java b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/model/Course.java index 9b84620b..cecc500c 100644 --- a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/model/Course.java +++ b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/model/Course.java @@ -20,8 +20,8 @@ import java.util.Map; /** * Course实体对象。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Data @Table(name = "zz_course") diff --git a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/model/Grade.java b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/model/Grade.java index a9ed2056..4828f6a3 100644 --- a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/model/Grade.java +++ b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/model/Grade.java @@ -1,5 +1,7 @@ package com.orange.demo.courseclassservice.model; +import com.alibaba.fastjson.annotation.JSONField; +import com.orange.demo.common.core.annotation.DeletedFlagColumn; import lombok.Data; import javax.persistence.*; import javax.validation.constraints.*; @@ -7,8 +9,8 @@ import javax.validation.constraints.*; /** * Grade实体对象。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Data @Table(name = "zz_grade") @@ -31,8 +33,9 @@ public class Grade { private String gradeName; /** - * 是否正在使用(0:不是,1:是)。 + * 逻辑删除标记字段(1: 正常 -1: 已删除)。 */ - @NotNull(message = "数据验证失败,是否正在使用(0:不是,1:是)不能为空!") + @JSONField(serialize = false) + @DeletedFlagColumn private Integer status; } diff --git a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/model/MaterialEdition.java b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/model/MaterialEdition.java index 43f0eb16..e27f2fd8 100644 --- a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/model/MaterialEdition.java +++ b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/model/MaterialEdition.java @@ -7,8 +7,8 @@ import javax.validation.constraints.*; /** * MaterialEdition实体对象。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Data @Table(name = "zz_material_edition") diff --git a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/model/SchoolInfo.java b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/model/SchoolInfo.java index d1cf78ce..361d4817 100644 --- a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/model/SchoolInfo.java +++ b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/model/SchoolInfo.java @@ -14,8 +14,8 @@ import java.util.Map; /** * SchoolInfo实体对象。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Data @Table(name = "zz_school_info") diff --git a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/model/Student.java b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/model/Student.java index 44f68969..49b482d1 100644 --- a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/model/Student.java +++ b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/model/Student.java @@ -20,8 +20,8 @@ import java.util.Map; /** * Student实体对象。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Data @Table(name = "zz_student") diff --git a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/model/StudentClass.java b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/model/StudentClass.java index 18c5cdef..5eab25ac 100644 --- a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/model/StudentClass.java +++ b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/model/StudentClass.java @@ -20,8 +20,8 @@ import java.util.Map; /** * StudentClass实体对象。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Data @Table(name = "zz_class") diff --git a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/service/AreaCodeService.java b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/service/AreaCodeService.java index be99a308..fbdf6e92 100644 --- a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/service/AreaCodeService.java +++ b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/service/AreaCodeService.java @@ -16,8 +16,8 @@ import java.util.List; /** * 行政区划的Service类。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Service public class AreaCodeService extends BaseDictService { diff --git a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/service/CourseService.java b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/service/CourseService.java index fbfa26e9..6171dfc3 100644 --- a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/service/CourseService.java +++ b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/service/CourseService.java @@ -20,8 +20,8 @@ import java.util.*; /** * 课程数据数据操作服务类。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Service public class CourseService extends BaseService { @@ -75,6 +75,7 @@ public class CourseService extends BaseService { course.setCreateUserId(originalCourse.getCreateUserId()); course.setCreateTime(originalCourse.getCreateTime()); course.setUpdateTime(new Date()); + // 这里重点提示,在执行主表数据更新之前,如果有哪些字段不支持修改操作,请用原有数据对象字段替换当前数据字段。 return courseMapper.updateByPrimaryKey(course) == 1; } diff --git a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/service/GradeService.java b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/service/GradeService.java index cd083310..beb5431d 100644 --- a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/service/GradeService.java +++ b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/service/GradeService.java @@ -3,6 +3,7 @@ package com.orange.demo.courseclassservice.service; import com.orange.demo.common.redis.cache.RedisDictionaryCache; import com.orange.demo.common.core.base.service.BaseDictService; import com.orange.demo.common.core.base.dao.BaseDaoMapper; +import com.orange.demo.common.core.constant.GlobalDeletedFlag; import com.orange.demo.courseclassservice.dao.GradeMapper; import com.orange.demo.courseclassservice.model.Grade; import com.orange.demo.courseclassinterface.dto.GradeDto; @@ -16,8 +17,8 @@ import javax.annotation.PostConstruct; /** * 年级数据操作服务类。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Service public class GradeService extends BaseDictService { @@ -55,6 +56,7 @@ public class GradeService extends BaseDictService { */ @Transactional(rollbackFor = Exception.class) public Grade saveNew(Grade grade) { + grade.setStatus(GlobalDeletedFlag.NORMAL); gradeMapper.insert(grade); dictionaryCache.put(grade.getGradeId(), grade); return grade; @@ -69,6 +71,7 @@ public class GradeService extends BaseDictService { */ @Transactional(rollbackFor = Exception.class) public boolean update(Grade grade, Grade originalGrade) { + grade.setStatus(GlobalDeletedFlag.NORMAL); if (gradeMapper.updateByPrimaryKey(grade) != 1) { return false; } @@ -84,7 +87,10 @@ public class GradeService extends BaseDictService { */ @Transactional(rollbackFor = Exception.class) public boolean remove(Integer gradeId) { - if (gradeMapper.deleteByPrimaryKey(gradeId) != 1) { + Grade deletedObject = new Grade(); + deletedObject.setGradeId(gradeId); + deletedObject.setStatus(GlobalDeletedFlag.DELETED); + if (gradeMapper.updateByPrimaryKeySelective(deletedObject) != 1) { return false; } dictionaryCache.invalidate(gradeId); diff --git a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/service/SchoolInfoService.java b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/service/SchoolInfoService.java index a474021a..009f96b7 100644 --- a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/service/SchoolInfoService.java +++ b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/service/SchoolInfoService.java @@ -19,8 +19,8 @@ import java.util.*; /** * 校区数据数据操作服务类。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Service public class SchoolInfoService extends BaseService { @@ -64,6 +64,7 @@ public class SchoolInfoService extends BaseService { @@ -80,6 +80,7 @@ public class StudentClassService extends BaseService classCourseList) { - studentClassMapper.addClassCourseList(classCourseList); + public void addClassCourseList(List classCourseList, Long classId) { + for (ClassCourse classCourse : classCourseList) { + classCourse.setClassId(classId); + if (classCourse.getCourseOrder() == null) { + classCourse.setCourseOrder(0); + } + } + classCourseMapper.insertList(classCourseList); + } + + /** + * 更新中间表数据。 + * + * @param classCourse 中间表对象。 + * @return 更新成功与否。 + */ + @Transactional(rollbackFor = Exception.class) + public boolean updateClassCourse(ClassCourse classCourse) { + Example e = new Example(ClassCourse.class); + e.createCriteria() + .andEqualTo("classId", classCourse.getClassId()) + .andEqualTo("courseId", classCourse.getCourseId()); + return classCourseMapper.updateByExample(classCourse, e) > 0; + } + + /** + * 获取中间表数据。 + * + * @param classId 主表Id。 + * @param courseId 从表Id。 + * @return 中间表对象。 + */ + public ClassCourse getClassCourse(Long classId, Long courseId) { + Example e = new Example(ClassCourse.class); + e.createCriteria() + .andEqualTo("classId", classId) + .andEqualTo("courseId", courseId); + return classCourseMapper.selectOneByExample(e); } /** @@ -204,10 +242,14 @@ public class StudentClassService extends BaseService classStudentList) { - studentClassMapper.addClassStudentList(classStudentList); + public void addClassStudentList(List classStudentList, Long classId) { + for (ClassStudent classStudent : classStudentList) { + classStudent.setClassId(classId); + } + classStudentMapper.insertList(classStudentList); } /** diff --git a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/service/StudentService.java b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/service/StudentService.java index e7c4322c..237b96cf 100644 --- a/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/service/StudentService.java +++ b/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orange/demo/courseclassservice/service/StudentService.java @@ -1,5 +1,6 @@ package com.orange.demo.courseclassservice.service; +import com.orange.demo.application.common.constant.StudentStatus; import com.orange.demo.courseclassservice.dao.*; import com.orange.demo.courseclassservice.model.*; import com.orange.demo.courseclassinterface.dto.*; @@ -19,8 +20,8 @@ import java.util.*; /** * 学生数据数据操作服务类。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Service public class StudentService extends BaseService { @@ -58,6 +59,15 @@ public class StudentService extends BaseService { public Student saveNew(Student student) { student.setStudentId(idGenerator.nextLongId()); student.setRegisterTime(new Date()); + if (student.getTotalCoin() == null) { + student.setTotalCoin(0); + } + if (student.getLeftCoin() == null) { + student.setLeftCoin(0); + } + if (student.getStatus() == null) { + student.setStatus(StudentStatus.NORMAL); + } studentMapper.insert(student); return student; } @@ -72,6 +82,7 @@ public class StudentService extends BaseService { @Transactional(rollbackFor = Exception.class) public boolean update(Student student, Student originalStudent) { student.setRegisterTime(originalStudent.getRegisterTime()); + // 这里重点提示,在执行主表数据更新之前,如果有哪些字段不支持修改操作,请用原有数据对象字段替换当前数据字段。 return studentMapper.updateByPrimaryKey(student) == 1; } diff --git a/orange-demo-multi-service/application/course-class/course-class.iml b/orange-demo-multi-service/application/course-class/course-class.iml new file mode 100644 index 00000000..ee4abb7e --- /dev/null +++ b/orange-demo-multi-service/application/course-class/course-class.iml @@ -0,0 +1,193 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-multi-service/application/gateway/gateway.iml b/orange-demo-multi-service/application/gateway/gateway.iml new file mode 100644 index 00000000..23eaf765 --- /dev/null +++ b/orange-demo-multi-service/application/gateway/gateway.iml @@ -0,0 +1,278 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-multi-service/application/gateway/src/main/java/com/orange/demo/gateway/GatewayApplication.java b/orange-demo-multi-service/application/gateway/src/main/java/com/orange/demo/gateway/GatewayApplication.java index 7caf0f31..bb5e15a7 100644 --- a/orange-demo-multi-service/application/gateway/src/main/java/com/orange/demo/gateway/GatewayApplication.java +++ b/orange-demo-multi-service/application/gateway/src/main/java/com/orange/demo/gateway/GatewayApplication.java @@ -17,8 +17,8 @@ import org.springframework.web.bind.annotation.RestController; /** * 网关服务启动类。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @EnableAutoConfiguration(exclude = {DataSourceAutoConfiguration.class}) @SpringCloudApplication diff --git a/orange-demo-multi-service/application/gateway/src/main/java/com/orange/demo/gateway/config/ApplicationConfig.java b/orange-demo-multi-service/application/gateway/src/main/java/com/orange/demo/gateway/config/ApplicationConfig.java index 99bda626..8fe610e9 100644 --- a/orange-demo-multi-service/application/gateway/src/main/java/com/orange/demo/gateway/config/ApplicationConfig.java +++ b/orange-demo-multi-service/application/gateway/src/main/java/com/orange/demo/gateway/config/ApplicationConfig.java @@ -8,8 +8,8 @@ import org.springframework.context.annotation.Configuration; /** * 网关业务配置类。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Data @RefreshScope diff --git a/orange-demo-multi-service/application/gateway/src/main/java/com/orange/demo/gateway/config/CorsConfig.java b/orange-demo-multi-service/application/gateway/src/main/java/com/orange/demo/gateway/config/CorsConfig.java index c9fcf8bd..7752867c 100644 --- a/orange-demo-multi-service/application/gateway/src/main/java/com/orange/demo/gateway/config/CorsConfig.java +++ b/orange-demo-multi-service/application/gateway/src/main/java/com/orange/demo/gateway/config/CorsConfig.java @@ -11,8 +11,8 @@ import org.springframework.web.util.pattern.PathPatternParser; /** * 跨域信任配置类。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Configuration public class CorsConfig { diff --git a/orange-demo-multi-service/application/gateway/src/main/java/com/orange/demo/gateway/config/FilterConfig.java b/orange-demo-multi-service/application/gateway/src/main/java/com/orange/demo/gateway/config/FilterConfig.java index f618a9cf..74f0abe6 100644 --- a/orange-demo-multi-service/application/gateway/src/main/java/com/orange/demo/gateway/config/FilterConfig.java +++ b/orange-demo-multi-service/application/gateway/src/main/java/com/orange/demo/gateway/config/FilterConfig.java @@ -10,8 +10,8 @@ import java.nio.charset.StandardCharsets; /** * Web通用过滤器配置类。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Configuration public class FilterConfig { diff --git a/orange-demo-multi-service/application/gateway/src/main/java/com/orange/demo/gateway/config/SentinelConfig.java b/orange-demo-multi-service/application/gateway/src/main/java/com/orange/demo/gateway/config/SentinelConfig.java index b0e999a8..62a1cbf8 100644 --- a/orange-demo-multi-service/application/gateway/src/main/java/com/orange/demo/gateway/config/SentinelConfig.java +++ b/orange-demo-multi-service/application/gateway/src/main/java/com/orange/demo/gateway/config/SentinelConfig.java @@ -16,8 +16,8 @@ import java.util.*; /** * Spring Cloud Gateway的Sentinel流控配置类。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Configuration public class SentinelConfig { diff --git a/orange-demo-multi-service/application/gateway/src/main/java/com/orange/demo/gateway/constant/GatewayConstant.java b/orange-demo-multi-service/application/gateway/src/main/java/com/orange/demo/gateway/constant/GatewayConstant.java index 8266b48b..b58f4d1b 100644 --- a/orange-demo-multi-service/application/gateway/src/main/java/com/orange/demo/gateway/constant/GatewayConstant.java +++ b/orange-demo-multi-service/application/gateway/src/main/java/com/orange/demo/gateway/constant/GatewayConstant.java @@ -3,8 +3,8 @@ package com.orange.demo.gateway.constant; /** * 网关业务相关的常量对象。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ public final class GatewayConstant { diff --git a/orange-demo-multi-service/application/gateway/src/main/java/com/orange/demo/gateway/filter/AuthenticationPostFilter.java b/orange-demo-multi-service/application/gateway/src/main/java/com/orange/demo/gateway/filter/AuthenticationPostFilter.java index bf40dcd7..9a2d8a4d 100644 --- a/orange-demo-multi-service/application/gateway/src/main/java/com/orange/demo/gateway/filter/AuthenticationPostFilter.java +++ b/orange-demo-multi-service/application/gateway/src/main/java/com/orange/demo/gateway/filter/AuthenticationPostFilter.java @@ -45,8 +45,8 @@ import java.util.Map; /** * 全局后处理过滤器。主要用于将用户的会话信息存到缓存服务器,以及在登出时清除缓存中的会话数据。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Slf4j public class AuthenticationPostFilter implements GlobalFilter, Ordered { diff --git a/orange-demo-multi-service/application/gateway/src/main/java/com/orange/demo/gateway/filter/AuthenticationPreFilter.java b/orange-demo-multi-service/application/gateway/src/main/java/com/orange/demo/gateway/filter/AuthenticationPreFilter.java index 4c91b696..4eafcc60 100644 --- a/orange-demo-multi-service/application/gateway/src/main/java/com/orange/demo/gateway/filter/AuthenticationPreFilter.java +++ b/orange-demo-multi-service/application/gateway/src/main/java/com/orange/demo/gateway/filter/AuthenticationPreFilter.java @@ -37,8 +37,8 @@ import java.util.Map; /** * 全局前处理过滤器。主要用于用户操作权限验证。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Slf4j public class AuthenticationPreFilter implements GlobalFilter, Ordered { @@ -60,7 +60,6 @@ public class AuthenticationPreFilter implements GlobalFilter, Ordered { ServerHttpResponse response = exchange.getResponse(); String url = request.getURI().getPath(); // 登录请求,直接转发给login验证服务器。 - // NOTE: 所有不需要登录验证的url,都可以添加在下面。 if (url.equals(GatewayConstant.ADMIN_LOGIN_URL)) { return chain.filter(exchange); } @@ -70,9 +69,8 @@ public class AuthenticationPreFilter implements GlobalFilter, Ordered { log.warn("EXPIRED request [{}] from REMOTE-IP [{}].", url, IpUtil.getRemoteIpAddress(request)); response.setStatusCode(HttpStatus.UNAUTHORIZED); response.getHeaders().setContentType(MediaType.APPLICATION_JSON); - byte[] responseBody = JSON.toJSONString( - ResponseResult.error(ErrorCodeEnum.UNAUTHORIZED_LOGIN, - "用户登录已过期,请重新登录!")).getBytes(StandardCharsets.UTF_8); + byte[] responseBody = JSON.toJSONString(ResponseResult.error(ErrorCodeEnum.UNAUTHORIZED_LOGIN, + "用户登录已过期,请重新登录!")).getBytes(StandardCharsets.UTF_8); return response.writeWith(Flux.just(response.bufferFactory().wrap(responseBody))); } // 这里判断是否需要定时刷新token @@ -85,25 +83,22 @@ public class AuthenticationPreFilter implements GlobalFilter, Ordered { String sessionId = (String) c.get(GatewayConstant.SESSION_ID_KEY_NAME); Map userMap = jedis.hgetAll(RedisKeyUtil.makeSessionIdKeyForRedis(sessionId)); if (userMap == null) { - log.warn("UNAUTHORIZED request [{}] from REMOTE-IP [{}] because no sessionId exists in redis." - , url, IpUtil.getRemoteIpAddress(request)); + log.warn("UNAUTHORIZED request [{}] from REMOTE-IP [{}] because no sessionId exists in redis.", + url, IpUtil.getRemoteIpAddress(request)); response.setStatusCode(HttpStatus.UNAUTHORIZED); response.getHeaders().setContentType(MediaType.APPLICATION_JSON); - byte[] responseBody = JSON.toJSONString( - ResponseResult.error(ErrorCodeEnum.UNAUTHORIZED_LOGIN, - "用户会话已失效,请重新登录!")).getBytes(StandardCharsets.UTF_8); + byte[] responseBody = JSON.toJSONString(ResponseResult.error(ErrorCodeEnum.UNAUTHORIZED_LOGIN, + "用户会话已失效,请重新登录!")).getBytes(StandardCharsets.UTF_8); return response.writeWith(Flux.just(response.bufferFactory().wrap(responseBody))); } - String userId = userMap.get("userId"); if (StringUtils.isBlank(userId)) { - log.warn("UNAUTHORIZED request [{}] from REMOTE-IP [{}] because userId is empty in redis." - , url, IpUtil.getRemoteIpAddress(request)); + log.warn("UNAUTHORIZED request [{}] from REMOTE-IP [{}] because userId is empty in redis.", + url, IpUtil.getRemoteIpAddress(request)); response.setStatusCode(HttpStatus.UNAUTHORIZED); response.getHeaders().setContentType(MediaType.APPLICATION_JSON); - byte[] responseBody = JSON.toJSONString( - ResponseResult.error(ErrorCodeEnum.UNAUTHORIZED_LOGIN, - "用户登录验证信息已过期,请重新登录!")).getBytes(StandardCharsets.UTF_8); + byte[] responseBody = JSON.toJSONString(ResponseResult.error(ErrorCodeEnum.UNAUTHORIZED_LOGIN, + "用户登录验证信息已过期,请重新登录!")).getBytes(StandardCharsets.UTF_8); return response.writeWith(Flux.just(response.bufferFactory().wrap(responseBody))); } boolean isAdmin = false; @@ -119,16 +114,13 @@ public class AuthenticationPreFilter implements GlobalFilter, Ordered { } catch (UnsupportedEncodingException e) { log.error("Failed to call AuthenticationPreFilter.filter.", e); } - // 对于isAdmin == false的用户,继续查找权限资源信息是否存在 - if (Boolean.FALSE.equals(isAdmin) - && !this.hasPermission(jedis, sessionId, url)) { - log.warn("FORBIDDEN request [{}] from REMOTE-IP [{}] for USER [{} -- {}] no perm!" - , url, IpUtil.getRemoteIpAddress(request), userId, showName); + if (Boolean.FALSE.equals(isAdmin) && !this.hasPermission(jedis, sessionId, url)) { + log.warn("FORBIDDEN request [{}] from REMOTE-IP [{}] for USER [{} -- {}] no perm!", + url, IpUtil.getRemoteIpAddress(request), userId, showName); response.setStatusCode(HttpStatus.FORBIDDEN); response.getHeaders().setContentType(MediaType.APPLICATION_JSON); - byte[] responseBody = JSON.toJSONString( - ResponseResult.error(ErrorCodeEnum.NO_OPERATION_PERMISSION, - "用户对该URL没有访问权限,请核对!")).getBytes(StandardCharsets.UTF_8); + byte[] responseBody = JSON.toJSONString(ResponseResult.error(ErrorCodeEnum.NO_OPERATION_PERMISSION, + "用户对该URL没有访问权限,请核对!")).getBytes(StandardCharsets.UTF_8); return response.writeWith(Flux.just(response.bufferFactory().wrap(responseBody))); } // 将session中关联的用户信息,添加到当前的Request中。转发后,业务服务可以根据需要自定读取。 diff --git a/orange-demo-multi-service/application/gateway/src/main/java/com/orange/demo/gateway/filter/RequestLogFilter.java b/orange-demo-multi-service/application/gateway/src/main/java/com/orange/demo/gateway/filter/RequestLogFilter.java index f0797b9f..8149f41a 100644 --- a/orange-demo-multi-service/application/gateway/src/main/java/com/orange/demo/gateway/filter/RequestLogFilter.java +++ b/orange-demo-multi-service/application/gateway/src/main/java/com/orange/demo/gateway/filter/RequestLogFilter.java @@ -16,8 +16,8 @@ import reactor.core.publisher.Mono; * 链路日志前置过虑器。 * 为整个链路生成唯一的traceId,并存储在Request Head中。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Slf4j public class RequestLogFilter implements GlobalFilter, Ordered { diff --git a/orange-demo-multi-service/application/gateway/src/main/java/com/orange/demo/gateway/filter/ResponseLogFilter.java b/orange-demo-multi-service/application/gateway/src/main/java/com/orange/demo/gateway/filter/ResponseLogFilter.java index f40f7725..accf0145 100644 --- a/orange-demo-multi-service/application/gateway/src/main/java/com/orange/demo/gateway/filter/ResponseLogFilter.java +++ b/orange-demo-multi-service/application/gateway/src/main/java/com/orange/demo/gateway/filter/ResponseLogFilter.java @@ -15,8 +15,8 @@ import reactor.core.publisher.Mono; * 链路日志后置过虑器。 * 将整个链路的traceId存储在Response Head中,并返回给前端,便于问题定位。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Slf4j public class ResponseLogFilter implements GlobalFilter, Ordered { diff --git a/orange-demo-multi-service/application/pom.xml b/orange-demo-multi-service/application/pom.xml index 97400ae5..ae8b0e69 100644 --- a/orange-demo-multi-service/application/pom.xml +++ b/orange-demo-multi-service/application/pom.xml @@ -3,7 +3,7 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - OrangeDemo + OrangeMultiDemo com.orange.demo 1.0.0 diff --git a/orange-demo-multi-service/application/stats/stats-interface/src/main/java/com/orange/demo/statsinterface/client/CourseTransStatsClient.java b/orange-demo-multi-service/application/stats/stats-interface/src/main/java/com/orange/demo/statsinterface/client/CourseTransStatsClient.java index 72b73916..021f3fc0 100644 --- a/orange-demo-multi-service/application/stats/stats-interface/src/main/java/com/orange/demo/statsinterface/client/CourseTransStatsClient.java +++ b/orange-demo-multi-service/application/stats/stats-interface/src/main/java/com/orange/demo/statsinterface/client/CourseTransStatsClient.java @@ -16,8 +16,8 @@ import java.util.*; /** * 课程统计服务远程数据操作访问接口。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @FeignClient( name = "stats", diff --git a/orange-demo-multi-service/application/stats/stats-interface/src/main/java/com/orange/demo/statsinterface/client/StudentActionStatsClient.java b/orange-demo-multi-service/application/stats/stats-interface/src/main/java/com/orange/demo/statsinterface/client/StudentActionStatsClient.java index 4684bbf0..071bfa62 100644 --- a/orange-demo-multi-service/application/stats/stats-interface/src/main/java/com/orange/demo/statsinterface/client/StudentActionStatsClient.java +++ b/orange-demo-multi-service/application/stats/stats-interface/src/main/java/com/orange/demo/statsinterface/client/StudentActionStatsClient.java @@ -16,8 +16,8 @@ import java.util.*; /** * 学生行为统计服务远程数据操作访问接口。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @FeignClient( name = "stats", diff --git a/orange-demo-multi-service/application/stats/stats-interface/src/main/java/com/orange/demo/statsinterface/client/StudentActionTransClient.java b/orange-demo-multi-service/application/stats/stats-interface/src/main/java/com/orange/demo/statsinterface/client/StudentActionTransClient.java index 4f373ef8..8e29ff99 100644 --- a/orange-demo-multi-service/application/stats/stats-interface/src/main/java/com/orange/demo/statsinterface/client/StudentActionTransClient.java +++ b/orange-demo-multi-service/application/stats/stats-interface/src/main/java/com/orange/demo/statsinterface/client/StudentActionTransClient.java @@ -16,8 +16,8 @@ import java.util.*; /** * 学生行为流水服务远程数据操作访问接口。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @FeignClient( name = "stats", diff --git a/orange-demo-multi-service/application/stats/stats-interface/src/main/java/com/orange/demo/statsinterface/dto/CourseTransStatsDto.java b/orange-demo-multi-service/application/stats/stats-interface/src/main/java/com/orange/demo/statsinterface/dto/CourseTransStatsDto.java index cec80e95..1d39cf27 100644 --- a/orange-demo-multi-service/application/stats/stats-interface/src/main/java/com/orange/demo/statsinterface/dto/CourseTransStatsDto.java +++ b/orange-demo-multi-service/application/stats/stats-interface/src/main/java/com/orange/demo/statsinterface/dto/CourseTransStatsDto.java @@ -14,8 +14,8 @@ import java.util.Map; /** * CourseTransStatsDto对象。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Data public class CourseTransStatsDto { diff --git a/orange-demo-multi-service/application/stats/stats-interface/src/main/java/com/orange/demo/statsinterface/dto/StudentActionStatsDto.java b/orange-demo-multi-service/application/stats/stats-interface/src/main/java/com/orange/demo/statsinterface/dto/StudentActionStatsDto.java index 93ba247f..b752fd3b 100644 --- a/orange-demo-multi-service/application/stats/stats-interface/src/main/java/com/orange/demo/statsinterface/dto/StudentActionStatsDto.java +++ b/orange-demo-multi-service/application/stats/stats-interface/src/main/java/com/orange/demo/statsinterface/dto/StudentActionStatsDto.java @@ -12,8 +12,8 @@ import java.util.Map; /** * StudentActionStatsDto对象。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Data public class StudentActionStatsDto { diff --git a/orange-demo-multi-service/application/stats/stats-interface/src/main/java/com/orange/demo/statsinterface/dto/StudentActionTransDto.java b/orange-demo-multi-service/application/stats/stats-interface/src/main/java/com/orange/demo/statsinterface/dto/StudentActionTransDto.java index 7ae3959d..43e510c9 100644 --- a/orange-demo-multi-service/application/stats/stats-interface/src/main/java/com/orange/demo/statsinterface/dto/StudentActionTransDto.java +++ b/orange-demo-multi-service/application/stats/stats-interface/src/main/java/com/orange/demo/statsinterface/dto/StudentActionTransDto.java @@ -16,7 +16,7 @@ import java.util.Map; * StudentActionTransDto对象。 * * @author Jerry - * @date 2020-08-13 + * @date 2020-09-27 */ @Data public class StudentActionTransDto { diff --git a/orange-demo-multi-service/application/stats/stats-interface/stats-interface.iml b/orange-demo-multi-service/application/stats/stats-interface/stats-interface.iml new file mode 100644 index 00000000..6cc7f266 --- /dev/null +++ b/orange-demo-multi-service/application/stats/stats-interface/stats-interface.iml @@ -0,0 +1,260 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/StatsApplication.java b/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/StatsApplication.java index f7e5bad8..ba4d7307 100644 --- a/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/StatsApplication.java +++ b/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/StatsApplication.java @@ -8,8 +8,8 @@ import org.springframework.context.annotation.ComponentScan; /** * stats服务启动类。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @SpringCloudApplication @EnableFeignClients(basePackages = "com.orange.demo") diff --git a/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/config/ApplicationConfig.java b/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/config/ApplicationConfig.java index fca42fe0..9743fc8a 100644 --- a/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/config/ApplicationConfig.java +++ b/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/config/ApplicationConfig.java @@ -13,8 +13,8 @@ import org.springframework.context.annotation.Configuration; * uploadFileBaseDir: /user/xxx/fileRoot/ * defaultSomething: defaultValue * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Data @RefreshScope diff --git a/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/config/DataSourceConfig.java b/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/config/DataSourceConfig.java index 4299ddbb..5e7213ee 100644 --- a/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/config/DataSourceConfig.java +++ b/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/config/DataSourceConfig.java @@ -13,8 +13,8 @@ import javax.sql.DataSource; /** * 数据源配置Bean对象。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Configuration @EnableTransactionManagement diff --git a/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/controller/CourseTransStatsController.java b/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/controller/CourseTransStatsController.java index 765d0b09..784eda7c 100644 --- a/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/controller/CourseTransStatsController.java +++ b/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/controller/CourseTransStatsController.java @@ -21,8 +21,8 @@ import java.util.*; /** * 课程统计操作控制器类。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Slf4j @RestController diff --git a/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/controller/StudentActionStatsController.java b/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/controller/StudentActionStatsController.java index 93cca159..470a582f 100644 --- a/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/controller/StudentActionStatsController.java +++ b/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/controller/StudentActionStatsController.java @@ -21,8 +21,8 @@ import java.util.*; /** * 学生行为统计操作控制器类。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Slf4j @RestController diff --git a/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/controller/StudentActionTransController.java b/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/controller/StudentActionTransController.java index da2f750d..4a6bd5e4 100644 --- a/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/controller/StudentActionTransController.java +++ b/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/controller/StudentActionTransController.java @@ -23,8 +23,8 @@ import java.util.*; /** * 学生行为流水操作控制器类。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Slf4j @RestController diff --git a/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/dao/CourseTransStatsMapper.java b/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/dao/CourseTransStatsMapper.java index 6a4a8ee5..7d853aa2 100644 --- a/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/dao/CourseTransStatsMapper.java +++ b/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/dao/CourseTransStatsMapper.java @@ -9,8 +9,8 @@ import java.util.*; /** * 课程统计数据操作访问接口。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ public interface CourseTransStatsMapper extends BaseDaoMapper { diff --git a/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/dao/GradeMapper.java b/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/dao/GradeMapper.java new file mode 100644 index 00000000..8cd0bbba --- /dev/null +++ b/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/dao/GradeMapper.java @@ -0,0 +1,13 @@ +package com.orange.demo.statsservice.dao; + +import com.orange.demo.common.core.base.dao.BaseDaoMapper; +import com.orange.demo.statsservice.model.Grade; + +/** + * 数据操作访问接口。 + * + * @author Jerry + * @date 2020-09-27 + */ +public interface GradeMapper extends BaseDaoMapper { +} diff --git a/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/dao/SchoolInfoMapper.java b/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/dao/SchoolInfoMapper.java new file mode 100644 index 00000000..24710013 --- /dev/null +++ b/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/dao/SchoolInfoMapper.java @@ -0,0 +1,13 @@ +package com.orange.demo.statsservice.dao; + +import com.orange.demo.common.core.base.dao.BaseDaoMapper; +import com.orange.demo.statsservice.model.SchoolInfo; + +/** + * 数据操作访问接口。 + * + * @author Jerry + * @date 2020-09-27 + */ +public interface SchoolInfoMapper extends BaseDaoMapper { +} diff --git a/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/dao/StudentActionStatsMapper.java b/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/dao/StudentActionStatsMapper.java index 559d5d2d..0d27a8fd 100644 --- a/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/dao/StudentActionStatsMapper.java +++ b/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/dao/StudentActionStatsMapper.java @@ -9,8 +9,8 @@ import java.util.*; /** * 学生行为统计数据操作访问接口。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ public interface StudentActionStatsMapper extends BaseDaoMapper { diff --git a/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/dao/StudentActionTransMapper.java b/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/dao/StudentActionTransMapper.java index 967febba..7273127b 100644 --- a/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/dao/StudentActionTransMapper.java +++ b/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/dao/StudentActionTransMapper.java @@ -9,8 +9,8 @@ import java.util.*; /** * 学生行为流水数据操作访问接口。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ public interface StudentActionTransMapper extends BaseDaoMapper { diff --git a/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/dao/mapper/GradeMapper.xml b/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/dao/mapper/GradeMapper.xml new file mode 100644 index 00000000..d08aaae7 --- /dev/null +++ b/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/dao/mapper/GradeMapper.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/dao/mapper/SchoolInfoMapper.xml b/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/dao/mapper/SchoolInfoMapper.xml new file mode 100644 index 00000000..50238878 --- /dev/null +++ b/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/dao/mapper/SchoolInfoMapper.xml @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/model/CourseTransStats.java b/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/model/CourseTransStats.java index 06de053b..cfd62cb2 100644 --- a/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/model/CourseTransStats.java +++ b/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/model/CourseTransStats.java @@ -22,8 +22,8 @@ import java.util.Map; /** * CourseTransStats实体对象。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Data @Table(name = "zz_course_trans_stats") diff --git a/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/model/Grade.java b/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/model/Grade.java new file mode 100644 index 00000000..e8df4178 --- /dev/null +++ b/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/model/Grade.java @@ -0,0 +1,41 @@ +package com.orange.demo.statsservice.model; + +import com.alibaba.fastjson.annotation.JSONField; +import com.orange.demo.common.core.annotation.DeletedFlagColumn; +import lombok.Data; +import javax.persistence.*; +import javax.validation.constraints.*; + +/** + * Grade实体对象。 + * + * @author Jerry + * @date 2020-09-27 + */ +@Data +@Table(name = "zz_grade") +public class Grade { + + /** + * 主键Id。 + */ + @NotNull(message = "数据验证失败,主键Id不能为空!") + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "grade_id") + private Integer gradeId; + + /** + * 年级名称。 + */ + @NotBlank(message = "数据验证失败,年级名称不能为空!") + @Column(name = "grade_name") + private String gradeName; + + /** + * 逻辑删除标记字段(1: 正常 -1: 已删除)。 + */ + @JSONField(serialize = false) + @DeletedFlagColumn + private Integer status; +} diff --git a/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/model/SchoolInfo.java b/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/model/SchoolInfo.java new file mode 100644 index 00000000..26c455ce --- /dev/null +++ b/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/model/SchoolInfo.java @@ -0,0 +1,45 @@ +package com.orange.demo.statsservice.model; + +import lombok.Data; +import javax.persistence.*; +import javax.validation.constraints.*; + +/** + * SchoolInfo实体对象。 + * + * @author Jerry + * @date 2020-09-27 + */ +@Data +@Table(name = "zz_school_info") +public class SchoolInfo { + + /** + * 学校Id。 + */ + @NotNull(message = "数据验证失败,学校Id不能为空!") + @Id + @Column(name = "school_id") + private Long schoolId; + + /** + * 学校名称。 + */ + @NotBlank(message = "数据验证失败,学校名称不能为空!") + @Column(name = "school_name") + private String schoolName; + + /** + * 所在省Id。 + */ + @NotNull(message = "数据验证失败,所在省Id不能为空!") + @Column(name = "province_id") + private Long provinceId; + + /** + * 所在城市Id。 + */ + @NotNull(message = "数据验证失败,所在城市Id不能为空!") + @Column(name = "city_id") + private Long cityId; +} diff --git a/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/model/StudentActionStats.java b/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/model/StudentActionStats.java index 79366943..21b63d61 100644 --- a/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/model/StudentActionStats.java +++ b/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/model/StudentActionStats.java @@ -19,8 +19,8 @@ import java.util.Map; /** * StudentActionStats实体对象。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Data @Table(name = "zz_student_action_stats") diff --git a/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/model/StudentActionTrans.java b/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/model/StudentActionTrans.java index 6257cd5d..11fd603f 100644 --- a/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/model/StudentActionTrans.java +++ b/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/model/StudentActionTrans.java @@ -24,7 +24,7 @@ import java.util.Map; * StudentActionTrans实体对象。 * * @author Jerry - * @date 2020-08-13 + * @date 2020-09-27 */ @Data @Table(name = "zz_student_action_trans") diff --git a/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/service/CourseTransStatsService.java b/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/service/CourseTransStatsService.java index 5bad5919..858bc9da 100644 --- a/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/service/CourseTransStatsService.java +++ b/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/service/CourseTransStatsService.java @@ -16,8 +16,8 @@ import java.util.*; /** * 课程统计数据操作服务类。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Service public class CourseTransStatsService extends BaseService { diff --git a/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/service/StudentActionStatsService.java b/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/service/StudentActionStatsService.java index c705ccde..f5a1c19e 100644 --- a/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/service/StudentActionStatsService.java +++ b/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/service/StudentActionStatsService.java @@ -16,8 +16,8 @@ import java.util.*; /** * 学生行为统计数据操作服务类。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Service public class StudentActionStatsService extends BaseService { diff --git a/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/service/StudentActionTransService.java b/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/service/StudentActionTransService.java index cd28b76d..03b407ef 100644 --- a/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/service/StudentActionTransService.java +++ b/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orange/demo/statsservice/service/StudentActionTransService.java @@ -21,8 +21,8 @@ import java.util.*; /** * 学生行为流水数据操作服务类。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Service public class StudentActionTransService extends BaseService { @@ -68,6 +68,7 @@ public class StudentActionTransService extends BaseService + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-multi-service/application/stats/stats.iml b/orange-demo-multi-service/application/stats/stats.iml new file mode 100644 index 00000000..ee4abb7e --- /dev/null +++ b/orange-demo-multi-service/application/stats/stats.iml @@ -0,0 +1,193 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-multi-service/application/upms/upms-interface/src/main/java/com/orange/demo/upmsinterface/client/SysUserClient.java b/orange-demo-multi-service/application/upms/upms-interface/src/main/java/com/orange/demo/upmsinterface/client/SysUserClient.java index f37d8553..8dfbb095 100644 --- a/orange-demo-multi-service/application/upms/upms-interface/src/main/java/com/orange/demo/upmsinterface/client/SysUserClient.java +++ b/orange-demo-multi-service/application/upms/upms-interface/src/main/java/com/orange/demo/upmsinterface/client/SysUserClient.java @@ -16,8 +16,8 @@ import java.util.*; /** * 用户管理服务远程数据操作访问接口。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @FeignClient( name = "upms", diff --git a/orange-demo-multi-service/application/upms/upms-interface/src/main/java/com/orange/demo/upmsinterface/constant/SysMenuType.java b/orange-demo-multi-service/application/upms/upms-interface/src/main/java/com/orange/demo/upmsinterface/constant/SysMenuType.java index bd3c813c..c326aab1 100644 --- a/orange-demo-multi-service/application/upms/upms-interface/src/main/java/com/orange/demo/upmsinterface/constant/SysMenuType.java +++ b/orange-demo-multi-service/application/upms/upms-interface/src/main/java/com/orange/demo/upmsinterface/constant/SysMenuType.java @@ -6,8 +6,8 @@ import java.util.Map; /** * 菜单类型常量对象。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ public final class SysMenuType { diff --git a/orange-demo-multi-service/application/upms/upms-interface/src/main/java/com/orange/demo/upmsinterface/constant/SysPermCodeType.java b/orange-demo-multi-service/application/upms/upms-interface/src/main/java/com/orange/demo/upmsinterface/constant/SysPermCodeType.java index 7cf5eafe..748b0cfb 100644 --- a/orange-demo-multi-service/application/upms/upms-interface/src/main/java/com/orange/demo/upmsinterface/constant/SysPermCodeType.java +++ b/orange-demo-multi-service/application/upms/upms-interface/src/main/java/com/orange/demo/upmsinterface/constant/SysPermCodeType.java @@ -6,8 +6,8 @@ import java.util.Map; /** * 权限字类型常量对象。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ public final class SysPermCodeType { diff --git a/orange-demo-multi-service/application/upms/upms-interface/src/main/java/com/orange/demo/upmsinterface/constant/SysPermModuleType.java b/orange-demo-multi-service/application/upms/upms-interface/src/main/java/com/orange/demo/upmsinterface/constant/SysPermModuleType.java index 7d46b568..4a5425c8 100644 --- a/orange-demo-multi-service/application/upms/upms-interface/src/main/java/com/orange/demo/upmsinterface/constant/SysPermModuleType.java +++ b/orange-demo-multi-service/application/upms/upms-interface/src/main/java/com/orange/demo/upmsinterface/constant/SysPermModuleType.java @@ -6,8 +6,8 @@ import java.util.Map; /** * 权限资源模块类型常量对象。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ public final class SysPermModuleType { diff --git a/orange-demo-multi-service/application/upms/upms-interface/src/main/java/com/orange/demo/upmsinterface/constant/SysUserStatus.java b/orange-demo-multi-service/application/upms/upms-interface/src/main/java/com/orange/demo/upmsinterface/constant/SysUserStatus.java index e7ff8ac2..c8da08e3 100644 --- a/orange-demo-multi-service/application/upms/upms-interface/src/main/java/com/orange/demo/upmsinterface/constant/SysUserStatus.java +++ b/orange-demo-multi-service/application/upms/upms-interface/src/main/java/com/orange/demo/upmsinterface/constant/SysUserStatus.java @@ -6,8 +6,8 @@ import java.util.Map; /** * 用户状态常量字典对象。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ public final class SysUserStatus { diff --git a/orange-demo-multi-service/application/upms/upms-interface/src/main/java/com/orange/demo/upmsinterface/constant/SysUserType.java b/orange-demo-multi-service/application/upms/upms-interface/src/main/java/com/orange/demo/upmsinterface/constant/SysUserType.java index 84afcacb..28cc651a 100644 --- a/orange-demo-multi-service/application/upms/upms-interface/src/main/java/com/orange/demo/upmsinterface/constant/SysUserType.java +++ b/orange-demo-multi-service/application/upms/upms-interface/src/main/java/com/orange/demo/upmsinterface/constant/SysUserType.java @@ -6,8 +6,8 @@ import java.util.Map; /** * 用户类型常量字典对象。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ public final class SysUserType { diff --git a/orange-demo-multi-service/application/upms/upms-interface/src/main/java/com/orange/demo/upmsinterface/dto/SysDataPermDeptDto.java b/orange-demo-multi-service/application/upms/upms-interface/src/main/java/com/orange/demo/upmsinterface/dto/SysDataPermDeptDto.java deleted file mode 100644 index 364bcf3d..00000000 --- a/orange-demo-multi-service/application/upms/upms-interface/src/main/java/com/orange/demo/upmsinterface/dto/SysDataPermDeptDto.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.orange.demo.upmsinterface.dto; - -import lombok.Data; - -/** - * 数据权限与部门关联Dto。 - * - * @author Orange Team - * @date 2020-08-08 - */ -@Data -public class SysDataPermDeptDto { - - /** - * 数据权限Id。 - */ - private Long dataPermId; - - /** - * 关联部门Id。 - */ - private Long menuId; -} \ No newline at end of file diff --git a/orange-demo-multi-service/application/upms/upms-interface/src/main/java/com/orange/demo/upmsinterface/dto/SysMenuDto.java b/orange-demo-multi-service/application/upms/upms-interface/src/main/java/com/orange/demo/upmsinterface/dto/SysMenuDto.java index ed1d294c..ccb026bb 100644 --- a/orange-demo-multi-service/application/upms/upms-interface/src/main/java/com/orange/demo/upmsinterface/dto/SysMenuDto.java +++ b/orange-demo-multi-service/application/upms/upms-interface/src/main/java/com/orange/demo/upmsinterface/dto/SysMenuDto.java @@ -14,8 +14,8 @@ import java.util.Map; /** * 菜单Dto。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Data public class SysMenuDto { diff --git a/orange-demo-multi-service/application/upms/upms-interface/src/main/java/com/orange/demo/upmsinterface/dto/SysPermCodeDto.java b/orange-demo-multi-service/application/upms/upms-interface/src/main/java/com/orange/demo/upmsinterface/dto/SysPermCodeDto.java index 4d6446e4..04cb35f3 100644 --- a/orange-demo-multi-service/application/upms/upms-interface/src/main/java/com/orange/demo/upmsinterface/dto/SysPermCodeDto.java +++ b/orange-demo-multi-service/application/upms/upms-interface/src/main/java/com/orange/demo/upmsinterface/dto/SysPermCodeDto.java @@ -14,8 +14,8 @@ import java.util.Map; /** * 权限字Dto。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Data public class SysPermCodeDto { diff --git a/orange-demo-multi-service/application/upms/upms-interface/src/main/java/com/orange/demo/upmsinterface/dto/SysPermDto.java b/orange-demo-multi-service/application/upms/upms-interface/src/main/java/com/orange/demo/upmsinterface/dto/SysPermDto.java index b51e4697..728b139b 100644 --- a/orange-demo-multi-service/application/upms/upms-interface/src/main/java/com/orange/demo/upmsinterface/dto/SysPermDto.java +++ b/orange-demo-multi-service/application/upms/upms-interface/src/main/java/com/orange/demo/upmsinterface/dto/SysPermDto.java @@ -11,8 +11,8 @@ import java.util.Map; /** * 权限资源Dto。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Data public class SysPermDto { diff --git a/orange-demo-multi-service/application/upms/upms-interface/src/main/java/com/orange/demo/upmsinterface/dto/SysPermModuleDto.java b/orange-demo-multi-service/application/upms/upms-interface/src/main/java/com/orange/demo/upmsinterface/dto/SysPermModuleDto.java index 903a310e..136907ff 100644 --- a/orange-demo-multi-service/application/upms/upms-interface/src/main/java/com/orange/demo/upmsinterface/dto/SysPermModuleDto.java +++ b/orange-demo-multi-service/application/upms/upms-interface/src/main/java/com/orange/demo/upmsinterface/dto/SysPermModuleDto.java @@ -13,8 +13,8 @@ import java.util.List; /** * 权限资源模块Dto。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Data public class SysPermModuleDto { diff --git a/orange-demo-multi-service/application/upms/upms-interface/src/main/java/com/orange/demo/upmsinterface/dto/SysRoleDto.java b/orange-demo-multi-service/application/upms/upms-interface/src/main/java/com/orange/demo/upmsinterface/dto/SysRoleDto.java index c4b2943b..373e4abc 100644 --- a/orange-demo-multi-service/application/upms/upms-interface/src/main/java/com/orange/demo/upmsinterface/dto/SysRoleDto.java +++ b/orange-demo-multi-service/application/upms/upms-interface/src/main/java/com/orange/demo/upmsinterface/dto/SysRoleDto.java @@ -11,8 +11,8 @@ import java.util.Map; /** * 角色Dto。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Data public class SysRoleDto { diff --git a/orange-demo-multi-service/application/upms/upms-interface/src/main/java/com/orange/demo/upmsinterface/dto/SysUserDto.java b/orange-demo-multi-service/application/upms/upms-interface/src/main/java/com/orange/demo/upmsinterface/dto/SysUserDto.java index edd1eb95..fcddab36 100644 --- a/orange-demo-multi-service/application/upms/upms-interface/src/main/java/com/orange/demo/upmsinterface/dto/SysUserDto.java +++ b/orange-demo-multi-service/application/upms/upms-interface/src/main/java/com/orange/demo/upmsinterface/dto/SysUserDto.java @@ -1,5 +1,6 @@ package com.orange.demo.upmsinterface.dto; +import com.orange.demo.common.core.validator.AddGroup; import com.orange.demo.common.core.validator.UpdateGroup; import com.orange.demo.common.core.validator.ConstDictRef; import com.orange.demo.upmsinterface.constant.SysUserType; @@ -16,8 +17,8 @@ import java.util.List; /** * SysUserDto对象。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Data public class SysUserDto { @@ -37,7 +38,7 @@ public class SysUserDto { /** * 用户密码。 */ - @NotBlank(message = "数据验证失败,用户密码不能为空!") + @NotBlank(message = "数据验证失败,用户密码不能为空!", groups = {AddGroup.class}) private String password; /** diff --git a/orange-demo-multi-service/application/upms/upms-interface/upms-interface.iml b/orange-demo-multi-service/application/upms/upms-interface/upms-interface.iml new file mode 100644 index 00000000..d3469491 --- /dev/null +++ b/orange-demo-multi-service/application/upms/upms-interface/upms-interface.iml @@ -0,0 +1,260 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/UpmsApplication.java b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/UpmsApplication.java index e2e76cae..b9c41e83 100644 --- a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/UpmsApplication.java +++ b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/UpmsApplication.java @@ -8,8 +8,8 @@ import org.springframework.context.annotation.ComponentScan; /** * upms服务启动类。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @SpringCloudApplication @EnableFeignClients(basePackages = "com.orange.demo") diff --git a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/config/ApplicationConfig.java b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/config/ApplicationConfig.java index 026997cb..7bdf1397 100644 --- a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/config/ApplicationConfig.java +++ b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/config/ApplicationConfig.java @@ -9,8 +9,8 @@ import org.springframework.context.annotation.Configuration; * 应用程序自定义的程序属性配置文件。 * NOTE: 和multiDataSource相关的配置没有包含进来,因为涉及到条件属性,所以由其相关的配置对象自己处理。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Data @RefreshScope diff --git a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/config/DataSourceConfig.java b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/config/DataSourceConfig.java index 44919dd9..246427b2 100644 --- a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/config/DataSourceConfig.java +++ b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/config/DataSourceConfig.java @@ -13,8 +13,8 @@ import javax.sql.DataSource; /** * 数据源配置Bean对象。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Configuration @EnableTransactionManagement diff --git a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/controller/LoginController.java b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/controller/LoginController.java index c73c370c..bed5f57d 100644 --- a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/controller/LoginController.java +++ b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/controller/LoginController.java @@ -9,6 +9,7 @@ import com.orange.demo.common.core.object.ResponseResult; import com.orange.demo.common.core.object.TokenData; import com.orange.demo.common.core.util.MyCommonUtil; import com.orange.demo.common.core.util.RsaUtil; +import com.orange.demo.common.redis.cache.SessionCacheHelper; import com.orange.demo.upmsinterface.constant.SysUserStatus; import com.orange.demo.upmsinterface.constant.SysUserType; import com.orange.demo.upmsservice.config.ApplicationConfig; @@ -27,8 +28,8 @@ import java.util.*; /** * 登录接口控制器类。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Slf4j @RestController @@ -46,6 +47,8 @@ public class LoginController { @Autowired private ApplicationConfig appConfig; @Autowired + private SessionCacheHelper cacheHelper; + @Autowired private PasswordEncoder passwordEncoder; /** @@ -85,6 +88,7 @@ public class LoginController { */ @PostMapping("/doLogout") public ResponseResult doLogout() { + cacheHelper.removeAllSessionCache(); return ResponseResult.success(); } diff --git a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/controller/SysMenuController.java b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/controller/SysMenuController.java index ac139764..0d8e21c9 100644 --- a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/controller/SysMenuController.java +++ b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/controller/SysMenuController.java @@ -23,8 +23,8 @@ import java.util.*; /** * 菜单管理接口控制器类。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Slf4j @RestController diff --git a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/controller/SysPermCodeController.java b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/controller/SysPermCodeController.java index b1f18fe2..a2245d54 100644 --- a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/controller/SysPermCodeController.java +++ b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/controller/SysPermCodeController.java @@ -26,8 +26,8 @@ import java.util.*; /** * 权限字管理接口控制器类。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Slf4j @RestController diff --git a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/controller/SysPermController.java b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/controller/SysPermController.java index f0c4d0e3..808a6ae9 100644 --- a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/controller/SysPermController.java +++ b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/controller/SysPermController.java @@ -27,8 +27,8 @@ import java.util.Map; /** * 权限资源管理接口控制器类。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Slf4j @RestController diff --git a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/controller/SysPermModuleController.java b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/controller/SysPermModuleController.java index 0323f3ed..cb4da4de 100644 --- a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/controller/SysPermModuleController.java +++ b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/controller/SysPermModuleController.java @@ -25,8 +25,8 @@ import java.util.Map; /** * 权限资源模块管理接口控制器类。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Slf4j @RestController diff --git a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/controller/SysRoleController.java b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/controller/SysRoleController.java index a215f3d3..6e453cd5 100644 --- a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/controller/SysRoleController.java +++ b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/controller/SysRoleController.java @@ -32,8 +32,8 @@ import java.util.stream.Collectors; /** * 角色管理接口控制器类。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Slf4j @RestController diff --git a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/controller/SysUserController.java b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/controller/SysUserController.java index ae1a2c00..46164c7d 100644 --- a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/controller/SysUserController.java +++ b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/controller/SysUserController.java @@ -12,6 +12,7 @@ import com.orange.demo.common.core.constant.ErrorCodeEnum; import com.orange.demo.common.core.base.controller.BaseController; import com.orange.demo.common.core.base.service.BaseService; import com.orange.demo.common.core.annotation.MyRequestBody; +import com.orange.demo.common.core.validator.AddGroup; import com.orange.demo.common.core.validator.UpdateGroup; import com.orange.demo.upmsservice.config.ApplicationConfig; import lombok.extern.slf4j.Slf4j; @@ -24,8 +25,8 @@ import java.util.*; /** * 用户管理操作控制器类。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Slf4j @RestController @@ -53,7 +54,7 @@ public class SysUserController extends BaseController @PostMapping("/add") public ResponseResult add( @MyRequestBody("sysUser") SysUserDto sysUserDto, @MyRequestBody String roleIdListString) { - String errorMessage = MyCommonUtil.getModelValidationError(sysUserDto); + String errorMessage = MyCommonUtil.getModelValidationError(sysUserDto, Default.class, AddGroup.class); if (errorMessage != null) { return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATAED_FAILED, errorMessage); } diff --git a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/dao/SysMenuMapper.java b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/dao/SysMenuMapper.java index f7694124..dace4da3 100644 --- a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/dao/SysMenuMapper.java +++ b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/dao/SysMenuMapper.java @@ -8,8 +8,8 @@ import java.util.List; /** * 菜单数据访问操作接口。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ public interface SysMenuMapper extends BaseDaoMapper { diff --git a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/dao/SysMenuPermCodeMapper.java b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/dao/SysMenuPermCodeMapper.java index 126e06c0..8561f7dc 100644 --- a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/dao/SysMenuPermCodeMapper.java +++ b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/dao/SysMenuPermCodeMapper.java @@ -6,8 +6,8 @@ import com.orange.demo.upmsservice.model.SysMenuPermCode; /** * 菜单与权限字关系数据访问操作接口。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ public interface SysMenuPermCodeMapper extends BaseDaoMapper { } diff --git a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/dao/SysPermCodeMapper.java b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/dao/SysPermCodeMapper.java index bc7a106f..ea986749 100644 --- a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/dao/SysPermCodeMapper.java +++ b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/dao/SysPermCodeMapper.java @@ -10,8 +10,8 @@ import java.util.Map; /** * 权限字数据访问操作接口。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ public interface SysPermCodeMapper extends BaseDaoMapper { diff --git a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/dao/SysPermCodePermMapper.java b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/dao/SysPermCodePermMapper.java index 94d03de2..d986b8ce 100644 --- a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/dao/SysPermCodePermMapper.java +++ b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/dao/SysPermCodePermMapper.java @@ -6,8 +6,8 @@ import com.orange.demo.upmsservice.model.SysPermCodePerm; /** * 权限字与权限资源关系数据访问操作接口。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ public interface SysPermCodePermMapper extends BaseDaoMapper { } diff --git a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/dao/SysPermMapper.java b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/dao/SysPermMapper.java index bc745601..eef975d2 100644 --- a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/dao/SysPermMapper.java +++ b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/dao/SysPermMapper.java @@ -10,8 +10,8 @@ import java.util.Map; /** * 权限资源数据访问操作接口。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ public interface SysPermMapper extends BaseDaoMapper { diff --git a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/dao/SysPermModuleMapper.java b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/dao/SysPermModuleMapper.java index 6b156763..8f7624d5 100644 --- a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/dao/SysPermModuleMapper.java +++ b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/dao/SysPermModuleMapper.java @@ -8,8 +8,8 @@ import java.util.List; /** * 权限资源模块数据访问操作接口。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ public interface SysPermModuleMapper extends BaseDaoMapper { diff --git a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/dao/SysPermWhitelistMapper.java b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/dao/SysPermWhitelistMapper.java index 3ef8bf83..fa6131c7 100644 --- a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/dao/SysPermWhitelistMapper.java +++ b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/dao/SysPermWhitelistMapper.java @@ -6,8 +6,8 @@ import com.orange.demo.upmsservice.model.SysPermWhitelist; /** * 权限资源白名单数据访问操作接口。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ public interface SysPermWhitelistMapper extends BaseDaoMapper { } diff --git a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/dao/SysRoleMapper.java b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/dao/SysRoleMapper.java index 74e9211e..f5f5cf02 100644 --- a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/dao/SysRoleMapper.java +++ b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/dao/SysRoleMapper.java @@ -9,8 +9,8 @@ import java.util.List; /** * 角色数据访问操作接口。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ public interface SysRoleMapper extends BaseDaoMapper { diff --git a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/dao/SysRoleMenuMapper.java b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/dao/SysRoleMenuMapper.java index 8003650f..cdecf6b5 100644 --- a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/dao/SysRoleMenuMapper.java +++ b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/dao/SysRoleMenuMapper.java @@ -6,8 +6,8 @@ import com.orange.demo.upmsservice.model.SysRoleMenu; /** * 角色与菜单操作关联关系数据访问操作接口。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ public interface SysRoleMenuMapper extends BaseDaoMapper { } diff --git a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/dao/SysUserMapper.java b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/dao/SysUserMapper.java index 9ef2589c..c4a55436 100644 --- a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/dao/SysUserMapper.java +++ b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/dao/SysUserMapper.java @@ -9,8 +9,8 @@ import java.util.*; /** * 用户管理数据操作访问接口。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ public interface SysUserMapper extends BaseDaoMapper { diff --git a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/dao/SysUserRoleMapper.java b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/dao/SysUserRoleMapper.java index ca000f2f..a17a5e31 100644 --- a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/dao/SysUserRoleMapper.java +++ b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/dao/SysUserRoleMapper.java @@ -8,8 +8,8 @@ import java.util.List; /** * 用户与角色关联关系数据访问操作接口。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ public interface SysUserRoleMapper extends BaseDaoMapper { diff --git a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/model/SysMenu.java b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/model/SysMenu.java index b9c6f8f8..5f9ec8c7 100644 --- a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/model/SysMenu.java +++ b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/model/SysMenu.java @@ -20,8 +20,8 @@ import java.util.List; /** * 菜单实体对象。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Data @Table(name = "zz_sys_menu") diff --git a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/model/SysMenuPermCode.java b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/model/SysMenuPermCode.java index 36e5b253..926e5ce0 100644 --- a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/model/SysMenuPermCode.java +++ b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/model/SysMenuPermCode.java @@ -7,8 +7,8 @@ import javax.persistence.*; /** * 菜单与权限字关联实体对象。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Data @Table(name = "zz_sys_menu_perm_code") diff --git a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/model/SysPerm.java b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/model/SysPerm.java index 25ab4f91..92515760 100644 --- a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/model/SysPerm.java +++ b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/model/SysPerm.java @@ -13,8 +13,8 @@ import java.util.Map; /** * 权限资源实体对象。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Data @Table(name = "zz_sys_perm") diff --git a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/model/SysPermCode.java b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/model/SysPermCode.java index 35b63ebf..d5165b6c 100644 --- a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/model/SysPermCode.java +++ b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/model/SysPermCode.java @@ -20,8 +20,8 @@ import java.util.List; /** * 权限字实体对象。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Data @Table(name = "zz_sys_perm_code") diff --git a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/model/SysPermCodePerm.java b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/model/SysPermCodePerm.java index 7c7c6d7b..c1d3f360 100644 --- a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/model/SysPermCodePerm.java +++ b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/model/SysPermCodePerm.java @@ -7,8 +7,8 @@ import javax.persistence.*; /** * 权限字与权限资源关联实体对象。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Data @Table(name = "zz_sys_perm_code_perm") diff --git a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/model/SysPermModule.java b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/model/SysPermModule.java index c0fed365..5c4ccd36 100644 --- a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/model/SysPermModule.java +++ b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/model/SysPermModule.java @@ -14,8 +14,8 @@ import java.util.List; /** * 权限模块实体对象。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Data @Table(name = "zz_sys_perm_module") diff --git a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/model/SysPermWhitelist.java b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/model/SysPermWhitelist.java index a5fac52c..3a0cdf19 100644 --- a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/model/SysPermWhitelist.java +++ b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/model/SysPermWhitelist.java @@ -7,8 +7,8 @@ import javax.persistence.*; /** * 白名单实体对象。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Data @Table(name = "zz_sys_perm_whitelist") diff --git a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/model/SysRole.java b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/model/SysRole.java index db6e9d41..65c4e439 100644 --- a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/model/SysRole.java +++ b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/model/SysRole.java @@ -18,8 +18,8 @@ import java.util.List; /** * 角色实体对象。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Data @Table(name = "zz_sys_role") diff --git a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/model/SysRoleMenu.java b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/model/SysRoleMenu.java index 22356795..b4e813d0 100644 --- a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/model/SysRoleMenu.java +++ b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/model/SysRoleMenu.java @@ -7,8 +7,8 @@ import javax.persistence.*; /** * 角色菜单实体对象。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Data @Table(name = "zz_sys_role_menu") diff --git a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/model/SysUser.java b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/model/SysUser.java index 1c3b7745..d23ac169 100644 --- a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/model/SysUser.java +++ b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/model/SysUser.java @@ -22,8 +22,8 @@ import java.util.List; /** * SysUser实体对象。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Data @Table(name = "zz_sys_user") diff --git a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/model/SysUserRole.java b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/model/SysUserRole.java index cf5e9d5f..96cca92b 100644 --- a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/model/SysUserRole.java +++ b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/model/SysUserRole.java @@ -7,8 +7,8 @@ import javax.persistence.*; /** * 用户角色实体对象。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Data @Table(name = "zz_sys_user_role") diff --git a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/service/SysMenuService.java b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/service/SysMenuService.java index 15969234..33857360 100644 --- a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/service/SysMenuService.java +++ b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/service/SysMenuService.java @@ -26,8 +26,8 @@ import java.util.stream.Collectors; /** * 菜单数据服务类。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Service public class SysMenuService extends BaseService { diff --git a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/service/SysPermCodeService.java b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/service/SysPermCodeService.java index b3301921..a09d9871 100644 --- a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/service/SysPermCodeService.java +++ b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/service/SysPermCodeService.java @@ -24,8 +24,8 @@ import java.util.stream.Collectors; /** * 权限字数据服务类。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Service public class SysPermCodeService extends BaseService { diff --git a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/service/SysPermModuleService.java b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/service/SysPermModuleService.java index d1135d24..a8e0089d 100644 --- a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/service/SysPermModuleService.java +++ b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/service/SysPermModuleService.java @@ -18,8 +18,8 @@ import java.util.List; /** * 权限资源模块数据服务类。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Service public class SysPermModuleService extends BaseService { diff --git a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/service/SysPermService.java b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/service/SysPermService.java index acb6c308..3ef2abd1 100644 --- a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/service/SysPermService.java +++ b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/service/SysPermService.java @@ -26,8 +26,8 @@ import java.util.Map; /** * 权限资源数据服务类。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Service public class SysPermService extends BaseService { diff --git a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/service/SysPermWhitelistService.java b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/service/SysPermWhitelistService.java index 2d3a477e..58817dec 100644 --- a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/service/SysPermWhitelistService.java +++ b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/service/SysPermWhitelistService.java @@ -10,8 +10,8 @@ import org.springframework.stereotype.Service; /** * 白名单数据服务类。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Service public class SysPermWhitelistService extends BaseService { diff --git a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/service/SysRoleService.java b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/service/SysRoleService.java index 0ad3024a..0383e20e 100644 --- a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/service/SysRoleService.java +++ b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/service/SysRoleService.java @@ -26,8 +26,8 @@ import java.util.stream.Collectors; /** * 角色数据服务类。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Service public class SysRoleService extends BaseService { diff --git a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/service/SysUserService.java b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/service/SysUserService.java index 869696b9..909ee61e 100644 --- a/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/service/SysUserService.java +++ b/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orange/demo/upmsservice/service/SysUserService.java @@ -25,8 +25,8 @@ import java.util.stream.Collectors; /** * 用户管理数据操作服务类。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Service public class SysUserService extends BaseService { diff --git a/orange-demo-multi-service/application/upms/upms-service/upms-service.iml b/orange-demo-multi-service/application/upms/upms-service/upms-service.iml new file mode 100644 index 00000000..77076094 --- /dev/null +++ b/orange-demo-multi-service/application/upms/upms-service/upms-service.iml @@ -0,0 +1,277 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-multi-service/application/upms/upms.iml b/orange-demo-multi-service/application/upms/upms.iml new file mode 100644 index 00000000..ee4abb7e --- /dev/null +++ b/orange-demo-multi-service/application/upms/upms.iml @@ -0,0 +1,193 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-multi-service/common/common-core/common-core.iml b/orange-demo-multi-service/common/common-core/common-core.iml new file mode 100644 index 00000000..2702bf77 --- /dev/null +++ b/orange-demo-multi-service/common/common-core/common-core.iml @@ -0,0 +1,216 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-multi-service/common/common-core/pom.xml b/orange-demo-multi-service/common/common-core/pom.xml index 1c8a4353..09e0231f 100644 --- a/orange-demo-multi-service/common/common-core/pom.xml +++ b/orange-demo-multi-service/common/common-core/pom.xml @@ -106,15 +106,5 @@ pagehelper-spring-boot-starter ${pagehelper.version} - - redis.clients - jedis - ${jedis.version} - - - org.redisson - redisson - ${redisson.version} - diff --git a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/advice/MyControllerAdvice.java b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/advice/MyControllerAdvice.java index 36530b07..f8f40279 100644 --- a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/advice/MyControllerAdvice.java +++ b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/advice/MyControllerAdvice.java @@ -11,8 +11,8 @@ import java.util.Date; /** * Controller的环绕拦截类。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @ControllerAdvice public class MyControllerAdvice { diff --git a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/advice/MyExceptionHandler.java b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/advice/MyExceptionHandler.java index ee69acd3..24e1f9f7 100644 --- a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/advice/MyExceptionHandler.java +++ b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/advice/MyExceptionHandler.java @@ -21,8 +21,8 @@ import java.util.concurrent.TimeoutException; * 业务层的异常处理类,这里只是给出最通用的Exception的捕捉,今后可以根据业务需要, * 用不同的函数,处理不同类型的异常。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Slf4j @RestControllerAdvice("com.orange.demo") diff --git a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/DeletedFlagColumn.java b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/DeletedFlagColumn.java index e275a652..d9e9f414 100644 --- a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/DeletedFlagColumn.java +++ b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/DeletedFlagColumn.java @@ -5,8 +5,8 @@ import java.lang.annotation.*; /** * 主要用于标记逻辑删除字段。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Target({ElementType.FIELD}) @Retention(RetentionPolicy.RUNTIME) diff --git a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/JobUpdateTimeColumn.java b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/JobUpdateTimeColumn.java index a20d30d1..06d172db 100644 --- a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/JobUpdateTimeColumn.java +++ b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/JobUpdateTimeColumn.java @@ -5,8 +5,8 @@ import java.lang.annotation.*; /** * 主要用于标记更新字段。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Target({ElementType.FIELD}) @Retention(RetentionPolicy.RUNTIME) diff --git a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/MyDataSource.java b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/MyDataSource.java index 4b4240ad..78201f29 100644 --- a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/MyDataSource.java +++ b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/MyDataSource.java @@ -5,8 +5,8 @@ import java.lang.annotation.*; /** * 主要用于标记Service所依赖的数据源类型。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) diff --git a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/MyRequestBody.java b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/MyRequestBody.java index 1d393400..6b309fb9 100644 --- a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/MyRequestBody.java +++ b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/MyRequestBody.java @@ -8,8 +8,8 @@ import java.lang.annotation.Target; /** * 标记Controller中的方法参数,参数解析器会根据该注解将请求中的JSON数据,映射到参数中的绑定字段。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Target(ElementType.PARAMETER) @Retention(RetentionPolicy.RUNTIME) diff --git a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/NoAuthInterface.java b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/NoAuthInterface.java index 2a3ad5f6..f876b79f 100644 --- a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/NoAuthInterface.java +++ b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/NoAuthInterface.java @@ -5,8 +5,8 @@ import java.lang.annotation.*; /** * 主要用于标记无需Token验证的接口 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Target({ElementType.METHOD, ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) diff --git a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/RelationConstDict.java b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/RelationConstDict.java index 3f98cbf2..e2cf79a6 100644 --- a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/RelationConstDict.java +++ b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/RelationConstDict.java @@ -5,8 +5,8 @@ import java.lang.annotation.*; /** * 标识Model和常量字典之间的关联关系。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Target({ElementType.FIELD, ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) diff --git a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/RelationDict.java b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/RelationDict.java index 90a49007..fc479aca 100644 --- a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/RelationDict.java +++ b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/RelationDict.java @@ -7,8 +7,8 @@ import java.lang.annotation.*; /** * 标识Model之间的字典关联关系。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Target({ElementType.FIELD, ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) diff --git a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/RelationManyToMany.java b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/RelationManyToMany.java index 4b7015ac..0f76030b 100644 --- a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/RelationManyToMany.java +++ b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/RelationManyToMany.java @@ -5,8 +5,8 @@ import java.lang.annotation.*; /** * 标注多对多的Model关系。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Target({ElementType.FIELD, ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) diff --git a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/RelationManyToManyAggregation.java b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/RelationManyToManyAggregation.java index 29fa8310..ff45a96e 100644 --- a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/RelationManyToManyAggregation.java +++ b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/RelationManyToManyAggregation.java @@ -7,8 +7,8 @@ import java.lang.annotation.*; /** * 主要用于多对多的Model关系。标注通过从表关联字段或者关联表关联字段计算主表聚合计算字段的规则。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Target({ElementType.FIELD, ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) diff --git a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/RelationOneToManyAggregation.java b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/RelationOneToManyAggregation.java index eba92823..13cac580 100644 --- a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/RelationOneToManyAggregation.java +++ b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/RelationOneToManyAggregation.java @@ -7,8 +7,8 @@ import java.lang.annotation.*; /** * 主要用于一对多的Model关系。标注通过从表关联字段计算主表聚合计算字段的规则。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Target({ElementType.FIELD, ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) diff --git a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/RelationOneToOne.java b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/RelationOneToOne.java index 10f4aecb..41c89815 100644 --- a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/RelationOneToOne.java +++ b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/annotation/RelationOneToOne.java @@ -7,8 +7,8 @@ import java.lang.annotation.*; /** * 标识Model之间的一对一关联关系。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Target({ElementType.FIELD, ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) diff --git a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/aop/AccessLogAspect.java b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/aop/AccessLogAspect.java index 2bbe631d..a3b8d0c8 100644 --- a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/aop/AccessLogAspect.java +++ b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/aop/AccessLogAspect.java @@ -26,8 +26,8 @@ import java.util.List; /** * 记录接口的链路traceId、请求参数、应答数据、错误信息和调用时长。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Aspect @Component diff --git a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/base/client/BaseClient.java b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/base/client/BaseClient.java index 270f9a8a..47543b2f 100644 --- a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/base/client/BaseClient.java +++ b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/base/client/BaseClient.java @@ -13,8 +13,8 @@ import java.util.Set; * * @param 主DomainDto域数据对象类型。 * @param 主键类型。 - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ public interface BaseClient { diff --git a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/base/controller/BaseController.java b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/base/controller/BaseController.java index 046c7639..64023a17 100644 --- a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/base/controller/BaseController.java +++ b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/base/controller/BaseController.java @@ -32,8 +32,8 @@ import java.util.stream.Collectors; * @param 主Model实体对象类型。 * @param 主DomainDto域对象类型。 * @param 主键类型。 - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Slf4j public abstract class BaseController { diff --git a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/base/dao/BaseDaoMapper.java b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/base/dao/BaseDaoMapper.java index 059c4636..3a8dbac7 100644 --- a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/base/dao/BaseDaoMapper.java +++ b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/base/dao/BaseDaoMapper.java @@ -13,8 +13,8 @@ import java.util.Map; * 数据访问对象的基类。 * * @param 主Model实体对象。 - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @RegisterMapper public interface BaseDaoMapper extends Mapper, InsertListMapper { diff --git a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/base/mapper/BaseModelMapper.java b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/base/mapper/BaseModelMapper.java index 36f4362b..be5913ab 100644 --- a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/base/mapper/BaseModelMapper.java +++ b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/base/mapper/BaseModelMapper.java @@ -11,8 +11,8 @@ import java.util.stream.Collectors; * * @param Domain域对象类型。 * @param Model实体对象类型。 - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ public interface BaseModelMapper { diff --git a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/base/mapper/DummyModelMapper.java b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/base/mapper/DummyModelMapper.java index 44bf63c3..9bbbee42 100644 --- a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/base/mapper/DummyModelMapper.java +++ b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/base/mapper/DummyModelMapper.java @@ -7,8 +7,8 @@ import java.util.List; * 由于没有实际的数据转换,因此同时保证了代码统一和执行效率。 * * @param 数据类型。 - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ public class DummyModelMapper implements BaseModelMapper { diff --git a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/base/service/BaseDictService.java b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/base/service/BaseDictService.java index 0c4d9893..678a7a00 100644 --- a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/base/service/BaseDictService.java +++ b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/base/service/BaseDictService.java @@ -16,8 +16,8 @@ import java.util.List; * @param Model实体对象的类型。 * @param Model对应的DomainDto域对象类型。 * @param Model对象主键的类型。 - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Slf4j public abstract class BaseDictService extends BaseService { diff --git a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/base/service/BaseService.java b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/base/service/BaseService.java index e6c318e1..6c464965 100644 --- a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/base/service/BaseService.java +++ b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/base/service/BaseService.java @@ -39,8 +39,8 @@ import static java.util.stream.Collectors.*; * @param Model对象的类型。 * @param Model对应的Dto对象类型。 * @param Model对象主键的类型。 - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Slf4j public abstract class BaseService { diff --git a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/cache/CacheConfig.java b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/cache/CacheConfig.java deleted file mode 100644 index b1c12e62..00000000 --- a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/cache/CacheConfig.java +++ /dev/null @@ -1,83 +0,0 @@ -package com.orange.demo.common.core.cache; - -import com.github.benmanes.caffeine.cache.Caffeine; -import org.springframework.cache.CacheManager; -import org.springframework.cache.annotation.EnableCaching; -import org.springframework.cache.caffeine.CaffeineCache; -import org.springframework.cache.support.SimpleCacheManager; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; - -import java.util.ArrayList; -import java.util.concurrent.TimeUnit; - -/** - * 使用Caffeine作为本地缓存库。 - * - * @author Orange Team - * @date 2020-08-08 - */ -@Configuration -@EnableCaching -public class CacheConfig { - - private static final int DEFAULT_MAXSIZE = 10000; - private static final int DEFAULT_TTL = 3600; - - /** - * 定义cache名称、超时时长秒、最大个数。 - * 每个cache缺省3600秒过期,最大个数1000。 - */ - public enum CacheEnum { - - /** - * 缺省全局缓存(时间是24小时)。 - */ - GLOBAL_CACHE(86400, 20000); - - CacheEnum() { - } - - CacheEnum(int ttl, int maxSize) { - this.ttl = ttl; - this.maxSize = maxSize; - } - - /** - * 缓存的最大数量。 - */ - private int maxSize = DEFAULT_MAXSIZE; - /** - * 缓存的时长(单位:秒) - */ - private int ttl = DEFAULT_TTL; - - public int getMaxSize() { - return maxSize; - } - - public int getTtl() { - return ttl; - } - } - - /** - * 个性化配置缓存。 - */ - @Bean - public CacheManager cacheManager() { - SimpleCacheManager manager = new SimpleCacheManager(); - //把各个cache注册到cacheManager中,CaffeineCache实现了org.springframework.cache.Cache接口 - ArrayList caches = new ArrayList<>(); - for (CacheEnum c : CacheEnum.values()) { - caches.add(new CaffeineCache(c.name(), - Caffeine.newBuilder().recordStats() - .expireAfterAccess(c.getTtl(), TimeUnit.SECONDS) - .maximumSize(c.getMaxSize()) - .build()) - ); - } - manager.setCaches(caches); - return manager; - } -} diff --git a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/cache/DictionaryCache.java b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/cache/DictionaryCache.java index 5c0922c8..04bc5158 100644 --- a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/cache/DictionaryCache.java +++ b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/cache/DictionaryCache.java @@ -8,8 +8,8 @@ import java.util.Set; * * @param 字典表主键类型。 * @param 字典表对象类型。 - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ public interface DictionaryCache { diff --git a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/cache/MapDictionaryCache.java b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/cache/MapDictionaryCache.java index 6b4b11ed..95d3481b 100644 --- a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/cache/MapDictionaryCache.java +++ b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/cache/MapDictionaryCache.java @@ -8,8 +8,8 @@ import java.util.function.Function; * * @param 字典表主键类型。 * @param 字典表对象类型。 - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ public class MapDictionaryCache implements DictionaryCache { diff --git a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/cache/MapTreeDictionaryCache.java b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/cache/MapTreeDictionaryCache.java index 3fb6a89a..b31637cd 100644 --- a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/cache/MapTreeDictionaryCache.java +++ b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/cache/MapTreeDictionaryCache.java @@ -11,8 +11,8 @@ import java.util.function.Function; * * @param 字典表主键类型。 * @param 字典表对象类型。 - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ public class MapTreeDictionaryCache extends MapDictionaryCache { diff --git a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/config/CommonWebMvcConfig.java b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/config/CommonWebMvcConfig.java index 533d139b..2555c389 100644 --- a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/config/CommonWebMvcConfig.java +++ b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/config/CommonWebMvcConfig.java @@ -20,8 +20,8 @@ import java.util.List; /** * 所有的项目拦截器、参数解析器、消息对象转换器都在这里集中配置。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Configuration public class CommonWebMvcConfig implements WebMvcConfigurer { diff --git a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/config/EncryptConfig.java b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/config/EncryptConfig.java index 9ac95986..536ac615 100644 --- a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/config/EncryptConfig.java +++ b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/config/EncryptConfig.java @@ -7,8 +7,8 @@ import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; /** * 目前用于用户密码加密,UAA接入应用客户端的client_secret加密。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Configuration public class EncryptConfig { diff --git a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/config/FeignConfig.java b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/config/FeignConfig.java index eeba4757..898b8d95 100644 --- a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/config/FeignConfig.java +++ b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/config/FeignConfig.java @@ -10,8 +10,8 @@ import org.springframework.context.annotation.Configuration; /** * FeignClient的配置对象。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Configuration public class FeignConfig implements RequestInterceptor { diff --git a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/config/RestTemplateConfig.java b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/config/RestTemplateConfig.java index 33eb575f..816fa754 100644 --- a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/config/RestTemplateConfig.java +++ b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/config/RestTemplateConfig.java @@ -23,8 +23,8 @@ import java.util.List; /** * RestTemplate连接池配置对象。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Configuration public class RestTemplateConfig { diff --git a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/config/TomcatConfig.java b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/config/TomcatConfig.java index 4ae55ce5..16c67e58 100644 --- a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/config/TomcatConfig.java +++ b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/config/TomcatConfig.java @@ -9,8 +9,8 @@ import org.springframework.context.annotation.Configuration; /** * tomcat配置对象。当前配置禁用了PUT和DELETE方法,防止渗透攻击。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Configuration public class TomcatConfig { diff --git a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/constant/AggregationKind.java b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/constant/AggregationKind.java index 11bd6d27..d1bf8ea1 100644 --- a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/constant/AggregationKind.java +++ b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/constant/AggregationKind.java @@ -3,8 +3,8 @@ package com.orange.demo.common.core.constant; /** * 在跨服务调用时,需要传递的聚合分类常量对象。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ public final class AggregationKind { diff --git a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/constant/AggregationType.java b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/constant/AggregationType.java index 043a0e02..ba971fb7 100644 --- a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/constant/AggregationType.java +++ b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/constant/AggregationType.java @@ -6,8 +6,8 @@ import java.util.Map; /** * 聚合计算的常量类型对象。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ public final class AggregationType { diff --git a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/constant/ApplicationConstant.java b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/constant/ApplicationConstant.java index 35957ed4..7cd01fbb 100644 --- a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/constant/ApplicationConstant.java +++ b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/constant/ApplicationConstant.java @@ -3,8 +3,8 @@ package com.orange.demo.common.core.constant; /** * 应用程序的常量声明对象。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ public final class ApplicationConstant { diff --git a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/constant/ErrorCodeEnum.java b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/constant/ErrorCodeEnum.java index c19c4313..c5386cdd 100644 --- a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/constant/ErrorCodeEnum.java +++ b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/constant/ErrorCodeEnum.java @@ -3,8 +3,8 @@ package com.orange.demo.common.core.constant; /** * 返回应答中的错误代码和错误信息。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ public enum ErrorCodeEnum { diff --git a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/constant/GlobalDeletedFlag.java b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/constant/GlobalDeletedFlag.java index 8a1b3994..7980dfad 100644 --- a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/constant/GlobalDeletedFlag.java +++ b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/constant/GlobalDeletedFlag.java @@ -3,8 +3,8 @@ package com.orange.demo.common.core.constant; /** * 数据记录逻辑删除标记常量。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ public final class GlobalDeletedFlag { diff --git a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/exception/DataValidationException.java b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/exception/DataValidationException.java index 27a8f171..be9cd66b 100644 --- a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/exception/DataValidationException.java +++ b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/exception/DataValidationException.java @@ -3,8 +3,8 @@ package com.orange.demo.common.core.exception; /** * 数据验证失败的自定义异常。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ public class DataValidationException extends RuntimeException { diff --git a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/exception/InvalidClassFieldException.java b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/exception/InvalidClassFieldException.java index 255620ed..d26ab804 100644 --- a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/exception/InvalidClassFieldException.java +++ b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/exception/InvalidClassFieldException.java @@ -6,8 +6,8 @@ import lombok.EqualsAndHashCode; /** * 无效的类对象字段的自定义异常。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Data @EqualsAndHashCode(callSuper = true) diff --git a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/exception/InvalidDataFieldException.java b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/exception/InvalidDataFieldException.java index e082bb09..6cebffe6 100644 --- a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/exception/InvalidDataFieldException.java +++ b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/exception/InvalidDataFieldException.java @@ -6,8 +6,8 @@ import lombok.EqualsAndHashCode; /** * 无效的实体对象字段的自定义异常。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Data @EqualsAndHashCode(callSuper = true) diff --git a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/exception/InvalidDataModelException.java b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/exception/InvalidDataModelException.java index f85e62f8..8f6ac6e9 100644 --- a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/exception/InvalidDataModelException.java +++ b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/exception/InvalidDataModelException.java @@ -6,8 +6,8 @@ import lombok.EqualsAndHashCode; /** * 无效的实体对象的自定义异常。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Data @EqualsAndHashCode(callSuper = true) diff --git a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/exception/MyRuntimeException.java b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/exception/MyRuntimeException.java index c9a5e555..6344c365 100644 --- a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/exception/MyRuntimeException.java +++ b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/exception/MyRuntimeException.java @@ -4,8 +4,8 @@ package com.orange.demo.common.core.exception; * 自定义的运行时异常,在需要抛出运行时异常时,可使用该异常。 * NOTE:主要是为了避免SonarQube进行代码质量扫描时,给出警告。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ public class MyRuntimeException extends RuntimeException { diff --git a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/exception/NoDataAffectException.java b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/exception/NoDataAffectException.java index 6f560f3c..30ef2672 100644 --- a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/exception/NoDataAffectException.java +++ b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/exception/NoDataAffectException.java @@ -3,8 +3,8 @@ package com.orange.demo.common.core.exception; /** * 没有数据被修改的自定义异常。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ public class NoDataAffectException extends RuntimeException { diff --git a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/exception/NoDataPermException.java b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/exception/NoDataPermException.java index a6654085..7f5d13fd 100644 --- a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/exception/NoDataPermException.java +++ b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/exception/NoDataPermException.java @@ -3,8 +3,8 @@ package com.orange.demo.common.core.exception; /** * 没有数据访问权限的自定义异常。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ public class NoDataPermException extends RuntimeException { diff --git a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/exception/RedisCacheAccessException.java b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/exception/RedisCacheAccessException.java index cd7a69e3..974d0759 100644 --- a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/exception/RedisCacheAccessException.java +++ b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/exception/RedisCacheAccessException.java @@ -3,8 +3,8 @@ package com.orange.demo.common.core.exception; /** * Redis缓存访问失败。比如:获取分布式数据锁超时、等待线程中断等。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ public class RedisCacheAccessException extends RuntimeException { diff --git a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/exception/RemoteDataBuildException.java b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/exception/RemoteDataBuildException.java index 2925266a..f05d11b3 100644 --- a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/exception/RemoteDataBuildException.java +++ b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/exception/RemoteDataBuildException.java @@ -3,8 +3,8 @@ package com.orange.demo.common.core.exception; /** * 关联远程服务数据失败的自定义异常。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ public class RemoteDataBuildException extends RuntimeException { diff --git a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/interceptor/MyRequestArgumentResolver.java b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/interceptor/MyRequestArgumentResolver.java index 2dd71aa9..e782decb 100644 --- a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/interceptor/MyRequestArgumentResolver.java +++ b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/interceptor/MyRequestArgumentResolver.java @@ -28,8 +28,8 @@ import java.util.*; * 1、单个字符串等包装类型都要写一个对象才可以用@RequestBody接收; * 2、多个对象需要封装到一个对象里才可以用@RequestBody接收。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ public class MyRequestArgumentResolver implements HandlerMethodArgumentResolver { diff --git a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/listener/LoadCachedDataListener.java b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/listener/LoadCachedDataListener.java index 2652efd5..8a50eb07 100644 --- a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/listener/LoadCachedDataListener.java +++ b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/listener/LoadCachedDataListener.java @@ -10,8 +10,8 @@ import java.util.Map; /** * 应用程序启动后的事件监听对象。主要负责加载Model之间的字典关联和一对一关联所对应的Service结构关系。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Component public class LoadCachedDataListener implements ApplicationListener { diff --git a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/listener/LoadServiceRelationListener.java b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/listener/LoadServiceRelationListener.java index 1787e387..ed75353b 100644 --- a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/listener/LoadServiceRelationListener.java +++ b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/listener/LoadServiceRelationListener.java @@ -10,8 +10,8 @@ import java.util.Map; /** * 应用程序启动后的事件监听对象。主要负责加载Model之间的字典关联和一对一关联所对应的Service结构关系。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Component public class LoadServiceRelationListener implements ApplicationListener { diff --git a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/object/CallResult.java b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/object/CallResult.java index f622969b..38d353fe 100644 --- a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/object/CallResult.java +++ b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/object/CallResult.java @@ -7,8 +7,8 @@ import lombok.Data; * 接口数据验证结果对象。主要是Service类使用。 * 同时为了提升效率,减少查询次数,可以根据具体的需求,将部分验证关联对象存入data字段,以供Controller使用。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Data public class CallResult { diff --git a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/object/DummyClass.java b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/object/DummyClass.java index 576ee1f8..c88d5e36 100644 --- a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/object/DummyClass.java +++ b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/object/DummyClass.java @@ -3,8 +3,8 @@ package com.orange.demo.common.core.object; /** * 哑元对象,主要用于注解中的缺省对象占位符。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ public final class DummyClass { diff --git a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/object/MyAggregationParam.java b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/object/MyAggregationParam.java index 019aabd6..f26b130a 100644 --- a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/object/MyAggregationParam.java +++ b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/object/MyAggregationParam.java @@ -9,8 +9,8 @@ import java.util.Set; /** * 分组聚合查询参数。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Data public class MyAggregationParam { diff --git a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/object/MyGroupCriteria.java b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/object/MyGroupCriteria.java index d59686eb..dda2b6d3 100644 --- a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/object/MyGroupCriteria.java +++ b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/object/MyGroupCriteria.java @@ -6,8 +6,8 @@ import lombok.Data; /** * Mybatis Mapper.xml中所需的分组条件对象。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Data @AllArgsConstructor diff --git a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/object/MyGroupParam.java b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/object/MyGroupParam.java index 5a4e32f0..d856f435 100644 --- a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/object/MyGroupParam.java +++ b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/object/MyGroupParam.java @@ -19,8 +19,8 @@ import java.util.List; /** * 查询分组参数请求对象。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @EqualsAndHashCode(callSuper = true) @Slf4j diff --git a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/object/MyOrderParam.java b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/object/MyOrderParam.java index 46477038..024c6f1a 100644 --- a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/object/MyOrderParam.java +++ b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/object/MyOrderParam.java @@ -17,8 +17,8 @@ import java.util.*; /** * Controller参数中的排序请求对象。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @EqualsAndHashCode(callSuper = true) @Slf4j diff --git a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/object/MyPageParam.java b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/object/MyPageParam.java index f06b4d4c..93b1c0c8 100644 --- a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/object/MyPageParam.java +++ b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/object/MyPageParam.java @@ -5,8 +5,8 @@ import lombok.Getter; /** * Controller参数中的分页请求对象 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Getter public class MyPageParam { diff --git a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/object/MyQueryParam.java b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/object/MyQueryParam.java index a222e3d7..f951757b 100644 --- a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/object/MyQueryParam.java +++ b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/object/MyQueryParam.java @@ -8,8 +8,8 @@ import java.util.*; /** * 查询参数。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Data public class MyQueryParam { diff --git a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/object/MyRelationParam.java b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/object/MyRelationParam.java index 9a111876..7849919c 100644 --- a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/object/MyRelationParam.java +++ b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/object/MyRelationParam.java @@ -7,8 +7,8 @@ import lombok.Data; * 实体对象数据组装参数构建器。 * BaseService中的实体对象数据组装函数,会根据该参数对象进行数据组装。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Data @Builder diff --git a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/object/MyWhereCriteria.java b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/object/MyWhereCriteria.java index f391b8aa..df024a7e 100644 --- a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/object/MyWhereCriteria.java +++ b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/object/MyWhereCriteria.java @@ -15,8 +15,8 @@ import java.util.List; /** * Where中的条件语句。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Slf4j @Data diff --git a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/object/ResponseResult.java b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/object/ResponseResult.java index e9929158..edee99a9 100644 --- a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/object/ResponseResult.java +++ b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/object/ResponseResult.java @@ -6,8 +6,8 @@ import lombok.Data; /** * 接口返回对象 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Data public class ResponseResult { diff --git a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/object/TokenData.java b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/object/TokenData.java index bb7c56f6..50e32100 100644 --- a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/object/TokenData.java +++ b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/object/TokenData.java @@ -15,8 +15,8 @@ import java.nio.charset.StandardCharsets; /** * 基于Jwt,用于前后端传递的令牌对象。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Data @ToString diff --git a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/object/Tuple2.java b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/object/Tuple2.java index 25401ef0..eeb6a53c 100644 --- a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/object/Tuple2.java +++ b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/object/Tuple2.java @@ -3,8 +3,8 @@ package com.orange.demo.common.core.object; /** * 二元组对象。主要用于可以一次返回多个结果的场景,同时还能避免强制转换。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ public class Tuple2 { diff --git a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/util/AopTargetUtil.java b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/util/AopTargetUtil.java index 9f79b6d4..299dc535 100644 --- a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/util/AopTargetUtil.java +++ b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/util/AopTargetUtil.java @@ -10,8 +10,8 @@ import java.lang.reflect.Field; /** * 获取JDK动态代理/CGLIB代理对象代理的目标对象的工具类。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Slf4j public class AopTargetUtil { diff --git a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/util/ApplicationContextHolder.java b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/util/ApplicationContextHolder.java index 99ccbfb5..e6d3bb26 100644 --- a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/util/ApplicationContextHolder.java +++ b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/util/ApplicationContextHolder.java @@ -9,8 +9,8 @@ import org.springframework.stereotype.Component; /** * Spring 系统启动应用感知对象,主要用于获取Spring Bean的上下文对象,后续的代码中可以直接查找系统中加载的Bean对象。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Component public class ApplicationContextHolder implements ApplicationContextAware { diff --git a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/util/ContextUtil.java b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/util/ContextUtil.java index e3f855da..dda2829f 100644 --- a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/util/ContextUtil.java +++ b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/util/ContextUtil.java @@ -9,8 +9,8 @@ import javax.servlet.http.HttpServletResponse; /** * 获取Servlet HttpRequest和HttpResponse的工具类。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ public class ContextUtil { diff --git a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/util/ExportUtil.java b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/util/ExportUtil.java index 8be7a944..73a251c0 100644 --- a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/util/ExportUtil.java +++ b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/util/ExportUtil.java @@ -22,8 +22,8 @@ import java.util.*; /** * 导出工具类,目前支持xlsx和csv两种类型。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Slf4j public class ExportUtil { diff --git a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/util/ImportUtil.java b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/util/ImportUtil.java index 6b0565db..4362c940 100644 --- a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/util/ImportUtil.java +++ b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/util/ImportUtil.java @@ -21,8 +21,8 @@ import java.util.stream.Collectors; /** * 导入工具类,目前支持xlsx和csv两种类型。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Slf4j public class ImportUtil { diff --git a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/util/IpUtil.java b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/util/IpUtil.java index 233db6c5..64281c93 100644 --- a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/util/IpUtil.java +++ b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/util/IpUtil.java @@ -16,8 +16,8 @@ import java.util.List; /** * Ip工具类。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Slf4j public class IpUtil { diff --git a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/util/JwtUtil.java b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/util/JwtUtil.java index 055dce3e..f673c483 100644 --- a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/util/JwtUtil.java +++ b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/util/JwtUtil.java @@ -11,8 +11,8 @@ import java.util.Map; /** * 基于JWT的Token生成工具类 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Slf4j public class JwtUtil { diff --git a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/util/LogMessageUtil.java b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/util/LogMessageUtil.java index a9fda17a..02e5084a 100644 --- a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/util/LogMessageUtil.java +++ b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/util/LogMessageUtil.java @@ -5,8 +5,8 @@ package com.orange.demo.common.core.util; * 主要目标是,尽量保证日志输出的统一性,同时也可以有效减少与日志信息相关的常量字符串, * 提高代码的规范度和可维护性。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ public class LogMessageUtil { diff --git a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/util/MyCommonUtil.java b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/util/MyCommonUtil.java index 230808ab..4f300a19 100644 --- a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/util/MyCommonUtil.java +++ b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/util/MyCommonUtil.java @@ -15,8 +15,8 @@ import java.util.UUID; /** * 脚手架中常用的基本工具方法集合,一般而言工程内部使用的方法。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ public class MyCommonUtil { diff --git a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/util/MyDateUtil.java b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/util/MyDateUtil.java index 0b893810..3f2d45fd 100644 --- a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/util/MyDateUtil.java +++ b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/util/MyDateUtil.java @@ -15,8 +15,8 @@ import static org.joda.time.PeriodType.days; /** * 日期工具类,主要封装了部分joda-time中的方法,让很多代码一行完成,同时统一了日期到字符串的pattern格式。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ public class MyDateUtil { diff --git a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/util/MyModelUtil.java b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/util/MyModelUtil.java index 252cc9ec..44a4a112 100644 --- a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/util/MyModelUtil.java +++ b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/util/MyModelUtil.java @@ -2,6 +2,7 @@ package com.orange.demo.common.core.util; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.util.ReflectUtil; +import com.orange.demo.common.core.annotation.RelationConstDict; import com.orange.demo.common.core.annotation.RelationDict; import com.orange.demo.common.core.annotation.RelationOneToOne; import com.orange.demo.common.core.exception.MyRuntimeException; @@ -24,8 +25,8 @@ import java.util.stream.Collectors; /** * 负责Model数据操作、类型转换和关系关联等行为的工具类。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Slf4j public class MyModelUtil { @@ -184,13 +185,49 @@ public class MyModelUtil { } /** - * 在当前Service的主Model类型中,根据thisRelationField字段的RelationDict注解参数,将被关联对象thatModel中的数据, + * 主Model类型中,遍历所有包含RelationConstDict注解的字段,并将关联的静态字典中的数据, + * 填充到thisModel对象的被注解字段中。 + * + * @param thisClazz 主对象的Class对象。 + * @param thisModel 主对象。 + * @param 主表对象类型。 + */ + @SuppressWarnings("unchecked") + public static void makeConstDictRelation(Class thisClazz, T thisModel) { + if (thisModel == null) { + return; + } + Field[] fields = ReflectUtil.getFields(thisClazz); + for (Field field : fields) { + // 这里不做任何空值判断,从而让配置错误在调试期间即可抛出 + Field thisTargetField = ReflectUtil.getField(thisClazz, field.getName()); + RelationConstDict r = thisTargetField.getAnnotation(RelationConstDict.class); + if (r == null) { + continue; + } + Field dictMapField = ReflectUtil.getField(r.constantDictClass(), "DICT_MAP"); + Map dictMap = (Map) ReflectUtil.getFieldValue(thisClazz, dictMapField); + Object id = ReflectUtil.getFieldValue(thisModel, r.masterIdField()); + if (id != null) { + String name = dictMap.get(id); + if (name != null) { + Map m = new HashMap<>(2); + m.put("id", id); + m.put("name", name); + ReflectUtil.setFieldValue(thisModel, thisTargetField, m); + } + } + } + } + + /** + * 在主Model类型中,根据thisRelationField字段的RelationDict注解参数,将被关联对象thatModel中的数据, * 关联到thisModel对象的thisRelationField字段中。 * * @param thisClazz 主对象的Class对象。 * @param thisModel 主对象。 * @param thatModel 字典关联对象。 - * @param thisRelationField 关联对象中保存被关联对象的字段名称。 + * @param thisRelationField 主表对象中保存被关联对象的字段名称。 * @param 主表对象类型。 * @param 从表对象类型。 */ @@ -212,13 +249,13 @@ public class MyModelUtil { } /** - * 在当前Service的主Model类型中,根据thisRelationField字段的RelationDict注解参数,将被关联对象集合thatModelList中的数据, + * 在主Model类型中,根据thisRelationField字段的RelationDict注解参数,将被关联对象集合thatModelList中的数据, * 逐个关联到thisModelList每一个元素的thisRelationField字段中。 * * @param thisClazz 主对象的Class对象。 * @param thisModelList 主对象列表。 * @param thatModelList 字典关联对象列表集合。 - * @param thisRelationField 关联对象中保存被关联对象的字段名称。 + * @param thisRelationField 主表对象中保存被关联对象的字段名称。 * @param 主表对象类型。 * @param 从表对象类型。 */ @@ -255,14 +292,14 @@ public class MyModelUtil { } /** - * 在当前Service的主Model类型中,根据thisRelationField字段的RelationDict注解参数,将被关联对象集合thatModelMap中的数据, + * 在主Model类型中,根据thisRelationField字段的RelationDict注解参数,将被关联对象集合thatModelMap中的数据, * 逐个关联到thisModelList每一个元素的thisRelationField字段中。 * 该函数之所以使用Map,主要出于性能优化考虑,在连续使用thatModelMap进行关联时,有效的避免了从多次从List转换到Map的过程。 * * @param thisClazz 主对象的Class对象。 * @param thisModelList 主对象列表。 * @param thatMadelMap 字典关联对象映射集合。 - * @param thisRelationField 关联对象中保存被关联对象的字段名称。 + * @param thisRelationField 主表对象中保存被关联对象的字段名称。 * @param 主表对象类型。 * @param 从表对象类型。 */ @@ -293,13 +330,13 @@ public class MyModelUtil { } /** - * 在当前Service的主Model类型中,根据thisRelationField字段的RelationOneToOne注解参数,将被关联对象列表thatModelList中的数据, + * 在主Model类型中,根据thisRelationField字段的RelationOneToOne注解参数,将被关联对象列表thatModelList中的数据, * 逐个关联到thisModelList每一个元素的thisRelationField字段中。 * * @param thisClazz 主对象的Class对象。 * @param thisModelList 主对象列表。 * @param thatModelList 一对一关联对象列表。 - * @param thisRelationField 关联对象中保存被关联对象的字段名称。 + * @param thisRelationField 主表对象中保存被关联对象的字段名称。 * @param 主表对象类型。 * @param 从表对象类型。 */ diff --git a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/util/MyPageUtil.java b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/util/MyPageUtil.java index ceb01dca..57a1a052 100644 --- a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/util/MyPageUtil.java +++ b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/util/MyPageUtil.java @@ -12,8 +12,8 @@ import java.util.List; /** * 生成带有分页信息的数据列表 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ public class MyPageUtil { diff --git a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/util/RedisKeyUtil.java b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/util/RedisKeyUtil.java index 28662964..93979fdf 100644 --- a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/util/RedisKeyUtil.java +++ b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/util/RedisKeyUtil.java @@ -3,8 +3,8 @@ package com.orange.demo.common.core.util; /** * Redis 键生成工具类。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ public class RedisKeyUtil { diff --git a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/util/RsaUtil.java b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/util/RsaUtil.java index 3169b3fe..e0ff6cc3 100644 --- a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/util/RsaUtil.java +++ b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/util/RsaUtil.java @@ -14,8 +14,8 @@ import java.util.Map; /** * Java RSA 加密工具类。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ public class RsaUtil { diff --git a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/util/TreeNode.java b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/util/TreeNode.java index 380000b0..91da4a7c 100644 --- a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/util/TreeNode.java +++ b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/util/TreeNode.java @@ -14,8 +14,8 @@ import java.util.function.Function; * @param 对象类型。 * @param 节点之间关联键的类型。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Data public class TreeNode { diff --git a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/util/UpDownloadUtil.java b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/util/UpDownloadUtil.java index a92515ef..ce2259ed 100644 --- a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/util/UpDownloadUtil.java +++ b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/util/UpDownloadUtil.java @@ -23,8 +23,8 @@ import java.util.Objects; /** * 上传或下载附件文件的工具类。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Slf4j public class UpDownloadUtil { @@ -87,9 +87,10 @@ public class UpDownloadUtil { * @param uploadFile Http请求中上传的文件对象。 * @param asImage 是否为图片对象。图片是无需权限验证的,因此和附件存放在不同的子目录。 * @param response Http 应答对象。 + * @return 存储在本地上传文件名。 * @throws IOException 文件操作错误。 */ - public static void doUpload( + public static String doUpload( String rootBaseDir, String serviceContextPath, String modelName, @@ -102,7 +103,7 @@ public class UpDownloadUtil { if (Objects.isNull(uploadFile) || uploadFile.isEmpty() || MyCommonUtil.isBlankOrNull(fieldName)) { response.setStatus(HttpServletResponse.SC_FORBIDDEN); out.print(JSON.toJSONString(ResponseResult.error(ErrorCodeEnum.INVALID_UPLOAD_FILE_ARGUMENT))); - return; + return null; } StringBuilder uploadPathBuilder = new StringBuilder(128); uploadPathBuilder.append(rootBaseDir).append("/"); @@ -137,11 +138,12 @@ public class UpDownloadUtil { log.error("Failed to write uploaded file [" + uploadFile.getOriginalFilename() + " ].", e); response.setStatus(HttpServletResponse.SC_FORBIDDEN); out.print(JSON.toJSONString(ResponseResult.error(ErrorCodeEnum.INVALID_UPLOAD_FILE_IOERROR))); - return; + return null; } out.print(JSON.toJSONString(ResponseResult.success(fileInfo))); out.flush(); out.close(); + return fileInfo.filename; } /** diff --git a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/validator/AddGroup.java b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/validator/AddGroup.java index 4df852aa..483779dc 100644 --- a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/validator/AddGroup.java +++ b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/validator/AddGroup.java @@ -3,8 +3,8 @@ package com.orange.demo.common.core.validator; /** * 数据增加的验证分组。通常用于数据新增场景。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ public interface AddGroup { } diff --git a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/validator/ConstDictRef.java b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/validator/ConstDictRef.java index a71c6a15..947fe375 100644 --- a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/validator/ConstDictRef.java +++ b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/validator/ConstDictRef.java @@ -10,8 +10,8 @@ import java.lang.annotation.Target; /** * 定义在Model对象中,标注字段值引用自指定的常量字典,和ConstDictRefValidator对象配合完成数据验证。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Target({ElementType.FIELD}) @Retention(RetentionPolicy.RUNTIME) diff --git a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/validator/ConstDictValidator.java b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/validator/ConstDictValidator.java index b5c230ed..3e71c39e 100644 --- a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/validator/ConstDictValidator.java +++ b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/validator/ConstDictValidator.java @@ -9,8 +9,8 @@ import java.lang.reflect.Method; /** * 数据字段自定义验证,用于验证Model中字符串字段的最大长度和最小长度。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ public class ConstDictValidator implements ConstraintValidator { diff --git a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/validator/TextLength.java b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/validator/TextLength.java index 131126ea..adf4fb75 100644 --- a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/validator/TextLength.java +++ b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/validator/TextLength.java @@ -10,8 +10,8 @@ import java.lang.annotation.Target; /** * 定义在Model或Dto对象中,UTF-8编码的字符串字段长度的上限和下限,和TextLengthValidator对象配合完成数据验证。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Target({ElementType.FIELD}) @Retention(RetentionPolicy.RUNTIME) diff --git a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/validator/TextLengthValidator.java b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/validator/TextLengthValidator.java index 057021f7..8f58cadf 100644 --- a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/validator/TextLengthValidator.java +++ b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/validator/TextLengthValidator.java @@ -8,8 +8,8 @@ import javax.validation.ConstraintValidatorContext; /** * 数据字段自定义验证,用于验证Model中UTF-8编码的字符串字段的最大长度和最小长度。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ public class TextLengthValidator implements ConstraintValidator { diff --git a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/validator/UpdateGroup.java b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/validator/UpdateGroup.java index d720e240..fec23a93 100644 --- a/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/validator/UpdateGroup.java +++ b/orange-demo-multi-service/common/common-core/src/main/java/com/orange/demo/common/core/validator/UpdateGroup.java @@ -3,8 +3,8 @@ package com.orange.demo.common.core.validator; /** * 数据修改的验证分组。通常用于数据更新的场景。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ public interface UpdateGroup { diff --git a/orange-demo-multi-service/common/common-redis/common-redis.iml b/orange-demo-multi-service/common/common-redis/common-redis.iml new file mode 100644 index 00000000..9b470645 --- /dev/null +++ b/orange-demo-multi-service/common/common-redis/common-redis.iml @@ -0,0 +1,233 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-multi-service/common/common-redis/src/main/java/com/orange/demo/common/redis/cache/RedisDictionaryCache.java b/orange-demo-multi-service/common/common-redis/src/main/java/com/orange/demo/common/redis/cache/RedisDictionaryCache.java index f38100ed..6be4de0d 100644 --- a/orange-demo-multi-service/common/common-redis/src/main/java/com/orange/demo/common/redis/cache/RedisDictionaryCache.java +++ b/orange-demo-multi-service/common/common-redis/src/main/java/com/orange/demo/common/redis/cache/RedisDictionaryCache.java @@ -20,8 +20,8 @@ import java.util.stream.Collectors; * * @param 字典表主键类型。 * @param 字典表对象类型。 - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Slf4j public class RedisDictionaryCache implements DictionaryCache { diff --git a/orange-demo-multi-service/common/common-redis/src/main/java/com/orange/demo/common/redis/cache/RedisTreeDictionaryCache.java b/orange-demo-multi-service/common/common-redis/src/main/java/com/orange/demo/common/redis/cache/RedisTreeDictionaryCache.java index 9d887f15..e953eaa3 100644 --- a/orange-demo-multi-service/common/common-redis/src/main/java/com/orange/demo/common/redis/cache/RedisTreeDictionaryCache.java +++ b/orange-demo-multi-service/common/common-redis/src/main/java/com/orange/demo/common/redis/cache/RedisTreeDictionaryCache.java @@ -20,8 +20,8 @@ import java.util.stream.Collectors; * * @param 字典表主键类型。 * @param 字典表对象类型。 - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Slf4j public class RedisTreeDictionaryCache extends RedisDictionaryCache { diff --git a/orange-demo-multi-service/common/common-redis/src/main/java/com/orange/demo/common/redis/cache/RedissonCacheConfig.java b/orange-demo-multi-service/common/common-redis/src/main/java/com/orange/demo/common/redis/cache/RedissonCacheConfig.java new file mode 100644 index 00000000..1a0c200f --- /dev/null +++ b/orange-demo-multi-service/common/common-redis/src/main/java/com/orange/demo/common/redis/cache/RedissonCacheConfig.java @@ -0,0 +1,63 @@ +package com.orange.demo.common.redis.cache; + +import com.google.common.collect.Maps; +import org.redisson.api.RedissonClient; +import org.redisson.spring.cache.CacheConfig; +import org.redisson.spring.cache.RedissonSpringCacheManager; +import org.springframework.cache.CacheManager; +import org.springframework.cache.annotation.EnableCaching; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +import java.util.Map; + +/** + * 使用Redisson作为Redis的分布式缓存库。 + * + * @author Jerry + * @date 2020-09-27 + */ +@Configuration +@EnableCaching +public class RedissonCacheConfig { + + private static final int DEFAULT_TTL = 3600000; + + /** + * 定义cache名称、超时时长(毫秒)。 + */ + public enum CacheEnum { + /** + * session下上传文件名的缓存(时间是24小时)。 + */ + UPLOAD_FILENAME_CACHE(86400000); + + /** + * 缓存的时长(单位:毫秒) + */ + private int ttl = DEFAULT_TTL; + + CacheEnum() { + } + + CacheEnum(int ttl) { + this.ttl = ttl; + } + + public int getTtl() { + return ttl; + } + } + + /** + * 初始化缓存配置。 + */ + @Bean + CacheManager cacheManager(RedissonClient redissonClient) { + Map config = Maps.newHashMap(); + for (CacheEnum c : CacheEnum.values()) { + config.put(c.name(), new CacheConfig(c.getTtl(), 0)); + } + return new RedissonSpringCacheManager(redissonClient, config); + } +} diff --git a/orange-demo-multi-service/common/common-redis/src/main/java/com/orange/demo/common/redis/cache/SessionCacheHelper.java b/orange-demo-multi-service/common/common-redis/src/main/java/com/orange/demo/common/redis/cache/SessionCacheHelper.java new file mode 100644 index 00000000..063c87fb --- /dev/null +++ b/orange-demo-multi-service/common/common-redis/src/main/java/com/orange/demo/common/redis/cache/SessionCacheHelper.java @@ -0,0 +1,72 @@ +package com.orange.demo.common.redis.cache; + +import com.orange.demo.common.core.object.TokenData; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.cache.Cache; +import org.springframework.cache.CacheManager; +import org.springframework.stereotype.Component; + +import java.util.HashSet; +import java.util.Set; + +/** + * Session数据缓存辅助类。 + * + * @author Jerry + * @date 2020-09-27 + */ +@SuppressWarnings("unchecked") +@Component +public class SessionCacheHelper { + + @Autowired + private CacheManager cacheManager; + + /** + * 缓存当前session内,上传过的文件名。 + * + * @param filename 通常是本地存储的文件名,而不是上传时的原始文件名。 + */ + public void putSessionUploadFile(String filename) { + if (filename != null) { + Set sessionUploadFileSet = null; + Cache cache = cacheManager.getCache(RedissonCacheConfig.CacheEnum.UPLOAD_FILENAME_CACHE.name()); + Cache.ValueWrapper valueWrapper = cache.get(TokenData.takeFromRequest().getSessionId()); + if (valueWrapper != null) { + sessionUploadFileSet = (Set) valueWrapper.get(); + } + if (sessionUploadFileSet == null) { + sessionUploadFileSet = new HashSet<>(); + } + sessionUploadFileSet.add(filename); + cache.put(TokenData.takeFromRequest().getSessionId(), sessionUploadFileSet); + } + } + + /** + * 判断参数中的文件名,是否有当前session上传。 + * + * @param filename 通常是本地存储的文件名,而不是上传时的原始文件名。 + * @return true表示该文件是由当前session上传并存储在本地的,否则false。 + */ + public boolean existSessionUploadFile(String filename) { + if (filename == null) { + return false; + } + Cache cache = cacheManager.getCache(RedissonCacheConfig.CacheEnum.UPLOAD_FILENAME_CACHE.name()); + Cache.ValueWrapper valueWrapper = cache.get(TokenData.takeFromRequest().getSessionId()); + if (valueWrapper == null) { + return false; + } + return ((Set) valueWrapper.get()).contains(filename); + } + + /** + * 清除当前session的所有缓存数据。 + */ + public void removeAllSessionCache() { + for (RedissonCacheConfig.CacheEnum c : RedissonCacheConfig.CacheEnum.values()) { + cacheManager.getCache(c.name()).clear(); + } + } +} diff --git a/orange-demo-multi-service/common/common-redis/src/main/java/com/orange/demo/common/redis/config/JedisConfig.java b/orange-demo-multi-service/common/common-redis/src/main/java/com/orange/demo/common/redis/config/JedisConfig.java index 30b6f305..46ec7778 100644 --- a/orange-demo-multi-service/common/common-redis/src/main/java/com/orange/demo/common/redis/config/JedisConfig.java +++ b/orange-demo-multi-service/common/common-redis/src/main/java/com/orange/demo/common/redis/config/JedisConfig.java @@ -10,8 +10,8 @@ import redis.clients.jedis.JedisPoolConfig; /** * Redis配置类。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Configuration @ConditionalOnProperty(name = "redis.jedis.enabled", havingValue = "true") diff --git a/orange-demo-multi-service/common/common-redis/src/main/java/com/orange/demo/common/redis/config/RedissonConfig.java b/orange-demo-multi-service/common/common-redis/src/main/java/com/orange/demo/common/redis/config/RedissonConfig.java index 440db9dc..a34971a5 100644 --- a/orange-demo-multi-service/common/common-redis/src/main/java/com/orange/demo/common/redis/config/RedissonConfig.java +++ b/orange-demo-multi-service/common/common-redis/src/main/java/com/orange/demo/common/redis/config/RedissonConfig.java @@ -12,8 +12,8 @@ import org.springframework.context.annotation.Configuration; * Redisson配置类。和Jedis一样都是Redis客户端,但是Redisson提供了更多的数据结构抽象。 * 这里我们只是使用了Redisson的分布式锁,以及map等数据结构作为字典缓存使用。更多用法请参考其文档。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Configuration @ConditionalOnProperty(name = "redis.redisson.enabled", havingValue = "true") diff --git a/orange-demo-multi-service/common/common-sequence/common-sequence.iml b/orange-demo-multi-service/common/common-sequence/common-sequence.iml new file mode 100644 index 00000000..8ad198df --- /dev/null +++ b/orange-demo-multi-service/common/common-sequence/common-sequence.iml @@ -0,0 +1,214 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-multi-service/common/common-sequence/src/main/java/com/orange/demo/common/sequence/config/IdGeneratorAutoConfigure.java b/orange-demo-multi-service/common/common-sequence/src/main/java/com/orange/demo/common/sequence/config/IdGeneratorAutoConfigure.java index 0ba4f0d7..55c573f5 100644 --- a/orange-demo-multi-service/common/common-sequence/src/main/java/com/orange/demo/common/sequence/config/IdGeneratorAutoConfigure.java +++ b/orange-demo-multi-service/common/common-sequence/src/main/java/com/orange/demo/common/sequence/config/IdGeneratorAutoConfigure.java @@ -5,8 +5,8 @@ import org.springframework.boot.context.properties.EnableConfigurationProperties /** * common-sequence模块的自动配置引导类。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @EnableConfigurationProperties({IdGeneratorProperties.class}) public class IdGeneratorAutoConfigure { diff --git a/orange-demo-multi-service/common/common-sequence/src/main/java/com/orange/demo/common/sequence/config/IdGeneratorProperties.java b/orange-demo-multi-service/common/common-sequence/src/main/java/com/orange/demo/common/sequence/config/IdGeneratorProperties.java index a163e4c1..8327d13f 100644 --- a/orange-demo-multi-service/common/common-sequence/src/main/java/com/orange/demo/common/sequence/config/IdGeneratorProperties.java +++ b/orange-demo-multi-service/common/common-sequence/src/main/java/com/orange/demo/common/sequence/config/IdGeneratorProperties.java @@ -6,8 +6,8 @@ import org.springframework.boot.context.properties.ConfigurationProperties; /** * common-sequence模块的配置类。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Data @ConfigurationProperties(prefix = "sequence") diff --git a/orange-demo-multi-service/common/common-sequence/src/main/java/com/orange/demo/common/sequence/generator/BasicIdGenerator.java b/orange-demo-multi-service/common/common-sequence/src/main/java/com/orange/demo/common/sequence/generator/BasicIdGenerator.java index 4fa401a8..75830184 100644 --- a/orange-demo-multi-service/common/common-sequence/src/main/java/com/orange/demo/common/sequence/generator/BasicIdGenerator.java +++ b/orange-demo-multi-service/common/common-sequence/src/main/java/com/orange/demo/common/sequence/generator/BasicIdGenerator.java @@ -8,8 +8,8 @@ import cn.hutool.core.util.IdUtil; * 和SnowflakeIdGenerator相比,相同点是均为基于Snowflake算法的生成器。不同点在于当前类的 * WorkNodeId是通过配置文件静态指定的。而SnowflakeIdGenerator的WorkNodeId是由zk生成的。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ public class BasicIdGenerator implements MyIdGenerator { diff --git a/orange-demo-multi-service/common/common-sequence/src/main/java/com/orange/demo/common/sequence/generator/MyIdGenerator.java b/orange-demo-multi-service/common/common-sequence/src/main/java/com/orange/demo/common/sequence/generator/MyIdGenerator.java index d584c2d9..8edc7b5c 100644 --- a/orange-demo-multi-service/common/common-sequence/src/main/java/com/orange/demo/common/sequence/generator/MyIdGenerator.java +++ b/orange-demo-multi-service/common/common-sequence/src/main/java/com/orange/demo/common/sequence/generator/MyIdGenerator.java @@ -3,8 +3,8 @@ package com.orange.demo.common.sequence.generator; /** * 分布式Id生成器的统一接口。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ public interface MyIdGenerator { diff --git a/orange-demo-multi-service/common/common-sequence/src/main/java/com/orange/demo/common/sequence/generator/SnowflakeIdGenerator.java b/orange-demo-multi-service/common/common-sequence/src/main/java/com/orange/demo/common/sequence/generator/SnowflakeIdGenerator.java index ba315cd8..53e544a4 100644 --- a/orange-demo-multi-service/common/common-sequence/src/main/java/com/orange/demo/common/sequence/generator/SnowflakeIdGenerator.java +++ b/orange-demo-multi-service/common/common-sequence/src/main/java/com/orange/demo/common/sequence/generator/SnowflakeIdGenerator.java @@ -12,7 +12,7 @@ import java.util.Random; * Snowflake Id生成器。该实现完全copy美团的leaf。 * * @author MeiTuan.Team - * @date 2020-08-08 + * @date 2020-09-27 */ @Slf4j public class SnowflakeIdGenerator implements MyIdGenerator { diff --git a/orange-demo-multi-service/common/common-sequence/src/main/java/com/orange/demo/common/sequence/generator/SnowflakeZookeeperHolder.java b/orange-demo-multi-service/common/common-sequence/src/main/java/com/orange/demo/common/sequence/generator/SnowflakeZookeeperHolder.java index 5a926371..996fc173 100644 --- a/orange-demo-multi-service/common/common-sequence/src/main/java/com/orange/demo/common/sequence/generator/SnowflakeZookeeperHolder.java +++ b/orange-demo-multi-service/common/common-sequence/src/main/java/com/orange/demo/common/sequence/generator/SnowflakeZookeeperHolder.java @@ -29,7 +29,7 @@ import java.util.concurrent.TimeUnit; * Snowflake Id生成器所依赖的zk工具类。该实现完全copy美团的leaf。 * * @author MeiTuan.Team - * @date 2020-08-08 + * @date 2020-09-27 */ @Slf4j @Data diff --git a/orange-demo-multi-service/common/common-sequence/src/main/java/com/orange/demo/common/sequence/wrapper/IdGeneratorWrapper.java b/orange-demo-multi-service/common/common-sequence/src/main/java/com/orange/demo/common/sequence/wrapper/IdGeneratorWrapper.java index fb4416e3..724d93f6 100644 --- a/orange-demo-multi-service/common/common-sequence/src/main/java/com/orange/demo/common/sequence/wrapper/IdGeneratorWrapper.java +++ b/orange-demo-multi-service/common/common-sequence/src/main/java/com/orange/demo/common/sequence/wrapper/IdGeneratorWrapper.java @@ -12,8 +12,8 @@ import javax.annotation.PostConstruct; /** * 分布式Id生成器的封装类。该对象可根据配置选择不同的生成器实现类。 * - * @author Orange Team - * @date 2020-08-08 + * @author Jerry + * @date 2020-09-27 */ @Component public class IdGeneratorWrapper { diff --git a/orange-demo-multi-service/common/common.iml b/orange-demo-multi-service/common/common.iml new file mode 100644 index 00000000..45fd11ef --- /dev/null +++ b/orange-demo-multi-service/common/common.iml @@ -0,0 +1,146 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-multi-service/common/pom.xml b/orange-demo-multi-service/common/pom.xml index 4f360cf8..61a75e25 100644 --- a/orange-demo-multi-service/common/pom.xml +++ b/orange-demo-multi-service/common/pom.xml @@ -3,7 +3,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> com.orange.demo - OrangeDemo + OrangeMultiDemo 1.0.0 4.0.0 diff --git a/orange-demo-multi-service/pom.xml b/orange-demo-multi-service/pom.xml index 634b8b00..632c80f0 100644 --- a/orange-demo-multi-service/pom.xml +++ b/orange-demo-multi-service/pom.xml @@ -4,9 +4,9 @@ 4.0.0 com.orange.demo - OrangeDemo + OrangeMultiDemo 1.0.0 - OrangeDemo + OrangeMultiDemo pom diff --git a/orange-demo-multi-service/zz-resource/config-data/gateway-dev.yaml b/orange-demo-multi-service/zz-resource/config-data/gateway-dev.yaml index 8341610d..2f5e16d8 100644 --- a/orange-demo-multi-service/zz-resource/config-data/gateway-dev.yaml +++ b/orange-demo-multi-service/zz-resource/config-data/gateway-dev.yaml @@ -3,7 +3,7 @@ server: application: # Jwt令牌加密的签名值。 - tokenSigningKey: OrangeDemo + tokenSigningKey: OrangeMultiDemo # Jwt令牌在Http Header中的键名称。 tokenHeaderKey: Authorization # Jwt令牌刷新后在Http Header中的键名称。 diff --git a/orange-demo-multi-service/zz-resource/docker-files/.DS_Store b/orange-demo-multi-service/zz-resource/docker-files/.DS_Store new file mode 100644 index 00000000..b6319752 Binary files /dev/null and b/orange-demo-multi-service/zz-resource/docker-files/.DS_Store differ diff --git a/orange-demo-multi-service/zz-resource/upload-files/course-class/image/Course/pictureUrl/36c9370678cb45afa772d3e9d0056d57.png b/orange-demo-multi-service/zz-resource/upload-files/course-class/image/Course/pictureUrl/36c9370678cb45afa772d3e9d0056d57.png deleted file mode 100644 index 0a30ab47..00000000 Binary files a/orange-demo-multi-service/zz-resource/upload-files/course-class/image/Course/pictureUrl/36c9370678cb45afa772d3e9d0056d57.png and /dev/null differ diff --git a/orange-demo-multi-service/zz-resource/upload-files/course-class/image/Course/pictureUrl/8c818ee4bcb040f9bd06c85c42d598ff.jpg b/orange-demo-multi-service/zz-resource/upload-files/course-class/image/Course/pictureUrl/8c818ee4bcb040f9bd06c85c42d598ff.jpg deleted file mode 100644 index 9beea206..00000000 Binary files a/orange-demo-multi-service/zz-resource/upload-files/course-class/image/Course/pictureUrl/8c818ee4bcb040f9bd06c85c42d598ff.jpg and /dev/null differ diff --git a/orange-demo-multi-service/zzlogs/course-class/course-class.log b/orange-demo-multi-service/zzlogs/course-class/course-class.log new file mode 100644 index 00000000..3ad7ef53 --- /dev/null +++ b/orange-demo-multi-service/zzlogs/course-class/course-class.log @@ -0,0 +1,449 @@ +[INFO ] [2020-09-27 20:45:43] 请求Id[] [main] ==> [TxId: , SpanId: ] The following profiles are active: dev +[INFO ] [2020-09-27 20:45:51] 请求Id[] [main] ==> [TxId: , SpanId: ] twepoch:1288834974657 ,ip:10.24.82.239 ,zkAddress:localhost:2181 port:19001 +[INFO ] [2020-09-27 20:45:51] 请求Id[] [main] ==> [TxId: , SpanId: ] file exists status is true +[INFO ] [2020-09-27 20:45:51] 请求Id[] [main] ==> [TxId: , SpanId: ] update file cache workId is 0 +[INFO ] [2020-09-27 20:45:51] 请求Id[] [main] ==> [TxId: , SpanId: ] START SUCCESS USE ZK WORKERID-0 +[INFO ] [2020-09-27 20:45:54] 请求Id[] [main] ==> [TxId: , SpanId: ] Started CourseClassApplication in 12.578 seconds (JVM running for 14.644) +[DEBUG] [2020-09-27 20:45:54] 请求Id[] [main] ==> [TxId: , SpanId: ] ==> Preparing: SELECT area_id,area_name,area_level,parent_id FROM zz_area_code order by area_level +[DEBUG] [2020-09-27 20:45:54] 请求Id[] [main] ==> [TxId: , SpanId: ] ==> Parameters: +[DEBUG] [2020-09-27 20:45:54] 请求Id[] [main] ==> [TxId: , SpanId: ] <== Total: 3656 +[DEBUG] [2020-09-27 20:45:54] 请求Id[] [main] ==> [TxId: , SpanId: ] ==> Preparing: SELECT grade_id,grade_name,status FROM zz_grade WHERE ( ( status = ? ) ) +[DEBUG] [2020-09-27 20:45:54] 请求Id[] [main] ==> [TxId: , SpanId: ] ==> Parameters: 1(Integer) +[DEBUG] [2020-09-27 20:45:54] 请求Id[] [main] ==> [TxId: , SpanId: ] <== Total: 12 +[INFO ] [2020-09-27 20:46:57] 请求Id[dc955359b2b4444098fb7433f6e151e8] [http-nio-9001-exec-1] ==> [TxId: , SpanId: ] 开始请求,app=, url=/student/list, reqData=[{},[{"asc":true,"fieldName":"registerTime"}],{"pageNum":1,"pageSize":10}] +[DEBUG] [2020-09-27 20:46:57] 请求Id[dc955359b2b4444098fb7433f6e151e8] [http-nio-9001-exec-1] ==> [TxId: , SpanId: ] ==> Preparing: SELECT count(0) FROM zz_student +[DEBUG] [2020-09-27 20:46:57] 请求Id[dc955359b2b4444098fb7433f6e151e8] [http-nio-9001-exec-1] ==> [TxId: , SpanId: ] ==> Parameters: +[DEBUG] [2020-09-27 20:46:57] 请求Id[dc955359b2b4444098fb7433f6e151e8] [http-nio-9001-exec-1] ==> [TxId: , SpanId: ] <== Total: 1 +[DEBUG] [2020-09-27 20:46:57] 请求Id[dc955359b2b4444098fb7433f6e151e8] [http-nio-9001-exec-1] ==> [TxId: , SpanId: ] ==> Preparing: SELECT * FROM zz_student ORDER BY zz_student.register_time LIMIT ? +[DEBUG] [2020-09-27 20:46:57] 请求Id[dc955359b2b4444098fb7433f6e151e8] [http-nio-9001-exec-1] ==> [TxId: , SpanId: ] ==> Parameters: 10(Integer) +[DEBUG] [2020-09-27 20:46:57] 请求Id[dc955359b2b4444098fb7433f6e151e8] [http-nio-9001-exec-1] ==> [TxId: , SpanId: ] <== Total: 5 +[DEBUG] [2020-09-27 20:46:57] 请求Id[dc955359b2b4444098fb7433f6e151e8] [http-nio-9001-exec-1] ==> [TxId: , SpanId: ] ==> Preparing: SELECT school_id,school_name,province_id,city_id FROM zz_school_info WHERE ( ( school_id in ( ? , ? ) ) ) +[DEBUG] [2020-09-27 20:46:57] 请求Id[dc955359b2b4444098fb7433f6e151e8] [http-nio-9001-exec-1] ==> [TxId: , SpanId: ] ==> Parameters: 1015818056597508096(Long), 1015817732197453824(Long) +[DEBUG] [2020-09-27 20:46:57] 请求Id[dc955359b2b4444098fb7433f6e151e8] [http-nio-9001-exec-1] ==> [TxId: , SpanId: ] <== Total: 2 +[INFO ] [2020-09-27 20:46:57] 请求Id[dc955359b2b4444098fb7433f6e151e8] [http-nio-9001-exec-1] ==> [TxId: , SpanId: ] 请求完成, app=, url=/student/list,elapse=143ms, respData={"data":{"dataList":[{"birthday":1282147200000,"cityId":110100000000,"cityIdDictMap":{"name":"市辖区","id":110100000000},"districtId":110105000000,"districtIdDictMap":{"name":"朝阳区","id":110105000000},"experienceLevel":1,"experienceLevelDictMap":{"name":"中级学员","id":1},"gender":1,"genderDictMap":{"name":"男","id":1},"gradeId":4,"gradeIdDictMap":{"name":"四年级","id":4},"leftCoin":1077,"loginMobile":"13834561230","provinceId":110000000000,"provinceIdDictMap":{"name":"北京市","id":110000000000},"registerTime":1601136000000,"schoolId":1015817732197453824,"schoolIdDictMap":{"name":"北京校区","id":1015817732197453824},"status":0,"statusDictMap":{"name":"正常","id":0},"studentId":1015842628948463616,"studentName":"张三","totalCoin":3412},{"birthday":1321545600000,"cityId":110100000000,"cityIdDictMap":{"name":"市辖区","id":110100000000},"districtId":110107000000,"districtIdDictMap":{"name":"石景山区","id":110107000000},"experienceLevel":1,"experienceLevelDictMap":{"name":"中级学员","id":1},"gender":1,"genderDictMap":{"name":"男","id":1},"gradeId":3,"gradeIdDictMap":{"name":"三年级","id":3},"leftCoin":3024,"loginMobile":"13945651267","provinceId":110000000000,"provinceIdDictMap":{"name":"北京市","id":110000000000},"registerTime":1601136000000,"schoolId":1015817732197453824,"schoolIdDictMap":{"name":"北京校区","id":1015817732197453824},"status":0,"statusDictMap":{"name":"正常","id":0},"studentId":1015852480873631744,"studentName":"李军","totalCoin":3178},{"birthday":1421251200000,"cityId":110100000000,"cityIdDictMap":{"name":"市辖区","id":110100000000},"districtId":110108000000,"districtIdDictMap":{"name":"海淀区","id":110108000000},"experienceLevel":0,"experienceLevelDictMap":{"name":"初级学员","id":0},"gender":1,"genderDictMap":{"name":"男","id":1},"gradeId":1,"gradeIdDictMap":{"name":"一年级","id":1},"leftCoin":2199,"loginMobile":"13709481736","provinceId":110000000000,"provinceIdDictMap":{"name":"北京市","id":110000000000},"registerTime":1601136000000,"schoolId":1015817732197453824,"schoolIdDictMap":{"name":"北京校区","id":1015817732197453824},"status":0,"statusDictMap":{"name":"正常","id":0},"studentId":1015852853839532032,"studentName":"王石","totalCoin":3187},{"birthday":1276099200000,"cityId":120100000000,"cityIdDictMap":{"name":"市辖区","id":120100000000},"districtId":120103000000,"districtIdDictMap":{"name":"河西区","id":120103000000},"experienceLevel":0,"experienceLevelDictMap":{"name":"初级学员","id":0},"gender":1,"genderDictMap":{"name":"男","id":1},"gradeId":3,"gradeIdDictMap":{"name":"三年级","id":3},"leftCoin":634,"loginMobile":"13700023451","provinceId":120000000000,"provinceIdDictMap":{"name":"天津市","id":120000000000},"registerTime":1601136000000,"schoolId":1015818056597508096,"schoolIdDictMap":{"name":"天津校区","id":1015818056597508096},"status":0,"statusDictMap":{"name":"正常","id":0},"studentId":1018000939508568064,"studentName":"天津二哥","totalCoin":1287},{"birthday":1247760000000,"cityId":120100000000,"cityIdDictMap":{"name":"市辖区","id":120100000000},"districtId":120104000000,"districtIdDictMap":{"name":"南开区","id":120104000000},"experienceLevel":2,"experienceLevelDictMap":{"name":"高级学员","id":2},"gender":0,"genderDictMap":{"name":"女","id":0},"gradeId":4,"gradeIdDictMap":{"name":"四年级","id":4},"leftCoin":7023,"loginMobile":"13903122987","provinceId":120000000000,"provinceIdDictMap":{"name":"天津市","id":120000000000},"registerTime":1601136000000,"schoolId":1015818056597508096,"schoolIdDictMap":{"name":"天津校区","id":1015818056597508096},"status":0,"statusDictMap":{"name":"正常","id":0},"studentId":1018001219050541056,"studentName":"南开学霸","totalCoin":8721}],"totalCount":5},"errorCode":"NO-ERROR","errorMessage":"NO-MESSAGE","success":true} +[INFO ] [2020-09-27 20:47:08] 请求Id[f8317800db124dc0999946feee3eba02] [http-nio-9001-exec-2] ==> [TxId: , SpanId: ] 开始请求,app=, url=/grade/listDictGrade, reqData=[] +[INFO ] [2020-09-27 20:47:08] 请求Id[f8317800db124dc0999946feee3eba02] [http-nio-9001-exec-2] ==> [TxId: , SpanId: ] 请求完成, app=, url=/grade/listDictGrade,elapse=81ms, respData={"data":[{"id":1,"name":"一年级"},{"id":2,"name":"二年级"},{"id":3,"name":"三年级"},{"id":4,"name":"四年级"},{"id":5,"name":"五年级"},{"id":6,"name":"六年级"},{"id":7,"name":"初一"},{"id":8,"name":"初二"},{"id":9,"name":"初三"},{"id":10,"name":"高一"},{"id":11,"name":"高二"},{"id":12,"name":"高三"}],"errorCode":"NO-ERROR","errorMessage":"NO-MESSAGE","success":true} +[INFO ] [2020-09-27 20:47:11] 请求Id[9bf9018da2944cf48388241b14836db9] [http-nio-9001-exec-3] ==> [TxId: , SpanId: ] 开始请求,app=, url=/areaCode/listDictAreaCodeByParentId, reqData=[null] +[INFO ] [2020-09-27 20:47:11] 请求Id[9bf9018da2944cf48388241b14836db9] [http-nio-9001-exec-3] ==> [TxId: , SpanId: ] 请求完成, app=, url=/areaCode/listDictAreaCodeByParentId,elapse=11ms, respData={"data":[{"id":110000000000,"name":"北京市"},{"id":120000000000,"name":"天津市"},{"id":130000000000,"name":"河北省"},{"id":140000000000,"name":"山西省"},{"id":150000000000,"name":"内蒙古自治区"},{"id":210000000000,"name":"辽宁省"},{"id":220000000000,"name":"吉林省"},{"id":230000000000,"name":"黑龙江省"},{"id":310000000000,"name":"上海市"},{"id":320000000000,"name":"江苏省"},{"id":330000000000,"name":"浙江省"},{"id":340000000000,"name":"安徽省"},{"id":350000000000,"name":"福建省"},{"id":360000000000,"name":"江西省"},{"id":370000000000,"name":"山东省"},{"id":410000000000,"name":"河南省"},{"id":420000000000,"name":"湖北省"},{"id":430000000000,"name":"湖南省"},{"id":440000000000,"name":"广东省"},{"id":450000000000,"name":"广西壮族自治区"},{"id":460000000000,"name":"海南省"},{"id":500000000000,"name":"重庆市"},{"id":510000000000,"name":"四川省"},{"id":520000000000,"name":"贵州省"},{"id":530000000000,"name":"云南省"},{"id":540000000000,"name":"西藏自治区"},{"id":610000000000,"name":"陕西省"},{"id":620000000000,"name":"甘肃省"},{"id":630000000000,"name":"青海省"},{"id":640000000000,"name":"宁夏回族自治区"},{"id":650000000000,"name":"新疆维吾尔自治区"}],"errorCode":"NO-ERROR","errorMessage":"NO-MESSAGE","success":true} +[INFO ] [2020-09-27 20:47:13] 请求Id[70022f272a284d7c85fee4ee18ba9fd4] [http-nio-9001-exec-4] ==> [TxId: , SpanId: ] 开始请求,app=, url=/areaCode/listDictAreaCodeByParentId, reqData=[120000000000] +[INFO ] [2020-09-27 20:47:13] 请求Id[70022f272a284d7c85fee4ee18ba9fd4] [http-nio-9001-exec-4] ==> [TxId: , SpanId: ] 请求完成, app=, url=/areaCode/listDictAreaCodeByParentId,elapse=3ms, respData={"data":[{"parentId":120000000000,"id":120100000000,"name":"市辖区"}],"errorCode":"NO-ERROR","errorMessage":"NO-MESSAGE","success":true} +[INFO ] [2020-09-27 20:47:14] 请求Id[f638e48c59a445ae85c7bb9d4cbe03ac] [http-nio-9001-exec-5] ==> [TxId: , SpanId: ] 开始请求,app=, url=/areaCode/listDictAreaCodeByParentId, reqData=[120100000000] +[INFO ] [2020-09-27 20:47:14] 请求Id[f638e48c59a445ae85c7bb9d4cbe03ac] [http-nio-9001-exec-5] ==> [TxId: , SpanId: ] 请求完成, app=, url=/areaCode/listDictAreaCodeByParentId,elapse=4ms, respData={"data":[{"parentId":120100000000,"id":120101000000,"name":"和平区"},{"parentId":120100000000,"id":120102000000,"name":"河东区"},{"parentId":120100000000,"id":120103000000,"name":"河西区"},{"parentId":120100000000,"id":120104000000,"name":"南开区"},{"parentId":120100000000,"id":120105000000,"name":"河北区"},{"parentId":120100000000,"id":120106000000,"name":"红桥区"},{"parentId":120100000000,"id":120110000000,"name":"东丽区"},{"parentId":120100000000,"id":120111000000,"name":"西青区"},{"parentId":120100000000,"id":120112000000,"name":"津南区"},{"parentId":120100000000,"id":120113000000,"name":"北辰区"},{"parentId":120100000000,"id":120114000000,"name":"武清区"},{"parentId":120100000000,"id":120115000000,"name":"宝坻区"},{"parentId":120100000000,"id":120116000000,"name":"滨海新区"},{"parentId":120100000000,"id":120117000000,"name":"宁河区"},{"parentId":120100000000,"id":120118000000,"name":"静海区"},{"parentId":120100000000,"id":120119000000,"name":"蓟州区"}],"errorCode":"NO-ERROR","errorMessage":"NO-MESSAGE","success":true} +[INFO ] [2020-09-27 20:47:16] 请求Id[28ff388ffe974dc6980d969c9ccb5d44] [http-nio-9001-exec-6] ==> [TxId: , SpanId: ] 开始请求,app=, url=/schoolInfo/listDictSchoolInfo, reqData=[{"cityId":120100000000,"provinceId":120000000000}] +[DEBUG] [2020-09-27 20:47:16] 请求Id[28ff388ffe974dc6980d969c9ccb5d44] [http-nio-9001-exec-6] ==> [TxId: , SpanId: ] ==> Preparing: SELECT school_id,school_name,province_id,city_id FROM zz_school_info WHERE province_id = ? AND city_id = ? +[DEBUG] [2020-09-27 20:47:16] 请求Id[28ff388ffe974dc6980d969c9ccb5d44] [http-nio-9001-exec-6] ==> [TxId: , SpanId: ] ==> Parameters: 120000000000(Long), 120100000000(Long) +[DEBUG] [2020-09-27 20:47:16] 请求Id[28ff388ffe974dc6980d969c9ccb5d44] [http-nio-9001-exec-6] ==> [TxId: , SpanId: ] <== Total: 1 +[INFO ] [2020-09-27 20:47:16] 请求Id[28ff388ffe974dc6980d969c9ccb5d44] [http-nio-9001-exec-6] ==> [TxId: , SpanId: ] 请求完成, app=, url=/schoolInfo/listDictSchoolInfo,elapse=16ms, respData={"data":[{"id":1015818056597508096,"name":"天津校区"}],"errorCode":"NO-ERROR","errorMessage":"NO-MESSAGE","success":true} +[INFO ] [2020-09-27 20:47:18] 请求Id[aff4f25bf183454abf87f99175a47992] [http-nio-9001-exec-7] ==> [TxId: , SpanId: ] 开始请求,app=, url=/student/add, reqData=[{"birthday":1504497600000,"cityId":120100000000,"districtId":120102000000,"experienceLevel":0,"gender":0,"gradeId":1,"loginMobile":"13812345678","provinceId":120000000000,"schoolId":1015818056597508096,"studentName":"111"}] +[DEBUG] [2020-09-27 20:47:18] 请求Id[aff4f25bf183454abf87f99175a47992] [http-nio-9001-exec-7] ==> [TxId: , SpanId: ] ==> Preparing: SELECT school_id,school_name,province_id,city_id FROM zz_school_info WHERE school_id = ? +[DEBUG] [2020-09-27 20:47:18] 请求Id[aff4f25bf183454abf87f99175a47992] [http-nio-9001-exec-7] ==> [TxId: , SpanId: ] ==> Parameters: 1015818056597508096(Long) +[DEBUG] [2020-09-27 20:47:18] 请求Id[aff4f25bf183454abf87f99175a47992] [http-nio-9001-exec-7] ==> [TxId: , SpanId: ] <== Total: 1 +[DEBUG] [2020-09-27 20:47:18] 请求Id[aff4f25bf183454abf87f99175a47992] [http-nio-9001-exec-7] ==> [TxId: , SpanId: ] ==> Preparing: INSERT INTO zz_student ( student_id,login_mobile,student_name,province_id,city_id,district_id,gender,birthday,experience_level,total_coin,left_coin,grade_id,school_id,register_time,status ) VALUES( ?,?,?,?,?,?,?,?,?,?,?,?,?,?,? ) +[DEBUG] [2020-09-27 20:47:18] 请求Id[aff4f25bf183454abf87f99175a47992] [http-nio-9001-exec-7] ==> [TxId: , SpanId: ] ==> Parameters: 1310199334167380052(Long), 13812345678(String), 111(String), 120000000000(Long), 120100000000(Long), 120102000000(Long), 0(Integer), 2017-09-04 12:00:00.0(Timestamp), 0(Integer), 0(Integer), 0(Integer), 1(Integer), 1015818056597508096(Long), 2020-09-27 20:47:18.249(Timestamp), 0(Integer) +[DEBUG] [2020-09-27 20:47:18] 请求Id[aff4f25bf183454abf87f99175a47992] [http-nio-9001-exec-7] ==> [TxId: , SpanId: ] <== Updates: 1 +[INFO ] [2020-09-27 20:47:18] 请求Id[aff4f25bf183454abf87f99175a47992] [http-nio-9001-exec-7] ==> [TxId: , SpanId: ] 请求完成, app=, url=/student/add,elapse=73ms, respData={"data":{"studentId":1310199334167380052},"errorCode":"NO-ERROR","errorMessage":"NO-MESSAGE","success":true} +[INFO ] [2020-09-27 20:47:18] 请求Id[f8cdde56ee9d468dbb64b6fc0eb5e588] [http-nio-9001-exec-8] ==> [TxId: , SpanId: ] 开始请求,app=, url=/student/list, reqData=[{},[{"asc":true,"fieldName":"registerTime"}],{"pageNum":1,"pageSize":10}] +[DEBUG] [2020-09-27 20:47:18] 请求Id[f8cdde56ee9d468dbb64b6fc0eb5e588] [http-nio-9001-exec-8] ==> [TxId: , SpanId: ] ==> Preparing: SELECT count(0) FROM zz_student +[DEBUG] [2020-09-27 20:47:18] 请求Id[f8cdde56ee9d468dbb64b6fc0eb5e588] [http-nio-9001-exec-8] ==> [TxId: , SpanId: ] ==> Parameters: +[DEBUG] [2020-09-27 20:47:18] 请求Id[f8cdde56ee9d468dbb64b6fc0eb5e588] [http-nio-9001-exec-8] ==> [TxId: , SpanId: ] <== Total: 1 +[DEBUG] [2020-09-27 20:47:18] 请求Id[f8cdde56ee9d468dbb64b6fc0eb5e588] [http-nio-9001-exec-8] ==> [TxId: , SpanId: ] ==> Preparing: SELECT * FROM zz_student ORDER BY zz_student.register_time LIMIT ? +[DEBUG] [2020-09-27 20:47:18] 请求Id[f8cdde56ee9d468dbb64b6fc0eb5e588] [http-nio-9001-exec-8] ==> [TxId: , SpanId: ] ==> Parameters: 10(Integer) +[DEBUG] [2020-09-27 20:47:18] 请求Id[f8cdde56ee9d468dbb64b6fc0eb5e588] [http-nio-9001-exec-8] ==> [TxId: , SpanId: ] <== Total: 6 +[DEBUG] [2020-09-27 20:47:18] 请求Id[f8cdde56ee9d468dbb64b6fc0eb5e588] [http-nio-9001-exec-8] ==> [TxId: , SpanId: ] ==> Preparing: SELECT school_id,school_name,province_id,city_id FROM zz_school_info WHERE ( ( school_id in ( ? , ? ) ) ) +[DEBUG] [2020-09-27 20:47:18] 请求Id[f8cdde56ee9d468dbb64b6fc0eb5e588] [http-nio-9001-exec-8] ==> [TxId: , SpanId: ] ==> Parameters: 1015818056597508096(Long), 1015817732197453824(Long) +[DEBUG] [2020-09-27 20:47:18] 请求Id[f8cdde56ee9d468dbb64b6fc0eb5e588] [http-nio-9001-exec-8] ==> [TxId: , SpanId: ] <== Total: 2 +[INFO ] [2020-09-27 20:47:18] 请求Id[f8cdde56ee9d468dbb64b6fc0eb5e588] [http-nio-9001-exec-8] ==> [TxId: , SpanId: ] 请求完成, app=, url=/student/list,elapse=22ms, respData={"data":{"dataList":[{"birthday":1282147200000,"cityId":110100000000,"cityIdDictMap":{"name":"市辖区","id":110100000000},"districtId":110105000000,"districtIdDictMap":{"name":"朝阳区","id":110105000000},"experienceLevel":1,"experienceLevelDictMap":{"name":"中级学员","id":1},"gender":1,"genderDictMap":{"name":"男","id":1},"gradeId":4,"gradeIdDictMap":{"name":"四年级","id":4},"leftCoin":1077,"loginMobile":"13834561230","provinceId":110000000000,"provinceIdDictMap":{"name":"北京市","id":110000000000},"registerTime":1601136000000,"schoolId":1015817732197453824,"schoolIdDictMap":{"name":"北京校区","id":1015817732197453824},"status":0,"statusDictMap":{"name":"正常","id":0},"studentId":1015842628948463616,"studentName":"张三","totalCoin":3412},{"birthday":1321545600000,"cityId":110100000000,"cityIdDictMap":{"name":"市辖区","id":110100000000},"districtId":110107000000,"districtIdDictMap":{"name":"石景山区","id":110107000000},"experienceLevel":1,"experienceLevelDictMap":{"name":"中级学员","id":1},"gender":1,"genderDictMap":{"name":"男","id":1},"gradeId":3,"gradeIdDictMap":{"name":"三年级","id":3},"leftCoin":3024,"loginMobile":"13945651267","provinceId":110000000000,"provinceIdDictMap":{"name":"北京市","id":110000000000},"registerTime":1601136000000,"schoolId":1015817732197453824,"schoolIdDictMap":{"name":"北京校区","id":1015817732197453824},"status":0,"statusDictMap":{"name":"正常","id":0},"studentId":1015852480873631744,"studentName":"李军","totalCoin":3178},{"birthday":1421251200000,"cityId":110100000000,"cityIdDictMap":{"name":"市辖区","id":110100000000},"districtId":110108000000,"districtIdDictMap":{"name":"海淀区","id":110108000000},"experienceLevel":0,"experienceLevelDictMap":{"name":"初级学员","id":0},"gender":1,"genderDictMap":{"name":"男","id":1},"gradeId":1,"gradeIdDictMap":{"name":"一年级","id":1},"leftCoin":2199,"loginMobile":"13709481736","provinceId":110000000000,"provinceIdDictMap":{"name":"北京市","id":110000000000},"registerTime":1601136000000,"schoolId":1015817732197453824,"schoolIdDictMap":{"name":"北京校区","id":1015817732197453824},"status":0,"statusDictMap":{"name":"正常","id":0},"studentId":1015852853839532032,"studentName":"王石","totalCoin":3187},{"birthday":1276099200000,"cityId":120100000000,"cityIdDictMap":{"name":"市辖区","id":120100000000},"districtId":120103000000,"districtIdDictMap":{"name":"河西区","id":120103000000},"experienceLevel":0,"experienceLevelDictMap":{"name":"初级学员","id":0},"gender":1,"genderDictMap":{"name":"男","id":1},"gradeId":3,"gradeIdDictMap":{"name":"三年级","id":3},"leftCoin":634,"loginMobile":"13700023451","provinceId":120000000000,"provinceIdDictMap":{"name":"天津市","id":120000000000},"registerTime":1601136000000,"schoolId":1015818056597508096,"schoolIdDictMap":{"name":"天津校区","id":1015818056597508096},"status":0,"statusDictMap":{"name":"正常","id":0},"studentId":1018000939508568064,"studentName":"天津二哥","totalCoin":1287},{"birthday":1247760000000,"cityId":120100000000,"cityIdDictMap":{"name":"市辖区","id":120100000000},"districtId":120104000000,"districtIdDictMap":{"name":"南开区","id":120104000000},"experienceLevel":2,"experienceLevelDictMap":{"name":"高级学员","id":2},"gender":0,"genderDictMap":{"name":"女","id":0},"gradeId":4,"gradeIdDictMap":{"name":"四年级","id":4},"leftCoin":7023,"loginMobile":"13903122987","provinceId":120000000000,"provinceIdDictMap":{"name":"天津市","id":120000000000},"registerTime":1601136000000,"schoolId":1015818056597508096,"schoolIdDictMap":{"name":"天津校区","id":1015818056597508096},"status":0,"statusDictMap":{"name":"正常","id":0},"studentId":1018001219050541056,"studentName":"南开学霸","totalCoin":8721},{"birthday":1504454400000,"cityId":120100000000,"cityIdDictMap":{"name":"市辖区","id":120100000000},"districtId":120102000000,"districtIdDictMap":{"name":"河东区","id":120102000000},"experienceLevel":0,"experienceLevelDictMap":{"name":"初级学员","id":0},"gender":0,"genderDictMap":{"name":"女","id":0},"gradeId":1,"gradeIdDictMap":{"name":"一年级","id":1},"leftCoin":0,"loginMobile":"13812345678","provinceId":120000000000,"provinceIdDictMap":{"name":"天津市","id":120000000000},"registerTime":1601210838000,"schoolId":1015818056597508096,"schoolIdDictMap":{"name":"天津校区","id":1015818056597508096},"status":0,"statusDictMap":{"name":"正常","id":0},"studentId":1310199334167380052,"studentName":"111","totalCoin":0}],"totalCount":6},"errorCode":"NO-ERROR","errorMessage":"NO-MESSAGE","success":true} +[INFO ] [2020-09-27 20:47:20] 请求Id[152fa5471a0a41e28b5544c18075b796] [http-nio-9001-exec-9] ==> [TxId: , SpanId: ] 开始请求,app=, url=/student/view, reqData=[1310199334167380052] +[DEBUG] [2020-09-27 20:47:20] 请求Id[152fa5471a0a41e28b5544c18075b796] [http-nio-9001-exec-9] ==> [TxId: , SpanId: ] ==> Preparing: SELECT student_id,login_mobile,student_name,province_id,city_id,district_id,gender,birthday,experience_level,total_coin,left_coin,grade_id,school_id,register_time,status FROM zz_student WHERE student_id = ? +[DEBUG] [2020-09-27 20:47:20] 请求Id[152fa5471a0a41e28b5544c18075b796] [http-nio-9001-exec-9] ==> [TxId: , SpanId: ] ==> Parameters: 1310199334167380052(Long) +[DEBUG] [2020-09-27 20:47:20] 请求Id[152fa5471a0a41e28b5544c18075b796] [http-nio-9001-exec-9] ==> [TxId: , SpanId: ] <== Total: 1 +[DEBUG] [2020-09-27 20:47:20] 请求Id[152fa5471a0a41e28b5544c18075b796] [http-nio-9001-exec-9] ==> [TxId: , SpanId: ] ==> Preparing: SELECT school_id,school_name,province_id,city_id FROM zz_school_info WHERE school_id = ? +[DEBUG] [2020-09-27 20:47:20] 请求Id[152fa5471a0a41e28b5544c18075b796] [http-nio-9001-exec-9] ==> [TxId: , SpanId: ] ==> Parameters: 1015818056597508096(Long) +[DEBUG] [2020-09-27 20:47:20] 请求Id[152fa5471a0a41e28b5544c18075b796] [http-nio-9001-exec-9] ==> [TxId: , SpanId: ] <== Total: 1 +[INFO ] [2020-09-27 20:47:20] 请求Id[152fa5471a0a41e28b5544c18075b796] [http-nio-9001-exec-9] ==> [TxId: , SpanId: ] 请求完成, app=, url=/student/view,elapse=17ms, respData={"data":{"birthday":1504454400000,"cityId":120100000000,"cityIdDictMap":{"name":"市辖区","id":120100000000},"districtId":120102000000,"districtIdDictMap":{"name":"河东区","id":120102000000},"experienceLevel":0,"experienceLevelDictMap":{"name":"初级学员","id":0},"gender":0,"genderDictMap":{"name":"女","id":0},"gradeId":1,"gradeIdDictMap":{"name":"一年级","id":1},"leftCoin":0,"loginMobile":"13812345678","provinceId":120000000000,"provinceIdDictMap":{"name":"天津市","id":120000000000},"registerTime":1601210838000,"schoolId":1015818056597508096,"schoolIdDictMap":{"name":"天津校区","id":1015818056597508096},"status":0,"statusDictMap":{"name":"正常","id":0},"studentId":1310199334167380052,"studentName":"111","totalCoin":0},"errorCode":"NO-ERROR","errorMessage":"NO-MESSAGE","success":true} +[INFO ] [2020-09-27 20:47:22] 请求Id[754db36c01f24f89a966dbbbede28fcd] [http-nio-9001-exec-10] ==> [TxId: , SpanId: ] 开始请求,app=, url=/student/update, reqData=[{"birthday":1504454400000,"cityId":120100000000,"districtId":120102000000,"experienceLevel":0,"gender":0,"gradeId":1,"leftCoin":0,"loginMobile":"13812345678","provinceId":120000000000,"schoolId":1015818056597508096,"status":0,"studentId":1310199334167380052,"studentName":"1112222","totalCoin":0}] +[DEBUG] [2020-09-27 20:47:22] 请求Id[754db36c01f24f89a966dbbbede28fcd] [http-nio-9001-exec-10] ==> [TxId: , SpanId: ] ==> Preparing: SELECT student_id,login_mobile,student_name,province_id,city_id,district_id,gender,birthday,experience_level,total_coin,left_coin,grade_id,school_id,register_time,status FROM zz_student WHERE student_id = ? +[DEBUG] [2020-09-27 20:47:22] 请求Id[754db36c01f24f89a966dbbbede28fcd] [http-nio-9001-exec-10] ==> [TxId: , SpanId: ] ==> Parameters: 1310199334167380052(Long) +[DEBUG] [2020-09-27 20:47:22] 请求Id[754db36c01f24f89a966dbbbede28fcd] [http-nio-9001-exec-10] ==> [TxId: , SpanId: ] <== Total: 1 +[DEBUG] [2020-09-27 20:47:22] 请求Id[754db36c01f24f89a966dbbbede28fcd] [http-nio-9001-exec-10] ==> [TxId: , SpanId: ] ==> Preparing: UPDATE zz_student SET login_mobile = ?,student_name = ?,province_id = ?,city_id = ?,district_id = ?,gender = ?,birthday = ?,experience_level = ?,total_coin = ?,left_coin = ?,grade_id = ?,school_id = ?,register_time = ?,status = ? WHERE student_id = ? +[DEBUG] [2020-09-27 20:47:22] 请求Id[754db36c01f24f89a966dbbbede28fcd] [http-nio-9001-exec-10] ==> [TxId: , SpanId: ] ==> Parameters: 13812345678(String), 1112222(String), 120000000000(Long), 120100000000(Long), 120102000000(Long), 0(Integer), 2017-09-04 00:00:00.0(Timestamp), 0(Integer), 0(Integer), 0(Integer), 1(Integer), 1015818056597508096(Long), 2020-09-27 20:47:18.0(Timestamp), 0(Integer), 1310199334167380052(Long) +[DEBUG] [2020-09-27 20:47:22] 请求Id[754db36c01f24f89a966dbbbede28fcd] [http-nio-9001-exec-10] ==> [TxId: , SpanId: ] <== Updates: 1 +[INFO ] [2020-09-27 20:47:22] 请求Id[754db36c01f24f89a966dbbbede28fcd] [http-nio-9001-exec-10] ==> [TxId: , SpanId: ] 请求完成, app=, url=/student/update,elapse=21ms, respData={"errorCode":"NO-ERROR","errorMessage":"NO-MESSAGE","success":true} +[INFO ] [2020-09-27 20:47:22] 请求Id[595b9a3f6e754ed58b2d7b50bdef3a04] [http-nio-9001-exec-1] ==> [TxId: , SpanId: ] 开始请求,app=, url=/student/list, reqData=[{},[{"asc":true,"fieldName":"registerTime"}],{"pageNum":1,"pageSize":10}] +[DEBUG] [2020-09-27 20:47:22] 请求Id[595b9a3f6e754ed58b2d7b50bdef3a04] [http-nio-9001-exec-1] ==> [TxId: , SpanId: ] ==> Preparing: SELECT count(0) FROM zz_student +[DEBUG] [2020-09-27 20:47:22] 请求Id[595b9a3f6e754ed58b2d7b50bdef3a04] [http-nio-9001-exec-1] ==> [TxId: , SpanId: ] ==> Parameters: +[DEBUG] [2020-09-27 20:47:22] 请求Id[595b9a3f6e754ed58b2d7b50bdef3a04] [http-nio-9001-exec-1] ==> [TxId: , SpanId: ] <== Total: 1 +[DEBUG] [2020-09-27 20:47:22] 请求Id[595b9a3f6e754ed58b2d7b50bdef3a04] [http-nio-9001-exec-1] ==> [TxId: , SpanId: ] ==> Preparing: SELECT * FROM zz_student ORDER BY zz_student.register_time LIMIT ? +[DEBUG] [2020-09-27 20:47:22] 请求Id[595b9a3f6e754ed58b2d7b50bdef3a04] [http-nio-9001-exec-1] ==> [TxId: , SpanId: ] ==> Parameters: 10(Integer) +[DEBUG] [2020-09-27 20:47:22] 请求Id[595b9a3f6e754ed58b2d7b50bdef3a04] [http-nio-9001-exec-1] ==> [TxId: , SpanId: ] <== Total: 6 +[DEBUG] [2020-09-27 20:47:22] 请求Id[595b9a3f6e754ed58b2d7b50bdef3a04] [http-nio-9001-exec-1] ==> [TxId: , SpanId: ] ==> Preparing: SELECT school_id,school_name,province_id,city_id FROM zz_school_info WHERE ( ( school_id in ( ? , ? ) ) ) +[DEBUG] [2020-09-27 20:47:22] 请求Id[595b9a3f6e754ed58b2d7b50bdef3a04] [http-nio-9001-exec-1] ==> [TxId: , SpanId: ] ==> Parameters: 1015818056597508096(Long), 1015817732197453824(Long) +[DEBUG] [2020-09-27 20:47:22] 请求Id[595b9a3f6e754ed58b2d7b50bdef3a04] [http-nio-9001-exec-1] ==> [TxId: , SpanId: ] <== Total: 2 +[INFO ] [2020-09-27 20:47:22] 请求Id[595b9a3f6e754ed58b2d7b50bdef3a04] [http-nio-9001-exec-1] ==> [TxId: , SpanId: ] 请求完成, app=, url=/student/list,elapse=24ms, respData={"data":{"dataList":[{"birthday":1282147200000,"cityId":110100000000,"cityIdDictMap":{"name":"市辖区","id":110100000000},"districtId":110105000000,"districtIdDictMap":{"name":"朝阳区","id":110105000000},"experienceLevel":1,"experienceLevelDictMap":{"name":"中级学员","id":1},"gender":1,"genderDictMap":{"name":"男","id":1},"gradeId":4,"gradeIdDictMap":{"name":"四年级","id":4},"leftCoin":1077,"loginMobile":"13834561230","provinceId":110000000000,"provinceIdDictMap":{"name":"北京市","id":110000000000},"registerTime":1601136000000,"schoolId":1015817732197453824,"schoolIdDictMap":{"name":"北京校区","id":1015817732197453824},"status":0,"statusDictMap":{"name":"正常","id":0},"studentId":1015842628948463616,"studentName":"张三","totalCoin":3412},{"birthday":1321545600000,"cityId":110100000000,"cityIdDictMap":{"name":"市辖区","id":110100000000},"districtId":110107000000,"districtIdDictMap":{"name":"石景山区","id":110107000000},"experienceLevel":1,"experienceLevelDictMap":{"name":"中级学员","id":1},"gender":1,"genderDictMap":{"name":"男","id":1},"gradeId":3,"gradeIdDictMap":{"name":"三年级","id":3},"leftCoin":3024,"loginMobile":"13945651267","provinceId":110000000000,"provinceIdDictMap":{"name":"北京市","id":110000000000},"registerTime":1601136000000,"schoolId":1015817732197453824,"schoolIdDictMap":{"name":"北京校区","id":1015817732197453824},"status":0,"statusDictMap":{"name":"正常","id":0},"studentId":1015852480873631744,"studentName":"李军","totalCoin":3178},{"birthday":1421251200000,"cityId":110100000000,"cityIdDictMap":{"name":"市辖区","id":110100000000},"districtId":110108000000,"districtIdDictMap":{"name":"海淀区","id":110108000000},"experienceLevel":0,"experienceLevelDictMap":{"name":"初级学员","id":0},"gender":1,"genderDictMap":{"name":"男","id":1},"gradeId":1,"gradeIdDictMap":{"name":"一年级","id":1},"leftCoin":2199,"loginMobile":"13709481736","provinceId":110000000000,"provinceIdDictMap":{"name":"北京市","id":110000000000},"registerTime":1601136000000,"schoolId":1015817732197453824,"schoolIdDictMap":{"name":"北京校区","id":1015817732197453824},"status":0,"statusDictMap":{"name":"正常","id":0},"studentId":1015852853839532032,"studentName":"王石","totalCoin":3187},{"birthday":1276099200000,"cityId":120100000000,"cityIdDictMap":{"name":"市辖区","id":120100000000},"districtId":120103000000,"districtIdDictMap":{"name":"河西区","id":120103000000},"experienceLevel":0,"experienceLevelDictMap":{"name":"初级学员","id":0},"gender":1,"genderDictMap":{"name":"男","id":1},"gradeId":3,"gradeIdDictMap":{"name":"三年级","id":3},"leftCoin":634,"loginMobile":"13700023451","provinceId":120000000000,"provinceIdDictMap":{"name":"天津市","id":120000000000},"registerTime":1601136000000,"schoolId":1015818056597508096,"schoolIdDictMap":{"name":"天津校区","id":1015818056597508096},"status":0,"statusDictMap":{"name":"正常","id":0},"studentId":1018000939508568064,"studentName":"天津二哥","totalCoin":1287},{"birthday":1247760000000,"cityId":120100000000,"cityIdDictMap":{"name":"市辖区","id":120100000000},"districtId":120104000000,"districtIdDictMap":{"name":"南开区","id":120104000000},"experienceLevel":2,"experienceLevelDictMap":{"name":"高级学员","id":2},"gender":0,"genderDictMap":{"name":"女","id":0},"gradeId":4,"gradeIdDictMap":{"name":"四年级","id":4},"leftCoin":7023,"loginMobile":"13903122987","provinceId":120000000000,"provinceIdDictMap":{"name":"天津市","id":120000000000},"registerTime":1601136000000,"schoolId":1015818056597508096,"schoolIdDictMap":{"name":"天津校区","id":1015818056597508096},"status":0,"statusDictMap":{"name":"正常","id":0},"studentId":1018001219050541056,"studentName":"南开学霸","totalCoin":8721},{"birthday":1504454400000,"cityId":120100000000,"cityIdDictMap":{"name":"市辖区","id":120100000000},"districtId":120102000000,"districtIdDictMap":{"name":"河东区","id":120102000000},"experienceLevel":0,"experienceLevelDictMap":{"name":"初级学员","id":0},"gender":0,"genderDictMap":{"name":"女","id":0},"gradeId":1,"gradeIdDictMap":{"name":"一年级","id":1},"leftCoin":0,"loginMobile":"13812345678","provinceId":120000000000,"provinceIdDictMap":{"name":"天津市","id":120000000000},"registerTime":1601210838000,"schoolId":1015818056597508096,"schoolIdDictMap":{"name":"天津校区","id":1015818056597508096},"status":0,"statusDictMap":{"name":"正常","id":0},"studentId":1310199334167380052,"studentName":"1112222","totalCoin":0}],"totalCount":6},"errorCode":"NO-ERROR","errorMessage":"NO-MESSAGE","success":true} +[INFO ] [2020-09-27 20:47:25] 请求Id[8937c7de3535464994ee5e6e39ac7598] [http-nio-9001-exec-2] ==> [TxId: , SpanId: ] 开始请求,app=, url=/student/delete, reqData=[1310199334167380052] +[DEBUG] [2020-09-27 20:47:25] 请求Id[8937c7de3535464994ee5e6e39ac7598] [http-nio-9001-exec-2] ==> [TxId: , SpanId: ] ==> Preparing: SELECT student_id,login_mobile,student_name,province_id,city_id,district_id,gender,birthday,experience_level,total_coin,left_coin,grade_id,school_id,register_time,status FROM zz_student WHERE student_id = ? +[DEBUG] [2020-09-27 20:47:25] 请求Id[8937c7de3535464994ee5e6e39ac7598] [http-nio-9001-exec-2] ==> [TxId: , SpanId: ] ==> Parameters: 1310199334167380052(Long) +[DEBUG] [2020-09-27 20:47:25] 请求Id[8937c7de3535464994ee5e6e39ac7598] [http-nio-9001-exec-2] ==> [TxId: , SpanId: ] <== Total: 1 +[DEBUG] [2020-09-27 20:47:25] 请求Id[8937c7de3535464994ee5e6e39ac7598] [http-nio-9001-exec-2] ==> [TxId: , SpanId: ] ==> Preparing: DELETE FROM zz_student WHERE student_id = ? +[DEBUG] [2020-09-27 20:47:25] 请求Id[8937c7de3535464994ee5e6e39ac7598] [http-nio-9001-exec-2] ==> [TxId: , SpanId: ] ==> Parameters: 1310199334167380052(Long) +[DEBUG] [2020-09-27 20:47:25] 请求Id[8937c7de3535464994ee5e6e39ac7598] [http-nio-9001-exec-2] ==> [TxId: , SpanId: ] <== Updates: 1 +[DEBUG] [2020-09-27 20:47:25] 请求Id[8937c7de3535464994ee5e6e39ac7598] [http-nio-9001-exec-2] ==> [TxId: , SpanId: ] ==> Preparing: DELETE FROM zz_class_student WHERE student_id = ? +[DEBUG] [2020-09-27 20:47:25] 请求Id[8937c7de3535464994ee5e6e39ac7598] [http-nio-9001-exec-2] ==> [TxId: , SpanId: ] ==> Parameters: 1310199334167380052(Long) +[DEBUG] [2020-09-27 20:47:25] 请求Id[8937c7de3535464994ee5e6e39ac7598] [http-nio-9001-exec-2] ==> [TxId: , SpanId: ] <== Updates: 0 +[INFO ] [2020-09-27 20:47:25] 请求Id[8937c7de3535464994ee5e6e39ac7598] [http-nio-9001-exec-2] ==> [TxId: , SpanId: ] 请求完成, app=, url=/student/delete,elapse=14ms, respData={"errorCode":"NO-ERROR","errorMessage":"NO-MESSAGE","success":true} +[INFO ] [2020-09-27 20:47:25] 请求Id[322815eb8ed641c09c8ec1b8a66e4636] [http-nio-9001-exec-3] ==> [TxId: , SpanId: ] 开始请求,app=, url=/student/list, reqData=[{},[{"asc":true,"fieldName":"registerTime"}],{"pageNum":1,"pageSize":10}] +[DEBUG] [2020-09-27 20:47:25] 请求Id[322815eb8ed641c09c8ec1b8a66e4636] [http-nio-9001-exec-3] ==> [TxId: , SpanId: ] ==> Preparing: SELECT count(0) FROM zz_student +[DEBUG] [2020-09-27 20:47:25] 请求Id[322815eb8ed641c09c8ec1b8a66e4636] [http-nio-9001-exec-3] ==> [TxId: , SpanId: ] ==> Parameters: +[DEBUG] [2020-09-27 20:47:25] 请求Id[322815eb8ed641c09c8ec1b8a66e4636] [http-nio-9001-exec-3] ==> [TxId: , SpanId: ] <== Total: 1 +[DEBUG] [2020-09-27 20:47:25] 请求Id[322815eb8ed641c09c8ec1b8a66e4636] [http-nio-9001-exec-3] ==> [TxId: , SpanId: ] ==> Preparing: SELECT * FROM zz_student ORDER BY zz_student.register_time LIMIT ? +[DEBUG] [2020-09-27 20:47:25] 请求Id[322815eb8ed641c09c8ec1b8a66e4636] [http-nio-9001-exec-3] ==> [TxId: , SpanId: ] ==> Parameters: 10(Integer) +[DEBUG] [2020-09-27 20:47:25] 请求Id[322815eb8ed641c09c8ec1b8a66e4636] [http-nio-9001-exec-3] ==> [TxId: , SpanId: ] <== Total: 5 +[DEBUG] [2020-09-27 20:47:25] 请求Id[322815eb8ed641c09c8ec1b8a66e4636] [http-nio-9001-exec-3] ==> [TxId: , SpanId: ] ==> Preparing: SELECT school_id,school_name,province_id,city_id FROM zz_school_info WHERE ( ( school_id in ( ? , ? ) ) ) +[DEBUG] [2020-09-27 20:47:25] 请求Id[322815eb8ed641c09c8ec1b8a66e4636] [http-nio-9001-exec-3] ==> [TxId: , SpanId: ] ==> Parameters: 1015818056597508096(Long), 1015817732197453824(Long) +[DEBUG] [2020-09-27 20:47:25] 请求Id[322815eb8ed641c09c8ec1b8a66e4636] [http-nio-9001-exec-3] ==> [TxId: , SpanId: ] <== Total: 2 +[INFO ] [2020-09-27 20:47:25] 请求Id[322815eb8ed641c09c8ec1b8a66e4636] [http-nio-9001-exec-3] ==> [TxId: , SpanId: ] 请求完成, app=, url=/student/list,elapse=18ms, respData={"data":{"dataList":[{"birthday":1282147200000,"cityId":110100000000,"cityIdDictMap":{"name":"市辖区","id":110100000000},"districtId":110105000000,"districtIdDictMap":{"name":"朝阳区","id":110105000000},"experienceLevel":1,"experienceLevelDictMap":{"name":"中级学员","id":1},"gender":1,"genderDictMap":{"name":"男","id":1},"gradeId":4,"gradeIdDictMap":{"name":"四年级","id":4},"leftCoin":1077,"loginMobile":"13834561230","provinceId":110000000000,"provinceIdDictMap":{"name":"北京市","id":110000000000},"registerTime":1601136000000,"schoolId":1015817732197453824,"schoolIdDictMap":{"name":"北京校区","id":1015817732197453824},"status":0,"statusDictMap":{"name":"正常","id":0},"studentId":1015842628948463616,"studentName":"张三","totalCoin":3412},{"birthday":1321545600000,"cityId":110100000000,"cityIdDictMap":{"name":"市辖区","id":110100000000},"districtId":110107000000,"districtIdDictMap":{"name":"石景山区","id":110107000000},"experienceLevel":1,"experienceLevelDictMap":{"name":"中级学员","id":1},"gender":1,"genderDictMap":{"name":"男","id":1},"gradeId":3,"gradeIdDictMap":{"name":"三年级","id":3},"leftCoin":3024,"loginMobile":"13945651267","provinceId":110000000000,"provinceIdDictMap":{"name":"北京市","id":110000000000},"registerTime":1601136000000,"schoolId":1015817732197453824,"schoolIdDictMap":{"name":"北京校区","id":1015817732197453824},"status":0,"statusDictMap":{"name":"正常","id":0},"studentId":1015852480873631744,"studentName":"李军","totalCoin":3178},{"birthday":1421251200000,"cityId":110100000000,"cityIdDictMap":{"name":"市辖区","id":110100000000},"districtId":110108000000,"districtIdDictMap":{"name":"海淀区","id":110108000000},"experienceLevel":0,"experienceLevelDictMap":{"name":"初级学员","id":0},"gender":1,"genderDictMap":{"name":"男","id":1},"gradeId":1,"gradeIdDictMap":{"name":"一年级","id":1},"leftCoin":2199,"loginMobile":"13709481736","provinceId":110000000000,"provinceIdDictMap":{"name":"北京市","id":110000000000},"registerTime":1601136000000,"schoolId":1015817732197453824,"schoolIdDictMap":{"name":"北京校区","id":1015817732197453824},"status":0,"statusDictMap":{"name":"正常","id":0},"studentId":1015852853839532032,"studentName":"王石","totalCoin":3187},{"birthday":1276099200000,"cityId":120100000000,"cityIdDictMap":{"name":"市辖区","id":120100000000},"districtId":120103000000,"districtIdDictMap":{"name":"河西区","id":120103000000},"experienceLevel":0,"experienceLevelDictMap":{"name":"初级学员","id":0},"gender":1,"genderDictMap":{"name":"男","id":1},"gradeId":3,"gradeIdDictMap":{"name":"三年级","id":3},"leftCoin":634,"loginMobile":"13700023451","provinceId":120000000000,"provinceIdDictMap":{"name":"天津市","id":120000000000},"registerTime":1601136000000,"schoolId":1015818056597508096,"schoolIdDictMap":{"name":"天津校区","id":1015818056597508096},"status":0,"statusDictMap":{"name":"正常","id":0},"studentId":1018000939508568064,"studentName":"天津二哥","totalCoin":1287},{"birthday":1247760000000,"cityId":120100000000,"cityIdDictMap":{"name":"市辖区","id":120100000000},"districtId":120104000000,"districtIdDictMap":{"name":"南开区","id":120104000000},"experienceLevel":2,"experienceLevelDictMap":{"name":"高级学员","id":2},"gender":0,"genderDictMap":{"name":"女","id":0},"gradeId":4,"gradeIdDictMap":{"name":"四年级","id":4},"leftCoin":7023,"loginMobile":"13903122987","provinceId":120000000000,"provinceIdDictMap":{"name":"天津市","id":120000000000},"registerTime":1601136000000,"schoolId":1015818056597508096,"schoolIdDictMap":{"name":"天津校区","id":1015818056597508096},"status":0,"statusDictMap":{"name":"正常","id":0},"studentId":1018001219050541056,"studentName":"南开学霸","totalCoin":8721}],"totalCount":5},"errorCode":"NO-ERROR","errorMessage":"NO-MESSAGE","success":true} +[INFO ] [2020-09-27 20:47:27] 请求Id[b5500f945d034a4580a8e7818d0d5f16] [http-nio-9001-exec-4] ==> [TxId: , SpanId: ] 开始请求,app=, url=/studentClass/list, reqData=[{},[{"asc":true,"fieldName":"createTime"}],{"pageNum":1,"pageSize":10}] +[DEBUG] [2020-09-27 20:47:27] 请求Id[b5500f945d034a4580a8e7818d0d5f16] [http-nio-9001-exec-4] ==> [TxId: , SpanId: ] ==> Preparing: SELECT count(0) FROM zz_class WHERE zz_class.status = 1 +[DEBUG] [2020-09-27 20:47:27] 请求Id[b5500f945d034a4580a8e7818d0d5f16] [http-nio-9001-exec-4] ==> [TxId: , SpanId: ] ==> Parameters: +[DEBUG] [2020-09-27 20:47:27] 请求Id[b5500f945d034a4580a8e7818d0d5f16] [http-nio-9001-exec-4] ==> [TxId: , SpanId: ] <== Total: 1 +[DEBUG] [2020-09-27 20:47:27] 请求Id[b5500f945d034a4580a8e7818d0d5f16] [http-nio-9001-exec-4] ==> [TxId: , SpanId: ] ==> Preparing: SELECT * FROM zz_class WHERE zz_class.status = 1 ORDER BY zz_class.create_time LIMIT ? +[DEBUG] [2020-09-27 20:47:27] 请求Id[b5500f945d034a4580a8e7818d0d5f16] [http-nio-9001-exec-4] ==> [TxId: , SpanId: ] ==> Parameters: 10(Integer) +[DEBUG] [2020-09-27 20:47:27] 请求Id[b5500f945d034a4580a8e7818d0d5f16] [http-nio-9001-exec-4] ==> [TxId: , SpanId: ] <== Total: 10 +[DEBUG] [2020-09-27 20:47:27] 请求Id[b5500f945d034a4580a8e7818d0d5f16] [http-nio-9001-exec-4] ==> [TxId: , SpanId: ] ==> Preparing: SELECT school_id,school_name,province_id,city_id FROM zz_school_info WHERE ( ( school_id in ( ? , ? ) ) ) +[DEBUG] [2020-09-27 20:47:27] 请求Id[b5500f945d034a4580a8e7818d0d5f16] [http-nio-9001-exec-4] ==> [TxId: , SpanId: ] ==> Parameters: 1015818056597508096(Long), 1015817732197453824(Long) +[DEBUG] [2020-09-27 20:47:27] 请求Id[b5500f945d034a4580a8e7818d0d5f16] [http-nio-9001-exec-4] ==> [TxId: , SpanId: ] <== Total: 2 +[DEBUG] [2020-09-27 20:47:27] 请求Id[b5500f945d034a4580a8e7818d0d5f16] [http-nio-9001-exec-4] ==> [TxId: , SpanId: ] ==> Preparing: SELECT student_id,login_mobile,student_name,province_id,city_id,district_id,gender,birthday,experience_level,total_coin,left_coin,grade_id,school_id,register_time,status FROM zz_student WHERE ( ( student_id in ( ? , ? , ? , ? , ? ) ) ) +[DEBUG] [2020-09-27 20:47:27] 请求Id[b5500f945d034a4580a8e7818d0d5f16] [http-nio-9001-exec-4] ==> [TxId: , SpanId: ] ==> Parameters: 1015852480873631744(Long), 1015842628948463616(Long), 1018000939508568064(Long), 1018001219050541056(Long), 1015852853839532032(Long) +[DEBUG] [2020-09-27 20:47:27] 请求Id[b5500f945d034a4580a8e7818d0d5f16] [http-nio-9001-exec-4] ==> [TxId: , SpanId: ] <== Total: 5 +[INFO ] [2020-09-27 20:47:27] 请求Id[b5500f945d034a4580a8e7818d0d5f16] [http-nio-9001-exec-4] ==> [TxId: , SpanId: ] 请求完成, app=, url=/studentClass/list,elapse=102ms, respData={"data":{"dataList":[{"classId":1016971499387228160,"classLevel":0,"classLevelDictMap":{"name":"初级班","id":0},"className":"小学一年级随堂班","createTime":1601136000000,"createUserId":1093809448606765057,"finishClassHour":15,"leaderId":1015842628948463616,"leaderIdDictMap":{"name":"张三","id":1015842628948463616},"schoolId":1015817732197453824,"schoolIdDictMap":{"name":"北京校区","id":1015817732197453824}},{"classId":1016971692685922304,"classLevel":0,"classLevelDictMap":{"name":"初级班","id":0},"className":"小学二年级随堂班","createTime":1601136000000,"createUserId":1093809448606765057,"finishClassHour":20,"leaderId":1018000939508568064,"leaderIdDictMap":{"name":"天津二哥","id":1018000939508568064},"schoolId":1015818056597508096,"schoolIdDictMap":{"name":"天津校区","id":1015818056597508096}},{"classId":1016971755373989888,"classLevel":0,"classLevelDictMap":{"name":"初级班","id":0},"className":"小学三年级随堂班","createTime":1601136000000,"createUserId":1093809448606765057,"finishClassHour":100,"leaderId":1015842628948463616,"leaderIdDictMap":{"name":"张三","id":1015842628948463616},"schoolId":1015817732197453824,"schoolIdDictMap":{"name":"北京校区","id":1015817732197453824}},{"classId":1016971816040402944,"classLevel":0,"classLevelDictMap":{"name":"初级班","id":0},"className":"小学四年级随堂班","createTime":1601136000000,"createUserId":1093809448606765057,"finishClassHour":0,"leaderId":1015852853839532032,"leaderIdDictMap":{"name":"王石","id":1015852853839532032},"schoolId":1015817732197453824,"schoolIdDictMap":{"name":"北京校区","id":1015817732197453824}},{"classId":1016971872105664512,"classLevel":0,"classLevelDictMap":{"name":"初级班","id":0},"className":"小学五年级随堂班","createTime":1601136000000,"createUserId":1093809448606765057,"finishClassHour":0,"leaderId":1018001219050541056,"leaderIdDictMap":{"name":"南开学霸","id":1018001219050541056},"schoolId":1015818056597508096,"schoolIdDictMap":{"name":"天津校区","id":1015818056597508096}},{"classId":1016971931153076224,"classLevel":0,"classLevelDictMap":{"name":"初级班","id":0},"className":"小学六年级随堂班","createTime":1601136000000,"createUserId":1093809448606765057,"finishClassHour":0,"leaderId":1015852480873631744,"leaderIdDictMap":{"name":"李军","id":1015852480873631744},"schoolId":1015817732197453824,"schoolIdDictMap":{"name":"北京校区","id":1015817732197453824}},{"classId":1016972016347779072,"classLevel":1,"classLevelDictMap":{"name":"中级班","id":1},"className":"小学一年级提高班","createTime":1601136000000,"createUserId":1093809448606765057,"finishClassHour":0,"leaderId":1015842628948463616,"leaderIdDictMap":{"name":"张三","id":1015842628948463616},"schoolId":1015817732197453824,"schoolIdDictMap":{"name":"北京校区","id":1015817732197453824}},{"classId":1016972071955861504,"classLevel":1,"classLevelDictMap":{"name":"中级班","id":1},"className":"小学二年级提高班","createTime":1601136000000,"createUserId":1093809448606765057,"finishClassHour":0,"leaderId":1015852480873631744,"leaderIdDictMap":{"name":"李军","id":1015852480873631744},"schoolId":1015817732197453824,"schoolIdDictMap":{"name":"北京校区","id":1015817732197453824}},{"classId":1016972128667045888,"classLevel":1,"classLevelDictMap":{"name":"中级班","id":1},"className":"小学三年级提高班","createTime":1601136000000,"createUserId":1093809448606765057,"finishClassHour":0,"leaderId":1018001219050541056,"leaderIdDictMap":{"name":"南开学霸","id":1018001219050541056},"schoolId":1015818056597508096,"schoolIdDictMap":{"name":"天津校区","id":1015818056597508096}},{"classId":1016972187949338624,"classLevel":1,"classLevelDictMap":{"name":"中级班","id":1},"className":"小学四年级提高班","createTime":1601136000000,"createUserId":1093809448606765057,"finishClassHour":0,"leaderId":1015852480873631744,"leaderIdDictMap":{"name":"李军","id":1015852480873631744},"schoolId":1015817732197453824,"schoolIdDictMap":{"name":"北京校区","id":1015817732197453824}}],"totalCount":15},"errorCode":"NO-ERROR","errorMessage":"NO-MESSAGE","success":true} +[INFO ] [2020-09-27 20:47:29] 请求Id[94a21e6da790470b8d94751df09d019d] [http-nio-9001-exec-5] ==> [TxId: , SpanId: ] 开始请求,app=, url=/studentClass/listClassStudent, reqData=[1016971499387228160,null,null,{"pageNum":1,"pageSize":10}] +[DEBUG] [2020-09-27 20:47:29] 请求Id[94a21e6da790470b8d94751df09d019d] [http-nio-9001-exec-5] ==> [TxId: , SpanId: ] ==> Preparing: SELECT class_id,class_name,school_id,leader_id,finish_class_hour,class_level,create_user_id,create_time,status FROM zz_class WHERE ( ( class_id = ? and status = ? ) ) +[DEBUG] [2020-09-27 20:47:29] 请求Id[94a21e6da790470b8d94751df09d019d] [http-nio-9001-exec-5] ==> [TxId: , SpanId: ] ==> Parameters: 1016971499387228160(Long), 1(Integer) +[DEBUG] [2020-09-27 20:47:29] 请求Id[94a21e6da790470b8d94751df09d019d] [http-nio-9001-exec-5] ==> [TxId: , SpanId: ] <== Total: 1 +[DEBUG] [2020-09-27 20:47:29] 请求Id[94a21e6da790470b8d94751df09d019d] [http-nio-9001-exec-5] ==> [TxId: , SpanId: ] ==> Preparing: SELECT count(0) FROM zz_student, zz_class_student WHERE zz_class_student.class_id = ? AND zz_class_student.student_id = zz_student.student_id +[DEBUG] [2020-09-27 20:47:29] 请求Id[94a21e6da790470b8d94751df09d019d] [http-nio-9001-exec-5] ==> [TxId: , SpanId: ] ==> Parameters: 1016971499387228160(Long) +[DEBUG] [2020-09-27 20:47:29] 请求Id[94a21e6da790470b8d94751df09d019d] [http-nio-9001-exec-5] ==> [TxId: , SpanId: ] <== Total: 1 +[DEBUG] [2020-09-27 20:47:29] 请求Id[94a21e6da790470b8d94751df09d019d] [http-nio-9001-exec-5] ==> [TxId: , SpanId: ] ==> Preparing: SELECT zz_student.* FROM zz_student, zz_class_student WHERE zz_class_student.class_id = ? AND zz_class_student.student_id = zz_student.student_id LIMIT ? +[DEBUG] [2020-09-27 20:47:29] 请求Id[94a21e6da790470b8d94751df09d019d] [http-nio-9001-exec-5] ==> [TxId: , SpanId: ] ==> Parameters: 1016971499387228160(Long), 10(Integer) +[DEBUG] [2020-09-27 20:47:29] 请求Id[94a21e6da790470b8d94751df09d019d] [http-nio-9001-exec-5] ==> [TxId: , SpanId: ] <== Total: 2 +[DEBUG] [2020-09-27 20:47:29] 请求Id[94a21e6da790470b8d94751df09d019d] [http-nio-9001-exec-5] ==> [TxId: , SpanId: ] ==> Preparing: SELECT school_id,school_name,province_id,city_id FROM zz_school_info WHERE ( ( school_id in ( ? ) ) ) +[DEBUG] [2020-09-27 20:47:29] 请求Id[94a21e6da790470b8d94751df09d019d] [http-nio-9001-exec-5] ==> [TxId: , SpanId: ] ==> Parameters: 1015817732197453824(Long) +[DEBUG] [2020-09-27 20:47:29] 请求Id[94a21e6da790470b8d94751df09d019d] [http-nio-9001-exec-5] ==> [TxId: , SpanId: ] <== Total: 1 +[INFO ] [2020-09-27 20:47:29] 请求Id[94a21e6da790470b8d94751df09d019d] [http-nio-9001-exec-5] ==> [TxId: , SpanId: ] 请求完成, app=, url=/studentClass/listClassStudent,elapse=31ms, respData={"data":{"dataList":[{"birthday":1282147200000,"cityId":110100000000,"cityIdDictMap":{"name":"市辖区","id":110100000000},"districtId":110105000000,"districtIdDictMap":{"name":"朝阳区","id":110105000000},"experienceLevel":1,"experienceLevelDictMap":{"name":"中级学员","id":1},"gender":1,"genderDictMap":{"name":"男","id":1},"gradeId":4,"gradeIdDictMap":{"name":"四年级","id":4},"leftCoin":1077,"loginMobile":"13834561230","provinceId":110000000000,"provinceIdDictMap":{"name":"北京市","id":110000000000},"registerTime":1601136000000,"schoolId":1015817732197453824,"schoolIdDictMap":{"name":"北京校区","id":1015817732197453824},"status":0,"statusDictMap":{"name":"正常","id":0},"studentId":1015842628948463616,"studentName":"张三","totalCoin":3412},{"birthday":1321545600000,"cityId":110100000000,"cityIdDictMap":{"name":"市辖区","id":110100000000},"districtId":110107000000,"districtIdDictMap":{"name":"石景山区","id":110107000000},"experienceLevel":1,"experienceLevelDictMap":{"name":"中级学员","id":1},"gender":1,"genderDictMap":{"name":"男","id":1},"gradeId":3,"gradeIdDictMap":{"name":"三年级","id":3},"leftCoin":3024,"loginMobile":"13945651267","provinceId":110000000000,"provinceIdDictMap":{"name":"北京市","id":110000000000},"registerTime":1601136000000,"schoolId":1015817732197453824,"schoolIdDictMap":{"name":"北京校区","id":1015817732197453824},"status":0,"statusDictMap":{"name":"正常","id":0},"studentId":1015852480873631744,"studentName":"李军","totalCoin":3178}],"totalCount":2},"errorCode":"NO-ERROR","errorMessage":"NO-MESSAGE","success":true} +[INFO ] [2020-09-27 20:47:31] 请求Id[f10c3e6765a24ab799944e8053d1e763] [http-nio-9001-exec-6] ==> [TxId: , SpanId: ] 开始请求,app=, url=/studentClass/listNotInClassStudent, reqData=[1016971499387228160,{},null,{"pageNum":1,"pageSize":10}] +[DEBUG] [2020-09-27 20:47:31] 请求Id[f10c3e6765a24ab799944e8053d1e763] [http-nio-9001-exec-6] ==> [TxId: , SpanId: ] ==> Preparing: SELECT class_id,class_name,school_id,leader_id,finish_class_hour,class_level,create_user_id,create_time,status FROM zz_class WHERE ( ( class_id = ? and status = ? ) ) +[DEBUG] [2020-09-27 20:47:31] 请求Id[f10c3e6765a24ab799944e8053d1e763] [http-nio-9001-exec-6] ==> [TxId: , SpanId: ] ==> Parameters: 1016971499387228160(Long), 1(Integer) +[DEBUG] [2020-09-27 20:47:31] 请求Id[f10c3e6765a24ab799944e8053d1e763] [http-nio-9001-exec-6] ==> [TxId: , SpanId: ] <== Total: 1 +[DEBUG] [2020-09-27 20:47:31] 请求Id[f10c3e6765a24ab799944e8053d1e763] [http-nio-9001-exec-6] ==> [TxId: , SpanId: ] ==> Preparing: SELECT count(0) FROM zz_student WHERE NOT EXISTS (SELECT * FROM zz_class_student WHERE zz_class_student.class_id = ? AND zz_class_student.student_id = zz_student.student_id) +[DEBUG] [2020-09-27 20:47:31] 请求Id[f10c3e6765a24ab799944e8053d1e763] [http-nio-9001-exec-6] ==> [TxId: , SpanId: ] ==> Parameters: 1016971499387228160(Long) +[DEBUG] [2020-09-27 20:47:31] 请求Id[f10c3e6765a24ab799944e8053d1e763] [http-nio-9001-exec-6] ==> [TxId: , SpanId: ] <== Total: 1 +[DEBUG] [2020-09-27 20:47:31] 请求Id[f10c3e6765a24ab799944e8053d1e763] [http-nio-9001-exec-6] ==> [TxId: , SpanId: ] ==> Preparing: SELECT zz_student.* FROM zz_student WHERE NOT EXISTS (SELECT * FROM zz_class_student WHERE zz_class_student.class_id = ? AND zz_class_student.student_id = zz_student.student_id) LIMIT ? +[DEBUG] [2020-09-27 20:47:31] 请求Id[f10c3e6765a24ab799944e8053d1e763] [http-nio-9001-exec-6] ==> [TxId: , SpanId: ] ==> Parameters: 1016971499387228160(Long), 10(Integer) +[DEBUG] [2020-09-27 20:47:31] 请求Id[f10c3e6765a24ab799944e8053d1e763] [http-nio-9001-exec-6] ==> [TxId: , SpanId: ] <== Total: 3 +[DEBUG] [2020-09-27 20:47:31] 请求Id[f10c3e6765a24ab799944e8053d1e763] [http-nio-9001-exec-6] ==> [TxId: , SpanId: ] ==> Preparing: SELECT school_id,school_name,province_id,city_id FROM zz_school_info WHERE ( ( school_id in ( ? , ? ) ) ) +[DEBUG] [2020-09-27 20:47:31] 请求Id[f10c3e6765a24ab799944e8053d1e763] [http-nio-9001-exec-6] ==> [TxId: , SpanId: ] ==> Parameters: 1015818056597508096(Long), 1015817732197453824(Long) +[DEBUG] [2020-09-27 20:47:31] 请求Id[f10c3e6765a24ab799944e8053d1e763] [http-nio-9001-exec-6] ==> [TxId: , SpanId: ] <== Total: 2 +[INFO ] [2020-09-27 20:47:31] 请求Id[f10c3e6765a24ab799944e8053d1e763] [http-nio-9001-exec-6] ==> [TxId: , SpanId: ] 请求完成, app=, url=/studentClass/listNotInClassStudent,elapse=33ms, respData={"data":{"dataList":[{"birthday":1421251200000,"cityId":110100000000,"cityIdDictMap":{"name":"市辖区","id":110100000000},"districtId":110108000000,"districtIdDictMap":{"name":"海淀区","id":110108000000},"experienceLevel":0,"experienceLevelDictMap":{"name":"初级学员","id":0},"gender":1,"genderDictMap":{"name":"男","id":1},"gradeId":1,"gradeIdDictMap":{"name":"一年级","id":1},"leftCoin":2199,"loginMobile":"13709481736","provinceId":110000000000,"provinceIdDictMap":{"name":"北京市","id":110000000000},"registerTime":1601136000000,"schoolId":1015817732197453824,"schoolIdDictMap":{"name":"北京校区","id":1015817732197453824},"status":0,"statusDictMap":{"name":"正常","id":0},"studentId":1015852853839532032,"studentName":"王石","totalCoin":3187},{"birthday":1276099200000,"cityId":120100000000,"cityIdDictMap":{"name":"市辖区","id":120100000000},"districtId":120103000000,"districtIdDictMap":{"name":"河西区","id":120103000000},"experienceLevel":0,"experienceLevelDictMap":{"name":"初级学员","id":0},"gender":1,"genderDictMap":{"name":"男","id":1},"gradeId":3,"gradeIdDictMap":{"name":"三年级","id":3},"leftCoin":634,"loginMobile":"13700023451","provinceId":120000000000,"provinceIdDictMap":{"name":"天津市","id":120000000000},"registerTime":1601136000000,"schoolId":1015818056597508096,"schoolIdDictMap":{"name":"天津校区","id":1015818056597508096},"status":0,"statusDictMap":{"name":"正常","id":0},"studentId":1018000939508568064,"studentName":"天津二哥","totalCoin":1287},{"birthday":1247760000000,"cityId":120100000000,"cityIdDictMap":{"name":"市辖区","id":120100000000},"districtId":120104000000,"districtIdDictMap":{"name":"南开区","id":120104000000},"experienceLevel":2,"experienceLevelDictMap":{"name":"高级学员","id":2},"gender":0,"genderDictMap":{"name":"女","id":0},"gradeId":4,"gradeIdDictMap":{"name":"四年级","id":4},"leftCoin":7023,"loginMobile":"13903122987","provinceId":120000000000,"provinceIdDictMap":{"name":"天津市","id":120000000000},"registerTime":1601136000000,"schoolId":1015818056597508096,"schoolIdDictMap":{"name":"天津校区","id":1015818056597508096},"status":0,"statusDictMap":{"name":"正常","id":0},"studentId":1018001219050541056,"studentName":"南开学霸","totalCoin":8721}],"totalCount":3},"errorCode":"NO-ERROR","errorMessage":"NO-MESSAGE","success":true} +[INFO ] [2020-09-27 20:47:33] 请求Id[9eb86ede264c480aaa003bf8838e3e8a] [http-nio-9001-exec-7] ==> [TxId: , SpanId: ] 开始请求,app=, url=/studentClass/addClassStudent, reqData=[1016971499387228160,[{"studentId":1015852853839532032}]] +[DEBUG] [2020-09-27 20:47:33] 请求Id[9eb86ede264c480aaa003bf8838e3e8a] [http-nio-9001-exec-7] ==> [TxId: , SpanId: ] ==> Preparing: SELECT class_id,class_name,school_id,leader_id,finish_class_hour,class_level,create_user_id,create_time,status FROM zz_class WHERE ( ( class_id = ? and status = ? ) ) +[DEBUG] [2020-09-27 20:47:33] 请求Id[9eb86ede264c480aaa003bf8838e3e8a] [http-nio-9001-exec-7] ==> [TxId: , SpanId: ] ==> Parameters: 1016971499387228160(Long), 1(Integer) +[DEBUG] [2020-09-27 20:47:33] 请求Id[9eb86ede264c480aaa003bf8838e3e8a] [http-nio-9001-exec-7] ==> [TxId: , SpanId: ] <== Total: 1 +[DEBUG] [2020-09-27 20:47:33] 请求Id[9eb86ede264c480aaa003bf8838e3e8a] [http-nio-9001-exec-7] ==> [TxId: , SpanId: ] ==> Preparing: SELECT COUNT(*) FROM zz_student WHERE ( ( student_id in ( ? ) ) ) +[DEBUG] [2020-09-27 20:47:33] 请求Id[9eb86ede264c480aaa003bf8838e3e8a] [http-nio-9001-exec-7] ==> [TxId: , SpanId: ] ==> Parameters: 1015852853839532032(Long) +[DEBUG] [2020-09-27 20:47:33] 请求Id[9eb86ede264c480aaa003bf8838e3e8a] [http-nio-9001-exec-7] ==> [TxId: , SpanId: ] <== Total: 1 +[DEBUG] [2020-09-27 20:47:33] 请求Id[9eb86ede264c480aaa003bf8838e3e8a] [http-nio-9001-exec-7] ==> [TxId: , SpanId: ] ==> Preparing: INSERT INTO zz_class_student ( class_id,student_id ) VALUES ( ?,? ) +[DEBUG] [2020-09-27 20:47:33] 请求Id[9eb86ede264c480aaa003bf8838e3e8a] [http-nio-9001-exec-7] ==> [TxId: , SpanId: ] ==> Parameters: 1016971499387228160(Long), 1015852853839532032(Long) +[DEBUG] [2020-09-27 20:47:33] 请求Id[9eb86ede264c480aaa003bf8838e3e8a] [http-nio-9001-exec-7] ==> [TxId: , SpanId: ] <== Updates: 1 +[INFO ] [2020-09-27 20:47:33] 请求Id[9eb86ede264c480aaa003bf8838e3e8a] [http-nio-9001-exec-7] ==> [TxId: , SpanId: ] 请求完成, app=, url=/studentClass/addClassStudent,elapse=29ms, respData={"errorCode":"NO-ERROR","errorMessage":"NO-MESSAGE","success":true} +[INFO ] [2020-09-27 20:47:33] 请求Id[cbd2268781b245399b7b7371af6f893c] [http-nio-9001-exec-8] ==> [TxId: , SpanId: ] 开始请求,app=, url=/studentClass/listNotInClassStudent, reqData=[1016971499387228160,{},null,{"pageNum":1,"pageSize":10}] +[DEBUG] [2020-09-27 20:47:33] 请求Id[cbd2268781b245399b7b7371af6f893c] [http-nio-9001-exec-8] ==> [TxId: , SpanId: ] ==> Preparing: SELECT class_id,class_name,school_id,leader_id,finish_class_hour,class_level,create_user_id,create_time,status FROM zz_class WHERE ( ( class_id = ? and status = ? ) ) +[DEBUG] [2020-09-27 20:47:33] 请求Id[cbd2268781b245399b7b7371af6f893c] [http-nio-9001-exec-8] ==> [TxId: , SpanId: ] ==> Parameters: 1016971499387228160(Long), 1(Integer) +[DEBUG] [2020-09-27 20:47:33] 请求Id[cbd2268781b245399b7b7371af6f893c] [http-nio-9001-exec-8] ==> [TxId: , SpanId: ] <== Total: 1 +[DEBUG] [2020-09-27 20:47:33] 请求Id[cbd2268781b245399b7b7371af6f893c] [http-nio-9001-exec-8] ==> [TxId: , SpanId: ] ==> Preparing: SELECT count(0) FROM zz_student WHERE NOT EXISTS (SELECT * FROM zz_class_student WHERE zz_class_student.class_id = ? AND zz_class_student.student_id = zz_student.student_id) +[DEBUG] [2020-09-27 20:47:33] 请求Id[cbd2268781b245399b7b7371af6f893c] [http-nio-9001-exec-8] ==> [TxId: , SpanId: ] ==> Parameters: 1016971499387228160(Long) +[DEBUG] [2020-09-27 20:47:33] 请求Id[cbd2268781b245399b7b7371af6f893c] [http-nio-9001-exec-8] ==> [TxId: , SpanId: ] <== Total: 1 +[DEBUG] [2020-09-27 20:47:33] 请求Id[cbd2268781b245399b7b7371af6f893c] [http-nio-9001-exec-8] ==> [TxId: , SpanId: ] ==> Preparing: SELECT zz_student.* FROM zz_student WHERE NOT EXISTS (SELECT * FROM zz_class_student WHERE zz_class_student.class_id = ? AND zz_class_student.student_id = zz_student.student_id) LIMIT ? +[DEBUG] [2020-09-27 20:47:33] 请求Id[cbd2268781b245399b7b7371af6f893c] [http-nio-9001-exec-8] ==> [TxId: , SpanId: ] ==> Parameters: 1016971499387228160(Long), 10(Integer) +[DEBUG] [2020-09-27 20:47:33] 请求Id[cbd2268781b245399b7b7371af6f893c] [http-nio-9001-exec-8] ==> [TxId: , SpanId: ] <== Total: 2 +[DEBUG] [2020-09-27 20:47:33] 请求Id[cbd2268781b245399b7b7371af6f893c] [http-nio-9001-exec-8] ==> [TxId: , SpanId: ] ==> Preparing: SELECT school_id,school_name,province_id,city_id FROM zz_school_info WHERE ( ( school_id in ( ? ) ) ) +[DEBUG] [2020-09-27 20:47:33] 请求Id[cbd2268781b245399b7b7371af6f893c] [http-nio-9001-exec-8] ==> [TxId: , SpanId: ] ==> Parameters: 1015818056597508096(Long) +[DEBUG] [2020-09-27 20:47:33] 请求Id[cbd2268781b245399b7b7371af6f893c] [http-nio-9001-exec-8] ==> [TxId: , SpanId: ] <== Total: 1 +[INFO ] [2020-09-27 20:47:33] 请求Id[cbd2268781b245399b7b7371af6f893c] [http-nio-9001-exec-8] ==> [TxId: , SpanId: ] 请求完成, app=, url=/studentClass/listNotInClassStudent,elapse=26ms, respData={"data":{"dataList":[{"birthday":1276099200000,"cityId":120100000000,"cityIdDictMap":{"name":"市辖区","id":120100000000},"districtId":120103000000,"districtIdDictMap":{"name":"河西区","id":120103000000},"experienceLevel":0,"experienceLevelDictMap":{"name":"初级学员","id":0},"gender":1,"genderDictMap":{"name":"男","id":1},"gradeId":3,"gradeIdDictMap":{"name":"三年级","id":3},"leftCoin":634,"loginMobile":"13700023451","provinceId":120000000000,"provinceIdDictMap":{"name":"天津市","id":120000000000},"registerTime":1601136000000,"schoolId":1015818056597508096,"schoolIdDictMap":{"name":"天津校区","id":1015818056597508096},"status":0,"statusDictMap":{"name":"正常","id":0},"studentId":1018000939508568064,"studentName":"天津二哥","totalCoin":1287},{"birthday":1247760000000,"cityId":120100000000,"cityIdDictMap":{"name":"市辖区","id":120100000000},"districtId":120104000000,"districtIdDictMap":{"name":"南开区","id":120104000000},"experienceLevel":2,"experienceLevelDictMap":{"name":"高级学员","id":2},"gender":0,"genderDictMap":{"name":"女","id":0},"gradeId":4,"gradeIdDictMap":{"name":"四年级","id":4},"leftCoin":7023,"loginMobile":"13903122987","provinceId":120000000000,"provinceIdDictMap":{"name":"天津市","id":120000000000},"registerTime":1601136000000,"schoolId":1015818056597508096,"schoolIdDictMap":{"name":"天津校区","id":1015818056597508096},"status":0,"statusDictMap":{"name":"正常","id":0},"studentId":1018001219050541056,"studentName":"南开学霸","totalCoin":8721}],"totalCount":2},"errorCode":"NO-ERROR","errorMessage":"NO-MESSAGE","success":true} +[INFO ] [2020-09-27 20:47:35] 请求Id[f56e8dd535d943d8842e9094c0d33f49] [http-nio-9001-exec-9] ==> [TxId: , SpanId: ] 开始请求,app=, url=/studentClass/listClassStudent, reqData=[1016971499387228160,null,null,{"pageNum":1,"pageSize":10}] +[DEBUG] [2020-09-27 20:47:35] 请求Id[f56e8dd535d943d8842e9094c0d33f49] [http-nio-9001-exec-9] ==> [TxId: , SpanId: ] ==> Preparing: SELECT class_id,class_name,school_id,leader_id,finish_class_hour,class_level,create_user_id,create_time,status FROM zz_class WHERE ( ( class_id = ? and status = ? ) ) +[DEBUG] [2020-09-27 20:47:35] 请求Id[f56e8dd535d943d8842e9094c0d33f49] [http-nio-9001-exec-9] ==> [TxId: , SpanId: ] ==> Parameters: 1016971499387228160(Long), 1(Integer) +[DEBUG] [2020-09-27 20:47:35] 请求Id[f56e8dd535d943d8842e9094c0d33f49] [http-nio-9001-exec-9] ==> [TxId: , SpanId: ] <== Total: 1 +[DEBUG] [2020-09-27 20:47:35] 请求Id[f56e8dd535d943d8842e9094c0d33f49] [http-nio-9001-exec-9] ==> [TxId: , SpanId: ] ==> Preparing: SELECT count(0) FROM zz_student, zz_class_student WHERE zz_class_student.class_id = ? AND zz_class_student.student_id = zz_student.student_id +[DEBUG] [2020-09-27 20:47:35] 请求Id[f56e8dd535d943d8842e9094c0d33f49] [http-nio-9001-exec-9] ==> [TxId: , SpanId: ] ==> Parameters: 1016971499387228160(Long) +[DEBUG] [2020-09-27 20:47:35] 请求Id[f56e8dd535d943d8842e9094c0d33f49] [http-nio-9001-exec-9] ==> [TxId: , SpanId: ] <== Total: 1 +[DEBUG] [2020-09-27 20:47:35] 请求Id[f56e8dd535d943d8842e9094c0d33f49] [http-nio-9001-exec-9] ==> [TxId: , SpanId: ] ==> Preparing: SELECT zz_student.* FROM zz_student, zz_class_student WHERE zz_class_student.class_id = ? AND zz_class_student.student_id = zz_student.student_id LIMIT ? +[DEBUG] [2020-09-27 20:47:35] 请求Id[f56e8dd535d943d8842e9094c0d33f49] [http-nio-9001-exec-9] ==> [TxId: , SpanId: ] ==> Parameters: 1016971499387228160(Long), 10(Integer) +[DEBUG] [2020-09-27 20:47:35] 请求Id[f56e8dd535d943d8842e9094c0d33f49] [http-nio-9001-exec-9] ==> [TxId: , SpanId: ] <== Total: 3 +[DEBUG] [2020-09-27 20:47:35] 请求Id[f56e8dd535d943d8842e9094c0d33f49] [http-nio-9001-exec-9] ==> [TxId: , SpanId: ] ==> Preparing: SELECT school_id,school_name,province_id,city_id FROM zz_school_info WHERE ( ( school_id in ( ? ) ) ) +[DEBUG] [2020-09-27 20:47:35] 请求Id[f56e8dd535d943d8842e9094c0d33f49] [http-nio-9001-exec-9] ==> [TxId: , SpanId: ] ==> Parameters: 1015817732197453824(Long) +[DEBUG] [2020-09-27 20:47:35] 请求Id[f56e8dd535d943d8842e9094c0d33f49] [http-nio-9001-exec-9] ==> [TxId: , SpanId: ] <== Total: 1 +[INFO ] [2020-09-27 20:47:35] 请求Id[f56e8dd535d943d8842e9094c0d33f49] [http-nio-9001-exec-9] ==> [TxId: , SpanId: ] 请求完成, app=, url=/studentClass/listClassStudent,elapse=22ms, respData={"data":{"dataList":[{"birthday":1282147200000,"cityId":110100000000,"cityIdDictMap":{"name":"市辖区","id":110100000000},"districtId":110105000000,"districtIdDictMap":{"name":"朝阳区","id":110105000000},"experienceLevel":1,"experienceLevelDictMap":{"name":"中级学员","id":1},"gender":1,"genderDictMap":{"name":"男","id":1},"gradeId":4,"gradeIdDictMap":{"name":"四年级","id":4},"leftCoin":1077,"loginMobile":"13834561230","provinceId":110000000000,"provinceIdDictMap":{"name":"北京市","id":110000000000},"registerTime":1601136000000,"schoolId":1015817732197453824,"schoolIdDictMap":{"name":"北京校区","id":1015817732197453824},"status":0,"statusDictMap":{"name":"正常","id":0},"studentId":1015842628948463616,"studentName":"张三","totalCoin":3412},{"birthday":1321545600000,"cityId":110100000000,"cityIdDictMap":{"name":"市辖区","id":110100000000},"districtId":110107000000,"districtIdDictMap":{"name":"石景山区","id":110107000000},"experienceLevel":1,"experienceLevelDictMap":{"name":"中级学员","id":1},"gender":1,"genderDictMap":{"name":"男","id":1},"gradeId":3,"gradeIdDictMap":{"name":"三年级","id":3},"leftCoin":3024,"loginMobile":"13945651267","provinceId":110000000000,"provinceIdDictMap":{"name":"北京市","id":110000000000},"registerTime":1601136000000,"schoolId":1015817732197453824,"schoolIdDictMap":{"name":"北京校区","id":1015817732197453824},"status":0,"statusDictMap":{"name":"正常","id":0},"studentId":1015852480873631744,"studentName":"李军","totalCoin":3178},{"birthday":1421251200000,"cityId":110100000000,"cityIdDictMap":{"name":"市辖区","id":110100000000},"districtId":110108000000,"districtIdDictMap":{"name":"海淀区","id":110108000000},"experienceLevel":0,"experienceLevelDictMap":{"name":"初级学员","id":0},"gender":1,"genderDictMap":{"name":"男","id":1},"gradeId":1,"gradeIdDictMap":{"name":"一年级","id":1},"leftCoin":2199,"loginMobile":"13709481736","provinceId":110000000000,"provinceIdDictMap":{"name":"北京市","id":110000000000},"registerTime":1601136000000,"schoolId":1015817732197453824,"schoolIdDictMap":{"name":"北京校区","id":1015817732197453824},"status":0,"statusDictMap":{"name":"正常","id":0},"studentId":1015852853839532032,"studentName":"王石","totalCoin":3187}],"totalCount":3},"errorCode":"NO-ERROR","errorMessage":"NO-MESSAGE","success":true} +[INFO ] [2020-09-27 20:47:37] 请求Id[a901f51c155e4230954b91382ca0fab8] [http-nio-9001-exec-10] ==> [TxId: , SpanId: ] 开始请求,app=, url=/studentClass/deleteClassStudent, reqData=[1016971499387228160,1015852853839532032] +[DEBUG] [2020-09-27 20:47:37] 请求Id[a901f51c155e4230954b91382ca0fab8] [http-nio-9001-exec-10] ==> [TxId: , SpanId: ] ==> Preparing: DELETE FROM zz_class_student WHERE class_id = ? AND student_id = ? +[DEBUG] [2020-09-27 20:47:37] 请求Id[a901f51c155e4230954b91382ca0fab8] [http-nio-9001-exec-10] ==> [TxId: , SpanId: ] ==> Parameters: 1016971499387228160(Long), 1015852853839532032(Long) +[DEBUG] [2020-09-27 20:47:37] 请求Id[a901f51c155e4230954b91382ca0fab8] [http-nio-9001-exec-10] ==> [TxId: , SpanId: ] <== Updates: 1 +[INFO ] [2020-09-27 20:47:37] 请求Id[a901f51c155e4230954b91382ca0fab8] [http-nio-9001-exec-10] ==> [TxId: , SpanId: ] 请求完成, app=, url=/studentClass/deleteClassStudent,elapse=5ms, respData={"errorCode":"NO-ERROR","errorMessage":"NO-MESSAGE","success":true} +[INFO ] [2020-09-27 20:47:37] 请求Id[4f9e887130c143b881552c90c2cf933a] [http-nio-9001-exec-1] ==> [TxId: , SpanId: ] 开始请求,app=, url=/studentClass/listClassStudent, reqData=[1016971499387228160,null,null,{"pageNum":1,"pageSize":10}] +[DEBUG] [2020-09-27 20:47:37] 请求Id[4f9e887130c143b881552c90c2cf933a] [http-nio-9001-exec-1] ==> [TxId: , SpanId: ] ==> Preparing: SELECT class_id,class_name,school_id,leader_id,finish_class_hour,class_level,create_user_id,create_time,status FROM zz_class WHERE ( ( class_id = ? and status = ? ) ) +[DEBUG] [2020-09-27 20:47:37] 请求Id[4f9e887130c143b881552c90c2cf933a] [http-nio-9001-exec-1] ==> [TxId: , SpanId: ] ==> Parameters: 1016971499387228160(Long), 1(Integer) +[DEBUG] [2020-09-27 20:47:37] 请求Id[4f9e887130c143b881552c90c2cf933a] [http-nio-9001-exec-1] ==> [TxId: , SpanId: ] <== Total: 1 +[DEBUG] [2020-09-27 20:47:37] 请求Id[4f9e887130c143b881552c90c2cf933a] [http-nio-9001-exec-1] ==> [TxId: , SpanId: ] ==> Preparing: SELECT count(0) FROM zz_student, zz_class_student WHERE zz_class_student.class_id = ? AND zz_class_student.student_id = zz_student.student_id +[DEBUG] [2020-09-27 20:47:37] 请求Id[4f9e887130c143b881552c90c2cf933a] [http-nio-9001-exec-1] ==> [TxId: , SpanId: ] ==> Parameters: 1016971499387228160(Long) +[DEBUG] [2020-09-27 20:47:37] 请求Id[4f9e887130c143b881552c90c2cf933a] [http-nio-9001-exec-1] ==> [TxId: , SpanId: ] <== Total: 1 +[DEBUG] [2020-09-27 20:47:37] 请求Id[4f9e887130c143b881552c90c2cf933a] [http-nio-9001-exec-1] ==> [TxId: , SpanId: ] ==> Preparing: SELECT zz_student.* FROM zz_student, zz_class_student WHERE zz_class_student.class_id = ? AND zz_class_student.student_id = zz_student.student_id LIMIT ? +[DEBUG] [2020-09-27 20:47:37] 请求Id[4f9e887130c143b881552c90c2cf933a] [http-nio-9001-exec-1] ==> [TxId: , SpanId: ] ==> Parameters: 1016971499387228160(Long), 10(Integer) +[DEBUG] [2020-09-27 20:47:37] 请求Id[4f9e887130c143b881552c90c2cf933a] [http-nio-9001-exec-1] ==> [TxId: , SpanId: ] <== Total: 2 +[DEBUG] [2020-09-27 20:47:37] 请求Id[4f9e887130c143b881552c90c2cf933a] [http-nio-9001-exec-1] ==> [TxId: , SpanId: ] ==> Preparing: SELECT school_id,school_name,province_id,city_id FROM zz_school_info WHERE ( ( school_id in ( ? ) ) ) +[DEBUG] [2020-09-27 20:47:37] 请求Id[4f9e887130c143b881552c90c2cf933a] [http-nio-9001-exec-1] ==> [TxId: , SpanId: ] ==> Parameters: 1015817732197453824(Long) +[DEBUG] [2020-09-27 20:47:37] 请求Id[4f9e887130c143b881552c90c2cf933a] [http-nio-9001-exec-1] ==> [TxId: , SpanId: ] <== Total: 1 +[INFO ] [2020-09-27 20:47:37] 请求Id[4f9e887130c143b881552c90c2cf933a] [http-nio-9001-exec-1] ==> [TxId: , SpanId: ] 请求完成, app=, url=/studentClass/listClassStudent,elapse=20ms, respData={"data":{"dataList":[{"birthday":1282147200000,"cityId":110100000000,"cityIdDictMap":{"name":"市辖区","id":110100000000},"districtId":110105000000,"districtIdDictMap":{"name":"朝阳区","id":110105000000},"experienceLevel":1,"experienceLevelDictMap":{"name":"中级学员","id":1},"gender":1,"genderDictMap":{"name":"男","id":1},"gradeId":4,"gradeIdDictMap":{"name":"四年级","id":4},"leftCoin":1077,"loginMobile":"13834561230","provinceId":110000000000,"provinceIdDictMap":{"name":"北京市","id":110000000000},"registerTime":1601136000000,"schoolId":1015817732197453824,"schoolIdDictMap":{"name":"北京校区","id":1015817732197453824},"status":0,"statusDictMap":{"name":"正常","id":0},"studentId":1015842628948463616,"studentName":"张三","totalCoin":3412},{"birthday":1321545600000,"cityId":110100000000,"cityIdDictMap":{"name":"市辖区","id":110100000000},"districtId":110107000000,"districtIdDictMap":{"name":"石景山区","id":110107000000},"experienceLevel":1,"experienceLevelDictMap":{"name":"中级学员","id":1},"gender":1,"genderDictMap":{"name":"男","id":1},"gradeId":3,"gradeIdDictMap":{"name":"三年级","id":3},"leftCoin":3024,"loginMobile":"13945651267","provinceId":110000000000,"provinceIdDictMap":{"name":"北京市","id":110000000000},"registerTime":1601136000000,"schoolId":1015817732197453824,"schoolIdDictMap":{"name":"北京校区","id":1015817732197453824},"status":0,"statusDictMap":{"name":"正常","id":0},"studentId":1015852480873631744,"studentName":"李军","totalCoin":3178}],"totalCount":2},"errorCode":"NO-ERROR","errorMessage":"NO-MESSAGE","success":true} +[INFO ] [2020-09-27 20:47:39] 请求Id[4f1d9908c5f04e94bd4c1376c9b5ca2b] [http-nio-9001-exec-2] ==> [TxId: , SpanId: ] 开始请求,app=, url=/studentClass/list, reqData=[{},[{"asc":true,"fieldName":"createTime"}],{"pageNum":1,"pageSize":10}] +[DEBUG] [2020-09-27 20:47:39] 请求Id[4f1d9908c5f04e94bd4c1376c9b5ca2b] [http-nio-9001-exec-2] ==> [TxId: , SpanId: ] ==> Preparing: SELECT count(0) FROM zz_class WHERE zz_class.status = 1 +[DEBUG] [2020-09-27 20:47:39] 请求Id[4f1d9908c5f04e94bd4c1376c9b5ca2b] [http-nio-9001-exec-2] ==> [TxId: , SpanId: ] ==> Parameters: +[DEBUG] [2020-09-27 20:47:39] 请求Id[4f1d9908c5f04e94bd4c1376c9b5ca2b] [http-nio-9001-exec-2] ==> [TxId: , SpanId: ] <== Total: 1 +[DEBUG] [2020-09-27 20:47:39] 请求Id[4f1d9908c5f04e94bd4c1376c9b5ca2b] [http-nio-9001-exec-2] ==> [TxId: , SpanId: ] ==> Preparing: SELECT * FROM zz_class WHERE zz_class.status = 1 ORDER BY zz_class.create_time LIMIT ? +[DEBUG] [2020-09-27 20:47:39] 请求Id[4f1d9908c5f04e94bd4c1376c9b5ca2b] [http-nio-9001-exec-2] ==> [TxId: , SpanId: ] ==> Parameters: 10(Integer) +[DEBUG] [2020-09-27 20:47:39] 请求Id[4f1d9908c5f04e94bd4c1376c9b5ca2b] [http-nio-9001-exec-2] ==> [TxId: , SpanId: ] <== Total: 10 +[DEBUG] [2020-09-27 20:47:39] 请求Id[4f1d9908c5f04e94bd4c1376c9b5ca2b] [http-nio-9001-exec-2] ==> [TxId: , SpanId: ] ==> Preparing: SELECT school_id,school_name,province_id,city_id FROM zz_school_info WHERE ( ( school_id in ( ? , ? ) ) ) +[DEBUG] [2020-09-27 20:47:39] 请求Id[4f1d9908c5f04e94bd4c1376c9b5ca2b] [http-nio-9001-exec-2] ==> [TxId: , SpanId: ] ==> Parameters: 1015818056597508096(Long), 1015817732197453824(Long) +[DEBUG] [2020-09-27 20:47:39] 请求Id[4f1d9908c5f04e94bd4c1376c9b5ca2b] [http-nio-9001-exec-2] ==> [TxId: , SpanId: ] <== Total: 2 +[DEBUG] [2020-09-27 20:47:39] 请求Id[4f1d9908c5f04e94bd4c1376c9b5ca2b] [http-nio-9001-exec-2] ==> [TxId: , SpanId: ] ==> Preparing: SELECT student_id,login_mobile,student_name,province_id,city_id,district_id,gender,birthday,experience_level,total_coin,left_coin,grade_id,school_id,register_time,status FROM zz_student WHERE ( ( student_id in ( ? , ? , ? , ? , ? ) ) ) +[DEBUG] [2020-09-27 20:47:39] 请求Id[4f1d9908c5f04e94bd4c1376c9b5ca2b] [http-nio-9001-exec-2] ==> [TxId: , SpanId: ] ==> Parameters: 1015852480873631744(Long), 1015842628948463616(Long), 1018000939508568064(Long), 1018001219050541056(Long), 1015852853839532032(Long) +[DEBUG] [2020-09-27 20:47:39] 请求Id[4f1d9908c5f04e94bd4c1376c9b5ca2b] [http-nio-9001-exec-2] ==> [TxId: , SpanId: ] <== Total: 5 +[INFO ] [2020-09-27 20:47:39] 请求Id[4f1d9908c5f04e94bd4c1376c9b5ca2b] [http-nio-9001-exec-2] ==> [TxId: , SpanId: ] 请求完成, app=, url=/studentClass/list,elapse=12ms, respData={"data":{"dataList":[{"classId":1016971499387228160,"classLevel":0,"classLevelDictMap":{"name":"初级班","id":0},"className":"小学一年级随堂班","createTime":1601136000000,"createUserId":1093809448606765057,"finishClassHour":15,"leaderId":1015842628948463616,"leaderIdDictMap":{"name":"张三","id":1015842628948463616},"schoolId":1015817732197453824,"schoolIdDictMap":{"name":"北京校区","id":1015817732197453824}},{"classId":1016971692685922304,"classLevel":0,"classLevelDictMap":{"name":"初级班","id":0},"className":"小学二年级随堂班","createTime":1601136000000,"createUserId":1093809448606765057,"finishClassHour":20,"leaderId":1018000939508568064,"leaderIdDictMap":{"name":"天津二哥","id":1018000939508568064},"schoolId":1015818056597508096,"schoolIdDictMap":{"name":"天津校区","id":1015818056597508096}},{"classId":1016971755373989888,"classLevel":0,"classLevelDictMap":{"name":"初级班","id":0},"className":"小学三年级随堂班","createTime":1601136000000,"createUserId":1093809448606765057,"finishClassHour":100,"leaderId":1015842628948463616,"leaderIdDictMap":{"name":"张三","id":1015842628948463616},"schoolId":1015817732197453824,"schoolIdDictMap":{"name":"北京校区","id":1015817732197453824}},{"classId":1016971816040402944,"classLevel":0,"classLevelDictMap":{"name":"初级班","id":0},"className":"小学四年级随堂班","createTime":1601136000000,"createUserId":1093809448606765057,"finishClassHour":0,"leaderId":1015852853839532032,"leaderIdDictMap":{"name":"王石","id":1015852853839532032},"schoolId":1015817732197453824,"schoolIdDictMap":{"name":"北京校区","id":1015817732197453824}},{"classId":1016971872105664512,"classLevel":0,"classLevelDictMap":{"name":"初级班","id":0},"className":"小学五年级随堂班","createTime":1601136000000,"createUserId":1093809448606765057,"finishClassHour":0,"leaderId":1018001219050541056,"leaderIdDictMap":{"name":"南开学霸","id":1018001219050541056},"schoolId":1015818056597508096,"schoolIdDictMap":{"name":"天津校区","id":1015818056597508096}},{"classId":1016971931153076224,"classLevel":0,"classLevelDictMap":{"name":"初级班","id":0},"className":"小学六年级随堂班","createTime":1601136000000,"createUserId":1093809448606765057,"finishClassHour":0,"leaderId":1015852480873631744,"leaderIdDictMap":{"name":"李军","id":1015852480873631744},"schoolId":1015817732197453824,"schoolIdDictMap":{"name":"北京校区","id":1015817732197453824}},{"classId":1016972016347779072,"classLevel":1,"classLevelDictMap":{"name":"中级班","id":1},"className":"小学一年级提高班","createTime":1601136000000,"createUserId":1093809448606765057,"finishClassHour":0,"leaderId":1015842628948463616,"leaderIdDictMap":{"name":"张三","id":1015842628948463616},"schoolId":1015817732197453824,"schoolIdDictMap":{"name":"北京校区","id":1015817732197453824}},{"classId":1016972071955861504,"classLevel":1,"classLevelDictMap":{"name":"中级班","id":1},"className":"小学二年级提高班","createTime":1601136000000,"createUserId":1093809448606765057,"finishClassHour":0,"leaderId":1015852480873631744,"leaderIdDictMap":{"name":"李军","id":1015852480873631744},"schoolId":1015817732197453824,"schoolIdDictMap":{"name":"北京校区","id":1015817732197453824}},{"classId":1016972128667045888,"classLevel":1,"classLevelDictMap":{"name":"中级班","id":1},"className":"小学三年级提高班","createTime":1601136000000,"createUserId":1093809448606765057,"finishClassHour":0,"leaderId":1018001219050541056,"leaderIdDictMap":{"name":"南开学霸","id":1018001219050541056},"schoolId":1015818056597508096,"schoolIdDictMap":{"name":"天津校区","id":1015818056597508096}},{"classId":1016972187949338624,"classLevel":1,"classLevelDictMap":{"name":"中级班","id":1},"className":"小学四年级提高班","createTime":1601136000000,"createUserId":1093809448606765057,"finishClassHour":0,"leaderId":1015852480873631744,"leaderIdDictMap":{"name":"李军","id":1015852480873631744},"schoolId":1015817732197453824,"schoolIdDictMap":{"name":"北京校区","id":1015817732197453824}}],"totalCount":15},"errorCode":"NO-ERROR","errorMessage":"NO-MESSAGE","success":true} +[INFO ] [2020-09-27 20:47:42] 请求Id[d2e7a85fe6814b8eb125ac729c4d1ae8] [http-nio-9001-exec-3] ==> [TxId: , SpanId: ] 开始请求,app=, url=/studentClass/listClassCourse, reqData=[1016971499387228160,null,null,{"pageNum":1,"pageSize":10}] +[DEBUG] [2020-09-27 20:47:42] 请求Id[d2e7a85fe6814b8eb125ac729c4d1ae8] [http-nio-9001-exec-3] ==> [TxId: , SpanId: ] ==> Preparing: SELECT class_id,class_name,school_id,leader_id,finish_class_hour,class_level,create_user_id,create_time,status FROM zz_class WHERE ( ( class_id = ? and status = ? ) ) +[DEBUG] [2020-09-27 20:47:42] 请求Id[d2e7a85fe6814b8eb125ac729c4d1ae8] [http-nio-9001-exec-3] ==> [TxId: , SpanId: ] ==> Parameters: 1016971499387228160(Long), 1(Integer) +[DEBUG] [2020-09-27 20:47:42] 请求Id[d2e7a85fe6814b8eb125ac729c4d1ae8] [http-nio-9001-exec-3] ==> [TxId: , SpanId: ] <== Total: 1 +[DEBUG] [2020-09-27 20:47:42] 请求Id[d2e7a85fe6814b8eb125ac729c4d1ae8] [http-nio-9001-exec-3] ==> [TxId: , SpanId: ] ==> Preparing: SELECT count(0) FROM zz_course, zz_class_course WHERE zz_class_course.class_id = ? AND zz_class_course.course_id = zz_course.course_id +[DEBUG] [2020-09-27 20:47:42] 请求Id[d2e7a85fe6814b8eb125ac729c4d1ae8] [http-nio-9001-exec-3] ==> [TxId: , SpanId: ] ==> Parameters: 1016971499387228160(Long) +[DEBUG] [2020-09-27 20:47:42] 请求Id[d2e7a85fe6814b8eb125ac729c4d1ae8] [http-nio-9001-exec-3] ==> [TxId: , SpanId: ] <== Total: 1 +[DEBUG] [2020-09-27 20:47:42] 请求Id[d2e7a85fe6814b8eb125ac729c4d1ae8] [http-nio-9001-exec-3] ==> [TxId: , SpanId: ] ==> Preparing: SELECT zz_course.* FROM zz_course, zz_class_course WHERE zz_class_course.class_id = ? AND zz_class_course.course_id = zz_course.course_id LIMIT ? +[DEBUG] [2020-09-27 20:47:42] 请求Id[d2e7a85fe6814b8eb125ac729c4d1ae8] [http-nio-9001-exec-3] ==> [TxId: , SpanId: ] ==> Parameters: 1016971499387228160(Long), 10(Integer) +[DEBUG] [2020-09-27 20:47:42] 请求Id[d2e7a85fe6814b8eb125ac729c4d1ae8] [http-nio-9001-exec-3] ==> [TxId: , SpanId: ] <== Total: 4 +[INFO ] [2020-09-27 20:47:42] 请求Id[d2e7a85fe6814b8eb125ac729c4d1ae8] [http-nio-9001-exec-3] ==> [TxId: , SpanId: ] 请求完成, app=, url=/studentClass/listClassCourse,elapse=29ms, respData={"data":{"dataList":[{"classHour":10,"courseId":1016699195411402752,"courseName":"小学一年级拼音基础练习","createTime":1601136000000,"createUserId":1093809448606765057,"description":"小学一年级拼音基础练习","difficulty":0,"difficultyDictMap":{"name":"容易","id":0},"gradeId":1,"gradeIdDictMap":{"name":"一年级","id":1},"pictureUrl":"[{\"name\":\"IMG_0003.JPG\",\"downloadUri\":\"/admin/coursepaper/course/download\",\"filename\":\"b09ef09478d8452d908600ff98b6f1ce.JPG\"}]","price":299.00,"subjectId":0,"subjectIdDictMap":{"name":"语文","id":0},"updateTime":1601136000000},{"classHour":25,"courseId":1016917385529790464,"courseName":"小学二年级语文课程","createTime":1601136000000,"createUserId":1093809448606765057,"description":"小学二年级课程","difficulty":1,"difficultyDictMap":{"name":"普通","id":1},"gradeId":2,"gradeIdDictMap":{"name":"二年级","id":2},"pictureUrl":"[{\"name\":\"IMG_0455.JPG\",\"downloadUri\":\"/admin/coursepaper/course/download\",\"filename\":\"79651a658e88408888f847366fbf98d0.JPG\"}]","price":980.00,"subjectId":0,"subjectIdDictMap":{"name":"语文","id":0},"updateTime":1601136000000},{"classHour":15,"courseId":1016920878164480000,"courseName":"小学数学一年级课程","createTime":1601136000000,"createUserId":1093809448606765057,"description":"小学数学一年级课程","difficulty":0,"difficultyDictMap":{"name":"容易","id":0},"gradeId":1,"gradeIdDictMap":{"name":"一年级","id":1},"pictureUrl":"[{\"name\":\"IMG_0010.JPG\",\"downloadUri\":\"/admin/coursepaper/course/download\",\"filename\":\"7e9583aba9594a98b1e0268837d2a5d0.JPG\"}]","price":388.00,"subjectId":1,"subjectIdDictMap":{"name":"数学","id":1},"updateTime":1601136000000},{"classHour":15,"courseId":1016923276064854016,"courseName":"小学英语一年级课程","createTime":1601136000000,"createUserId":1093809448606765057,"description":"小学英语一年级课程","difficulty":0,"difficultyDictMap":{"name":"容易","id":0},"gradeId":1,"gradeIdDictMap":{"name":"一年级","id":1},"pictureUrl":"[{\"name\":\"english.jpg\",\"downloadUri\":\"/admin/app/course/download\",\"filename\":\"44177c3674f543fda24222b8297ef203.jpg\"}]","price":399.00,"subjectId":2,"subjectIdDictMap":{"name":"英语","id":2},"updateTime":1601136000000}],"totalCount":4},"errorCode":"NO-ERROR","errorMessage":"NO-MESSAGE","success":true} +[INFO ] [2020-09-27 20:47:43] 请求Id[42d7098510944c1f84aa5739c2596947] [http-nio-9001-exec-4] ==> [TxId: , SpanId: ] 开始请求,app=, url=/studentClass/viewClassCourse, reqData=[1016971499387228160,1016699195411402752] +[DEBUG] [2020-09-27 20:47:43] 请求Id[42d7098510944c1f84aa5739c2596947] [http-nio-9001-exec-4] ==> [TxId: , SpanId: ] ==> Preparing: SELECT class_id,course_id,course_order FROM zz_class_course WHERE ( ( class_id = ? and course_id = ? ) ) +[DEBUG] [2020-09-27 20:47:43] 请求Id[42d7098510944c1f84aa5739c2596947] [http-nio-9001-exec-4] ==> [TxId: , SpanId: ] ==> Parameters: 1016971499387228160(Long), 1016699195411402752(Long) +[DEBUG] [2020-09-27 20:47:43] 请求Id[42d7098510944c1f84aa5739c2596947] [http-nio-9001-exec-4] ==> [TxId: , SpanId: ] <== Total: 1 +[INFO ] [2020-09-27 20:47:43] 请求Id[42d7098510944c1f84aa5739c2596947] [http-nio-9001-exec-4] ==> [TxId: , SpanId: ] 请求完成, app=, url=/studentClass/viewClassCourse,elapse=6ms, respData={"data":{"classId":1016971499387228160,"courseId":1016699195411402752,"courseOrder":1},"errorCode":"NO-ERROR","errorMessage":"NO-MESSAGE","success":true} +[INFO ] [2020-09-27 20:47:45] 请求Id[2b7c9e6779354513b58d3f6598441236] [http-nio-9001-exec-5] ==> [TxId: , SpanId: ] 开始请求,app=, url=/studentClass/updateClassCourse, reqData=[{"classId":1016971499387228160,"courseId":1016699195411402752,"courseOrder":12}] +[DEBUG] [2020-09-27 20:47:45] 请求Id[2b7c9e6779354513b58d3f6598441236] [http-nio-9001-exec-5] ==> [TxId: , SpanId: ] ==> Preparing: UPDATE zz_class_course SET course_order = ? WHERE ( ( class_id = ? and course_id = ? ) ) +[DEBUG] [2020-09-27 20:47:45] 请求Id[2b7c9e6779354513b58d3f6598441236] [http-nio-9001-exec-5] ==> [TxId: , SpanId: ] ==> Parameters: 12(Integer), 1016971499387228160(Long), 1016699195411402752(Long) +[DEBUG] [2020-09-27 20:47:45] 请求Id[2b7c9e6779354513b58d3f6598441236] [http-nio-9001-exec-5] ==> [TxId: , SpanId: ] <== Updates: 1 +[INFO ] [2020-09-27 20:47:45] 请求Id[2b7c9e6779354513b58d3f6598441236] [http-nio-9001-exec-5] ==> [TxId: , SpanId: ] 请求完成, app=, url=/studentClass/updateClassCourse,elapse=8ms, respData={"errorCode":"NO-ERROR","errorMessage":"NO-MESSAGE","success":true} +[INFO ] [2020-09-27 20:47:45] 请求Id[dd1924123271496c811557963f46d4a6] [http-nio-9001-exec-6] ==> [TxId: , SpanId: ] 开始请求,app=, url=/studentClass/listClassCourse, reqData=[1016971499387228160,null,null,{"pageNum":1,"pageSize":10}] +[DEBUG] [2020-09-27 20:47:45] 请求Id[dd1924123271496c811557963f46d4a6] [http-nio-9001-exec-6] ==> [TxId: , SpanId: ] ==> Preparing: SELECT class_id,class_name,school_id,leader_id,finish_class_hour,class_level,create_user_id,create_time,status FROM zz_class WHERE ( ( class_id = ? and status = ? ) ) +[DEBUG] [2020-09-27 20:47:45] 请求Id[dd1924123271496c811557963f46d4a6] [http-nio-9001-exec-6] ==> [TxId: , SpanId: ] ==> Parameters: 1016971499387228160(Long), 1(Integer) +[DEBUG] [2020-09-27 20:47:45] 请求Id[dd1924123271496c811557963f46d4a6] [http-nio-9001-exec-6] ==> [TxId: , SpanId: ] <== Total: 1 +[DEBUG] [2020-09-27 20:47:45] 请求Id[dd1924123271496c811557963f46d4a6] [http-nio-9001-exec-6] ==> [TxId: , SpanId: ] ==> Preparing: SELECT count(0) FROM zz_course, zz_class_course WHERE zz_class_course.class_id = ? AND zz_class_course.course_id = zz_course.course_id +[DEBUG] [2020-09-27 20:47:45] 请求Id[dd1924123271496c811557963f46d4a6] [http-nio-9001-exec-6] ==> [TxId: , SpanId: ] ==> Parameters: 1016971499387228160(Long) +[DEBUG] [2020-09-27 20:47:45] 请求Id[dd1924123271496c811557963f46d4a6] [http-nio-9001-exec-6] ==> [TxId: , SpanId: ] <== Total: 1 +[DEBUG] [2020-09-27 20:47:45] 请求Id[dd1924123271496c811557963f46d4a6] [http-nio-9001-exec-6] ==> [TxId: , SpanId: ] ==> Preparing: SELECT zz_course.* FROM zz_course, zz_class_course WHERE zz_class_course.class_id = ? AND zz_class_course.course_id = zz_course.course_id LIMIT ? +[DEBUG] [2020-09-27 20:47:45] 请求Id[dd1924123271496c811557963f46d4a6] [http-nio-9001-exec-6] ==> [TxId: , SpanId: ] ==> Parameters: 1016971499387228160(Long), 10(Integer) +[DEBUG] [2020-09-27 20:47:45] 请求Id[dd1924123271496c811557963f46d4a6] [http-nio-9001-exec-6] ==> [TxId: , SpanId: ] <== Total: 4 +[INFO ] [2020-09-27 20:47:45] 请求Id[dd1924123271496c811557963f46d4a6] [http-nio-9001-exec-6] ==> [TxId: , SpanId: ] 请求完成, app=, url=/studentClass/listClassCourse,elapse=16ms, respData={"data":{"dataList":[{"classHour":10,"courseId":1016699195411402752,"courseName":"小学一年级拼音基础练习","createTime":1601136000000,"createUserId":1093809448606765057,"description":"小学一年级拼音基础练习","difficulty":0,"difficultyDictMap":{"name":"容易","id":0},"gradeId":1,"gradeIdDictMap":{"name":"一年级","id":1},"pictureUrl":"[{\"name\":\"IMG_0003.JPG\",\"downloadUri\":\"/admin/coursepaper/course/download\",\"filename\":\"b09ef09478d8452d908600ff98b6f1ce.JPG\"}]","price":299.00,"subjectId":0,"subjectIdDictMap":{"name":"语文","id":0},"updateTime":1601136000000},{"classHour":25,"courseId":1016917385529790464,"courseName":"小学二年级语文课程","createTime":1601136000000,"createUserId":1093809448606765057,"description":"小学二年级课程","difficulty":1,"difficultyDictMap":{"name":"普通","id":1},"gradeId":2,"gradeIdDictMap":{"name":"二年级","id":2},"pictureUrl":"[{\"name\":\"IMG_0455.JPG\",\"downloadUri\":\"/admin/coursepaper/course/download\",\"filename\":\"79651a658e88408888f847366fbf98d0.JPG\"}]","price":980.00,"subjectId":0,"subjectIdDictMap":{"name":"语文","id":0},"updateTime":1601136000000},{"classHour":15,"courseId":1016920878164480000,"courseName":"小学数学一年级课程","createTime":1601136000000,"createUserId":1093809448606765057,"description":"小学数学一年级课程","difficulty":0,"difficultyDictMap":{"name":"容易","id":0},"gradeId":1,"gradeIdDictMap":{"name":"一年级","id":1},"pictureUrl":"[{\"name\":\"IMG_0010.JPG\",\"downloadUri\":\"/admin/coursepaper/course/download\",\"filename\":\"7e9583aba9594a98b1e0268837d2a5d0.JPG\"}]","price":388.00,"subjectId":1,"subjectIdDictMap":{"name":"数学","id":1},"updateTime":1601136000000},{"classHour":15,"courseId":1016923276064854016,"courseName":"小学英语一年级课程","createTime":1601136000000,"createUserId":1093809448606765057,"description":"小学英语一年级课程","difficulty":0,"difficultyDictMap":{"name":"容易","id":0},"gradeId":1,"gradeIdDictMap":{"name":"一年级","id":1},"pictureUrl":"[{\"name\":\"english.jpg\",\"downloadUri\":\"/admin/app/course/download\",\"filename\":\"44177c3674f543fda24222b8297ef203.jpg\"}]","price":399.00,"subjectId":2,"subjectIdDictMap":{"name":"英语","id":2},"updateTime":1601136000000}],"totalCount":4},"errorCode":"NO-ERROR","errorMessage":"NO-MESSAGE","success":true} +[INFO ] [2020-09-27 20:47:46] 请求Id[3522fe56037e4f92adadfe5f9c01c6bb] [http-nio-9001-exec-7] ==> [TxId: , SpanId: ] 开始请求,app=, url=/studentClass/viewClassCourse, reqData=[1016971499387228160,1016699195411402752] +[DEBUG] [2020-09-27 20:47:46] 请求Id[3522fe56037e4f92adadfe5f9c01c6bb] [http-nio-9001-exec-7] ==> [TxId: , SpanId: ] ==> Preparing: SELECT class_id,course_id,course_order FROM zz_class_course WHERE ( ( class_id = ? and course_id = ? ) ) +[DEBUG] [2020-09-27 20:47:46] 请求Id[3522fe56037e4f92adadfe5f9c01c6bb] [http-nio-9001-exec-7] ==> [TxId: , SpanId: ] ==> Parameters: 1016971499387228160(Long), 1016699195411402752(Long) +[DEBUG] [2020-09-27 20:47:46] 请求Id[3522fe56037e4f92adadfe5f9c01c6bb] [http-nio-9001-exec-7] ==> [TxId: , SpanId: ] <== Total: 1 +[INFO ] [2020-09-27 20:47:46] 请求Id[3522fe56037e4f92adadfe5f9c01c6bb] [http-nio-9001-exec-7] ==> [TxId: , SpanId: ] 请求完成, app=, url=/studentClass/viewClassCourse,elapse=3ms, respData={"data":{"classId":1016971499387228160,"courseId":1016699195411402752,"courseOrder":12},"errorCode":"NO-ERROR","errorMessage":"NO-MESSAGE","success":true} +[INFO ] [2020-09-27 20:47:48] 请求Id[4618b7ca593b4bdca14e9c2c17544b8c] [http-nio-9001-exec-8] ==> [TxId: , SpanId: ] 开始请求,app=, url=/studentClass/updateClassCourse, reqData=[{"classId":1016971499387228160,"courseId":1016699195411402752,"courseOrder":1}] +[DEBUG] [2020-09-27 20:47:48] 请求Id[4618b7ca593b4bdca14e9c2c17544b8c] [http-nio-9001-exec-8] ==> [TxId: , SpanId: ] ==> Preparing: UPDATE zz_class_course SET course_order = ? WHERE ( ( class_id = ? and course_id = ? ) ) +[DEBUG] [2020-09-27 20:47:48] 请求Id[4618b7ca593b4bdca14e9c2c17544b8c] [http-nio-9001-exec-8] ==> [TxId: , SpanId: ] ==> Parameters: 1(Integer), 1016971499387228160(Long), 1016699195411402752(Long) +[DEBUG] [2020-09-27 20:47:48] 请求Id[4618b7ca593b4bdca14e9c2c17544b8c] [http-nio-9001-exec-8] ==> [TxId: , SpanId: ] <== Updates: 1 +[INFO ] [2020-09-27 20:47:48] 请求Id[4618b7ca593b4bdca14e9c2c17544b8c] [http-nio-9001-exec-8] ==> [TxId: , SpanId: ] 请求完成, app=, url=/studentClass/updateClassCourse,elapse=5ms, respData={"errorCode":"NO-ERROR","errorMessage":"NO-MESSAGE","success":true} +[INFO ] [2020-09-27 20:47:48] 请求Id[249592723e3e4e90a75621d67793692f] [http-nio-9001-exec-9] ==> [TxId: , SpanId: ] 开始请求,app=, url=/studentClass/listClassCourse, reqData=[1016971499387228160,null,null,{"pageNum":1,"pageSize":10}] +[DEBUG] [2020-09-27 20:47:48] 请求Id[249592723e3e4e90a75621d67793692f] [http-nio-9001-exec-9] ==> [TxId: , SpanId: ] ==> Preparing: SELECT class_id,class_name,school_id,leader_id,finish_class_hour,class_level,create_user_id,create_time,status FROM zz_class WHERE ( ( class_id = ? and status = ? ) ) +[DEBUG] [2020-09-27 20:47:48] 请求Id[249592723e3e4e90a75621d67793692f] [http-nio-9001-exec-9] ==> [TxId: , SpanId: ] ==> Parameters: 1016971499387228160(Long), 1(Integer) +[DEBUG] [2020-09-27 20:47:48] 请求Id[249592723e3e4e90a75621d67793692f] [http-nio-9001-exec-9] ==> [TxId: , SpanId: ] <== Total: 1 +[DEBUG] [2020-09-27 20:47:48] 请求Id[249592723e3e4e90a75621d67793692f] [http-nio-9001-exec-9] ==> [TxId: , SpanId: ] ==> Preparing: SELECT count(0) FROM zz_course, zz_class_course WHERE zz_class_course.class_id = ? AND zz_class_course.course_id = zz_course.course_id +[DEBUG] [2020-09-27 20:47:48] 请求Id[249592723e3e4e90a75621d67793692f] [http-nio-9001-exec-9] ==> [TxId: , SpanId: ] ==> Parameters: 1016971499387228160(Long) +[DEBUG] [2020-09-27 20:47:48] 请求Id[249592723e3e4e90a75621d67793692f] [http-nio-9001-exec-9] ==> [TxId: , SpanId: ] <== Total: 1 +[DEBUG] [2020-09-27 20:47:48] 请求Id[249592723e3e4e90a75621d67793692f] [http-nio-9001-exec-9] ==> [TxId: , SpanId: ] ==> Preparing: SELECT zz_course.* FROM zz_course, zz_class_course WHERE zz_class_course.class_id = ? AND zz_class_course.course_id = zz_course.course_id LIMIT ? +[DEBUG] [2020-09-27 20:47:48] 请求Id[249592723e3e4e90a75621d67793692f] [http-nio-9001-exec-9] ==> [TxId: , SpanId: ] ==> Parameters: 1016971499387228160(Long), 10(Integer) +[DEBUG] [2020-09-27 20:47:48] 请求Id[249592723e3e4e90a75621d67793692f] [http-nio-9001-exec-9] ==> [TxId: , SpanId: ] <== Total: 4 +[INFO ] [2020-09-27 20:47:48] 请求Id[249592723e3e4e90a75621d67793692f] [http-nio-9001-exec-9] ==> [TxId: , SpanId: ] 请求完成, app=, url=/studentClass/listClassCourse,elapse=15ms, respData={"data":{"dataList":[{"classHour":10,"courseId":1016699195411402752,"courseName":"小学一年级拼音基础练习","createTime":1601136000000,"createUserId":1093809448606765057,"description":"小学一年级拼音基础练习","difficulty":0,"difficultyDictMap":{"name":"容易","id":0},"gradeId":1,"gradeIdDictMap":{"name":"一年级","id":1},"pictureUrl":"[{\"name\":\"IMG_0003.JPG\",\"downloadUri\":\"/admin/coursepaper/course/download\",\"filename\":\"b09ef09478d8452d908600ff98b6f1ce.JPG\"}]","price":299.00,"subjectId":0,"subjectIdDictMap":{"name":"语文","id":0},"updateTime":1601136000000},{"classHour":25,"courseId":1016917385529790464,"courseName":"小学二年级语文课程","createTime":1601136000000,"createUserId":1093809448606765057,"description":"小学二年级课程","difficulty":1,"difficultyDictMap":{"name":"普通","id":1},"gradeId":2,"gradeIdDictMap":{"name":"二年级","id":2},"pictureUrl":"[{\"name\":\"IMG_0455.JPG\",\"downloadUri\":\"/admin/coursepaper/course/download\",\"filename\":\"79651a658e88408888f847366fbf98d0.JPG\"}]","price":980.00,"subjectId":0,"subjectIdDictMap":{"name":"语文","id":0},"updateTime":1601136000000},{"classHour":15,"courseId":1016920878164480000,"courseName":"小学数学一年级课程","createTime":1601136000000,"createUserId":1093809448606765057,"description":"小学数学一年级课程","difficulty":0,"difficultyDictMap":{"name":"容易","id":0},"gradeId":1,"gradeIdDictMap":{"name":"一年级","id":1},"pictureUrl":"[{\"name\":\"IMG_0010.JPG\",\"downloadUri\":\"/admin/coursepaper/course/download\",\"filename\":\"7e9583aba9594a98b1e0268837d2a5d0.JPG\"}]","price":388.00,"subjectId":1,"subjectIdDictMap":{"name":"数学","id":1},"updateTime":1601136000000},{"classHour":15,"courseId":1016923276064854016,"courseName":"小学英语一年级课程","createTime":1601136000000,"createUserId":1093809448606765057,"description":"小学英语一年级课程","difficulty":0,"difficultyDictMap":{"name":"容易","id":0},"gradeId":1,"gradeIdDictMap":{"name":"一年级","id":1},"pictureUrl":"[{\"name\":\"english.jpg\",\"downloadUri\":\"/admin/app/course/download\",\"filename\":\"44177c3674f543fda24222b8297ef203.jpg\"}]","price":399.00,"subjectId":2,"subjectIdDictMap":{"name":"英语","id":2},"updateTime":1601136000000}],"totalCount":4},"errorCode":"NO-ERROR","errorMessage":"NO-MESSAGE","success":true} +[INFO ] [2020-09-27 20:47:50] 请求Id[b3d24908483b40f2966d1fe517b124b2] [http-nio-9001-exec-10] ==> [TxId: , SpanId: ] 开始请求,app=, url=/studentClass/listNotInClassCourse, reqData=[1016971499387228160,{},null,{"pageNum":1,"pageSize":10}] +[DEBUG] [2020-09-27 20:47:50] 请求Id[b3d24908483b40f2966d1fe517b124b2] [http-nio-9001-exec-10] ==> [TxId: , SpanId: ] ==> Preparing: SELECT class_id,class_name,school_id,leader_id,finish_class_hour,class_level,create_user_id,create_time,status FROM zz_class WHERE ( ( class_id = ? and status = ? ) ) +[DEBUG] [2020-09-27 20:47:50] 请求Id[b3d24908483b40f2966d1fe517b124b2] [http-nio-9001-exec-10] ==> [TxId: , SpanId: ] ==> Parameters: 1016971499387228160(Long), 1(Integer) +[DEBUG] [2020-09-27 20:47:50] 请求Id[b3d24908483b40f2966d1fe517b124b2] [http-nio-9001-exec-10] ==> [TxId: , SpanId: ] <== Total: 1 +[DEBUG] [2020-09-27 20:47:50] 请求Id[b3d24908483b40f2966d1fe517b124b2] [http-nio-9001-exec-10] ==> [TxId: , SpanId: ] ==> Preparing: SELECT count(0) FROM zz_course WHERE NOT EXISTS (SELECT * FROM zz_class_course WHERE zz_class_course.class_id = ? AND zz_class_course.course_id = zz_course.course_id) +[DEBUG] [2020-09-27 20:47:50] 请求Id[b3d24908483b40f2966d1fe517b124b2] [http-nio-9001-exec-10] ==> [TxId: , SpanId: ] ==> Parameters: 1016971499387228160(Long) +[DEBUG] [2020-09-27 20:47:50] 请求Id[b3d24908483b40f2966d1fe517b124b2] [http-nio-9001-exec-10] ==> [TxId: , SpanId: ] <== Total: 1 +[DEBUG] [2020-09-27 20:47:50] 请求Id[b3d24908483b40f2966d1fe517b124b2] [http-nio-9001-exec-10] ==> [TxId: , SpanId: ] ==> Preparing: SELECT zz_course.* FROM zz_course WHERE NOT EXISTS (SELECT * FROM zz_class_course WHERE zz_class_course.class_id = ? AND zz_class_course.course_id = zz_course.course_id) LIMIT ? +[DEBUG] [2020-09-27 20:47:50] 请求Id[b3d24908483b40f2966d1fe517b124b2] [http-nio-9001-exec-10] ==> [TxId: , SpanId: ] ==> Parameters: 1016971499387228160(Long), 10(Integer) +[DEBUG] [2020-09-27 20:47:50] 请求Id[b3d24908483b40f2966d1fe517b124b2] [http-nio-9001-exec-10] ==> [TxId: , SpanId: ] <== Total: 10 +[INFO ] [2020-09-27 20:47:50] 请求Id[b3d24908483b40f2966d1fe517b124b2] [http-nio-9001-exec-10] ==> [TxId: , SpanId: ] 请求完成, app=, url=/studentClass/listNotInClassCourse,elapse=25ms, respData={"data":{"dataList":[{"classHour":30,"courseId":1016917732260319232,"courseName":"小学三年级语文课程","createTime":1601136000000,"createUserId":1093809448606765057,"description":"小学三年级语文课程","difficulty":1,"difficultyDictMap":{"name":"普通","id":1},"gradeId":3,"gradeIdDictMap":{"name":"三年级","id":3},"pictureUrl":"[{\"name\":\"IMG_0001.JPG\",\"downloadUri\":\"/admin/coursepaper/course/download\",\"filename\":\"0d11548eb91142d49a9253c0060d3f94.JPG\"}]","price":1080.00,"subjectId":0,"subjectIdDictMap":{"name":"语文","id":0},"updateTime":1601208479000},{"classHour":27,"courseId":1016917900699373568,"courseName":"小学四年级语文课程","createTime":1601136000000,"createUserId":1093809448606765057,"description":"小学四年级语文课程","difficulty":1,"difficultyDictMap":{"name":"普通","id":1},"gradeId":4,"gradeIdDictMap":{"name":"四年级","id":4},"pictureUrl":"[{\"name\":\"IMG_0002.JPG\",\"downloadUri\":\"/admin/coursepaper/course/download\",\"filename\":\"7358b520e31e4ee0b2b8c4f9c31614d9.JPG\"}]","price":888.00,"subjectId":0,"subjectIdDictMap":{"name":"语文","id":0},"updateTime":1601136000000},{"classHour":30,"courseId":1016918360520921088,"courseName":"小学五年级语文课程","createTime":1601136000000,"createUserId":1093809448606765057,"description":"小学五年级语文课程","difficulty":2,"difficultyDictMap":{"name":"困难","id":2},"gradeId":5,"gradeIdDictMap":{"name":"五年级","id":5},"pictureUrl":"[{\"name\":\"IMG_0004.JPG\",\"downloadUri\":\"/admin/coursepaper/course/download\",\"filename\":\"cf804a5e14fb498fa8bf3745cad39bca.JPG\"}]","price":1199.00,"subjectId":0,"subjectIdDictMap":{"name":"语文","id":0},"updateTime":1601136000000},{"classHour":32,"courseId":1016918605715738624,"courseName":"小学六年级语文课程","createTime":1601136000000,"createUserId":1093809448606765057,"description":"小学六年级语文课程","difficulty":2,"difficultyDictMap":{"name":"困难","id":2},"gradeId":6,"gradeIdDictMap":{"name":"六年级","id":6},"pictureUrl":"[{\"name\":\"IMG_0006.JPG\",\"downloadUri\":\"/admin/coursepaper/course/download\",\"filename\":\"a0d0476fac9c46f08b7ebef597b8765a.JPG\"}]","price":1288.00,"subjectId":0,"subjectIdDictMap":{"name":"语文","id":0},"updateTime":1601136000000},{"classHour":20,"courseId":1016918836729614336,"courseName":"天津小学一年级语文课程","createTime":1601136000000,"createUserId":1093809448606765057,"description":"天津小学一年级语文课程","difficulty":0,"difficultyDictMap":{"name":"容易","id":0},"gradeId":1,"gradeIdDictMap":{"name":"一年级","id":1},"pictureUrl":"[{\"name\":\"IMG_0003.JPG\",\"downloadUri\":\"/admin/coursepaper/course/download\",\"filename\":\"7f64971a69944b0082f21a6036c31efd.JPG\"}]","price":300.00,"subjectId":0,"subjectIdDictMap":{"name":"语文","id":0},"updateTime":1601136000000},{"classHour":20,"courseId":1016920152549888000,"courseName":"天津小学二年级语文课程","createTime":1601136000000,"createUserId":1093809448606765057,"description":"天津小学二年级语文课程","difficulty":1,"difficultyDictMap":{"name":"普通","id":1},"gradeId":2,"gradeIdDictMap":{"name":"二年级","id":2},"pictureUrl":"[{\"name\":\"IMG_0007.JPG\",\"downloadUri\":\"/admin/coursepaper/course/download\",\"filename\":\"4baf08c1da8741bb808caf09475e49a9.JPG\"}]","price":699.00,"subjectId":0,"subjectIdDictMap":{"name":"语文","id":0},"updateTime":1601136000000},{"classHour":25,"courseId":1016920339255136256,"courseName":"天津小学三年级语文课程","createTime":1601136000000,"createUserId":1093809448606765057,"description":"天津小学三年级语文课程","difficulty":1,"difficultyDictMap":{"name":"普通","id":1},"gradeId":3,"gradeIdDictMap":{"name":"三年级","id":3},"pictureUrl":"[{\"name\":\"IMG_0009.JPG\",\"downloadUri\":\"/admin/coursepaper/course/download\",\"filename\":\"6bc1eaab831d49708e4b1e0a5d657d61.JPG\"}]","price":998.00,"subjectId":0,"subjectIdDictMap":{"name":"语文","id":0},"updateTime":1601208474000},{"classHour":20,"courseId":1016921053566078976,"courseName":"小学数学二年级课程","createTime":1601136000000,"createUserId":1093809448606765057,"description":"小学数学二年级课程","difficulty":0,"difficultyDictMap":{"name":"容易","id":0},"gradeId":2,"gradeIdDictMap":{"name":"二年级","id":2},"pictureUrl":"[{\"name\":\"shuxue2.jpg\",\"downloadUri\":\"/admin/app/course/download\",\"filename\":\"7a1fdc70976f4820aa019f91514de272.jpg\"}]","price":700.00,"subjectId":1,"subjectIdDictMap":{"name":"数学","id":1},"updateTime":1601136000000},{"classHour":20,"courseId":1016921250996162560,"courseName":"小学数学三年级课程","createTime":1601136000000,"createUserId":1093809448606765057,"description":"小学数学三年级课程","difficulty":1,"difficultyDictMap":{"name":"普通","id":1},"gradeId":3,"gradeIdDictMap":{"name":"三年级","id":3},"pictureUrl":"[{\"name\":\"shuxue.jpg\",\"downloadUri\":\"/admin/app/course/download\",\"filename\":\"f14c0f101146453c80607230e842f1c9.jpg\"},{\"name\":\"shuxue2.jpg\",\"downloadUri\":\"/admin/app/course/download\",\"filename\":\"b8451e95fa314facaa8a3cd720888574.jpg\"}]","price":700.00,"subjectId":1,"subjectIdDictMap":{"name":"数学","id":1},"updateTime":1601136000000},{"classHour":21,"courseId":1016921446102601728,"courseName":"小学数学四年级课程","createTime":1601136000000,"createUserId":1093809448606765057,"description":"小学数学四年级课程","difficulty":1,"difficultyDictMap":{"name":"普通","id":1},"gradeId":4,"gradeIdDictMap":{"name":"四年级","id":4},"pictureUrl":"[{\"name\":\"shuxue2.jpg\",\"downloadUri\":\"/admin/app/course/download\",\"filename\":\"78e1cac8c4284c8a82c7ea4bef5162a4.jpg\"}]","price":800.00,"subjectId":1,"subjectIdDictMap":{"name":"数学","id":1},"updateTime":1601136000000}],"totalCount":23},"errorCode":"NO-ERROR","errorMessage":"NO-MESSAGE","success":true} +[INFO ] [2020-09-27 20:47:53] 请求Id[6d86d7694b784e3794a2a8902ec35407] [http-nio-9001-exec-1] ==> [TxId: , SpanId: ] 开始请求,app=, url=/studentClass/addClassCourse, reqData=[1016971499387228160,[{"courseId":1016917732260319232}]] +[INFO ] [2020-09-27 20:47:53] 请求Id[6d86d7694b784e3794a2a8902ec35407] [http-nio-9001-exec-1] ==> [TxId: , SpanId: ] 请求完成, app=, url=/studentClass/addClassCourse,elapse=5ms, respData={"errorCode":"DATA_VALIDATAED_FAILED","errorMessage":"数据验证失败,课程顺序(数值越小越靠前)不能为空!","success":false} +[INFO ] [2020-09-27 20:48:05] 请求Id[c80e35356a974829ae9b72079a3802ff] [http-nio-9001-exec-2] ==> [TxId: , SpanId: ] 开始请求,app=, url=/studentClass/addClassCourse, reqData=[1016971499387228160,[{"courseId":1016917732260319232}]] +[INFO ] [2020-09-27 20:48:05] 请求Id[c80e35356a974829ae9b72079a3802ff] [http-nio-9001-exec-2] ==> [TxId: , SpanId: ] 请求完成, app=, url=/studentClass/addClassCourse,elapse=0ms, respData={"errorCode":"DATA_VALIDATAED_FAILED","errorMessage":"数据验证失败,课程顺序(数值越小越靠前)不能为空!","success":false} +[INFO ] [2020-09-27 20:48:27] 请求Id[97258d1c293f4227883c2f5bc14b952c] [http-nio-9001-exec-3] ==> [TxId: , SpanId: ] 开始请求,app=, url=/studentClass/list, reqData=[{},[{"asc":true,"fieldName":"createTime"}],{"pageNum":1,"pageSize":10}] +[DEBUG] [2020-09-27 20:48:27] 请求Id[97258d1c293f4227883c2f5bc14b952c] [http-nio-9001-exec-3] ==> [TxId: , SpanId: ] ==> Preparing: SELECT count(0) FROM zz_class WHERE zz_class.status = 1 +[DEBUG] [2020-09-27 20:48:27] 请求Id[97258d1c293f4227883c2f5bc14b952c] [http-nio-9001-exec-3] ==> [TxId: , SpanId: ] ==> Parameters: +[DEBUG] [2020-09-27 20:48:27] 请求Id[97258d1c293f4227883c2f5bc14b952c] [http-nio-9001-exec-3] ==> [TxId: , SpanId: ] <== Total: 1 +[DEBUG] [2020-09-27 20:48:27] 请求Id[97258d1c293f4227883c2f5bc14b952c] [http-nio-9001-exec-3] ==> [TxId: , SpanId: ] ==> Preparing: SELECT * FROM zz_class WHERE zz_class.status = 1 ORDER BY zz_class.create_time LIMIT ? +[DEBUG] [2020-09-27 20:48:27] 请求Id[97258d1c293f4227883c2f5bc14b952c] [http-nio-9001-exec-3] ==> [TxId: , SpanId: ] ==> Parameters: 10(Integer) +[DEBUG] [2020-09-27 20:48:27] 请求Id[97258d1c293f4227883c2f5bc14b952c] [http-nio-9001-exec-3] ==> [TxId: , SpanId: ] <== Total: 10 +[DEBUG] [2020-09-27 20:48:27] 请求Id[97258d1c293f4227883c2f5bc14b952c] [http-nio-9001-exec-3] ==> [TxId: , SpanId: ] ==> Preparing: SELECT school_id,school_name,province_id,city_id FROM zz_school_info WHERE ( ( school_id in ( ? , ? ) ) ) +[DEBUG] [2020-09-27 20:48:27] 请求Id[97258d1c293f4227883c2f5bc14b952c] [http-nio-9001-exec-3] ==> [TxId: , SpanId: ] ==> Parameters: 1015818056597508096(Long), 1015817732197453824(Long) +[DEBUG] [2020-09-27 20:48:27] 请求Id[97258d1c293f4227883c2f5bc14b952c] [http-nio-9001-exec-3] ==> [TxId: , SpanId: ] <== Total: 2 +[DEBUG] [2020-09-27 20:48:27] 请求Id[97258d1c293f4227883c2f5bc14b952c] [http-nio-9001-exec-3] ==> [TxId: , SpanId: ] ==> Preparing: SELECT student_id,login_mobile,student_name,province_id,city_id,district_id,gender,birthday,experience_level,total_coin,left_coin,grade_id,school_id,register_time,status FROM zz_student WHERE ( ( student_id in ( ? , ? , ? , ? , ? ) ) ) +[DEBUG] [2020-09-27 20:48:27] 请求Id[97258d1c293f4227883c2f5bc14b952c] [http-nio-9001-exec-3] ==> [TxId: , SpanId: ] ==> Parameters: 1015852480873631744(Long), 1015842628948463616(Long), 1018000939508568064(Long), 1018001219050541056(Long), 1015852853839532032(Long) +[DEBUG] [2020-09-27 20:48:27] 请求Id[97258d1c293f4227883c2f5bc14b952c] [http-nio-9001-exec-3] ==> [TxId: , SpanId: ] <== Total: 5 +[INFO ] [2020-09-27 20:48:27] 请求Id[97258d1c293f4227883c2f5bc14b952c] [http-nio-9001-exec-3] ==> [TxId: , SpanId: ] 请求完成, app=, url=/studentClass/list,elapse=9ms, respData={"data":{"dataList":[{"classId":1016971499387228160,"classLevel":0,"classLevelDictMap":{"name":"初级班","id":0},"className":"小学一年级随堂班","createTime":1601136000000,"createUserId":1093809448606765057,"finishClassHour":15,"leaderId":1015842628948463616,"leaderIdDictMap":{"name":"张三","id":1015842628948463616},"schoolId":1015817732197453824,"schoolIdDictMap":{"name":"北京校区","id":1015817732197453824}},{"classId":1016971692685922304,"classLevel":0,"classLevelDictMap":{"name":"初级班","id":0},"className":"小学二年级随堂班","createTime":1601136000000,"createUserId":1093809448606765057,"finishClassHour":20,"leaderId":1018000939508568064,"leaderIdDictMap":{"name":"天津二哥","id":1018000939508568064},"schoolId":1015818056597508096,"schoolIdDictMap":{"name":"天津校区","id":1015818056597508096}},{"classId":1016971755373989888,"classLevel":0,"classLevelDictMap":{"name":"初级班","id":0},"className":"小学三年级随堂班","createTime":1601136000000,"createUserId":1093809448606765057,"finishClassHour":100,"leaderId":1015842628948463616,"leaderIdDictMap":{"name":"张三","id":1015842628948463616},"schoolId":1015817732197453824,"schoolIdDictMap":{"name":"北京校区","id":1015817732197453824}},{"classId":1016971816040402944,"classLevel":0,"classLevelDictMap":{"name":"初级班","id":0},"className":"小学四年级随堂班","createTime":1601136000000,"createUserId":1093809448606765057,"finishClassHour":0,"leaderId":1015852853839532032,"leaderIdDictMap":{"name":"王石","id":1015852853839532032},"schoolId":1015817732197453824,"schoolIdDictMap":{"name":"北京校区","id":1015817732197453824}},{"classId":1016971872105664512,"classLevel":0,"classLevelDictMap":{"name":"初级班","id":0},"className":"小学五年级随堂班","createTime":1601136000000,"createUserId":1093809448606765057,"finishClassHour":0,"leaderId":1018001219050541056,"leaderIdDictMap":{"name":"南开学霸","id":1018001219050541056},"schoolId":1015818056597508096,"schoolIdDictMap":{"name":"天津校区","id":1015818056597508096}},{"classId":1016971931153076224,"classLevel":0,"classLevelDictMap":{"name":"初级班","id":0},"className":"小学六年级随堂班","createTime":1601136000000,"createUserId":1093809448606765057,"finishClassHour":0,"leaderId":1015852480873631744,"leaderIdDictMap":{"name":"李军","id":1015852480873631744},"schoolId":1015817732197453824,"schoolIdDictMap":{"name":"北京校区","id":1015817732197453824}},{"classId":1016972016347779072,"classLevel":1,"classLevelDictMap":{"name":"中级班","id":1},"className":"小学一年级提高班","createTime":1601136000000,"createUserId":1093809448606765057,"finishClassHour":0,"leaderId":1015842628948463616,"leaderIdDictMap":{"name":"张三","id":1015842628948463616},"schoolId":1015817732197453824,"schoolIdDictMap":{"name":"北京校区","id":1015817732197453824}},{"classId":1016972071955861504,"classLevel":1,"classLevelDictMap":{"name":"中级班","id":1},"className":"小学二年级提高班","createTime":1601136000000,"createUserId":1093809448606765057,"finishClassHour":0,"leaderId":1015852480873631744,"leaderIdDictMap":{"name":"李军","id":1015852480873631744},"schoolId":1015817732197453824,"schoolIdDictMap":{"name":"北京校区","id":1015817732197453824}},{"classId":1016972128667045888,"classLevel":1,"classLevelDictMap":{"name":"中级班","id":1},"className":"小学三年级提高班","createTime":1601136000000,"createUserId":1093809448606765057,"finishClassHour":0,"leaderId":1018001219050541056,"leaderIdDictMap":{"name":"南开学霸","id":1018001219050541056},"schoolId":1015818056597508096,"schoolIdDictMap":{"name":"天津校区","id":1015818056597508096}},{"classId":1016972187949338624,"classLevel":1,"classLevelDictMap":{"name":"中级班","id":1},"className":"小学四年级提高班","createTime":1601136000000,"createUserId":1093809448606765057,"finishClassHour":0,"leaderId":1015852480873631744,"leaderIdDictMap":{"name":"李军","id":1015852480873631744},"schoolId":1015817732197453824,"schoolIdDictMap":{"name":"北京校区","id":1015817732197453824}}],"totalCount":15},"errorCode":"NO-ERROR","errorMessage":"NO-MESSAGE","success":true} +[INFO ] [2020-09-27 20:48:28] 请求Id[a67b41601c574d378f8f321e46414077] [http-nio-9001-exec-4] ==> [TxId: , SpanId: ] 开始请求,app=, url=/studentClass/listClassCourse, reqData=[1016971499387228160,null,null,{"pageNum":1,"pageSize":10}] +[DEBUG] [2020-09-27 20:48:28] 请求Id[a67b41601c574d378f8f321e46414077] [http-nio-9001-exec-4] ==> [TxId: , SpanId: ] ==> Preparing: SELECT class_id,class_name,school_id,leader_id,finish_class_hour,class_level,create_user_id,create_time,status FROM zz_class WHERE ( ( class_id = ? and status = ? ) ) +[DEBUG] [2020-09-27 20:48:28] 请求Id[a67b41601c574d378f8f321e46414077] [http-nio-9001-exec-4] ==> [TxId: , SpanId: ] ==> Parameters: 1016971499387228160(Long), 1(Integer) +[DEBUG] [2020-09-27 20:48:28] 请求Id[a67b41601c574d378f8f321e46414077] [http-nio-9001-exec-4] ==> [TxId: , SpanId: ] <== Total: 1 +[DEBUG] [2020-09-27 20:48:28] 请求Id[a67b41601c574d378f8f321e46414077] [http-nio-9001-exec-4] ==> [TxId: , SpanId: ] ==> Preparing: SELECT count(0) FROM zz_course, zz_class_course WHERE zz_class_course.class_id = ? AND zz_class_course.course_id = zz_course.course_id +[DEBUG] [2020-09-27 20:48:28] 请求Id[a67b41601c574d378f8f321e46414077] [http-nio-9001-exec-4] ==> [TxId: , SpanId: ] ==> Parameters: 1016971499387228160(Long) +[DEBUG] [2020-09-27 20:48:28] 请求Id[a67b41601c574d378f8f321e46414077] [http-nio-9001-exec-4] ==> [TxId: , SpanId: ] <== Total: 1 +[DEBUG] [2020-09-27 20:48:28] 请求Id[a67b41601c574d378f8f321e46414077] [http-nio-9001-exec-4] ==> [TxId: , SpanId: ] ==> Preparing: SELECT zz_course.* FROM zz_course, zz_class_course WHERE zz_class_course.class_id = ? AND zz_class_course.course_id = zz_course.course_id LIMIT ? +[DEBUG] [2020-09-27 20:48:28] 请求Id[a67b41601c574d378f8f321e46414077] [http-nio-9001-exec-4] ==> [TxId: , SpanId: ] ==> Parameters: 1016971499387228160(Long), 10(Integer) +[DEBUG] [2020-09-27 20:48:28] 请求Id[a67b41601c574d378f8f321e46414077] [http-nio-9001-exec-4] ==> [TxId: , SpanId: ] <== Total: 4 +[INFO ] [2020-09-27 20:48:28] 请求Id[a67b41601c574d378f8f321e46414077] [http-nio-9001-exec-4] ==> [TxId: , SpanId: ] 请求完成, app=, url=/studentClass/listClassCourse,elapse=15ms, respData={"data":{"dataList":[{"classHour":10,"courseId":1016699195411402752,"courseName":"小学一年级拼音基础练习","createTime":1601136000000,"createUserId":1093809448606765057,"description":"小学一年级拼音基础练习","difficulty":0,"difficultyDictMap":{"name":"容易","id":0},"gradeId":1,"gradeIdDictMap":{"name":"一年级","id":1},"pictureUrl":"[{\"name\":\"IMG_0003.JPG\",\"downloadUri\":\"/admin/coursepaper/course/download\",\"filename\":\"b09ef09478d8452d908600ff98b6f1ce.JPG\"}]","price":299.00,"subjectId":0,"subjectIdDictMap":{"name":"语文","id":0},"updateTime":1601136000000},{"classHour":25,"courseId":1016917385529790464,"courseName":"小学二年级语文课程","createTime":1601136000000,"createUserId":1093809448606765057,"description":"小学二年级课程","difficulty":1,"difficultyDictMap":{"name":"普通","id":1},"gradeId":2,"gradeIdDictMap":{"name":"二年级","id":2},"pictureUrl":"[{\"name\":\"IMG_0455.JPG\",\"downloadUri\":\"/admin/coursepaper/course/download\",\"filename\":\"79651a658e88408888f847366fbf98d0.JPG\"}]","price":980.00,"subjectId":0,"subjectIdDictMap":{"name":"语文","id":0},"updateTime":1601136000000},{"classHour":15,"courseId":1016920878164480000,"courseName":"小学数学一年级课程","createTime":1601136000000,"createUserId":1093809448606765057,"description":"小学数学一年级课程","difficulty":0,"difficultyDictMap":{"name":"容易","id":0},"gradeId":1,"gradeIdDictMap":{"name":"一年级","id":1},"pictureUrl":"[{\"name\":\"IMG_0010.JPG\",\"downloadUri\":\"/admin/coursepaper/course/download\",\"filename\":\"7e9583aba9594a98b1e0268837d2a5d0.JPG\"}]","price":388.00,"subjectId":1,"subjectIdDictMap":{"name":"数学","id":1},"updateTime":1601136000000},{"classHour":15,"courseId":1016923276064854016,"courseName":"小学英语一年级课程","createTime":1601136000000,"createUserId":1093809448606765057,"description":"小学英语一年级课程","difficulty":0,"difficultyDictMap":{"name":"容易","id":0},"gradeId":1,"gradeIdDictMap":{"name":"一年级","id":1},"pictureUrl":"[{\"name\":\"english.jpg\",\"downloadUri\":\"/admin/app/course/download\",\"filename\":\"44177c3674f543fda24222b8297ef203.jpg\"}]","price":399.00,"subjectId":2,"subjectIdDictMap":{"name":"英语","id":2},"updateTime":1601136000000}],"totalCount":4},"errorCode":"NO-ERROR","errorMessage":"NO-MESSAGE","success":true} +[INFO ] [2020-09-27 20:48:30] 请求Id[2865ff823d8e4cf1be948509cbf86bee] [http-nio-9001-exec-5] ==> [TxId: , SpanId: ] 开始请求,app=, url=/studentClass/listNotInClassCourse, reqData=[1016971499387228160,{},null,{"pageNum":1,"pageSize":10}] +[DEBUG] [2020-09-27 20:48:30] 请求Id[2865ff823d8e4cf1be948509cbf86bee] [http-nio-9001-exec-5] ==> [TxId: , SpanId: ] ==> Preparing: SELECT class_id,class_name,school_id,leader_id,finish_class_hour,class_level,create_user_id,create_time,status FROM zz_class WHERE ( ( class_id = ? and status = ? ) ) +[DEBUG] [2020-09-27 20:48:30] 请求Id[2865ff823d8e4cf1be948509cbf86bee] [http-nio-9001-exec-5] ==> [TxId: , SpanId: ] ==> Parameters: 1016971499387228160(Long), 1(Integer) +[DEBUG] [2020-09-27 20:48:30] 请求Id[2865ff823d8e4cf1be948509cbf86bee] [http-nio-9001-exec-5] ==> [TxId: , SpanId: ] <== Total: 1 +[DEBUG] [2020-09-27 20:48:30] 请求Id[2865ff823d8e4cf1be948509cbf86bee] [http-nio-9001-exec-5] ==> [TxId: , SpanId: ] ==> Preparing: SELECT count(0) FROM zz_course WHERE NOT EXISTS (SELECT * FROM zz_class_course WHERE zz_class_course.class_id = ? AND zz_class_course.course_id = zz_course.course_id) +[DEBUG] [2020-09-27 20:48:30] 请求Id[2865ff823d8e4cf1be948509cbf86bee] [http-nio-9001-exec-5] ==> [TxId: , SpanId: ] ==> Parameters: 1016971499387228160(Long) +[DEBUG] [2020-09-27 20:48:30] 请求Id[2865ff823d8e4cf1be948509cbf86bee] [http-nio-9001-exec-5] ==> [TxId: , SpanId: ] <== Total: 1 +[DEBUG] [2020-09-27 20:48:30] 请求Id[2865ff823d8e4cf1be948509cbf86bee] [http-nio-9001-exec-5] ==> [TxId: , SpanId: ] ==> Preparing: SELECT zz_course.* FROM zz_course WHERE NOT EXISTS (SELECT * FROM zz_class_course WHERE zz_class_course.class_id = ? AND zz_class_course.course_id = zz_course.course_id) LIMIT ? +[DEBUG] [2020-09-27 20:48:30] 请求Id[2865ff823d8e4cf1be948509cbf86bee] [http-nio-9001-exec-5] ==> [TxId: , SpanId: ] ==> Parameters: 1016971499387228160(Long), 10(Integer) +[DEBUG] [2020-09-27 20:48:30] 请求Id[2865ff823d8e4cf1be948509cbf86bee] [http-nio-9001-exec-5] ==> [TxId: , SpanId: ] <== Total: 10 +[INFO ] [2020-09-27 20:48:30] 请求Id[2865ff823d8e4cf1be948509cbf86bee] [http-nio-9001-exec-5] ==> [TxId: , SpanId: ] 请求完成, app=, url=/studentClass/listNotInClassCourse,elapse=18ms, respData={"data":{"dataList":[{"classHour":30,"courseId":1016917732260319232,"courseName":"小学三年级语文课程","createTime":1601136000000,"createUserId":1093809448606765057,"description":"小学三年级语文课程","difficulty":1,"difficultyDictMap":{"name":"普通","id":1},"gradeId":3,"gradeIdDictMap":{"name":"三年级","id":3},"pictureUrl":"[{\"name\":\"IMG_0001.JPG\",\"downloadUri\":\"/admin/coursepaper/course/download\",\"filename\":\"0d11548eb91142d49a9253c0060d3f94.JPG\"}]","price":1080.00,"subjectId":0,"subjectIdDictMap":{"name":"语文","id":0},"updateTime":1601208479000},{"classHour":27,"courseId":1016917900699373568,"courseName":"小学四年级语文课程","createTime":1601136000000,"createUserId":1093809448606765057,"description":"小学四年级语文课程","difficulty":1,"difficultyDictMap":{"name":"普通","id":1},"gradeId":4,"gradeIdDictMap":{"name":"四年级","id":4},"pictureUrl":"[{\"name\":\"IMG_0002.JPG\",\"downloadUri\":\"/admin/coursepaper/course/download\",\"filename\":\"7358b520e31e4ee0b2b8c4f9c31614d9.JPG\"}]","price":888.00,"subjectId":0,"subjectIdDictMap":{"name":"语文","id":0},"updateTime":1601136000000},{"classHour":30,"courseId":1016918360520921088,"courseName":"小学五年级语文课程","createTime":1601136000000,"createUserId":1093809448606765057,"description":"小学五年级语文课程","difficulty":2,"difficultyDictMap":{"name":"困难","id":2},"gradeId":5,"gradeIdDictMap":{"name":"五年级","id":5},"pictureUrl":"[{\"name\":\"IMG_0004.JPG\",\"downloadUri\":\"/admin/coursepaper/course/download\",\"filename\":\"cf804a5e14fb498fa8bf3745cad39bca.JPG\"}]","price":1199.00,"subjectId":0,"subjectIdDictMap":{"name":"语文","id":0},"updateTime":1601136000000},{"classHour":32,"courseId":1016918605715738624,"courseName":"小学六年级语文课程","createTime":1601136000000,"createUserId":1093809448606765057,"description":"小学六年级语文课程","difficulty":2,"difficultyDictMap":{"name":"困难","id":2},"gradeId":6,"gradeIdDictMap":{"name":"六年级","id":6},"pictureUrl":"[{\"name\":\"IMG_0006.JPG\",\"downloadUri\":\"/admin/coursepaper/course/download\",\"filename\":\"a0d0476fac9c46f08b7ebef597b8765a.JPG\"}]","price":1288.00,"subjectId":0,"subjectIdDictMap":{"name":"语文","id":0},"updateTime":1601136000000},{"classHour":20,"courseId":1016918836729614336,"courseName":"天津小学一年级语文课程","createTime":1601136000000,"createUserId":1093809448606765057,"description":"天津小学一年级语文课程","difficulty":0,"difficultyDictMap":{"name":"容易","id":0},"gradeId":1,"gradeIdDictMap":{"name":"一年级","id":1},"pictureUrl":"[{\"name\":\"IMG_0003.JPG\",\"downloadUri\":\"/admin/coursepaper/course/download\",\"filename\":\"7f64971a69944b0082f21a6036c31efd.JPG\"}]","price":300.00,"subjectId":0,"subjectIdDictMap":{"name":"语文","id":0},"updateTime":1601136000000},{"classHour":20,"courseId":1016920152549888000,"courseName":"天津小学二年级语文课程","createTime":1601136000000,"createUserId":1093809448606765057,"description":"天津小学二年级语文课程","difficulty":1,"difficultyDictMap":{"name":"普通","id":1},"gradeId":2,"gradeIdDictMap":{"name":"二年级","id":2},"pictureUrl":"[{\"name\":\"IMG_0007.JPG\",\"downloadUri\":\"/admin/coursepaper/course/download\",\"filename\":\"4baf08c1da8741bb808caf09475e49a9.JPG\"}]","price":699.00,"subjectId":0,"subjectIdDictMap":{"name":"语文","id":0},"updateTime":1601136000000},{"classHour":25,"courseId":1016920339255136256,"courseName":"天津小学三年级语文课程","createTime":1601136000000,"createUserId":1093809448606765057,"description":"天津小学三年级语文课程","difficulty":1,"difficultyDictMap":{"name":"普通","id":1},"gradeId":3,"gradeIdDictMap":{"name":"三年级","id":3},"pictureUrl":"[{\"name\":\"IMG_0009.JPG\",\"downloadUri\":\"/admin/coursepaper/course/download\",\"filename\":\"6bc1eaab831d49708e4b1e0a5d657d61.JPG\"}]","price":998.00,"subjectId":0,"subjectIdDictMap":{"name":"语文","id":0},"updateTime":1601208474000},{"classHour":20,"courseId":1016921053566078976,"courseName":"小学数学二年级课程","createTime":1601136000000,"createUserId":1093809448606765057,"description":"小学数学二年级课程","difficulty":0,"difficultyDictMap":{"name":"容易","id":0},"gradeId":2,"gradeIdDictMap":{"name":"二年级","id":2},"pictureUrl":"[{\"name\":\"shuxue2.jpg\",\"downloadUri\":\"/admin/app/course/download\",\"filename\":\"7a1fdc70976f4820aa019f91514de272.jpg\"}]","price":700.00,"subjectId":1,"subjectIdDictMap":{"name":"数学","id":1},"updateTime":1601136000000},{"classHour":20,"courseId":1016921250996162560,"courseName":"小学数学三年级课程","createTime":1601136000000,"createUserId":1093809448606765057,"description":"小学数学三年级课程","difficulty":1,"difficultyDictMap":{"name":"普通","id":1},"gradeId":3,"gradeIdDictMap":{"name":"三年级","id":3},"pictureUrl":"[{\"name\":\"shuxue.jpg\",\"downloadUri\":\"/admin/app/course/download\",\"filename\":\"f14c0f101146453c80607230e842f1c9.jpg\"},{\"name\":\"shuxue2.jpg\",\"downloadUri\":\"/admin/app/course/download\",\"filename\":\"b8451e95fa314facaa8a3cd720888574.jpg\"}]","price":700.00,"subjectId":1,"subjectIdDictMap":{"name":"数学","id":1},"updateTime":1601136000000},{"classHour":21,"courseId":1016921446102601728,"courseName":"小学数学四年级课程","createTime":1601136000000,"createUserId":1093809448606765057,"description":"小学数学四年级课程","difficulty":1,"difficultyDictMap":{"name":"普通","id":1},"gradeId":4,"gradeIdDictMap":{"name":"四年级","id":4},"pictureUrl":"[{\"name\":\"shuxue2.jpg\",\"downloadUri\":\"/admin/app/course/download\",\"filename\":\"78e1cac8c4284c8a82c7ea4bef5162a4.jpg\"}]","price":800.00,"subjectId":1,"subjectIdDictMap":{"name":"数学","id":1},"updateTime":1601136000000}],"totalCount":23},"errorCode":"NO-ERROR","errorMessage":"NO-MESSAGE","success":true} +[INFO ] [2020-09-27 20:48:33] 请求Id[22c9a1a7158a48dfab518c7ea06109e6] [http-nio-9001-exec-6] ==> [TxId: , SpanId: ] 开始请求,app=, url=/studentClass/addClassCourse, reqData=[1016971499387228160,[{"courseId":1016917732260319232}]] +[INFO ] [2020-09-27 20:48:33] 请求Id[22c9a1a7158a48dfab518c7ea06109e6] [http-nio-9001-exec-6] ==> [TxId: , SpanId: ] 请求完成, app=, url=/studentClass/addClassCourse,elapse=1ms, respData={"errorCode":"DATA_VALIDATAED_FAILED","errorMessage":"数据验证失败,课程顺序(数值越小越靠前)不能为空!","success":false} +[INFO ] [2020-09-27 20:49:09] 请求Id[862b918112294fbbb9cd702fc52474fe] [http-nio-9001-exec-7] ==> [TxId: , SpanId: ] 开始请求,app=, url=/studentClass/addClassCourse, reqData=[1016971499387228160,[{"courseId":1016917732260319232}]] +[INFO ] [2020-09-27 20:49:09] 请求Id[862b918112294fbbb9cd702fc52474fe] [http-nio-9001-exec-7] ==> [TxId: , SpanId: ] 请求完成, app=, url=/studentClass/addClassCourse,elapse=0ms, respData={"errorCode":"DATA_VALIDATAED_FAILED","errorMessage":"数据验证失败,课程顺序(数值越小越靠前)不能为空!","success":false} +[INFO ] [2020-09-27 20:56:45] 请求Id[] [main] ==> [TxId: , SpanId: ] The following profiles are active: dev +[INFO ] [2020-09-27 20:56:51] 请求Id[] [main] ==> [TxId: , SpanId: ] twepoch:1288834974657 ,ip:10.24.82.239 ,zkAddress:localhost:2181 port:19001 +[INFO ] [2020-09-27 20:56:51] 请求Id[] [main] ==> [TxId: , SpanId: ] file exists status is true +[INFO ] [2020-09-27 20:56:51] 请求Id[] [main] ==> [TxId: , SpanId: ] update file cache workId is 0 +[INFO ] [2020-09-27 20:56:51] 请求Id[] [main] ==> [TxId: , SpanId: ] START SUCCESS USE ZK WORKERID-0 +[INFO ] [2020-09-27 20:56:53] 请求Id[] [main] ==> [TxId: , SpanId: ] Started CourseClassApplication in 10.448 seconds (JVM running for 13.634) +[DEBUG] [2020-09-27 20:56:53] 请求Id[] [main] ==> [TxId: , SpanId: ] ==> Preparing: SELECT area_id,area_name,area_level,parent_id FROM zz_area_code order by area_level +[DEBUG] [2020-09-27 20:56:54] 请求Id[] [main] ==> [TxId: , SpanId: ] ==> Parameters: +[DEBUG] [2020-09-27 20:56:54] 请求Id[] [main] ==> [TxId: , SpanId: ] <== Total: 3656 +[INFO ] [2020-09-27 20:57:29] 请求Id[3bf8f684f01146f782f8e83beeb4569b] [http-nio-9001-exec-1] ==> [TxId: , SpanId: ] 开始请求,app=, url=/studentClass/addClassCourse, reqData=[1016971499387228160,[{"courseId":1016917732260319232}]] +[DEBUG] [2020-09-27 20:57:29] 请求Id[3bf8f684f01146f782f8e83beeb4569b] [http-nio-9001-exec-1] ==> [TxId: , SpanId: ] ==> Preparing: SELECT class_id,class_name,school_id,leader_id,finish_class_hour,class_level,create_user_id,create_time,status FROM zz_class WHERE ( ( class_id = ? and status = ? ) ) +[DEBUG] [2020-09-27 20:57:29] 请求Id[3bf8f684f01146f782f8e83beeb4569b] [http-nio-9001-exec-1] ==> [TxId: , SpanId: ] ==> Parameters: 1016971499387228160(Long), 1(Integer) +[DEBUG] [2020-09-27 20:57:29] 请求Id[3bf8f684f01146f782f8e83beeb4569b] [http-nio-9001-exec-1] ==> [TxId: , SpanId: ] <== Total: 1 +[DEBUG] [2020-09-27 20:57:29] 请求Id[3bf8f684f01146f782f8e83beeb4569b] [http-nio-9001-exec-1] ==> [TxId: , SpanId: ] ==> Preparing: SELECT COUNT(*) FROM zz_course WHERE ( ( course_id in ( ? ) ) ) +[DEBUG] [2020-09-27 20:57:29] 请求Id[3bf8f684f01146f782f8e83beeb4569b] [http-nio-9001-exec-1] ==> [TxId: , SpanId: ] ==> Parameters: 1016917732260319232(Long) +[DEBUG] [2020-09-27 20:57:29] 请求Id[3bf8f684f01146f782f8e83beeb4569b] [http-nio-9001-exec-1] ==> [TxId: , SpanId: ] <== Total: 1 +[DEBUG] [2020-09-27 20:57:29] 请求Id[3bf8f684f01146f782f8e83beeb4569b] [http-nio-9001-exec-1] ==> [TxId: , SpanId: ] ==> Preparing: INSERT INTO zz_class_course ( class_id,course_id,course_order ) VALUES ( ?,?,? ) +[DEBUG] [2020-09-27 20:57:29] 请求Id[3bf8f684f01146f782f8e83beeb4569b] [http-nio-9001-exec-1] ==> [TxId: , SpanId: ] ==> Parameters: 1016971499387228160(Long), 1016917732260319232(Long), 0(Integer) +[DEBUG] [2020-09-27 20:57:29] 请求Id[3bf8f684f01146f782f8e83beeb4569b] [http-nio-9001-exec-1] ==> [TxId: , SpanId: ] <== Updates: 1 +[INFO ] [2020-09-27 20:57:29] 请求Id[3bf8f684f01146f782f8e83beeb4569b] [http-nio-9001-exec-1] ==> [TxId: , SpanId: ] 请求完成, app=, url=/studentClass/addClassCourse,elapse=124ms, respData={"errorCode":"NO-ERROR","errorMessage":"NO-MESSAGE","success":true} +[INFO ] [2020-09-27 20:57:30] 请求Id[79a68fb7084b4b4b9243d898e613d6a3] [http-nio-9001-exec-2] ==> [TxId: , SpanId: ] 开始请求,app=, url=/studentClass/listNotInClassCourse, reqData=[1016971499387228160,{},null,{"pageNum":1,"pageSize":10}] +[DEBUG] [2020-09-27 20:57:30] 请求Id[79a68fb7084b4b4b9243d898e613d6a3] [http-nio-9001-exec-2] ==> [TxId: , SpanId: ] ==> Preparing: SELECT class_id,class_name,school_id,leader_id,finish_class_hour,class_level,create_user_id,create_time,status FROM zz_class WHERE ( ( class_id = ? and status = ? ) ) +[DEBUG] [2020-09-27 20:57:30] 请求Id[79a68fb7084b4b4b9243d898e613d6a3] [http-nio-9001-exec-2] ==> [TxId: , SpanId: ] ==> Parameters: 1016971499387228160(Long), 1(Integer) +[DEBUG] [2020-09-27 20:57:30] 请求Id[79a68fb7084b4b4b9243d898e613d6a3] [http-nio-9001-exec-2] ==> [TxId: , SpanId: ] <== Total: 1 +[DEBUG] [2020-09-27 20:57:30] 请求Id[79a68fb7084b4b4b9243d898e613d6a3] [http-nio-9001-exec-2] ==> [TxId: , SpanId: ] ==> Preparing: SELECT count(0) FROM zz_course WHERE NOT EXISTS (SELECT * FROM zz_class_course WHERE zz_class_course.class_id = ? AND zz_class_course.course_id = zz_course.course_id) +[DEBUG] [2020-09-27 20:57:30] 请求Id[79a68fb7084b4b4b9243d898e613d6a3] [http-nio-9001-exec-2] ==> [TxId: , SpanId: ] ==> Parameters: 1016971499387228160(Long) +[DEBUG] [2020-09-27 20:57:30] 请求Id[79a68fb7084b4b4b9243d898e613d6a3] [http-nio-9001-exec-2] ==> [TxId: , SpanId: ] <== Total: 1 +[DEBUG] [2020-09-27 20:57:30] 请求Id[79a68fb7084b4b4b9243d898e613d6a3] [http-nio-9001-exec-2] ==> [TxId: , SpanId: ] ==> Preparing: SELECT zz_course.* FROM zz_course WHERE NOT EXISTS (SELECT * FROM zz_class_course WHERE zz_class_course.class_id = ? AND zz_class_course.course_id = zz_course.course_id) LIMIT ? +[DEBUG] [2020-09-27 20:57:30] 请求Id[79a68fb7084b4b4b9243d898e613d6a3] [http-nio-9001-exec-2] ==> [TxId: , SpanId: ] ==> Parameters: 1016971499387228160(Long), 10(Integer) +[DEBUG] [2020-09-27 20:57:30] 请求Id[79a68fb7084b4b4b9243d898e613d6a3] [http-nio-9001-exec-2] ==> [TxId: , SpanId: ] <== Total: 10 +[INFO ] [2020-09-27 20:57:30] 请求Id[79a68fb7084b4b4b9243d898e613d6a3] [http-nio-9001-exec-2] ==> [TxId: , SpanId: ] 请求完成, app=, url=/studentClass/listNotInClassCourse,elapse=147ms, respData={"data":{"dataList":[{"classHour":27,"courseId":1016917900699373568,"courseName":"小学四年级语文课程","createTime":1601136000000,"createUserId":1093809448606765057,"description":"小学四年级语文课程","difficulty":1,"difficultyDictMap":{"name":"普通","id":1},"gradeId":4,"gradeIdDictMap":{"name":"四年级","id":4},"pictureUrl":"[{\"name\":\"IMG_0002.JPG\",\"downloadUri\":\"/admin/coursepaper/course/download\",\"filename\":\"7358b520e31e4ee0b2b8c4f9c31614d9.JPG\"}]","price":888.00,"subjectId":0,"subjectIdDictMap":{"name":"语文","id":0},"updateTime":1601136000000},{"classHour":30,"courseId":1016918360520921088,"courseName":"小学五年级语文课程","createTime":1601136000000,"createUserId":1093809448606765057,"description":"小学五年级语文课程","difficulty":2,"difficultyDictMap":{"name":"困难","id":2},"gradeId":5,"gradeIdDictMap":{"name":"五年级","id":5},"pictureUrl":"[{\"name\":\"IMG_0004.JPG\",\"downloadUri\":\"/admin/coursepaper/course/download\",\"filename\":\"cf804a5e14fb498fa8bf3745cad39bca.JPG\"}]","price":1199.00,"subjectId":0,"subjectIdDictMap":{"name":"语文","id":0},"updateTime":1601136000000},{"classHour":32,"courseId":1016918605715738624,"courseName":"小学六年级语文课程","createTime":1601136000000,"createUserId":1093809448606765057,"description":"小学六年级语文课程","difficulty":2,"difficultyDictMap":{"name":"困难","id":2},"gradeId":6,"gradeIdDictMap":{"name":"六年级","id":6},"pictureUrl":"[{\"name\":\"IMG_0006.JPG\",\"downloadUri\":\"/admin/coursepaper/course/download\",\"filename\":\"a0d0476fac9c46f08b7ebef597b8765a.JPG\"}]","price":1288.00,"subjectId":0,"subjectIdDictMap":{"name":"语文","id":0},"updateTime":1601136000000},{"classHour":20,"courseId":1016918836729614336,"courseName":"天津小学一年级语文课程","createTime":1601136000000,"createUserId":1093809448606765057,"description":"天津小学一年级语文课程","difficulty":0,"difficultyDictMap":{"name":"容易","id":0},"gradeId":1,"gradeIdDictMap":{"name":"一年级","id":1},"pictureUrl":"[{\"name\":\"IMG_0003.JPG\",\"downloadUri\":\"/admin/coursepaper/course/download\",\"filename\":\"7f64971a69944b0082f21a6036c31efd.JPG\"}]","price":300.00,"subjectId":0,"subjectIdDictMap":{"name":"语文","id":0},"updateTime":1601136000000},{"classHour":20,"courseId":1016920152549888000,"courseName":"天津小学二年级语文课程","createTime":1601136000000,"createUserId":1093809448606765057,"description":"天津小学二年级语文课程","difficulty":1,"difficultyDictMap":{"name":"普通","id":1},"gradeId":2,"gradeIdDictMap":{"name":"二年级","id":2},"pictureUrl":"[{\"name\":\"IMG_0007.JPG\",\"downloadUri\":\"/admin/coursepaper/course/download\",\"filename\":\"4baf08c1da8741bb808caf09475e49a9.JPG\"}]","price":699.00,"subjectId":0,"subjectIdDictMap":{"name":"语文","id":0},"updateTime":1601136000000},{"classHour":25,"courseId":1016920339255136256,"courseName":"天津小学三年级语文课程","createTime":1601136000000,"createUserId":1093809448606765057,"description":"天津小学三年级语文课程","difficulty":1,"difficultyDictMap":{"name":"普通","id":1},"gradeId":3,"gradeIdDictMap":{"name":"三年级","id":3},"pictureUrl":"[{\"name\":\"IMG_0009.JPG\",\"downloadUri\":\"/admin/coursepaper/course/download\",\"filename\":\"6bc1eaab831d49708e4b1e0a5d657d61.JPG\"}]","price":998.00,"subjectId":0,"subjectIdDictMap":{"name":"语文","id":0},"updateTime":1601208474000},{"classHour":20,"courseId":1016921053566078976,"courseName":"小学数学二年级课程","createTime":1601136000000,"createUserId":1093809448606765057,"description":"小学数学二年级课程","difficulty":0,"difficultyDictMap":{"name":"容易","id":0},"gradeId":2,"gradeIdDictMap":{"name":"二年级","id":2},"pictureUrl":"[{\"name\":\"shuxue2.jpg\",\"downloadUri\":\"/admin/app/course/download\",\"filename\":\"7a1fdc70976f4820aa019f91514de272.jpg\"}]","price":700.00,"subjectId":1,"subjectIdDictMap":{"name":"数学","id":1},"updateTime":1601136000000},{"classHour":20,"courseId":1016921250996162560,"courseName":"小学数学三年级课程","createTime":1601136000000,"createUserId":1093809448606765057,"description":"小学数学三年级课程","difficulty":1,"difficultyDictMap":{"name":"普通","id":1},"gradeId":3,"gradeIdDictMap":{"name":"三年级","id":3},"pictureUrl":"[{\"name\":\"shuxue.jpg\",\"downloadUri\":\"/admin/app/course/download\",\"filename\":\"f14c0f101146453c80607230e842f1c9.jpg\"},{\"name\":\"shuxue2.jpg\",\"downloadUri\":\"/admin/app/course/download\",\"filename\":\"b8451e95fa314facaa8a3cd720888574.jpg\"}]","price":700.00,"subjectId":1,"subjectIdDictMap":{"name":"数学","id":1},"updateTime":1601136000000},{"classHour":21,"courseId":1016921446102601728,"courseName":"小学数学四年级课程","createTime":1601136000000,"createUserId":1093809448606765057,"description":"小学数学四年级课程","difficulty":1,"difficultyDictMap":{"name":"普通","id":1},"gradeId":4,"gradeIdDictMap":{"name":"四年级","id":4},"pictureUrl":"[{\"name\":\"shuxue2.jpg\",\"downloadUri\":\"/admin/app/course/download\",\"filename\":\"78e1cac8c4284c8a82c7ea4bef5162a4.jpg\"}]","price":800.00,"subjectId":1,"subjectIdDictMap":{"name":"数学","id":1},"updateTime":1601136000000},{"classHour":25,"courseId":1016921667582824448,"courseName":"小学数学五年级课程","createTime":1601136000000,"createUserId":1093809448606765057,"description":"小学数学五年级课程","difficulty":2,"difficultyDictMap":{"name":"困难","id":2},"gradeId":5,"gradeIdDictMap":{"name":"五年级","id":5},"pictureUrl":"[{\"name\":\"shuxue.jpg\",\"downloadUri\":\"/admin/app/course/download\",\"filename\":\"167967c0c025406483861eed038111a0.jpg\"}]","price":900.00,"subjectId":1,"subjectIdDictMap":{"name":"数学","id":1},"updateTime":1601136000000}],"totalCount":22},"errorCode":"NO-ERROR","errorMessage":"NO-MESSAGE","success":true} +[INFO ] [2020-09-27 20:57:32] 请求Id[9bb6a2ffd6eb4cb8af0b699b7618e9c1] [http-nio-9001-exec-3] ==> [TxId: , SpanId: ] 开始请求,app=, url=/studentClass/listClassCourse, reqData=[1016971499387228160,null,null,{"pageNum":1,"pageSize":10}] +[DEBUG] [2020-09-27 20:57:32] 请求Id[9bb6a2ffd6eb4cb8af0b699b7618e9c1] [http-nio-9001-exec-3] ==> [TxId: , SpanId: ] ==> Preparing: SELECT class_id,class_name,school_id,leader_id,finish_class_hour,class_level,create_user_id,create_time,status FROM zz_class WHERE ( ( class_id = ? and status = ? ) ) +[DEBUG] [2020-09-27 20:57:32] 请求Id[9bb6a2ffd6eb4cb8af0b699b7618e9c1] [http-nio-9001-exec-3] ==> [TxId: , SpanId: ] ==> Parameters: 1016971499387228160(Long), 1(Integer) +[DEBUG] [2020-09-27 20:57:32] 请求Id[9bb6a2ffd6eb4cb8af0b699b7618e9c1] [http-nio-9001-exec-3] ==> [TxId: , SpanId: ] <== Total: 1 +[DEBUG] [2020-09-27 20:57:32] 请求Id[9bb6a2ffd6eb4cb8af0b699b7618e9c1] [http-nio-9001-exec-3] ==> [TxId: , SpanId: ] ==> Preparing: SELECT count(0) FROM zz_course, zz_class_course WHERE zz_class_course.class_id = ? AND zz_class_course.course_id = zz_course.course_id +[DEBUG] [2020-09-27 20:57:32] 请求Id[9bb6a2ffd6eb4cb8af0b699b7618e9c1] [http-nio-9001-exec-3] ==> [TxId: , SpanId: ] ==> Parameters: 1016971499387228160(Long) +[DEBUG] [2020-09-27 20:57:32] 请求Id[9bb6a2ffd6eb4cb8af0b699b7618e9c1] [http-nio-9001-exec-3] ==> [TxId: , SpanId: ] <== Total: 1 +[DEBUG] [2020-09-27 20:57:32] 请求Id[9bb6a2ffd6eb4cb8af0b699b7618e9c1] [http-nio-9001-exec-3] ==> [TxId: , SpanId: ] ==> Preparing: SELECT zz_course.* FROM zz_course, zz_class_course WHERE zz_class_course.class_id = ? AND zz_class_course.course_id = zz_course.course_id LIMIT ? +[DEBUG] [2020-09-27 20:57:32] 请求Id[9bb6a2ffd6eb4cb8af0b699b7618e9c1] [http-nio-9001-exec-3] ==> [TxId: , SpanId: ] ==> Parameters: 1016971499387228160(Long), 10(Integer) +[DEBUG] [2020-09-27 20:57:32] 请求Id[9bb6a2ffd6eb4cb8af0b699b7618e9c1] [http-nio-9001-exec-3] ==> [TxId: , SpanId: ] <== Total: 5 +[INFO ] [2020-09-27 20:57:32] 请求Id[9bb6a2ffd6eb4cb8af0b699b7618e9c1] [http-nio-9001-exec-3] ==> [TxId: , SpanId: ] 请求完成, app=, url=/studentClass/listClassCourse,elapse=28ms, respData={"data":{"dataList":[{"classHour":10,"courseId":1016699195411402752,"courseName":"小学一年级拼音基础练习","createTime":1601136000000,"createUserId":1093809448606765057,"description":"小学一年级拼音基础练习","difficulty":0,"difficultyDictMap":{"name":"容易","id":0},"gradeId":1,"gradeIdDictMap":{"name":"一年级","id":1},"pictureUrl":"[{\"name\":\"IMG_0003.JPG\",\"downloadUri\":\"/admin/coursepaper/course/download\",\"filename\":\"b09ef09478d8452d908600ff98b6f1ce.JPG\"}]","price":299.00,"subjectId":0,"subjectIdDictMap":{"name":"语文","id":0},"updateTime":1601136000000},{"classHour":25,"courseId":1016917385529790464,"courseName":"小学二年级语文课程","createTime":1601136000000,"createUserId":1093809448606765057,"description":"小学二年级课程","difficulty":1,"difficultyDictMap":{"name":"普通","id":1},"gradeId":2,"gradeIdDictMap":{"name":"二年级","id":2},"pictureUrl":"[{\"name\":\"IMG_0455.JPG\",\"downloadUri\":\"/admin/coursepaper/course/download\",\"filename\":\"79651a658e88408888f847366fbf98d0.JPG\"}]","price":980.00,"subjectId":0,"subjectIdDictMap":{"name":"语文","id":0},"updateTime":1601136000000},{"classHour":30,"courseId":1016917732260319232,"courseName":"小学三年级语文课程","createTime":1601136000000,"createUserId":1093809448606765057,"description":"小学三年级语文课程","difficulty":1,"difficultyDictMap":{"name":"普通","id":1},"gradeId":3,"gradeIdDictMap":{"name":"三年级","id":3},"pictureUrl":"[{\"name\":\"IMG_0001.JPG\",\"downloadUri\":\"/admin/coursepaper/course/download\",\"filename\":\"0d11548eb91142d49a9253c0060d3f94.JPG\"}]","price":1080.00,"subjectId":0,"subjectIdDictMap":{"name":"语文","id":0},"updateTime":1601208479000},{"classHour":15,"courseId":1016920878164480000,"courseName":"小学数学一年级课程","createTime":1601136000000,"createUserId":1093809448606765057,"description":"小学数学一年级课程","difficulty":0,"difficultyDictMap":{"name":"容易","id":0},"gradeId":1,"gradeIdDictMap":{"name":"一年级","id":1},"pictureUrl":"[{\"name\":\"IMG_0010.JPG\",\"downloadUri\":\"/admin/coursepaper/course/download\",\"filename\":\"7e9583aba9594a98b1e0268837d2a5d0.JPG\"}]","price":388.00,"subjectId":1,"subjectIdDictMap":{"name":"数学","id":1},"updateTime":1601136000000},{"classHour":15,"courseId":1016923276064854016,"courseName":"小学英语一年级课程","createTime":1601136000000,"createUserId":1093809448606765057,"description":"小学英语一年级课程","difficulty":0,"difficultyDictMap":{"name":"容易","id":0},"gradeId":1,"gradeIdDictMap":{"name":"一年级","id":1},"pictureUrl":"[{\"name\":\"english.jpg\",\"downloadUri\":\"/admin/app/course/download\",\"filename\":\"44177c3674f543fda24222b8297ef203.jpg\"}]","price":399.00,"subjectId":2,"subjectIdDictMap":{"name":"英语","id":2},"updateTime":1601136000000}],"totalCount":5},"errorCode":"NO-ERROR","errorMessage":"NO-MESSAGE","success":true} +[INFO ] [2020-09-27 20:57:39] 请求Id[2afbd5f076e3405980f8ccfe2b8565ad] [http-nio-9001-exec-4] ==> [TxId: , SpanId: ] 开始请求,app=, url=/studentClass/deleteClassCourse, reqData=[1016971499387228160,1016917732260319232] +[DEBUG] [2020-09-27 20:57:39] 请求Id[2afbd5f076e3405980f8ccfe2b8565ad] [http-nio-9001-exec-4] ==> [TxId: , SpanId: ] ==> Preparing: DELETE FROM zz_class_course WHERE class_id = ? AND course_id = ? +[DEBUG] [2020-09-27 20:57:39] 请求Id[2afbd5f076e3405980f8ccfe2b8565ad] [http-nio-9001-exec-4] ==> [TxId: , SpanId: ] ==> Parameters: 1016971499387228160(Long), 1016917732260319232(Long) +[DEBUG] [2020-09-27 20:57:39] 请求Id[2afbd5f076e3405980f8ccfe2b8565ad] [http-nio-9001-exec-4] ==> [TxId: , SpanId: ] <== Updates: 1 +[INFO ] [2020-09-27 20:57:39] 请求Id[2afbd5f076e3405980f8ccfe2b8565ad] [http-nio-9001-exec-4] ==> [TxId: , SpanId: ] 请求完成, app=, url=/studentClass/deleteClassCourse,elapse=8ms, respData={"errorCode":"NO-ERROR","errorMessage":"NO-MESSAGE","success":true} +[INFO ] [2020-09-27 20:57:39] 请求Id[9dbdfe4aa6cf4f99a88c17909627a834] [http-nio-9001-exec-5] ==> [TxId: , SpanId: ] 开始请求,app=, url=/studentClass/listClassCourse, reqData=[1016971499387228160,null,null,{"pageNum":1,"pageSize":10}] +[DEBUG] [2020-09-27 20:57:39] 请求Id[9dbdfe4aa6cf4f99a88c17909627a834] [http-nio-9001-exec-5] ==> [TxId: , SpanId: ] ==> Preparing: SELECT class_id,class_name,school_id,leader_id,finish_class_hour,class_level,create_user_id,create_time,status FROM zz_class WHERE ( ( class_id = ? and status = ? ) ) +[DEBUG] [2020-09-27 20:57:39] 请求Id[9dbdfe4aa6cf4f99a88c17909627a834] [http-nio-9001-exec-5] ==> [TxId: , SpanId: ] ==> Parameters: 1016971499387228160(Long), 1(Integer) +[DEBUG] [2020-09-27 20:57:39] 请求Id[9dbdfe4aa6cf4f99a88c17909627a834] [http-nio-9001-exec-5] ==> [TxId: , SpanId: ] <== Total: 1 +[DEBUG] [2020-09-27 20:57:39] 请求Id[9dbdfe4aa6cf4f99a88c17909627a834] [http-nio-9001-exec-5] ==> [TxId: , SpanId: ] ==> Preparing: SELECT count(0) FROM zz_course, zz_class_course WHERE zz_class_course.class_id = ? AND zz_class_course.course_id = zz_course.course_id +[DEBUG] [2020-09-27 20:57:39] 请求Id[9dbdfe4aa6cf4f99a88c17909627a834] [http-nio-9001-exec-5] ==> [TxId: , SpanId: ] ==> Parameters: 1016971499387228160(Long) +[DEBUG] [2020-09-27 20:57:39] 请求Id[9dbdfe4aa6cf4f99a88c17909627a834] [http-nio-9001-exec-5] ==> [TxId: , SpanId: ] <== Total: 1 +[DEBUG] [2020-09-27 20:57:39] 请求Id[9dbdfe4aa6cf4f99a88c17909627a834] [http-nio-9001-exec-5] ==> [TxId: , SpanId: ] ==> Preparing: SELECT zz_course.* FROM zz_course, zz_class_course WHERE zz_class_course.class_id = ? AND zz_class_course.course_id = zz_course.course_id LIMIT ? +[DEBUG] [2020-09-27 20:57:39] 请求Id[9dbdfe4aa6cf4f99a88c17909627a834] [http-nio-9001-exec-5] ==> [TxId: , SpanId: ] ==> Parameters: 1016971499387228160(Long), 10(Integer) +[DEBUG] [2020-09-27 20:57:39] 请求Id[9dbdfe4aa6cf4f99a88c17909627a834] [http-nio-9001-exec-5] ==> [TxId: , SpanId: ] <== Total: 4 +[INFO ] [2020-09-27 20:57:39] 请求Id[9dbdfe4aa6cf4f99a88c17909627a834] [http-nio-9001-exec-5] ==> [TxId: , SpanId: ] 请求完成, app=, url=/studentClass/listClassCourse,elapse=25ms, respData={"data":{"dataList":[{"classHour":10,"courseId":1016699195411402752,"courseName":"小学一年级拼音基础练习","createTime":1601136000000,"createUserId":1093809448606765057,"description":"小学一年级拼音基础练习","difficulty":0,"difficultyDictMap":{"name":"容易","id":0},"gradeId":1,"gradeIdDictMap":{"name":"一年级","id":1},"pictureUrl":"[{\"name\":\"IMG_0003.JPG\",\"downloadUri\":\"/admin/coursepaper/course/download\",\"filename\":\"b09ef09478d8452d908600ff98b6f1ce.JPG\"}]","price":299.00,"subjectId":0,"subjectIdDictMap":{"name":"语文","id":0},"updateTime":1601136000000},{"classHour":25,"courseId":1016917385529790464,"courseName":"小学二年级语文课程","createTime":1601136000000,"createUserId":1093809448606765057,"description":"小学二年级课程","difficulty":1,"difficultyDictMap":{"name":"普通","id":1},"gradeId":2,"gradeIdDictMap":{"name":"二年级","id":2},"pictureUrl":"[{\"name\":\"IMG_0455.JPG\",\"downloadUri\":\"/admin/coursepaper/course/download\",\"filename\":\"79651a658e88408888f847366fbf98d0.JPG\"}]","price":980.00,"subjectId":0,"subjectIdDictMap":{"name":"语文","id":0},"updateTime":1601136000000},{"classHour":15,"courseId":1016920878164480000,"courseName":"小学数学一年级课程","createTime":1601136000000,"createUserId":1093809448606765057,"description":"小学数学一年级课程","difficulty":0,"difficultyDictMap":{"name":"容易","id":0},"gradeId":1,"gradeIdDictMap":{"name":"一年级","id":1},"pictureUrl":"[{\"name\":\"IMG_0010.JPG\",\"downloadUri\":\"/admin/coursepaper/course/download\",\"filename\":\"7e9583aba9594a98b1e0268837d2a5d0.JPG\"}]","price":388.00,"subjectId":1,"subjectIdDictMap":{"name":"数学","id":1},"updateTime":1601136000000},{"classHour":15,"courseId":1016923276064854016,"courseName":"小学英语一年级课程","createTime":1601136000000,"createUserId":1093809448606765057,"description":"小学英语一年级课程","difficulty":0,"difficultyDictMap":{"name":"容易","id":0},"gradeId":1,"gradeIdDictMap":{"name":"一年级","id":1},"pictureUrl":"[{\"name\":\"english.jpg\",\"downloadUri\":\"/admin/app/course/download\",\"filename\":\"44177c3674f543fda24222b8297ef203.jpg\"}]","price":399.00,"subjectId":2,"subjectIdDictMap":{"name":"英语","id":2},"updateTime":1601136000000}],"totalCount":4},"errorCode":"NO-ERROR","errorMessage":"NO-MESSAGE","success":true} +[INFO ] [2020-09-27 20:57:41] 请求Id[c6aa5b57a77c4f329fd5fee2310b0ef9] [http-nio-9001-exec-6] ==> [TxId: , SpanId: ] 开始请求,app=, url=/studentClass/listNotInClassCourse, reqData=[1016971499387228160,{},null,{"pageNum":1,"pageSize":10}] +[DEBUG] [2020-09-27 20:57:41] 请求Id[c6aa5b57a77c4f329fd5fee2310b0ef9] [http-nio-9001-exec-6] ==> [TxId: , SpanId: ] ==> Preparing: SELECT class_id,class_name,school_id,leader_id,finish_class_hour,class_level,create_user_id,create_time,status FROM zz_class WHERE ( ( class_id = ? and status = ? ) ) +[DEBUG] [2020-09-27 20:57:41] 请求Id[c6aa5b57a77c4f329fd5fee2310b0ef9] [http-nio-9001-exec-6] ==> [TxId: , SpanId: ] ==> Parameters: 1016971499387228160(Long), 1(Integer) +[DEBUG] [2020-09-27 20:57:41] 请求Id[c6aa5b57a77c4f329fd5fee2310b0ef9] [http-nio-9001-exec-6] ==> [TxId: , SpanId: ] <== Total: 1 +[DEBUG] [2020-09-27 20:57:41] 请求Id[c6aa5b57a77c4f329fd5fee2310b0ef9] [http-nio-9001-exec-6] ==> [TxId: , SpanId: ] ==> Preparing: SELECT count(0) FROM zz_course WHERE NOT EXISTS (SELECT * FROM zz_class_course WHERE zz_class_course.class_id = ? AND zz_class_course.course_id = zz_course.course_id) +[DEBUG] [2020-09-27 20:57:41] 请求Id[c6aa5b57a77c4f329fd5fee2310b0ef9] [http-nio-9001-exec-6] ==> [TxId: , SpanId: ] ==> Parameters: 1016971499387228160(Long) +[DEBUG] [2020-09-27 20:57:41] 请求Id[c6aa5b57a77c4f329fd5fee2310b0ef9] [http-nio-9001-exec-6] ==> [TxId: , SpanId: ] <== Total: 1 +[DEBUG] [2020-09-27 20:57:41] 请求Id[c6aa5b57a77c4f329fd5fee2310b0ef9] [http-nio-9001-exec-6] ==> [TxId: , SpanId: ] ==> Preparing: SELECT zz_course.* FROM zz_course WHERE NOT EXISTS (SELECT * FROM zz_class_course WHERE zz_class_course.class_id = ? AND zz_class_course.course_id = zz_course.course_id) LIMIT ? +[DEBUG] [2020-09-27 20:57:41] 请求Id[c6aa5b57a77c4f329fd5fee2310b0ef9] [http-nio-9001-exec-6] ==> [TxId: , SpanId: ] ==> Parameters: 1016971499387228160(Long), 10(Integer) +[DEBUG] [2020-09-27 20:57:41] 请求Id[c6aa5b57a77c4f329fd5fee2310b0ef9] [http-nio-9001-exec-6] ==> [TxId: , SpanId: ] <== Total: 10 +[INFO ] [2020-09-27 20:57:41] 请求Id[c6aa5b57a77c4f329fd5fee2310b0ef9] [http-nio-9001-exec-6] ==> [TxId: , SpanId: ] 请求完成, app=, url=/studentClass/listNotInClassCourse,elapse=56ms, respData={"data":{"dataList":[{"classHour":30,"courseId":1016917732260319232,"courseName":"小学三年级语文课程","createTime":1601136000000,"createUserId":1093809448606765057,"description":"小学三年级语文课程","difficulty":1,"difficultyDictMap":{"name":"普通","id":1},"gradeId":3,"gradeIdDictMap":{"name":"三年级","id":3},"pictureUrl":"[{\"name\":\"IMG_0001.JPG\",\"downloadUri\":\"/admin/coursepaper/course/download\",\"filename\":\"0d11548eb91142d49a9253c0060d3f94.JPG\"}]","price":1080.00,"subjectId":0,"subjectIdDictMap":{"name":"语文","id":0},"updateTime":1601208479000},{"classHour":27,"courseId":1016917900699373568,"courseName":"小学四年级语文课程","createTime":1601136000000,"createUserId":1093809448606765057,"description":"小学四年级语文课程","difficulty":1,"difficultyDictMap":{"name":"普通","id":1},"gradeId":4,"gradeIdDictMap":{"name":"四年级","id":4},"pictureUrl":"[{\"name\":\"IMG_0002.JPG\",\"downloadUri\":\"/admin/coursepaper/course/download\",\"filename\":\"7358b520e31e4ee0b2b8c4f9c31614d9.JPG\"}]","price":888.00,"subjectId":0,"subjectIdDictMap":{"name":"语文","id":0},"updateTime":1601136000000},{"classHour":30,"courseId":1016918360520921088,"courseName":"小学五年级语文课程","createTime":1601136000000,"createUserId":1093809448606765057,"description":"小学五年级语文课程","difficulty":2,"difficultyDictMap":{"name":"困难","id":2},"gradeId":5,"gradeIdDictMap":{"name":"五年级","id":5},"pictureUrl":"[{\"name\":\"IMG_0004.JPG\",\"downloadUri\":\"/admin/coursepaper/course/download\",\"filename\":\"cf804a5e14fb498fa8bf3745cad39bca.JPG\"}]","price":1199.00,"subjectId":0,"subjectIdDictMap":{"name":"语文","id":0},"updateTime":1601136000000},{"classHour":32,"courseId":1016918605715738624,"courseName":"小学六年级语文课程","createTime":1601136000000,"createUserId":1093809448606765057,"description":"小学六年级语文课程","difficulty":2,"difficultyDictMap":{"name":"困难","id":2},"gradeId":6,"gradeIdDictMap":{"name":"六年级","id":6},"pictureUrl":"[{\"name\":\"IMG_0006.JPG\",\"downloadUri\":\"/admin/coursepaper/course/download\",\"filename\":\"a0d0476fac9c46f08b7ebef597b8765a.JPG\"}]","price":1288.00,"subjectId":0,"subjectIdDictMap":{"name":"语文","id":0},"updateTime":1601136000000},{"classHour":20,"courseId":1016918836729614336,"courseName":"天津小学一年级语文课程","createTime":1601136000000,"createUserId":1093809448606765057,"description":"天津小学一年级语文课程","difficulty":0,"difficultyDictMap":{"name":"容易","id":0},"gradeId":1,"gradeIdDictMap":{"name":"一年级","id":1},"pictureUrl":"[{\"name\":\"IMG_0003.JPG\",\"downloadUri\":\"/admin/coursepaper/course/download\",\"filename\":\"7f64971a69944b0082f21a6036c31efd.JPG\"}]","price":300.00,"subjectId":0,"subjectIdDictMap":{"name":"语文","id":0},"updateTime":1601136000000},{"classHour":20,"courseId":1016920152549888000,"courseName":"天津小学二年级语文课程","createTime":1601136000000,"createUserId":1093809448606765057,"description":"天津小学二年级语文课程","difficulty":1,"difficultyDictMap":{"name":"普通","id":1},"gradeId":2,"gradeIdDictMap":{"name":"二年级","id":2},"pictureUrl":"[{\"name\":\"IMG_0007.JPG\",\"downloadUri\":\"/admin/coursepaper/course/download\",\"filename\":\"4baf08c1da8741bb808caf09475e49a9.JPG\"}]","price":699.00,"subjectId":0,"subjectIdDictMap":{"name":"语文","id":0},"updateTime":1601136000000},{"classHour":25,"courseId":1016920339255136256,"courseName":"天津小学三年级语文课程","createTime":1601136000000,"createUserId":1093809448606765057,"description":"天津小学三年级语文课程","difficulty":1,"difficultyDictMap":{"name":"普通","id":1},"gradeId":3,"gradeIdDictMap":{"name":"三年级","id":3},"pictureUrl":"[{\"name\":\"IMG_0009.JPG\",\"downloadUri\":\"/admin/coursepaper/course/download\",\"filename\":\"6bc1eaab831d49708e4b1e0a5d657d61.JPG\"}]","price":998.00,"subjectId":0,"subjectIdDictMap":{"name":"语文","id":0},"updateTime":1601208474000},{"classHour":20,"courseId":1016921053566078976,"courseName":"小学数学二年级课程","createTime":1601136000000,"createUserId":1093809448606765057,"description":"小学数学二年级课程","difficulty":0,"difficultyDictMap":{"name":"容易","id":0},"gradeId":2,"gradeIdDictMap":{"name":"二年级","id":2},"pictureUrl":"[{\"name\":\"shuxue2.jpg\",\"downloadUri\":\"/admin/app/course/download\",\"filename\":\"7a1fdc70976f4820aa019f91514de272.jpg\"}]","price":700.00,"subjectId":1,"subjectIdDictMap":{"name":"数学","id":1},"updateTime":1601136000000},{"classHour":20,"courseId":1016921250996162560,"courseName":"小学数学三年级课程","createTime":1601136000000,"createUserId":1093809448606765057,"description":"小学数学三年级课程","difficulty":1,"difficultyDictMap":{"name":"普通","id":1},"gradeId":3,"gradeIdDictMap":{"name":"三年级","id":3},"pictureUrl":"[{\"name\":\"shuxue.jpg\",\"downloadUri\":\"/admin/app/course/download\",\"filename\":\"f14c0f101146453c80607230e842f1c9.jpg\"},{\"name\":\"shuxue2.jpg\",\"downloadUri\":\"/admin/app/course/download\",\"filename\":\"b8451e95fa314facaa8a3cd720888574.jpg\"}]","price":700.00,"subjectId":1,"subjectIdDictMap":{"name":"数学","id":1},"updateTime":1601136000000},{"classHour":21,"courseId":1016921446102601728,"courseName":"小学数学四年级课程","createTime":1601136000000,"createUserId":1093809448606765057,"description":"小学数学四年级课程","difficulty":1,"difficultyDictMap":{"name":"普通","id":1},"gradeId":4,"gradeIdDictMap":{"name":"四年级","id":4},"pictureUrl":"[{\"name\":\"shuxue2.jpg\",\"downloadUri\":\"/admin/app/course/download\",\"filename\":\"78e1cac8c4284c8a82c7ea4bef5162a4.jpg\"}]","price":800.00,"subjectId":1,"subjectIdDictMap":{"name":"数学","id":1},"updateTime":1601136000000}],"totalCount":23},"errorCode":"NO-ERROR","errorMessage":"NO-MESSAGE","success":true} +[INFO ] [2020-09-27 20:57:44] 请求Id[c99dad15534c4b56b4b0fc5d2c8a72e8] [http-nio-9001-exec-7] ==> [TxId: , SpanId: ] 开始请求,app=, url=/studentClass/addClassCourse, reqData=[1016971499387228160,[{"courseId":1016917732260319232}]] +[DEBUG] [2020-09-27 20:57:44] 请求Id[c99dad15534c4b56b4b0fc5d2c8a72e8] [http-nio-9001-exec-7] ==> [TxId: , SpanId: ] ==> Preparing: SELECT class_id,class_name,school_id,leader_id,finish_class_hour,class_level,create_user_id,create_time,status FROM zz_class WHERE ( ( class_id = ? and status = ? ) ) +[DEBUG] [2020-09-27 20:57:44] 请求Id[c99dad15534c4b56b4b0fc5d2c8a72e8] [http-nio-9001-exec-7] ==> [TxId: , SpanId: ] ==> Parameters: 1016971499387228160(Long), 1(Integer) +[DEBUG] [2020-09-27 20:57:44] 请求Id[c99dad15534c4b56b4b0fc5d2c8a72e8] [http-nio-9001-exec-7] ==> [TxId: , SpanId: ] <== Total: 1 +[DEBUG] [2020-09-27 20:57:44] 请求Id[c99dad15534c4b56b4b0fc5d2c8a72e8] [http-nio-9001-exec-7] ==> [TxId: , SpanId: ] ==> Preparing: SELECT COUNT(*) FROM zz_course WHERE ( ( course_id in ( ? ) ) ) +[DEBUG] [2020-09-27 20:57:44] 请求Id[c99dad15534c4b56b4b0fc5d2c8a72e8] [http-nio-9001-exec-7] ==> [TxId: , SpanId: ] ==> Parameters: 1016917732260319232(Long) +[DEBUG] [2020-09-27 20:57:44] 请求Id[c99dad15534c4b56b4b0fc5d2c8a72e8] [http-nio-9001-exec-7] ==> [TxId: , SpanId: ] <== Total: 1 +[DEBUG] [2020-09-27 20:57:44] 请求Id[c99dad15534c4b56b4b0fc5d2c8a72e8] [http-nio-9001-exec-7] ==> [TxId: , SpanId: ] ==> Preparing: INSERT INTO zz_class_course ( class_id,course_id,course_order ) VALUES ( ?,?,? ) +[DEBUG] [2020-09-27 20:57:44] 请求Id[c99dad15534c4b56b4b0fc5d2c8a72e8] [http-nio-9001-exec-7] ==> [TxId: , SpanId: ] ==> Parameters: 1016971499387228160(Long), 1016917732260319232(Long), 0(Integer) +[DEBUG] [2020-09-27 20:57:44] 请求Id[c99dad15534c4b56b4b0fc5d2c8a72e8] [http-nio-9001-exec-7] ==> [TxId: , SpanId: ] <== Updates: 1 +[INFO ] [2020-09-27 20:57:44] 请求Id[c99dad15534c4b56b4b0fc5d2c8a72e8] [http-nio-9001-exec-7] ==> [TxId: , SpanId: ] 请求完成, app=, url=/studentClass/addClassCourse,elapse=34ms, respData={"errorCode":"NO-ERROR","errorMessage":"NO-MESSAGE","success":true} +[INFO ] [2020-09-27 20:57:44] 请求Id[1f61624648624deaa081fbc11077803b] [http-nio-9001-exec-8] ==> [TxId: , SpanId: ] 开始请求,app=, url=/studentClass/listNotInClassCourse, reqData=[1016971499387228160,{},null,{"pageNum":1,"pageSize":10}] +[DEBUG] [2020-09-27 20:57:44] 请求Id[1f61624648624deaa081fbc11077803b] [http-nio-9001-exec-8] ==> [TxId: , SpanId: ] ==> Preparing: SELECT class_id,class_name,school_id,leader_id,finish_class_hour,class_level,create_user_id,create_time,status FROM zz_class WHERE ( ( class_id = ? and status = ? ) ) +[DEBUG] [2020-09-27 20:57:44] 请求Id[1f61624648624deaa081fbc11077803b] [http-nio-9001-exec-8] ==> [TxId: , SpanId: ] ==> Parameters: 1016971499387228160(Long), 1(Integer) +[DEBUG] [2020-09-27 20:57:44] 请求Id[1f61624648624deaa081fbc11077803b] [http-nio-9001-exec-8] ==> [TxId: , SpanId: ] <== Total: 1 +[DEBUG] [2020-09-27 20:57:44] 请求Id[1f61624648624deaa081fbc11077803b] [http-nio-9001-exec-8] ==> [TxId: , SpanId: ] ==> Preparing: SELECT count(0) FROM zz_course WHERE NOT EXISTS (SELECT * FROM zz_class_course WHERE zz_class_course.class_id = ? AND zz_class_course.course_id = zz_course.course_id) +[DEBUG] [2020-09-27 20:57:44] 请求Id[1f61624648624deaa081fbc11077803b] [http-nio-9001-exec-8] ==> [TxId: , SpanId: ] ==> Parameters: 1016971499387228160(Long) +[DEBUG] [2020-09-27 20:57:44] 请求Id[1f61624648624deaa081fbc11077803b] [http-nio-9001-exec-8] ==> [TxId: , SpanId: ] <== Total: 1 +[DEBUG] [2020-09-27 20:57:44] 请求Id[1f61624648624deaa081fbc11077803b] [http-nio-9001-exec-8] ==> [TxId: , SpanId: ] ==> Preparing: SELECT zz_course.* FROM zz_course WHERE NOT EXISTS (SELECT * FROM zz_class_course WHERE zz_class_course.class_id = ? AND zz_class_course.course_id = zz_course.course_id) LIMIT ? +[DEBUG] [2020-09-27 20:57:44] 请求Id[1f61624648624deaa081fbc11077803b] [http-nio-9001-exec-8] ==> [TxId: , SpanId: ] ==> Parameters: 1016971499387228160(Long), 10(Integer) +[DEBUG] [2020-09-27 20:57:44] 请求Id[1f61624648624deaa081fbc11077803b] [http-nio-9001-exec-8] ==> [TxId: , SpanId: ] <== Total: 10 +[INFO ] [2020-09-27 20:57:44] 请求Id[1f61624648624deaa081fbc11077803b] [http-nio-9001-exec-8] ==> [TxId: , SpanId: ] 请求完成, app=, url=/studentClass/listNotInClassCourse,elapse=25ms, respData={"data":{"dataList":[{"classHour":27,"courseId":1016917900699373568,"courseName":"小学四年级语文课程","createTime":1601136000000,"createUserId":1093809448606765057,"description":"小学四年级语文课程","difficulty":1,"difficultyDictMap":{"name":"普通","id":1},"gradeId":4,"gradeIdDictMap":{"name":"四年级","id":4},"pictureUrl":"[{\"name\":\"IMG_0002.JPG\",\"downloadUri\":\"/admin/coursepaper/course/download\",\"filename\":\"7358b520e31e4ee0b2b8c4f9c31614d9.JPG\"}]","price":888.00,"subjectId":0,"subjectIdDictMap":{"name":"语文","id":0},"updateTime":1601136000000},{"classHour":30,"courseId":1016918360520921088,"courseName":"小学五年级语文课程","createTime":1601136000000,"createUserId":1093809448606765057,"description":"小学五年级语文课程","difficulty":2,"difficultyDictMap":{"name":"困难","id":2},"gradeId":5,"gradeIdDictMap":{"name":"五年级","id":5},"pictureUrl":"[{\"name\":\"IMG_0004.JPG\",\"downloadUri\":\"/admin/coursepaper/course/download\",\"filename\":\"cf804a5e14fb498fa8bf3745cad39bca.JPG\"}]","price":1199.00,"subjectId":0,"subjectIdDictMap":{"name":"语文","id":0},"updateTime":1601136000000},{"classHour":32,"courseId":1016918605715738624,"courseName":"小学六年级语文课程","createTime":1601136000000,"createUserId":1093809448606765057,"description":"小学六年级语文课程","difficulty":2,"difficultyDictMap":{"name":"困难","id":2},"gradeId":6,"gradeIdDictMap":{"name":"六年级","id":6},"pictureUrl":"[{\"name\":\"IMG_0006.JPG\",\"downloadUri\":\"/admin/coursepaper/course/download\",\"filename\":\"a0d0476fac9c46f08b7ebef597b8765a.JPG\"}]","price":1288.00,"subjectId":0,"subjectIdDictMap":{"name":"语文","id":0},"updateTime":1601136000000},{"classHour":20,"courseId":1016918836729614336,"courseName":"天津小学一年级语文课程","createTime":1601136000000,"createUserId":1093809448606765057,"description":"天津小学一年级语文课程","difficulty":0,"difficultyDictMap":{"name":"容易","id":0},"gradeId":1,"gradeIdDictMap":{"name":"一年级","id":1},"pictureUrl":"[{\"name\":\"IMG_0003.JPG\",\"downloadUri\":\"/admin/coursepaper/course/download\",\"filename\":\"7f64971a69944b0082f21a6036c31efd.JPG\"}]","price":300.00,"subjectId":0,"subjectIdDictMap":{"name":"语文","id":0},"updateTime":1601136000000},{"classHour":20,"courseId":1016920152549888000,"courseName":"天津小学二年级语文课程","createTime":1601136000000,"createUserId":1093809448606765057,"description":"天津小学二年级语文课程","difficulty":1,"difficultyDictMap":{"name":"普通","id":1},"gradeId":2,"gradeIdDictMap":{"name":"二年级","id":2},"pictureUrl":"[{\"name\":\"IMG_0007.JPG\",\"downloadUri\":\"/admin/coursepaper/course/download\",\"filename\":\"4baf08c1da8741bb808caf09475e49a9.JPG\"}]","price":699.00,"subjectId":0,"subjectIdDictMap":{"name":"语文","id":0},"updateTime":1601136000000},{"classHour":25,"courseId":1016920339255136256,"courseName":"天津小学三年级语文课程","createTime":1601136000000,"createUserId":1093809448606765057,"description":"天津小学三年级语文课程","difficulty":1,"difficultyDictMap":{"name":"普通","id":1},"gradeId":3,"gradeIdDictMap":{"name":"三年级","id":3},"pictureUrl":"[{\"name\":\"IMG_0009.JPG\",\"downloadUri\":\"/admin/coursepaper/course/download\",\"filename\":\"6bc1eaab831d49708e4b1e0a5d657d61.JPG\"}]","price":998.00,"subjectId":0,"subjectIdDictMap":{"name":"语文","id":0},"updateTime":1601208474000},{"classHour":20,"courseId":1016921053566078976,"courseName":"小学数学二年级课程","createTime":1601136000000,"createUserId":1093809448606765057,"description":"小学数学二年级课程","difficulty":0,"difficultyDictMap":{"name":"容易","id":0},"gradeId":2,"gradeIdDictMap":{"name":"二年级","id":2},"pictureUrl":"[{\"name\":\"shuxue2.jpg\",\"downloadUri\":\"/admin/app/course/download\",\"filename\":\"7a1fdc70976f4820aa019f91514de272.jpg\"}]","price":700.00,"subjectId":1,"subjectIdDictMap":{"name":"数学","id":1},"updateTime":1601136000000},{"classHour":20,"courseId":1016921250996162560,"courseName":"小学数学三年级课程","createTime":1601136000000,"createUserId":1093809448606765057,"description":"小学数学三年级课程","difficulty":1,"difficultyDictMap":{"name":"普通","id":1},"gradeId":3,"gradeIdDictMap":{"name":"三年级","id":3},"pictureUrl":"[{\"name\":\"shuxue.jpg\",\"downloadUri\":\"/admin/app/course/download\",\"filename\":\"f14c0f101146453c80607230e842f1c9.jpg\"},{\"name\":\"shuxue2.jpg\",\"downloadUri\":\"/admin/app/course/download\",\"filename\":\"b8451e95fa314facaa8a3cd720888574.jpg\"}]","price":700.00,"subjectId":1,"subjectIdDictMap":{"name":"数学","id":1},"updateTime":1601136000000},{"classHour":21,"courseId":1016921446102601728,"courseName":"小学数学四年级课程","createTime":1601136000000,"createUserId":1093809448606765057,"description":"小学数学四年级课程","difficulty":1,"difficultyDictMap":{"name":"普通","id":1},"gradeId":4,"gradeIdDictMap":{"name":"四年级","id":4},"pictureUrl":"[{\"name\":\"shuxue2.jpg\",\"downloadUri\":\"/admin/app/course/download\",\"filename\":\"78e1cac8c4284c8a82c7ea4bef5162a4.jpg\"}]","price":800.00,"subjectId":1,"subjectIdDictMap":{"name":"数学","id":1},"updateTime":1601136000000},{"classHour":25,"courseId":1016921667582824448,"courseName":"小学数学五年级课程","createTime":1601136000000,"createUserId":1093809448606765057,"description":"小学数学五年级课程","difficulty":2,"difficultyDictMap":{"name":"困难","id":2},"gradeId":5,"gradeIdDictMap":{"name":"五年级","id":5},"pictureUrl":"[{\"name\":\"shuxue.jpg\",\"downloadUri\":\"/admin/app/course/download\",\"filename\":\"167967c0c025406483861eed038111a0.jpg\"}]","price":900.00,"subjectId":1,"subjectIdDictMap":{"name":"数学","id":1},"updateTime":1601136000000}],"totalCount":22},"errorCode":"NO-ERROR","errorMessage":"NO-MESSAGE","success":true} +[INFO ] [2020-09-27 20:57:46] 请求Id[f310a125ca994acb92e89dbedbf757c3] [http-nio-9001-exec-9] ==> [TxId: , SpanId: ] 开始请求,app=, url=/studentClass/listClassCourse, reqData=[1016971499387228160,null,null,{"pageNum":1,"pageSize":10}] +[DEBUG] [2020-09-27 20:57:46] 请求Id[f310a125ca994acb92e89dbedbf757c3] [http-nio-9001-exec-9] ==> [TxId: , SpanId: ] ==> Preparing: SELECT class_id,class_name,school_id,leader_id,finish_class_hour,class_level,create_user_id,create_time,status FROM zz_class WHERE ( ( class_id = ? and status = ? ) ) +[DEBUG] [2020-09-27 20:57:46] 请求Id[f310a125ca994acb92e89dbedbf757c3] [http-nio-9001-exec-9] ==> [TxId: , SpanId: ] ==> Parameters: 1016971499387228160(Long), 1(Integer) +[DEBUG] [2020-09-27 20:57:46] 请求Id[f310a125ca994acb92e89dbedbf757c3] [http-nio-9001-exec-9] ==> [TxId: , SpanId: ] <== Total: 1 +[DEBUG] [2020-09-27 20:57:46] 请求Id[f310a125ca994acb92e89dbedbf757c3] [http-nio-9001-exec-9] ==> [TxId: , SpanId: ] ==> Preparing: SELECT count(0) FROM zz_course, zz_class_course WHERE zz_class_course.class_id = ? AND zz_class_course.course_id = zz_course.course_id +[DEBUG] [2020-09-27 20:57:46] 请求Id[f310a125ca994acb92e89dbedbf757c3] [http-nio-9001-exec-9] ==> [TxId: , SpanId: ] ==> Parameters: 1016971499387228160(Long) +[DEBUG] [2020-09-27 20:57:46] 请求Id[f310a125ca994acb92e89dbedbf757c3] [http-nio-9001-exec-9] ==> [TxId: , SpanId: ] <== Total: 1 +[DEBUG] [2020-09-27 20:57:46] 请求Id[f310a125ca994acb92e89dbedbf757c3] [http-nio-9001-exec-9] ==> [TxId: , SpanId: ] ==> Preparing: SELECT zz_course.* FROM zz_course, zz_class_course WHERE zz_class_course.class_id = ? AND zz_class_course.course_id = zz_course.course_id LIMIT ? +[DEBUG] [2020-09-27 20:57:46] 请求Id[f310a125ca994acb92e89dbedbf757c3] [http-nio-9001-exec-9] ==> [TxId: , SpanId: ] ==> Parameters: 1016971499387228160(Long), 10(Integer) +[DEBUG] [2020-09-27 20:57:46] 请求Id[f310a125ca994acb92e89dbedbf757c3] [http-nio-9001-exec-9] ==> [TxId: , SpanId: ] <== Total: 5 +[INFO ] [2020-09-27 20:57:46] 请求Id[f310a125ca994acb92e89dbedbf757c3] [http-nio-9001-exec-9] ==> [TxId: , SpanId: ] 请求完成, app=, url=/studentClass/listClassCourse,elapse=20ms, respData={"data":{"dataList":[{"classHour":10,"courseId":1016699195411402752,"courseName":"小学一年级拼音基础练习","createTime":1601136000000,"createUserId":1093809448606765057,"description":"小学一年级拼音基础练习","difficulty":0,"difficultyDictMap":{"name":"容易","id":0},"gradeId":1,"gradeIdDictMap":{"name":"一年级","id":1},"pictureUrl":"[{\"name\":\"IMG_0003.JPG\",\"downloadUri\":\"/admin/coursepaper/course/download\",\"filename\":\"b09ef09478d8452d908600ff98b6f1ce.JPG\"}]","price":299.00,"subjectId":0,"subjectIdDictMap":{"name":"语文","id":0},"updateTime":1601136000000},{"classHour":25,"courseId":1016917385529790464,"courseName":"小学二年级语文课程","createTime":1601136000000,"createUserId":1093809448606765057,"description":"小学二年级课程","difficulty":1,"difficultyDictMap":{"name":"普通","id":1},"gradeId":2,"gradeIdDictMap":{"name":"二年级","id":2},"pictureUrl":"[{\"name\":\"IMG_0455.JPG\",\"downloadUri\":\"/admin/coursepaper/course/download\",\"filename\":\"79651a658e88408888f847366fbf98d0.JPG\"}]","price":980.00,"subjectId":0,"subjectIdDictMap":{"name":"语文","id":0},"updateTime":1601136000000},{"classHour":30,"courseId":1016917732260319232,"courseName":"小学三年级语文课程","createTime":1601136000000,"createUserId":1093809448606765057,"description":"小学三年级语文课程","difficulty":1,"difficultyDictMap":{"name":"普通","id":1},"gradeId":3,"gradeIdDictMap":{"name":"三年级","id":3},"pictureUrl":"[{\"name\":\"IMG_0001.JPG\",\"downloadUri\":\"/admin/coursepaper/course/download\",\"filename\":\"0d11548eb91142d49a9253c0060d3f94.JPG\"}]","price":1080.00,"subjectId":0,"subjectIdDictMap":{"name":"语文","id":0},"updateTime":1601208479000},{"classHour":15,"courseId":1016920878164480000,"courseName":"小学数学一年级课程","createTime":1601136000000,"createUserId":1093809448606765057,"description":"小学数学一年级课程","difficulty":0,"difficultyDictMap":{"name":"容易","id":0},"gradeId":1,"gradeIdDictMap":{"name":"一年级","id":1},"pictureUrl":"[{\"name\":\"IMG_0010.JPG\",\"downloadUri\":\"/admin/coursepaper/course/download\",\"filename\":\"7e9583aba9594a98b1e0268837d2a5d0.JPG\"}]","price":388.00,"subjectId":1,"subjectIdDictMap":{"name":"数学","id":1},"updateTime":1601136000000},{"classHour":15,"courseId":1016923276064854016,"courseName":"小学英语一年级课程","createTime":1601136000000,"createUserId":1093809448606765057,"description":"小学英语一年级课程","difficulty":0,"difficultyDictMap":{"name":"容易","id":0},"gradeId":1,"gradeIdDictMap":{"name":"一年级","id":1},"pictureUrl":"[{\"name\":\"english.jpg\",\"downloadUri\":\"/admin/app/course/download\",\"filename\":\"44177c3674f543fda24222b8297ef203.jpg\"}]","price":399.00,"subjectId":2,"subjectIdDictMap":{"name":"英语","id":2},"updateTime":1601136000000}],"totalCount":5},"errorCode":"NO-ERROR","errorMessage":"NO-MESSAGE","success":true} +[INFO ] [2020-09-27 20:57:51] 请求Id[e88660764f8049988dceaecf5744413e] [http-nio-9001-exec-10] ==> [TxId: , SpanId: ] 开始请求,app=, url=/studentClass/viewClassCourse, reqData=[1016971499387228160,1016917732260319232] +[DEBUG] [2020-09-27 20:57:51] 请求Id[e88660764f8049988dceaecf5744413e] [http-nio-9001-exec-10] ==> [TxId: , SpanId: ] ==> Preparing: SELECT class_id,course_id,course_order FROM zz_class_course WHERE ( ( class_id = ? and course_id = ? ) ) +[DEBUG] [2020-09-27 20:57:51] 请求Id[e88660764f8049988dceaecf5744413e] [http-nio-9001-exec-10] ==> [TxId: , SpanId: ] ==> Parameters: 1016971499387228160(Long), 1016917732260319232(Long) +[DEBUG] [2020-09-27 20:57:51] 请求Id[e88660764f8049988dceaecf5744413e] [http-nio-9001-exec-10] ==> [TxId: , SpanId: ] <== Total: 1 +[INFO ] [2020-09-27 20:57:51] 请求Id[e88660764f8049988dceaecf5744413e] [http-nio-9001-exec-10] ==> [TxId: , SpanId: ] 请求完成, app=, url=/studentClass/viewClassCourse,elapse=4ms, respData={"data":{"classId":1016971499387228160,"courseId":1016917732260319232,"courseOrder":0},"errorCode":"NO-ERROR","errorMessage":"NO-MESSAGE","success":true} +[INFO ] [2020-09-27 20:57:54] 请求Id[d6fcd775ed074cbd8ddf5b1c4a80b897] [http-nio-9001-exec-1] ==> [TxId: , SpanId: ] 开始请求,app=, url=/studentClass/updateClassCourse, reqData=[{"classId":1016971499387228160,"courseId":1016917732260319232,"courseOrder":11}] +[DEBUG] [2020-09-27 20:57:54] 请求Id[d6fcd775ed074cbd8ddf5b1c4a80b897] [http-nio-9001-exec-1] ==> [TxId: , SpanId: ] ==> Preparing: UPDATE zz_class_course SET course_order = ? WHERE ( ( class_id = ? and course_id = ? ) ) +[DEBUG] [2020-09-27 20:57:54] 请求Id[d6fcd775ed074cbd8ddf5b1c4a80b897] [http-nio-9001-exec-1] ==> [TxId: , SpanId: ] ==> Parameters: 11(Integer), 1016971499387228160(Long), 1016917732260319232(Long) +[DEBUG] [2020-09-27 20:57:54] 请求Id[d6fcd775ed074cbd8ddf5b1c4a80b897] [http-nio-9001-exec-1] ==> [TxId: , SpanId: ] <== Updates: 1 +[INFO ] [2020-09-27 20:57:54] 请求Id[d6fcd775ed074cbd8ddf5b1c4a80b897] [http-nio-9001-exec-1] ==> [TxId: , SpanId: ] 请求完成, app=, url=/studentClass/updateClassCourse,elapse=10ms, respData={"errorCode":"NO-ERROR","errorMessage":"NO-MESSAGE","success":true} +[INFO ] [2020-09-27 20:57:54] 请求Id[f234a2cb62ab433b83d3901b55f1af6f] [http-nio-9001-exec-2] ==> [TxId: , SpanId: ] 开始请求,app=, url=/studentClass/listClassCourse, reqData=[1016971499387228160,null,null,{"pageNum":1,"pageSize":10}] +[DEBUG] [2020-09-27 20:57:54] 请求Id[f234a2cb62ab433b83d3901b55f1af6f] [http-nio-9001-exec-2] ==> [TxId: , SpanId: ] ==> Preparing: SELECT class_id,class_name,school_id,leader_id,finish_class_hour,class_level,create_user_id,create_time,status FROM zz_class WHERE ( ( class_id = ? and status = ? ) ) +[DEBUG] [2020-09-27 20:57:54] 请求Id[f234a2cb62ab433b83d3901b55f1af6f] [http-nio-9001-exec-2] ==> [TxId: , SpanId: ] ==> Parameters: 1016971499387228160(Long), 1(Integer) +[DEBUG] [2020-09-27 20:57:54] 请求Id[f234a2cb62ab433b83d3901b55f1af6f] [http-nio-9001-exec-2] ==> [TxId: , SpanId: ] <== Total: 1 +[DEBUG] [2020-09-27 20:57:54] 请求Id[f234a2cb62ab433b83d3901b55f1af6f] [http-nio-9001-exec-2] ==> [TxId: , SpanId: ] ==> Preparing: SELECT count(0) FROM zz_course, zz_class_course WHERE zz_class_course.class_id = ? AND zz_class_course.course_id = zz_course.course_id +[DEBUG] [2020-09-27 20:57:54] 请求Id[f234a2cb62ab433b83d3901b55f1af6f] [http-nio-9001-exec-2] ==> [TxId: , SpanId: ] ==> Parameters: 1016971499387228160(Long) +[DEBUG] [2020-09-27 20:57:54] 请求Id[f234a2cb62ab433b83d3901b55f1af6f] [http-nio-9001-exec-2] ==> [TxId: , SpanId: ] <== Total: 1 +[DEBUG] [2020-09-27 20:57:54] 请求Id[f234a2cb62ab433b83d3901b55f1af6f] [http-nio-9001-exec-2] ==> [TxId: , SpanId: ] ==> Preparing: SELECT zz_course.* FROM zz_course, zz_class_course WHERE zz_class_course.class_id = ? AND zz_class_course.course_id = zz_course.course_id LIMIT ? +[DEBUG] [2020-09-27 20:57:54] 请求Id[f234a2cb62ab433b83d3901b55f1af6f] [http-nio-9001-exec-2] ==> [TxId: , SpanId: ] ==> Parameters: 1016971499387228160(Long), 10(Integer) +[DEBUG] [2020-09-27 20:57:54] 请求Id[f234a2cb62ab433b83d3901b55f1af6f] [http-nio-9001-exec-2] ==> [TxId: , SpanId: ] <== Total: 5 +[INFO ] [2020-09-27 20:57:54] 请求Id[f234a2cb62ab433b83d3901b55f1af6f] [http-nio-9001-exec-2] ==> [TxId: , SpanId: ] 请求完成, app=, url=/studentClass/listClassCourse,elapse=20ms, respData={"data":{"dataList":[{"classHour":10,"courseId":1016699195411402752,"courseName":"小学一年级拼音基础练习","createTime":1601136000000,"createUserId":1093809448606765057,"description":"小学一年级拼音基础练习","difficulty":0,"difficultyDictMap":{"name":"容易","id":0},"gradeId":1,"gradeIdDictMap":{"name":"一年级","id":1},"pictureUrl":"[{\"name\":\"IMG_0003.JPG\",\"downloadUri\":\"/admin/coursepaper/course/download\",\"filename\":\"b09ef09478d8452d908600ff98b6f1ce.JPG\"}]","price":299.00,"subjectId":0,"subjectIdDictMap":{"name":"语文","id":0},"updateTime":1601136000000},{"classHour":25,"courseId":1016917385529790464,"courseName":"小学二年级语文课程","createTime":1601136000000,"createUserId":1093809448606765057,"description":"小学二年级课程","difficulty":1,"difficultyDictMap":{"name":"普通","id":1},"gradeId":2,"gradeIdDictMap":{"name":"二年级","id":2},"pictureUrl":"[{\"name\":\"IMG_0455.JPG\",\"downloadUri\":\"/admin/coursepaper/course/download\",\"filename\":\"79651a658e88408888f847366fbf98d0.JPG\"}]","price":980.00,"subjectId":0,"subjectIdDictMap":{"name":"语文","id":0},"updateTime":1601136000000},{"classHour":30,"courseId":1016917732260319232,"courseName":"小学三年级语文课程","createTime":1601136000000,"createUserId":1093809448606765057,"description":"小学三年级语文课程","difficulty":1,"difficultyDictMap":{"name":"普通","id":1},"gradeId":3,"gradeIdDictMap":{"name":"三年级","id":3},"pictureUrl":"[{\"name\":\"IMG_0001.JPG\",\"downloadUri\":\"/admin/coursepaper/course/download\",\"filename\":\"0d11548eb91142d49a9253c0060d3f94.JPG\"}]","price":1080.00,"subjectId":0,"subjectIdDictMap":{"name":"语文","id":0},"updateTime":1601208479000},{"classHour":15,"courseId":1016920878164480000,"courseName":"小学数学一年级课程","createTime":1601136000000,"createUserId":1093809448606765057,"description":"小学数学一年级课程","difficulty":0,"difficultyDictMap":{"name":"容易","id":0},"gradeId":1,"gradeIdDictMap":{"name":"一年级","id":1},"pictureUrl":"[{\"name\":\"IMG_0010.JPG\",\"downloadUri\":\"/admin/coursepaper/course/download\",\"filename\":\"7e9583aba9594a98b1e0268837d2a5d0.JPG\"}]","price":388.00,"subjectId":1,"subjectIdDictMap":{"name":"数学","id":1},"updateTime":1601136000000},{"classHour":15,"courseId":1016923276064854016,"courseName":"小学英语一年级课程","createTime":1601136000000,"createUserId":1093809448606765057,"description":"小学英语一年级课程","difficulty":0,"difficultyDictMap":{"name":"容易","id":0},"gradeId":1,"gradeIdDictMap":{"name":"一年级","id":1},"pictureUrl":"[{\"name\":\"english.jpg\",\"downloadUri\":\"/admin/app/course/download\",\"filename\":\"44177c3674f543fda24222b8297ef203.jpg\"}]","price":399.00,"subjectId":2,"subjectIdDictMap":{"name":"英语","id":2},"updateTime":1601136000000}],"totalCount":5},"errorCode":"NO-ERROR","errorMessage":"NO-MESSAGE","success":true} diff --git a/orange-demo-multi-service/zzlogs/gateway/gateway.log b/orange-demo-multi-service/zzlogs/gateway/gateway.log new file mode 100644 index 00000000..e3f5715a --- /dev/null +++ b/orange-demo-multi-service/zzlogs/gateway/gateway.log @@ -0,0 +1,108 @@ +[INFO ] [2020-09-27 20:46:34] 请求Id[] [main] ==> [TxId: , SpanId: ] The following profiles are active: dev +[INFO ] [2020-09-27 20:46:39] 请求Id[] [main] ==> [TxId: , SpanId: ] Started GatewayApplication in 6.543 seconds (JVM running for 8.309) +[INFO ] [2020-09-27 20:46:51] 请求Id[b5c6133a9297495d84b972e9c683b7db] [reactor-http-nio-3] ==> [TxId: , SpanId: ] 开始请求,app={gateway}, url=/admin/CourseClass/studentClass/list +[WARN ] [2020-09-27 20:46:51] 请求Id[b5c6133a9297495d84b972e9c683b7db] [reactor-http-nio-3] ==> [TxId: , SpanId: ] UNAUTHORIZED request [/admin/CourseClass/studentClass/list] from REMOTE-IP [10.24.85.32] because userId is empty in redis. +[INFO ] [2020-09-27 20:46:52] 请求Id[db2a7ba29cc94061be68a9a3921ec872] [reactor-http-nio-3] ==> [TxId: , SpanId: ] 开始请求,app={gateway}, url=/admin/login/doLogin +[INFO ] [2020-09-27 20:46:52] 请求Id[db2a7ba29cc94061be68a9a3921ec872] [reactor-http-nio-3] ==> [TxId: , SpanId: ] 请求完成, app={gateway}, url=/admin/login/doLogin,elapse=1 +[INFO ] [2020-09-27 20:46:56] 请求Id[dc955359b2b4444098fb7433f6e151e8] [reactor-http-nio-3] ==> [TxId: , SpanId: ] 开始请求,app={gateway}, url=/admin/CourseClass/student/list +[INFO ] [2020-09-27 20:46:56] 请求Id[dc955359b2b4444098fb7433f6e151e8] [reactor-http-nio-3] ==> [TxId: , SpanId: ] 请求完成, app={gateway}, url=/admin/CourseClass/student/list,elapse=52 +[INFO ] [2020-09-27 20:47:08] 请求Id[f8317800db124dc0999946feee3eba02] [reactor-http-nio-3] ==> [TxId: , SpanId: ] 开始请求,app={gateway}, url=/admin/CourseClass/grade/listDictGrade +[INFO ] [2020-09-27 20:47:08] 请求Id[f8317800db124dc0999946feee3eba02] [reactor-http-nio-3] ==> [TxId: , SpanId: ] 请求完成, app={gateway}, url=/admin/CourseClass/grade/listDictGrade,elapse=4 +[INFO ] [2020-09-27 20:47:11] 请求Id[9bf9018da2944cf48388241b14836db9] [reactor-http-nio-3] ==> [TxId: , SpanId: ] 开始请求,app={gateway}, url=/admin/CourseClass/areaCode/listDictAreaCodeByParentId +[INFO ] [2020-09-27 20:47:11] 请求Id[9bf9018da2944cf48388241b14836db9] [reactor-http-nio-3] ==> [TxId: , SpanId: ] 请求完成, app={gateway}, url=/admin/CourseClass/areaCode/listDictAreaCodeByParentId,elapse=4 +[INFO ] [2020-09-27 20:47:13] 请求Id[70022f272a284d7c85fee4ee18ba9fd4] [reactor-http-nio-3] ==> [TxId: , SpanId: ] 开始请求,app={gateway}, url=/admin/CourseClass/areaCode/listDictAreaCodeByParentId +[INFO ] [2020-09-27 20:47:13] 请求Id[70022f272a284d7c85fee4ee18ba9fd4] [reactor-http-nio-3] ==> [TxId: , SpanId: ] 请求完成, app={gateway}, url=/admin/CourseClass/areaCode/listDictAreaCodeByParentId,elapse=3 +[INFO ] [2020-09-27 20:47:14] 请求Id[f638e48c59a445ae85c7bb9d4cbe03ac] [reactor-http-nio-3] ==> [TxId: , SpanId: ] 开始请求,app={gateway}, url=/admin/CourseClass/areaCode/listDictAreaCodeByParentId +[INFO ] [2020-09-27 20:47:14] 请求Id[f638e48c59a445ae85c7bb9d4cbe03ac] [reactor-http-nio-3] ==> [TxId: , SpanId: ] 请求完成, app={gateway}, url=/admin/CourseClass/areaCode/listDictAreaCodeByParentId,elapse=5 +[INFO ] [2020-09-27 20:47:16] 请求Id[28ff388ffe974dc6980d969c9ccb5d44] [reactor-http-nio-3] ==> [TxId: , SpanId: ] 开始请求,app={gateway}, url=/admin/CourseClass/schoolInfo/listDictSchoolInfo +[INFO ] [2020-09-27 20:47:16] 请求Id[28ff388ffe974dc6980d969c9ccb5d44] [reactor-http-nio-3] ==> [TxId: , SpanId: ] 请求完成, app={gateway}, url=/admin/CourseClass/schoolInfo/listDictSchoolInfo,elapse=3 +[INFO ] [2020-09-27 20:47:18] 请求Id[aff4f25bf183454abf87f99175a47992] [reactor-http-nio-3] ==> [TxId: , SpanId: ] 开始请求,app={gateway}, url=/admin/CourseClass/student/add +[INFO ] [2020-09-27 20:47:18] 请求Id[aff4f25bf183454abf87f99175a47992] [reactor-http-nio-3] ==> [TxId: , SpanId: ] 请求完成, app={gateway}, url=/admin/CourseClass/student/add,elapse=4 +[INFO ] [2020-09-27 20:47:18] 请求Id[f8cdde56ee9d468dbb64b6fc0eb5e588] [reactor-http-nio-3] ==> [TxId: , SpanId: ] 开始请求,app={gateway}, url=/admin/CourseClass/student/list +[INFO ] [2020-09-27 20:47:18] 请求Id[f8cdde56ee9d468dbb64b6fc0eb5e588] [reactor-http-nio-3] ==> [TxId: , SpanId: ] 请求完成, app={gateway}, url=/admin/CourseClass/student/list,elapse=3 +[INFO ] [2020-09-27 20:47:20] 请求Id[152fa5471a0a41e28b5544c18075b796] [reactor-http-nio-3] ==> [TxId: , SpanId: ] 开始请求,app={gateway}, url=/admin/CourseClass/student/view +[INFO ] [2020-09-27 20:47:20] 请求Id[152fa5471a0a41e28b5544c18075b796] [reactor-http-nio-3] ==> [TxId: , SpanId: ] 请求完成, app={gateway}, url=/admin/CourseClass/student/view,elapse=4 +[INFO ] [2020-09-27 20:47:22] 请求Id[754db36c01f24f89a966dbbbede28fcd] [reactor-http-nio-3] ==> [TxId: , SpanId: ] 开始请求,app={gateway}, url=/admin/CourseClass/student/update +[INFO ] [2020-09-27 20:47:22] 请求Id[754db36c01f24f89a966dbbbede28fcd] [reactor-http-nio-3] ==> [TxId: , SpanId: ] 请求完成, app={gateway}, url=/admin/CourseClass/student/update,elapse=4 +[INFO ] [2020-09-27 20:47:22] 请求Id[595b9a3f6e754ed58b2d7b50bdef3a04] [reactor-http-nio-3] ==> [TxId: , SpanId: ] 开始请求,app={gateway}, url=/admin/CourseClass/student/list +[INFO ] [2020-09-27 20:47:22] 请求Id[595b9a3f6e754ed58b2d7b50bdef3a04] [reactor-http-nio-3] ==> [TxId: , SpanId: ] 请求完成, app={gateway}, url=/admin/CourseClass/student/list,elapse=3 +[INFO ] [2020-09-27 20:47:25] 请求Id[8937c7de3535464994ee5e6e39ac7598] [reactor-http-nio-3] ==> [TxId: , SpanId: ] 开始请求,app={gateway}, url=/admin/CourseClass/student/delete +[INFO ] [2020-09-27 20:47:25] 请求Id[8937c7de3535464994ee5e6e39ac7598] [reactor-http-nio-3] ==> [TxId: , SpanId: ] 请求完成, app={gateway}, url=/admin/CourseClass/student/delete,elapse=5 +[INFO ] [2020-09-27 20:47:25] 请求Id[322815eb8ed641c09c8ec1b8a66e4636] [reactor-http-nio-3] ==> [TxId: , SpanId: ] 开始请求,app={gateway}, url=/admin/CourseClass/student/list +[INFO ] [2020-09-27 20:47:25] 请求Id[322815eb8ed641c09c8ec1b8a66e4636] [reactor-http-nio-3] ==> [TxId: , SpanId: ] 请求完成, app={gateway}, url=/admin/CourseClass/student/list,elapse=4 +[INFO ] [2020-09-27 20:47:27] 请求Id[b5500f945d034a4580a8e7818d0d5f16] [reactor-http-nio-3] ==> [TxId: , SpanId: ] 开始请求,app={gateway}, url=/admin/CourseClass/studentClass/list +[INFO ] [2020-09-27 20:47:27] 请求Id[b5500f945d034a4580a8e7818d0d5f16] [reactor-http-nio-3] ==> [TxId: , SpanId: ] 请求完成, app={gateway}, url=/admin/CourseClass/studentClass/list,elapse=3 +[INFO ] [2020-09-27 20:47:29] 请求Id[94a21e6da790470b8d94751df09d019d] [reactor-http-nio-3] ==> [TxId: , SpanId: ] 开始请求,app={gateway}, url=/admin/CourseClass/studentClass/listClassStudent +[INFO ] [2020-09-27 20:47:29] 请求Id[94a21e6da790470b8d94751df09d019d] [reactor-http-nio-3] ==> [TxId: , SpanId: ] 请求完成, app={gateway}, url=/admin/CourseClass/studentClass/listClassStudent,elapse=4 +[INFO ] [2020-09-27 20:47:31] 请求Id[f10c3e6765a24ab799944e8053d1e763] [reactor-http-nio-3] ==> [TxId: , SpanId: ] 开始请求,app={gateway}, url=/admin/CourseClass/studentClass/listNotInClassStudent +[INFO ] [2020-09-27 20:47:31] 请求Id[f10c3e6765a24ab799944e8053d1e763] [reactor-http-nio-3] ==> [TxId: , SpanId: ] 请求完成, app={gateway}, url=/admin/CourseClass/studentClass/listNotInClassStudent,elapse=4 +[INFO ] [2020-09-27 20:47:33] 请求Id[9eb86ede264c480aaa003bf8838e3e8a] [reactor-http-nio-3] ==> [TxId: , SpanId: ] 开始请求,app={gateway}, url=/admin/CourseClass/studentClass/addClassStudent +[INFO ] [2020-09-27 20:47:33] 请求Id[9eb86ede264c480aaa003bf8838e3e8a] [reactor-http-nio-3] ==> [TxId: , SpanId: ] 请求完成, app={gateway}, url=/admin/CourseClass/studentClass/addClassStudent,elapse=4 +[INFO ] [2020-09-27 20:47:33] 请求Id[cbd2268781b245399b7b7371af6f893c] [reactor-http-nio-3] ==> [TxId: , SpanId: ] 开始请求,app={gateway}, url=/admin/CourseClass/studentClass/listNotInClassStudent +[INFO ] [2020-09-27 20:47:33] 请求Id[cbd2268781b245399b7b7371af6f893c] [reactor-http-nio-3] ==> [TxId: , SpanId: ] 请求完成, app={gateway}, url=/admin/CourseClass/studentClass/listNotInClassStudent,elapse=2 +[INFO ] [2020-09-27 20:47:35] 请求Id[f56e8dd535d943d8842e9094c0d33f49] [reactor-http-nio-3] ==> [TxId: , SpanId: ] 开始请求,app={gateway}, url=/admin/CourseClass/studentClass/listClassStudent +[INFO ] [2020-09-27 20:47:35] 请求Id[f56e8dd535d943d8842e9094c0d33f49] [reactor-http-nio-3] ==> [TxId: , SpanId: ] 请求完成, app={gateway}, url=/admin/CourseClass/studentClass/listClassStudent,elapse=4 +[INFO ] [2020-09-27 20:47:37] 请求Id[a901f51c155e4230954b91382ca0fab8] [reactor-http-nio-3] ==> [TxId: , SpanId: ] 开始请求,app={gateway}, url=/admin/CourseClass/studentClass/deleteClassStudent +[INFO ] [2020-09-27 20:47:37] 请求Id[a901f51c155e4230954b91382ca0fab8] [reactor-http-nio-3] ==> [TxId: , SpanId: ] 请求完成, app={gateway}, url=/admin/CourseClass/studentClass/deleteClassStudent,elapse=4 +[INFO ] [2020-09-27 20:47:37] 请求Id[4f9e887130c143b881552c90c2cf933a] [reactor-http-nio-3] ==> [TxId: , SpanId: ] 开始请求,app={gateway}, url=/admin/CourseClass/studentClass/listClassStudent +[INFO ] [2020-09-27 20:47:37] 请求Id[4f9e887130c143b881552c90c2cf933a] [reactor-http-nio-3] ==> [TxId: , SpanId: ] 请求完成, app={gateway}, url=/admin/CourseClass/studentClass/listClassStudent,elapse=3 +[INFO ] [2020-09-27 20:47:39] 请求Id[4f1d9908c5f04e94bd4c1376c9b5ca2b] [reactor-http-nio-3] ==> [TxId: , SpanId: ] 开始请求,app={gateway}, url=/admin/CourseClass/studentClass/list +[INFO ] [2020-09-27 20:47:39] 请求Id[4f1d9908c5f04e94bd4c1376c9b5ca2b] [reactor-http-nio-3] ==> [TxId: , SpanId: ] 请求完成, app={gateway}, url=/admin/CourseClass/studentClass/list,elapse=4 +[INFO ] [2020-09-27 20:47:42] 请求Id[d2e7a85fe6814b8eb125ac729c4d1ae8] [reactor-http-nio-3] ==> [TxId: , SpanId: ] 开始请求,app={gateway}, url=/admin/CourseClass/studentClass/listClassCourse +[INFO ] [2020-09-27 20:47:42] 请求Id[d2e7a85fe6814b8eb125ac729c4d1ae8] [reactor-http-nio-3] ==> [TxId: , SpanId: ] 请求完成, app={gateway}, url=/admin/CourseClass/studentClass/listClassCourse,elapse=4 +[INFO ] [2020-09-27 20:47:43] 请求Id[42d7098510944c1f84aa5739c2596947] [reactor-http-nio-3] ==> [TxId: , SpanId: ] 开始请求,app={gateway}, url=/admin/CourseClass/studentClass/viewClassCourse +[INFO ] [2020-09-27 20:47:43] 请求Id[42d7098510944c1f84aa5739c2596947] [reactor-http-nio-3] ==> [TxId: , SpanId: ] 请求完成, app={gateway}, url=/admin/CourseClass/studentClass/viewClassCourse,elapse=3 +[INFO ] [2020-09-27 20:47:45] 请求Id[2b7c9e6779354513b58d3f6598441236] [reactor-http-nio-3] ==> [TxId: , SpanId: ] 开始请求,app={gateway}, url=/admin/CourseClass/studentClass/updateClassCourse +[INFO ] [2020-09-27 20:47:45] 请求Id[2b7c9e6779354513b58d3f6598441236] [reactor-http-nio-3] ==> [TxId: , SpanId: ] 请求完成, app={gateway}, url=/admin/CourseClass/studentClass/updateClassCourse,elapse=3 +[INFO ] [2020-09-27 20:47:45] 请求Id[dd1924123271496c811557963f46d4a6] [reactor-http-nio-3] ==> [TxId: , SpanId: ] 开始请求,app={gateway}, url=/admin/CourseClass/studentClass/listClassCourse +[INFO ] [2020-09-27 20:47:45] 请求Id[dd1924123271496c811557963f46d4a6] [reactor-http-nio-3] ==> [TxId: , SpanId: ] 请求完成, app={gateway}, url=/admin/CourseClass/studentClass/listClassCourse,elapse=4 +[INFO ] [2020-09-27 20:47:46] 请求Id[3522fe56037e4f92adadfe5f9c01c6bb] [reactor-http-nio-3] ==> [TxId: , SpanId: ] 开始请求,app={gateway}, url=/admin/CourseClass/studentClass/viewClassCourse +[INFO ] [2020-09-27 20:47:46] 请求Id[3522fe56037e4f92adadfe5f9c01c6bb] [reactor-http-nio-3] ==> [TxId: , SpanId: ] 请求完成, app={gateway}, url=/admin/CourseClass/studentClass/viewClassCourse,elapse=4 +[INFO ] [2020-09-27 20:47:48] 请求Id[4618b7ca593b4bdca14e9c2c17544b8c] [reactor-http-nio-3] ==> [TxId: , SpanId: ] 开始请求,app={gateway}, url=/admin/CourseClass/studentClass/updateClassCourse +[INFO ] [2020-09-27 20:47:48] 请求Id[4618b7ca593b4bdca14e9c2c17544b8c] [reactor-http-nio-3] ==> [TxId: , SpanId: ] 请求完成, app={gateway}, url=/admin/CourseClass/studentClass/updateClassCourse,elapse=3 +[INFO ] [2020-09-27 20:47:48] 请求Id[249592723e3e4e90a75621d67793692f] [reactor-http-nio-3] ==> [TxId: , SpanId: ] 开始请求,app={gateway}, url=/admin/CourseClass/studentClass/listClassCourse +[INFO ] [2020-09-27 20:47:48] 请求Id[249592723e3e4e90a75621d67793692f] [reactor-http-nio-3] ==> [TxId: , SpanId: ] 请求完成, app={gateway}, url=/admin/CourseClass/studentClass/listClassCourse,elapse=3 +[INFO ] [2020-09-27 20:47:50] 请求Id[b3d24908483b40f2966d1fe517b124b2] [reactor-http-nio-3] ==> [TxId: , SpanId: ] 开始请求,app={gateway}, url=/admin/CourseClass/studentClass/listNotInClassCourse +[INFO ] [2020-09-27 20:47:50] 请求Id[b3d24908483b40f2966d1fe517b124b2] [reactor-http-nio-3] ==> [TxId: , SpanId: ] 请求完成, app={gateway}, url=/admin/CourseClass/studentClass/listNotInClassCourse,elapse=7 +[INFO ] [2020-09-27 20:47:53] 请求Id[6d86d7694b784e3794a2a8902ec35407] [reactor-http-nio-3] ==> [TxId: , SpanId: ] 开始请求,app={gateway}, url=/admin/CourseClass/studentClass/addClassCourse +[INFO ] [2020-09-27 20:47:53] 请求Id[6d86d7694b784e3794a2a8902ec35407] [reactor-http-nio-3] ==> [TxId: , SpanId: ] 请求完成, app={gateway}, url=/admin/CourseClass/studentClass/addClassCourse,elapse=3 +[INFO ] [2020-09-27 20:48:05] 请求Id[c80e35356a974829ae9b72079a3802ff] [reactor-http-nio-3] ==> [TxId: , SpanId: ] 开始请求,app={gateway}, url=/admin/CourseClass/studentClass/addClassCourse +[INFO ] [2020-09-27 20:48:05] 请求Id[c80e35356a974829ae9b72079a3802ff] [reactor-http-nio-3] ==> [TxId: , SpanId: ] 请求完成, app={gateway}, url=/admin/CourseClass/studentClass/addClassCourse,elapse=3 +[INFO ] [2020-09-27 20:48:16] 请求Id[cae64ee9db034f0fa9c4128d8585f047] [reactor-http-nio-3] ==> [TxId: , SpanId: ] 开始请求,app={gateway}, url=/admin/upms/sysMenu/list +[INFO ] [2020-09-27 20:48:16] 请求Id[cae64ee9db034f0fa9c4128d8585f047] [reactor-http-nio-3] ==> [TxId: , SpanId: ] 请求完成, app={gateway}, url=/admin/upms/sysMenu/list,elapse=3 +[INFO ] [2020-09-27 20:48:27] 请求Id[97258d1c293f4227883c2f5bc14b952c] [reactor-http-nio-3] ==> [TxId: , SpanId: ] 开始请求,app={gateway}, url=/admin/CourseClass/studentClass/list +[INFO ] [2020-09-27 20:48:27] 请求Id[97258d1c293f4227883c2f5bc14b952c] [reactor-http-nio-3] ==> [TxId: , SpanId: ] 请求完成, app={gateway}, url=/admin/CourseClass/studentClass/list,elapse=3 +[INFO ] [2020-09-27 20:48:28] 请求Id[a67b41601c574d378f8f321e46414077] [reactor-http-nio-3] ==> [TxId: , SpanId: ] 开始请求,app={gateway}, url=/admin/CourseClass/studentClass/listClassCourse +[INFO ] [2020-09-27 20:48:28] 请求Id[a67b41601c574d378f8f321e46414077] [reactor-http-nio-3] ==> [TxId: , SpanId: ] 请求完成, app={gateway}, url=/admin/CourseClass/studentClass/listClassCourse,elapse=4 +[INFO ] [2020-09-27 20:48:30] 请求Id[2865ff823d8e4cf1be948509cbf86bee] [reactor-http-nio-6] ==> [TxId: , SpanId: ] 开始请求,app={gateway}, url=/admin/CourseClass/studentClass/listNotInClassCourse +[INFO ] [2020-09-27 20:48:30] 请求Id[2865ff823d8e4cf1be948509cbf86bee] [reactor-http-nio-6] ==> [TxId: , SpanId: ] 请求完成, app={gateway}, url=/admin/CourseClass/studentClass/listNotInClassCourse,elapse=4 +[INFO ] [2020-09-27 20:48:33] 请求Id[22c9a1a7158a48dfab518c7ea06109e6] [reactor-http-nio-6] ==> [TxId: , SpanId: ] 开始请求,app={gateway}, url=/admin/CourseClass/studentClass/addClassCourse +[INFO ] [2020-09-27 20:48:33] 请求Id[22c9a1a7158a48dfab518c7ea06109e6] [reactor-http-nio-6] ==> [TxId: , SpanId: ] 请求完成, app={gateway}, url=/admin/CourseClass/studentClass/addClassCourse,elapse=3 +[INFO ] [2020-09-27 20:49:09] 请求Id[862b918112294fbbb9cd702fc52474fe] [reactor-http-nio-2] ==> [TxId: , SpanId: ] 开始请求,app={gateway}, url=/admin/CourseClass/studentClass/addClassCourse +[INFO ] [2020-09-27 20:49:09] 请求Id[862b918112294fbbb9cd702fc52474fe] [reactor-http-nio-2] ==> [TxId: , SpanId: ] 请求完成, app={gateway}, url=/admin/CourseClass/studentClass/addClassCourse,elapse=4 +[INFO ] [2020-09-27 20:57:24] 请求Id[ba25de33bf84438e9e019870061ee2ac] [reactor-http-nio-4] ==> [TxId: , SpanId: ] 开始请求,app={gateway}, url=/admin/CourseClass/studentClass/addClassCourse +[INFO ] [2020-09-27 20:57:24] 请求Id[ba25de33bf84438e9e019870061ee2ac] [reactor-http-nio-4] ==> [TxId: , SpanId: ] 请求完成, app={gateway}, url=/admin/CourseClass/studentClass/addClassCourse,elapse=10 +[INFO ] [2020-09-27 20:57:29] 请求Id[3bf8f684f01146f782f8e83beeb4569b] [reactor-http-nio-6] ==> [TxId: , SpanId: ] 开始请求,app={gateway}, url=/admin/CourseClass/studentClass/addClassCourse +[INFO ] [2020-09-27 20:57:29] 请求Id[3bf8f684f01146f782f8e83beeb4569b] [reactor-http-nio-6] ==> [TxId: , SpanId: ] 请求完成, app={gateway}, url=/admin/CourseClass/studentClass/addClassCourse,elapse=5 +[INFO ] [2020-09-27 20:57:30] 请求Id[79a68fb7084b4b4b9243d898e613d6a3] [reactor-http-nio-6] ==> [TxId: , SpanId: ] 开始请求,app={gateway}, url=/admin/CourseClass/studentClass/listNotInClassCourse +[INFO ] [2020-09-27 20:57:30] 请求Id[79a68fb7084b4b4b9243d898e613d6a3] [reactor-http-nio-6] ==> [TxId: , SpanId: ] 请求完成, app={gateway}, url=/admin/CourseClass/studentClass/listNotInClassCourse,elapse=4 +[INFO ] [2020-09-27 20:57:32] 请求Id[9bb6a2ffd6eb4cb8af0b699b7618e9c1] [reactor-http-nio-2] ==> [TxId: , SpanId: ] 开始请求,app={gateway}, url=/admin/CourseClass/studentClass/listClassCourse +[INFO ] [2020-09-27 20:57:32] 请求Id[9bb6a2ffd6eb4cb8af0b699b7618e9c1] [reactor-http-nio-2] ==> [TxId: , SpanId: ] 请求完成, app={gateway}, url=/admin/CourseClass/studentClass/listClassCourse,elapse=3 +[INFO ] [2020-09-27 20:57:39] 请求Id[2afbd5f076e3405980f8ccfe2b8565ad] [reactor-http-nio-4] ==> [TxId: , SpanId: ] 开始请求,app={gateway}, url=/admin/CourseClass/studentClass/deleteClassCourse +[INFO ] [2020-09-27 20:57:39] 请求Id[2afbd5f076e3405980f8ccfe2b8565ad] [reactor-http-nio-4] ==> [TxId: , SpanId: ] 请求完成, app={gateway}, url=/admin/CourseClass/studentClass/deleteClassCourse,elapse=3 +[INFO ] [2020-09-27 20:57:39] 请求Id[9dbdfe4aa6cf4f99a88c17909627a834] [reactor-http-nio-4] ==> [TxId: , SpanId: ] 开始请求,app={gateway}, url=/admin/CourseClass/studentClass/listClassCourse +[INFO ] [2020-09-27 20:57:39] 请求Id[9dbdfe4aa6cf4f99a88c17909627a834] [reactor-http-nio-4] ==> [TxId: , SpanId: ] 请求完成, app={gateway}, url=/admin/CourseClass/studentClass/listClassCourse,elapse=3 +[INFO ] [2020-09-27 20:57:41] 请求Id[c6aa5b57a77c4f329fd5fee2310b0ef9] [reactor-http-nio-5] ==> [TxId: , SpanId: ] 开始请求,app={gateway}, url=/admin/CourseClass/studentClass/listNotInClassCourse +[INFO ] [2020-09-27 20:57:41] 请求Id[c6aa5b57a77c4f329fd5fee2310b0ef9] [reactor-http-nio-5] ==> [TxId: , SpanId: ] 请求完成, app={gateway}, url=/admin/CourseClass/studentClass/listNotInClassCourse,elapse=3 +[INFO ] [2020-09-27 20:57:44] 请求Id[c99dad15534c4b56b4b0fc5d2c8a72e8] [reactor-http-nio-5] ==> [TxId: , SpanId: ] 开始请求,app={gateway}, url=/admin/CourseClass/studentClass/addClassCourse +[INFO ] [2020-09-27 20:57:44] 请求Id[c99dad15534c4b56b4b0fc5d2c8a72e8] [reactor-http-nio-5] ==> [TxId: , SpanId: ] 请求完成, app={gateway}, url=/admin/CourseClass/studentClass/addClassCourse,elapse=4 +[INFO ] [2020-09-27 20:57:44] 请求Id[1f61624648624deaa081fbc11077803b] [reactor-http-nio-5] ==> [TxId: , SpanId: ] 开始请求,app={gateway}, url=/admin/CourseClass/studentClass/listNotInClassCourse +[INFO ] [2020-09-27 20:57:44] 请求Id[1f61624648624deaa081fbc11077803b] [reactor-http-nio-5] ==> [TxId: , SpanId: ] 请求完成, app={gateway}, url=/admin/CourseClass/studentClass/listNotInClassCourse,elapse=3 +[INFO ] [2020-09-27 20:57:46] 请求Id[f310a125ca994acb92e89dbedbf757c3] [reactor-http-nio-5] ==> [TxId: , SpanId: ] 开始请求,app={gateway}, url=/admin/CourseClass/studentClass/listClassCourse +[INFO ] [2020-09-27 20:57:46] 请求Id[f310a125ca994acb92e89dbedbf757c3] [reactor-http-nio-5] ==> [TxId: , SpanId: ] 请求完成, app={gateway}, url=/admin/CourseClass/studentClass/listClassCourse,elapse=4 +[INFO ] [2020-09-27 20:57:51] 请求Id[e88660764f8049988dceaecf5744413e] [reactor-http-nio-8] ==> [TxId: , SpanId: ] 开始请求,app={gateway}, url=/admin/CourseClass/studentClass/viewClassCourse +[INFO ] [2020-09-27 20:57:51] 请求Id[e88660764f8049988dceaecf5744413e] [reactor-http-nio-8] ==> [TxId: , SpanId: ] 请求完成, app={gateway}, url=/admin/CourseClass/studentClass/viewClassCourse,elapse=3 +[INFO ] [2020-09-27 20:57:54] 请求Id[d6fcd775ed074cbd8ddf5b1c4a80b897] [reactor-http-nio-8] ==> [TxId: , SpanId: ] 开始请求,app={gateway}, url=/admin/CourseClass/studentClass/updateClassCourse +[INFO ] [2020-09-27 20:57:54] 请求Id[d6fcd775ed074cbd8ddf5b1c4a80b897] [reactor-http-nio-8] ==> [TxId: , SpanId: ] 请求完成, app={gateway}, url=/admin/CourseClass/studentClass/updateClassCourse,elapse=3 +[INFO ] [2020-09-27 20:57:54] 请求Id[f234a2cb62ab433b83d3901b55f1af6f] [reactor-http-nio-8] ==> [TxId: , SpanId: ] 开始请求,app={gateway}, url=/admin/CourseClass/studentClass/listClassCourse +[INFO ] [2020-09-27 20:57:54] 请求Id[f234a2cb62ab433b83d3901b55f1af6f] [reactor-http-nio-8] ==> [TxId: , SpanId: ] 请求完成, app={gateway}, url=/admin/CourseClass/studentClass/listClassCourse,elapse=4 diff --git a/orange-demo-multi-service/zzlogs/upms/upms.log b/orange-demo-multi-service/zzlogs/upms/upms.log new file mode 100644 index 00000000..f4d89d6c --- /dev/null +++ b/orange-demo-multi-service/zzlogs/upms/upms.log @@ -0,0 +1,19 @@ +[INFO ] [2020-09-27 20:46:19] 请求Id[] [main] ==> [TxId: , SpanId: ] The following profiles are active: dev +[INFO ] [2020-09-27 20:46:26] 请求Id[] [main] ==> [TxId: , SpanId: ] twepoch:1288834974657 ,ip:10.24.82.239 ,zkAddress:localhost:2181 port:19000 +[INFO ] [2020-09-27 20:46:26] 请求Id[] [main] ==> [TxId: , SpanId: ] file exists status is true +[INFO ] [2020-09-27 20:46:26] 请求Id[] [main] ==> [TxId: , SpanId: ] update file cache workId is 1 +[INFO ] [2020-09-27 20:46:26] 请求Id[] [main] ==> [TxId: , SpanId: ] START SUCCESS USE ZK WORKERID-1 +[INFO ] [2020-09-27 20:46:29] 请求Id[] [main] ==> [TxId: , SpanId: ] Started UpmsApplication in 11.222 seconds (JVM running for 13.27) +[INFO ] [2020-09-27 20:46:53] 请求Id[db2a7ba29cc94061be68a9a3921ec872] [http-nio-9000-exec-1] ==> [TxId: , SpanId: ] 开始请求,app=, url=/admin/login/doLogin, reqData=["admin","RONvlUdTPX4yAuYq%2BWUkfh7j7uF%2FK2TULt6h5HJv4uFQSrmNYsuloX2Z3r2zNcL2P6Bzs8lzHG%2B1Oaj8ICM0Hs0PKq0N2ZET40xkY9IKmTQqWZ5gZY1WkYKOO7yxHpDKhX9dz%2BbJvlLXF676wwttpTL7Ct8K%2Bwm5bfDiADndmLA%3D"] +[DEBUG] [2020-09-27 20:46:53] 请求Id[db2a7ba29cc94061be68a9a3921ec872] [http-nio-9000-exec-1] ==> [TxId: , SpanId: ] ==> Preparing: SELECT user_id,login_name,password,show_name,user_type,head_image_url,user_status,deleted_flag,create_user_id,create_username,create_time,update_time FROM zz_sys_user WHERE ( ( login_name = ? and deleted_flag = ? ) ) +[DEBUG] [2020-09-27 20:46:53] 请求Id[db2a7ba29cc94061be68a9a3921ec872] [http-nio-9000-exec-1] ==> [TxId: , SpanId: ] ==> Parameters: admin(String), 1(Integer) +[DEBUG] [2020-09-27 20:46:53] 请求Id[db2a7ba29cc94061be68a9a3921ec872] [http-nio-9000-exec-1] ==> [TxId: , SpanId: ] <== Total: 1 +[DEBUG] [2020-09-27 20:46:53] 请求Id[db2a7ba29cc94061be68a9a3921ec872] [http-nio-9000-exec-1] ==> [TxId: , SpanId: ] ==> Preparing: SELECT menu_id,parent_id,menu_name,menu_type,form_router_name,show_order,icon,create_time,deleted_flag FROM zz_sys_menu WHERE ( ( menu_type in ( ? , ? ) and deleted_flag = ? ) ) order by menu_type,show_order +[DEBUG] [2020-09-27 20:46:53] 请求Id[db2a7ba29cc94061be68a9a3921ec872] [http-nio-9000-exec-1] ==> [TxId: , SpanId: ] ==> Parameters: 1(Integer), 0(Integer), 1(Integer) +[DEBUG] [2020-09-27 20:46:53] 请求Id[db2a7ba29cc94061be68a9a3921ec872] [http-nio-9000-exec-1] ==> [TxId: , SpanId: ] <== Total: 15 +[INFO ] [2020-09-27 20:46:54] 请求Id[db2a7ba29cc94061be68a9a3921ec872] [http-nio-9000-exec-1] ==> [TxId: , SpanId: ] 请求完成, app=, url=/admin/login/doLogin,elapse=334ms, respData={"data":{"menuList":[{"createTime":1601136000000,"icon":"el-icon-setting","menuId":1093376634899927040,"menuName":"系统管理","menuType":0,"showOrder":1},{"createTime":1601136000000,"icon":"el-icon-s-goods","menuId":1093478813098840064,"menuName":"业务管理","menuType":0,"showOrder":10},{"createTime":1601136000000,"icon":"el-icon-s-data","menuId":1093478847987060736,"menuName":"统计管理","menuType":0,"showOrder":20},{"createTime":1601136000000,"formRouterName":"formSchool","menuId":1093478946238631936,"menuName":"校区管理","menuType":1,"parentId":1093478813098840064,"showOrder":1},{"createTime":1601136000000,"formRouterName":"formCourseStats","menuId":1093479249499394048,"menuName":"课程统计","menuType":1,"parentId":1093478847987060736,"showOrder":1},{"createTime":1601136000000,"formRouterName":"formStudent","menuId":1093479020943380480,"menuName":"学生管理","menuType":1,"parentId":1093478813098840064,"showOrder":5},{"createTime":1601136000000,"formRouterName":"formStudentActionStats","menuId":1093479313416392704,"menuName":"学生行为统计","menuType":1,"parentId":1093478847987060736,"showOrder":5},{"createTime":1601136000000,"formRouterName":"formCourse","menuId":1093479114610577408,"menuName":"课程管理","menuType":1,"parentId":1093478813098840064,"showOrder":10},{"createTime":1601136000000,"formRouterName":"formClass","menuId":1093479177793572864,"menuName":"班级管理","menuType":1,"parentId":1093478813098840064,"showOrder":15},{"createTime":1601136000000,"formRouterName":"formSysUser","menuId":1093376634916704256,"menuName":"用户管理","menuType":1,"parentId":1093376634899927040,"showOrder":100},{"createTime":1601136000000,"formRouterName":"formSysRole","menuId":1093376634916704258,"menuName":"角色管理","menuType":1,"parentId":1093376634899927040,"showOrder":110},{"createTime":1601136000000,"formRouterName":"formSysMenu","menuId":1093376634916704259,"menuName":"菜单管理","menuType":1,"parentId":1093376634899927040,"showOrder":120},{"createTime":1601136000000,"formRouterName":"formSysPermCode","menuId":1093376634916704260,"menuName":"权限字管理","menuType":1,"parentId":1093376634899927040,"showOrder":125},{"createTime":1601136000000,"formRouterName":"formSysPerm","menuId":1093376634916704261,"menuName":"权限管理","menuType":1,"parentId":1093376634899927040,"showOrder":130},{"createTime":1601136000000,"formRouterName":"formSysDict","menuId":1093376634916704262,"menuName":"字典管理","menuType":1,"parentId":1093376634899927040,"showOrder":135}],"showName":"管理员","tokenData":{"isAdmin":true,"sessionId":"25d44a92316e4a75a63585e5e1ddbdca","showName":"管理员","userId":1093809448606765057},"isAdmin":true},"errorCode":"NO-ERROR","errorMessage":"NO-MESSAGE","success":true} +[INFO ] [2020-09-27 20:48:16] 请求Id[cae64ee9db034f0fa9c4128d8585f047] [http-nio-9000-exec-3] ==> [TxId: , SpanId: ] 开始请求,app=, url=/sysMenu/list, reqData=[] +[DEBUG] [2020-09-27 20:48:16] 请求Id[cae64ee9db034f0fa9c4128d8585f047] [http-nio-9000-exec-3] ==> [TxId: , SpanId: ] ==> Preparing: SELECT menu_id,parent_id,menu_name,menu_type,form_router_name,show_order,icon,create_time,deleted_flag FROM zz_sys_menu WHERE ( ( deleted_flag = ? ) ) order by menu_type,show_order +[DEBUG] [2020-09-27 20:48:16] 请求Id[cae64ee9db034f0fa9c4128d8585f047] [http-nio-9000-exec-3] ==> [TxId: , SpanId: ] ==> Parameters: 1(Integer) +[DEBUG] [2020-09-27 20:48:16] 请求Id[cae64ee9db034f0fa9c4128d8585f047] [http-nio-9000-exec-3] ==> [TxId: , SpanId: ] <== Total: 78 +[INFO ] [2020-09-27 20:48:16] 请求Id[cae64ee9db034f0fa9c4128d8585f047] [http-nio-9000-exec-3] ==> [TxId: , SpanId: ] 请求完成, app=, url=/sysMenu/list,elapse=65ms, respData={"data":[{"createTime":1601136000000,"icon":"el-icon-setting","menuId":1093376634899927040,"menuName":"系统管理","menuType":0,"showOrder":1},{"createTime":1601136000000,"icon":"el-icon-s-goods","menuId":1093478813098840064,"menuName":"业务管理","menuType":0,"showOrder":10},{"createTime":1601136000000,"icon":"el-icon-s-data","menuId":1093478847987060736,"menuName":"统计管理","menuType":0,"showOrder":20},{"createTime":1601136000000,"formRouterName":"formSchool","menuId":1093478946238631936,"menuName":"校区管理","menuType":1,"parentId":1093478813098840064,"showOrder":1},{"createTime":1601136000000,"formRouterName":"formCourseStats","menuId":1093479249499394048,"menuName":"课程统计","menuType":1,"parentId":1093478847987060736,"showOrder":1},{"createTime":1601136000000,"formRouterName":"formStudent","menuId":1093479020943380480,"menuName":"学生管理","menuType":1,"parentId":1093478813098840064,"showOrder":5},{"createTime":1601136000000,"formRouterName":"formStudentActionStats","menuId":1093479313416392704,"menuName":"学生行为统计","menuType":1,"parentId":1093478847987060736,"showOrder":5},{"createTime":1601136000000,"formRouterName":"formCourse","menuId":1093479114610577408,"menuName":"课程管理","menuType":1,"parentId":1093478813098840064,"showOrder":10},{"createTime":1601136000000,"formRouterName":"formClass","menuId":1093479177793572864,"menuName":"班级管理","menuType":1,"parentId":1093478813098840064,"showOrder":15},{"createTime":1601136000000,"formRouterName":"formSysUser","menuId":1093376634916704256,"menuName":"用户管理","menuType":1,"parentId":1093376634899927040,"showOrder":100},{"createTime":1601136000000,"formRouterName":"formSysRole","menuId":1093376634916704258,"menuName":"角色管理","menuType":1,"parentId":1093376634899927040,"showOrder":110},{"createTime":1601136000000,"formRouterName":"formSysMenu","menuId":1093376634916704259,"menuName":"菜单管理","menuType":1,"parentId":1093376634899927040,"showOrder":120},{"createTime":1601136000000,"formRouterName":"formSysPermCode","menuId":1093376634916704260,"menuName":"权限字管理","menuType":1,"parentId":1093376634899927040,"showOrder":125},{"createTime":1601136000000,"formRouterName":"formSysPerm","menuId":1093376634916704261,"menuName":"权限管理","menuType":1,"parentId":1093376634899927040,"showOrder":130},{"createTime":1601136000000,"formRouterName":"formSysDict","menuId":1093376634916704262,"menuName":"字典管理","menuType":1,"parentId":1093376634899927040,"showOrder":135},{"createTime":1601136000000,"menuId":1093809448598376554,"menuName":"角色管理","menuType":2,"parentId":1093376634916704258,"showOrder":1},{"createTime":1601136000000,"menuId":1093809448598376555,"menuName":"用户授权","menuType":2,"parentId":1093376634916704258,"showOrder":2},{"createTime":1601136000000,"menuId":1093809448598376532,"menuName":"显示","menuType":3,"parentId":1093376634916704256,"showOrder":1},{"createTime":1601136000000,"menuId":1093809448598376648,"menuName":"显示","menuType":3,"parentId":1093479313416392704,"showOrder":1},{"createTime":1601136000000,"menuId":1093809448598376646,"menuName":"显示","menuType":3,"parentId":1093479249499394048,"showOrder":1},{"createTime":1601136000000,"menuId":1093809448598376639,"menuName":"显示","menuType":3,"parentId":1093479177793572864,"showOrder":1},{"createTime":1601136000000,"menuId":1093809448598376634,"menuName":"显示","menuType":3,"parentId":1093479114610577408,"showOrder":1},{"createTime":1601136000000,"menuId":1093809448598376556,"menuName":"显示","menuType":3,"parentId":1093809448598376554,"showOrder":1},{"createTime":1601136000000,"menuId":1093809448598376629,"menuName":"显示","menuType":3,"parentId":1093479020943380480,"showOrder":1},{"createTime":1601136000000,"menuId":1093809448598376624,"menuName":"显示","menuType":3,"parentId":1093478946238631936,"showOrder":1},{"createTime":1601136000000,"menuId":1093809448598376610,"menuName":"显示","menuType":3,"parentId":1093376634916704262,"showOrder":1},{"createTime":1601136000000,"menuId":1093809448598376560,"menuName":"显示","menuType":3,"parentId":1093809448598376555,"showOrder":1},{"createTime":1601136000000,"menuId":1093809448598376594,"menuName":"显示","menuType":3,"parentId":1093376634916704261,"showOrder":1},{"createTime":1601136000000,"menuId":1093809448598376584,"menuName":"显示","menuType":3,"parentId":1093376634916704260,"showOrder":1},{"createTime":1601136000000,"menuId":1093809448598376572,"menuName":"显示","menuType":3,"parentId":1093376634916704259,"showOrder":1},{"createTime":1601136000000,"menuId":1093809448598376573,"menuName":"新增","menuType":3,"parentId":1093376634916704259,"showOrder":2},{"createTime":1601136000000,"menuId":1093809448598376557,"menuName":"新增","menuType":3,"parentId":1093809448598376554,"showOrder":2},{"createTime":1601136000000,"menuId":1093809448598376649,"menuName":"学生行为详情","menuType":3,"parentId":1093479313416392704,"showOrder":2},{"createTime":1601136000000,"menuId":1093809448598376533,"menuName":"新增","menuType":3,"parentId":1093376634916704256,"showOrder":2},{"createTime":1601136000000,"menuId":1093809448598376640,"menuName":"新建","menuType":3,"parentId":1093479177793572864,"showOrder":2},{"createTime":1601136000000,"menuId":1093809448598376585,"menuName":"新增","menuType":3,"parentId":1093376634916704260,"showOrder":2},{"createTime":1601136000000,"menuId":1093809448598376635,"menuName":"新建","menuType":3,"parentId":1093479114610577408,"showOrder":2},{"createTime":1601136000000,"menuId":1093809448598376630,"menuName":"新建","menuType":3,"parentId":1093479020943380480,"showOrder":2},{"createTime":1601136000000,"menuId":1093809448598376561,"menuName":"授权用户","menuType":3,"parentId":1093809448598376555,"showOrder":2},{"createTime":1601136000000,"menuId":1093809448598376595,"menuName":"新增模块","menuType":3,"parentId":1093376634916704261,"showOrder":2},{"createTime":1601136000000,"menuId":1093809448598376625,"menuName":"新建","menuType":3,"parentId":1093478946238631936,"showOrder":2},{"createTime":1601136000000,"menuId":1093809448598376611,"menuName":"新增","menuType":3,"parentId":1093376634916704262,"showOrder":2},{"createTime":1601136000000,"menuId":1093809448598376574,"menuName":"编辑","menuType":3,"parentId":1093376634916704259,"showOrder":3},{"createTime":1601136000000,"menuId":1093809448598376636,"menuName":"编辑","menuType":3,"parentId":1093479114610577408,"showOrder":3},{"createTime":1601136000000,"menuId":1093809448598376612,"menuName":"编辑","menuType":3,"parentId":1093376634916704262,"showOrder":3},{"createTime":1601136000000,"menuId":1093809448598376558,"menuName":"编辑","menuType":3,"parentId":1093809448598376554,"showOrder":3},{"createTime":1601136000000,"menuId":1093809448598376596,"menuName":"编辑模块","menuType":3,"parentId":1093376634916704261,"showOrder":3},{"createTime":1601136000000,"menuId":1093809448598376626,"menuName":"编辑","menuType":3,"parentId":1093478946238631936,"showOrder":3},{"createTime":1601136000000,"menuId":1093809448598376631,"menuName":"编辑","menuType":3,"parentId":1093479020943380480,"showOrder":3},{"createTime":1601136000000,"menuId":1093809448598376586,"menuName":"编辑","menuType":3,"parentId":1093376634916704260,"showOrder":3},{"createTime":1601136000000,"menuId":1093809448598376562,"menuName":"移除用户","menuType":3,"parentId":1093809448598376555,"showOrder":3},{"createTime":1601136000000,"menuId":1093809448598376641,"menuName":"编辑","menuType":3,"parentId":1093479177793572864,"showOrder":3},{"createTime":1601136000000,"menuId":1093809448598376650,"menuName":"学生行为详情","menuType":3,"parentId":1093479313416392704,"showOrder":3},{"createTime":1601136000000,"menuId":1093809448598376534,"menuName":"编辑","menuType":3,"parentId":1093376634916704256,"showOrder":3},{"createTime":1601136000000,"menuId":1093809448598376559,"menuName":"删除","menuType":3,"parentId":1093809448598376554,"showOrder":4},{"createTime":1601136000000,"menuId":1093809448598376597,"menuName":"删除模块","menuType":3,"parentId":1093376634916704261,"showOrder":4},{"createTime":1601136000000,"menuId":1093809448598376613,"menuName":"删除","menuType":3,"parentId":1093376634916704262,"showOrder":4},{"createTime":1601136000000,"menuId":1093809448598376627,"menuName":"删除","menuType":3,"parentId":1093478946238631936,"showOrder":4},{"createTime":1601136000000,"menuId":1093809448598376587,"menuName":"删除","menuType":3,"parentId":1093376634916704260,"showOrder":4},{"createTime":1601136000000,"menuId":1093809448598376632,"menuName":"删除","menuType":3,"parentId":1093479020943380480,"showOrder":4},{"createTime":1601136000000,"menuId":1093809448598376651,"menuName":"学生行为详情","menuType":3,"parentId":1093479313416392704,"showOrder":4},{"createTime":1601136000000,"menuId":1093809448598376637,"menuName":"删除","menuType":3,"parentId":1093479114610577408,"showOrder":4},{"createTime":1601136000000,"menuId":1093809448598376535,"menuName":"删除","menuType":3,"parentId":1093376634916704256,"showOrder":4},{"createTime":1601136000000,"menuId":1093809448598376642,"menuName":"学生","menuType":3,"parentId":1093479177793572864,"showOrder":4},{"createTime":1601136000000,"menuId":1093809448598376575,"menuName":"删除","menuType":3,"parentId":1093376634916704259,"showOrder":4},{"createTime":1601136000000,"menuId":1093809448598376652,"menuName":"学生行为详情","menuType":3,"parentId":1093479313416392704,"showOrder":5},{"createTime":1601136000000,"menuId":1093809448598376614,"menuName":"同步缓存","menuType":3,"parentId":1093376634916704262,"showOrder":5},{"createTime":1601136000000,"menuId":1093809448598376598,"menuName":"新增权限","menuType":3,"parentId":1093376634916704261,"showOrder":5},{"createTime":1601136000000,"menuId":1093809448598376536,"menuName":"重置密码","menuType":3,"parentId":1093376634916704256,"showOrder":5},{"createTime":1601136000000,"menuId":1093809448598376643,"menuName":"课程","menuType":3,"parentId":1093479177793572864,"showOrder":5},{"createTime":1601136000000,"menuId":1093809448598376576,"menuName":"权限列表","menuType":3,"parentId":1093376634916704259,"showOrder":5},{"createTime":1601136000000,"menuId":1093809448598376644,"menuName":"删除","menuType":3,"parentId":1093479177793572864,"showOrder":6},{"createTime":1601136000000,"menuId":1093809448598376599,"menuName":"编辑权限","menuType":3,"parentId":1093376634916704261,"showOrder":6},{"createTime":1601136000000,"menuId":1093809448598376653,"menuName":"学生行为详情","menuType":3,"parentId":1093479313416392704,"showOrder":6},{"createTime":1601136000000,"menuId":1093809448598376600,"menuName":"删除权限","menuType":3,"parentId":1093376634916704261,"showOrder":7},{"createTime":1601136000000,"menuId":1093809448598376654,"menuName":"学生行为详情","menuType":3,"parentId":1093479313416392704,"showOrder":7},{"createTime":1601136000000,"menuId":1093809448598376655,"menuName":"学生行为详情","menuType":3,"parentId":1093479313416392704,"showOrder":8},{"createTime":1601136000000,"menuId":1093809448598376656,"menuName":"学生行为详情","menuType":3,"parentId":1093479313416392704,"showOrder":9}],"errorCode":"NO-ERROR","errorMessage":"NO-MESSAGE","success":true} diff --git a/orange-demo-multi-web/public/index.html b/orange-demo-multi-web/public/index.html index 776f14f9..37e411e8 100644 --- a/orange-demo-multi-web/public/index.html +++ b/orange-demo-multi-web/public/index.html @@ -5,11 +5,11 @@ - 橙单示例工程 + 橙单工程
diff --git a/orange-demo-multi-web/src/api/Controller/ClassController.js b/orange-demo-multi-web/src/api/Controller/ClassController.js deleted file mode 100644 index 04019a83..00000000 --- a/orange-demo-multi-web/src/api/Controller/ClassController.js +++ /dev/null @@ -1,65 +0,0 @@ -export default class ClassController { - static list (sender, params, axiosOption, httpOption) { - return sender.doUrl('/admin/CourseClass/class/list', 'post', params, axiosOption, httpOption); - } - - static view (sender, params, axiosOption, httpOption) { - return sender.doUrl('/admin/CourseClass/class/view', 'get', params, axiosOption, httpOption); - } - - static export (sender, params, fileName) { - return sender.download('/admin/CourseClass/class/export', params, fileName); - } - - static add (sender, params, axiosOption, httpOption) { - return sender.doUrl('/admin/CourseClass/class/add', 'post', params, axiosOption, httpOption); - } - - static update (sender, params, axiosOption, httpOption) { - return sender.doUrl('/admin/CourseClass/class/update', 'post', params, axiosOption, httpOption); - } - - static delete (sender, params, axiosOption, httpOption) { - return sender.doUrl('/admin/CourseClass/class/delete', 'post', params, axiosOption, httpOption); - } - - static listClassCourse (sender, params, axiosOption, httpOption) { - return sender.doUrl('/admin/CourseClass/class/listClassCourse', 'post', params, axiosOption, httpOption); - } - - static listNotInClassCourse (sender, params, axiosOption, httpOption) { - return sender.doUrl('/admin/CourseClass/class/listNotInClassCourse', 'post', params, axiosOption, httpOption); - } - - static addClassCourse (sender, params, axiosOption, httpOption) { - return sender.doUrl('/admin/CourseClass/class/addClassCourse', 'post', params, axiosOption, httpOption); - } - - static updateClassCourse (sender, params, axiosOption, httpOption) { - return sender.doUrl('/admin/CourseClass/class/updateClassCourse', 'post', params, axiosOption, httpOption); - } - - static deleteClassCourse (sender, params, axiosOption, httpOption) { - return sender.doUrl('/admin/CourseClass/class/deleteClassCourse', 'post', params, axiosOption, httpOption); - } - - static listClassStudent (sender, params, axiosOption, httpOption) { - return sender.doUrl('/admin/CourseClass/class/listClassStudent', 'post', params, axiosOption, httpOption); - } - - static listNotInClassStudent (sender, params, axiosOption, httpOption) { - return sender.doUrl('/admin/CourseClass/class/listNotInClassStudent', 'post', params, axiosOption, httpOption); - } - - static addClassStudent (sender, params, axiosOption, httpOption) { - return sender.doUrl('/admin/CourseClass/class/addClassStudent', 'post', params, axiosOption, httpOption); - } - - static updateClassStudent (sender, params, axiosOption, httpOption) { - return sender.doUrl('/admin/CourseClass/class/updateClassStudent', 'post', params, axiosOption, httpOption); - } - - static deleteClassStudent (sender, params, axiosOption, httpOption) { - return sender.doUrl('/admin/CourseClass/class/deleteClassStudent', 'post', params, axiosOption, httpOption); - } -} diff --git a/orange-demo-multi-web/src/api/Controller/StudentClassController.js b/orange-demo-multi-web/src/api/Controller/StudentClassController.js index d3d69101..86a65378 100644 --- a/orange-demo-multi-web/src/api/Controller/StudentClassController.js +++ b/orange-demo-multi-web/src/api/Controller/StudentClassController.js @@ -35,12 +35,16 @@ export default class StudentClassController { return sender.doUrl('/admin/CourseClass/studentClass/addClassCourse', 'post', params, axiosOption, httpOption); } + static deleteClassCourse (sender, params, axiosOption, httpOption) { + return sender.doUrl('/admin/CourseClass/studentClass/deleteClassCourse', 'post', params, axiosOption, httpOption); + } + static updateClassCourse (sender, params, axiosOption, httpOption) { return sender.doUrl('/admin/CourseClass/studentClass/updateClassCourse', 'post', params, axiosOption, httpOption); } - static deleteClassCourse (sender, params, axiosOption, httpOption) { - return sender.doUrl('/admin/CourseClass/studentClass/deleteClassCourse', 'post', params, axiosOption, httpOption); + static viewClassCourse (sender, params, axiosOption, httpOption) { + return sender.doUrl('/admin/CourseClass/studentClass/viewClassCourse', 'get', params, axiosOption, httpOption); } static listClassStudent (sender, params, axiosOption, httpOption) { @@ -55,10 +59,6 @@ export default class StudentClassController { return sender.doUrl('/admin/CourseClass/studentClass/addClassStudent', 'post', params, axiosOption, httpOption); } - static updateClassStudent (sender, params, axiosOption, httpOption) { - return sender.doUrl('/admin/CourseClass/studentClass/updateClassStudent', 'post', params, axiosOption, httpOption); - } - static deleteClassStudent (sender, params, axiosOption, httpOption) { return sender.doUrl('/admin/CourseClass/studentClass/deleteClassStudent', 'post', params, axiosOption, httpOption); } diff --git a/orange-demo-multi-web/src/api/Controller/SysDeptController.js b/orange-demo-multi-web/src/api/Controller/SysDeptController.js deleted file mode 100644 index c4f69226..00000000 --- a/orange-demo-multi-web/src/api/Controller/SysDeptController.js +++ /dev/null @@ -1,25 +0,0 @@ -export default class SysDeptController { - static list (sender, params, axiosOption, httpOption) { - return sender.doUrl('/admin/upms/sysDept/list', 'post', params, axiosOption, httpOption); - } - - static view (sender, params, axiosOption, httpOption) { - return sender.doUrl('/admin/upms/sysDept/view', 'get', params, axiosOption, httpOption); - } - - static export (sender, params, fileName) { - return sender.download('/admin/upms/sysDept/export', params, fileName); - } - - static add (sender, params, axiosOption, httpOption) { - return sender.doUrl('/admin/upms/sysDept/add', 'post', params, axiosOption, httpOption); - } - - static update (sender, params, axiosOption, httpOption) { - return sender.doUrl('/admin/upms/sysDept/update', 'post', params, axiosOption, httpOption); - } - - static delete (sender, params, axiosOption, httpOption) { - return sender.doUrl('/admin/upms/sysDept/delete', 'post', params, axiosOption, httpOption); - } -} diff --git a/orange-demo-multi-web/src/assets/img/login_bg.jpg b/orange-demo-multi-web/src/assets/img/login_bg.jpg index 74474f84..efc558de 100644 Binary files a/orange-demo-multi-web/src/assets/img/login_bg.jpg and b/orange-demo-multi-web/src/assets/img/login_bg.jpg differ diff --git a/orange-demo-multi-web/src/router/systemRouters.js b/orange-demo-multi-web/src/router/systemRouters.js index 992adf39..dac9c6b0 100644 --- a/orange-demo-multi-web/src/router/systemRouters.js +++ b/orange-demo-multi-web/src/router/systemRouters.js @@ -37,14 +37,14 @@ const routers = [ {path: 'formSchool', component: _import('generated/formSchool/index'), name: 'formSchool', props: getProps, meta: {title: '校区管理'}}, {path: 'formStudent', component: _import('generated/formStudent/index'), name: 'formStudent', props: getProps, meta: {title: '学生管理'}}, {path: 'formCourse', component: _import('generated/formCourse/index'), name: 'formCourse', props: getProps, meta: {title: '课程管理'}}, + {path: 'formCourseStats', component: _import('generated/formCourseStats/index'), name: 'formCourseStats', props: getProps, meta: {title: '课程统计'}}, + {path: 'formStudentActionStats', component: _import('generated/formStudentActionStats/index'), name: 'formStudentActionStats', props: getProps, meta: {title: '学生行为统计'}}, + {path: 'formStudentActionDetail', component: _import('generated/formStudentActionDetail/index'), name: 'formStudentActionDetail', props: getProps, meta: {title: '学生行为详情'}}, {path: 'formClass', component: _import('generated/formClass/index'), name: 'formClass', props: getProps, meta: {title: '班级管理'}}, {path: 'formClassStudent', component: _import('generated/formClassStudent/index'), name: 'formClassStudent', props: getProps, meta: {title: '班级学生'}}, {path: 'formClassCourse', component: _import('generated/formClassCourse/index'), name: 'formClassCourse', props: getProps, meta: {title: '班级课程'}}, {path: 'formSetClassStudent', component: _import('generated/formSetClassStudent/index'), name: 'formSetClassStudent', props: getProps, meta: {title: '设置班级学生'}}, - {path: 'formSetClassCourse', component: _import('generated/formSetClassCourse/index'), name: 'formSetClassCourse', props: getProps, meta: {title: '设置班级课程'}}, - {path: 'formCourseStats', component: _import('generated/formCourseStats/index'), name: 'formCourseStats', props: getProps, meta: {title: '课程统计'}}, - {path: 'formStudentActionStats', component: _import('generated/formStudentActionStats/index'), name: 'formStudentActionStats', props: getProps, meta: {title: '学生行为统计'}}, - {path: 'formStudentActionDetail', component: _import('generated/formStudentActionDetail/index'), name: 'formStudentActionDetail', props: getProps, meta: {title: '学生行为详情'}} + {path: 'formSetClassCourse', component: _import('generated/formSetClassCourse/index'), name: 'formSetClassCourse', props: getProps, meta: {title: '设置班级课程'}} ] } ]; diff --git a/orange-demo-multi-web/src/views/generated/formClass/index.vue b/orange-demo-multi-web/src/views/generated/formClass/index.vue index 82f38f62..1bc89adb 100644 --- a/orange-demo-multi-web/src/views/generated/formClass/index.vue +++ b/orange-demo-multi-web/src/views/generated/formClass/index.vue @@ -31,9 +31,9 @@ - - + @@ -42,17 +42,21 @@ - + - + + @current-change="formClass.StudentClass.impl.onCurrentPageChange" + @size-change="formClass.StudentClass.impl.onPageSizeChange"> @@ -86,6 +86,8 @@ diff --git a/orange-demo-multi-web/src/views/generated/formEditCourse/index.vue b/orange-demo-multi-web/src/views/generated/formEditCourse/index.vue index 49b7ddcf..9a3826e2 100644 --- a/orange-demo-multi-web/src/views/generated/formEditCourse/index.vue +++ b/orange-demo-multi-web/src/views/generated/formEditCourse/index.vue @@ -91,6 +91,8 @@ diff --git a/orange-demo-single-web/src/views/generated/formSetClassCourse/index.vue b/orange-demo-single-web/src/views/generated/formSetClassCourse/index.vue index a6c1ed4c..9f7baa65 100644 --- a/orange-demo-single-web/src/views/generated/formSetClassCourse/index.vue +++ b/orange-demo-single-web/src/views/generated/formSetClassCourse/index.vue @@ -51,7 +51,7 @@ - +