diff --git a/web/pom.xml b/web/pom.xml
index b932d537..cbf2c7f2 100644
--- a/web/pom.xml
+++ b/web/pom.xml
@@ -17,6 +17,11 @@
+
+ com.ibeetl
+ tianze-spring-boot-starter-test
+ 1.3.1
+
com.ibeetl
admin-core
diff --git a/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseMergeSchoolClassService.java b/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseMergeSchoolClassService.java
index da402eb4..9d546a9b 100644
--- a/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseMergeSchoolClassService.java
+++ b/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseMergeSchoolClassService.java
@@ -107,8 +107,14 @@ public class TeacherOpenCourseMergeSchoolClassService extends CoreBaseService teacherOpenCourseMergeStudentList = Optional
+ // 查询该班级下的学生列表
.fromNullable(schoolClassStudentDao.getValuesByQuery(schoolClassStudentQuery)).get()
.stream().map(scs -> {
TeacherOpenCourseMergeStudent entity = new TeacherOpenCourseMergeStudent();
@@ -127,13 +134,14 @@ public class TeacherOpenCourseMergeSchoolClassService extends CoreBaseService list(TeacherOpenCourseMergeStudentQuery condition){
@@ -136,6 +145,13 @@ public class TeacherOpenCourseMergeStudentController{
}
}
+ /**
+ * 添加开课学生等操作
+ * @param teacherOpenCourseMergeStudentQuery
+ * @param result
+ * @param coreUser
+ * @return
+ */
@PostMapping(MODEL + "/add.json")
@Function("teacherOpenCourseMergeStudent.add")
public JsonResult add(@Validated(ValidateConfig.ADD.class) TeacherOpenCourseMergeStudentQuery teacherOpenCourseMergeStudentQuery, BindingResult result,@SCoreUser CoreUser coreUser){
@@ -181,6 +197,13 @@ public class TeacherOpenCourseMergeStudentController{
}
+ /**
+ * 开课关联学生的关系解除操作
+ *
+ * 只需要删除该关联ID则关联
+ * @param ids
+ * @return
+ */
@PostMapping(MODEL + "/delete.json")
@Function("teacherOpenCourseMergeStudent.delete")
@ResponseBody
@@ -189,6 +212,13 @@ public class TeacherOpenCourseMergeStudentController{
return JsonResult.success();
}
+ /**
+ * 可以根据条件批量删除
+ *
+ * SQL中已经做安全处理,防止没有条件的情况,误删操作
+ * @param teacherOpenCourseMergeStudent
+ * @return
+ */
@PostMapping(MODEL + "/deleteByCondition.json")
@Function("teacherOpenCourseMergeStudent.delete")
@ResponseBody
diff --git a/web/src/main/java/com/ibeetl/jlw/web/query/TeacherOpenCourseMergeStudentQuery.java b/web/src/main/java/com/ibeetl/jlw/web/query/TeacherOpenCourseMergeStudentQuery.java
index d53de117..175afb0c 100644
--- a/web/src/main/java/com/ibeetl/jlw/web/query/TeacherOpenCourseMergeStudentQuery.java
+++ b/web/src/main/java/com/ibeetl/jlw/web/query/TeacherOpenCourseMergeStudentQuery.java
@@ -15,8 +15,10 @@ public class TeacherOpenCourseMergeStudentQuery extends PageParam {
@NotNull(message = "ID不能为空", groups =ValidateConfig.UPDATE.class)
@Query(name = "课程开课-班级-学生-关联ID", display = true)
private Long teacherOpenCourseSchoolClassMergeStudentId;
+ @NotNull(message = "课程开课ID不能为空", groups =ValidateConfig.ADD.class)
@Query(name = "课程开课ID", display = true,type=Query.TYPE_DICT,dict="teacher_open_course.teacher_open_course_title.teacher_open_course_status=1")
private Long teacherOpenCourseId;
+ @NotNull(message = "学生ID不能为空", groups =ValidateConfig.ADD.class)
@Query(name = "学生ID", display = true,type=Query.TYPE_DICT,dict="student.student_name.student_status=1")
private Long studentId;
@Query(name = "组织ID", display = false)
@@ -32,6 +34,8 @@ public class TeacherOpenCourseMergeStudentQuery extends PageParam {
private String orgIdPlural;
private String userIdPlural;
+ private Long schoolClassId;
+
private String teacherOpenCourseMergeStudentJsonStr;//json格式
private String _given;//指定更新的特定字段,多个逗号隔开
@@ -126,4 +130,12 @@ public class TeacherOpenCourseMergeStudentQuery extends PageParam {
public void set_given(String _given) {
this._given = _given;
}
+
+ public Long getSchoolClassId() {
+ return schoolClassId;
+ }
+
+ public void setSchoolClassId(Long schoolClassId) {
+ this.schoolClassId = schoolClassId;
+ }
}
diff --git a/web/src/main/resources/sql/jlw/teacherOpenCourseMergeStudent.md b/web/src/main/resources/sql/jlw/teacherOpenCourseMergeStudent.md
index 397ec248..7caeb17f 100644
--- a/web/src/main/resources/sql/jlw/teacherOpenCourseMergeStudent.md
+++ b/web/src/main/resources/sql/jlw/teacherOpenCourseMergeStudent.md
@@ -5,8 +5,17 @@ queryByCondition
select
@pageTag(){
t.*
+ @if(!isEmpty(schoolClassId)){
+ , tb.school_class_id, tc.class_name
+ @}
@}
from teacher_open_course_merge_student t
+ @if(!isEmpty(schoolClassId)){
+ left join teacher_open_course tz on tz.teacher_open_course_id = t.teacher_open_course_id
+ left join school_class_student ta on ta.student_id = t.student_id
+ left join teacher_open_course_merge_school_class tb on tb.school_class_id = ta.school_class_id
+ left join school_class tc on tc.class_id = tb.school_class_id
+ @}
where 1=1
@//数据权限,该sql语句功能点,如果不考虑数据权限,可以删除此行
and #function("teacherOpenCourseMergeStudent.query")#
@@ -43,6 +52,9 @@ queryByCondition
@if(!isEmpty(teacherOpenCourseSchoolClassMergeStudentAddTime)){
and t.teacher_open_course_school_class_merge_student_add_time =#teacherOpenCourseSchoolClassMergeStudentAddTime#
@}
+ @if(!isEmpty(schoolClassId)){
+ and tb.school_class_id = #schoolClassId#
+ @}
queryByConditionQuery
diff --git a/web/src/main/resources/sql/jlw/teacherOpenCourseScheduleSession.md b/web/src/main/resources/sql/jlw/teacherOpenCourseScheduleSession.md
index f9f29e77..e8674d49 100644
--- a/web/src/main/resources/sql/jlw/teacherOpenCourseScheduleSession.md
+++ b/web/src/main/resources/sql/jlw/teacherOpenCourseScheduleSession.md
@@ -90,8 +90,11 @@ queryByConditionGroup
from (
select
t.teacher_open_course_schedule_session_id,
- t.teacher_open_course_schedule_session_add_time,
+ t.teacher_open_course_schedule_session_add_time,
+ @//
+ t.teacher_open_course_schedule_session_start_status,
t.teacher_open_course_schedule_session_status,
+ @//
GROUP_CONCAT(DISTINCT teacher_open_course_schedule_session_class_name) AS teacher_open_course_schedule_session_class_name,
t.teacher_open_course_id,
t.teacher_id,
diff --git a/web/src/main/test/java/com/ibeetl/jlw/web/TeacherOpenCourseMergeSchoolClassControllerTest.java b/web/src/main/test/java/com/ibeetl/jlw/web/TeacherOpenCourseMergeSchoolClassControllerTest.java
new file mode 100644
index 00000000..e8ee4aef
--- /dev/null
+++ b/web/src/main/test/java/com/ibeetl/jlw/web/TeacherOpenCourseMergeSchoolClassControllerTest.java
@@ -0,0 +1,118 @@
+package com.ibeetl.jlw.web;
+
+import cn.hutool.json.JSONUtil;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.junit.jupiter.api.Test;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.test.web.servlet.MockMvc;
+import org.springframework.test.web.servlet.RequestBuilder;
+import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
+import org.springframework.test.web.servlet.result.MockMvcResultMatchers;
+import org.springframework.util.MultiValueMap;
+
+import java.util.Map;
+
+import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
+
+
+/**
+ *
+ * TODO 还没写完 暂时不能用
+ *
+ *
+ * @author mlx
+ * @date 2022/9/20
+ * @modified
+ */
+class TeacherOpenCourseMergeSchoolClassControllerTest {
+
+ private final Log log = LogFactory.getLog(this.getClass());
+ private static final String MODEL = "/jlw/teacherOpenCourseMergeSchoolClass";
+ private static final String API = "/api/teacherOpenCourseMergeSchoolClass";
+
+ @Autowired
+ private MockMvc mvc;
+
+ @Test
+ void getPageList() {
+ }
+
+ @Test
+ void getInfo() {
+ }
+
+ @Test
+ void getList() {
+ }
+
+ @Test
+ void index() {
+ }
+
+ @Test
+ void edit() {
+ }
+
+ @Test
+ void add() throws Exception {
+ Map map = JSONUtil.toBean("{\n" +
+ " \"teacherOpenCourseMergeSchoolClassId\": 60,\n" +
+ " \"teacherOpenCourseId\": 84,\n" +
+ " \"schoolClassId\": 78,\n" +
+ " \"teacherOpenCourseMergeSchoolClassStatus\": 86,\n" +
+ " \"teacherOpenCourseMergeSchoolClassAddTime\": \"2015-01-06 04:18:36\",\n" +
+ " \"orgId\": 84,\n" +
+ " \"userId\": 16,\n" +
+ " \"teacherOpenCourseMergeSchoolClassIdPlural\": \"fake_data\",\n" +
+ " \"teacherOpenCourseIdPlural\": \"fake_data\",\n" +
+ " \"schoolClassIdPlural\": \"fake_data\",\n" +
+ " \"teacherOpenCourseMergeSchoolClassStatusPlural\": \"fake_data\",\n" +
+ " \"orgIdPlural\": \"fake_data\",\n" +
+ " \"userIdPlural\": \"fake_data\",\n" +
+ " \"teacherOpenCourseMergeSchoolClassJsonStr\": \"fake_data\",\n" +
+ " \"_given\": \"fake_data\"\n" +
+ " }", Map.class);
+
+ //构造请求参数
+ RequestBuilder rb = MockMvcRequestBuilders.post(MODEL + "/add.json").params((MultiValueMap) map);
+ //发送请求,验证返回结果
+ String result = mvc.perform(rb)
+ .andExpect(status().isOk())
+ .andExpect(MockMvcResultMatchers.jsonPath("$.data.name").value("zhangsan"))
+ .andReturn().getResponse().getContentAsString();
+ log.info(result);
+ }
+
+ @Test
+ void list() {
+ }
+
+ @Test
+ void addAll() {
+ }
+
+ @Test
+ void testAdd() {
+ }
+
+ @Test
+ void update() {
+ }
+
+ @Test
+ void queryInfo() {
+ }
+
+ @Test
+ void getValues() {
+ }
+
+ @Test
+ void delete() {
+ }
+
+ @Test
+ void deleteByCondition() {
+ }
+}
\ No newline at end of file
diff --git a/web/src/main/test/resources/application-unit-test.yaml b/web/src/main/test/resources/application-unit-test.yaml
new file mode 100644
index 00000000..9ffc85e6
--- /dev/null
+++ b/web/src/main/test/resources/application-unit-test.yaml
@@ -0,0 +1,40 @@
+spring:
+ main:
+ lazy-initialization: true # 开启懒加载,加快速度
+ banner-mode: off # 单元测试,禁用 Banner
+
+--- #################### 数据库相关配置 ####################
+
+spring:
+ # 数据源配置项
+ datasource:
+ name: tzcj-mem
+ url: jdbc:h2:mem:testdb;MODE=MYSQL;DATABASE_TO_UPPER=false; # MODE 使用 MySQL 模式;DATABASE_TO_UPPER 配置表和字段使用小写
+ driver-class-name: org.h2.Driver
+ username: sa
+ password:
+ druid:
+ async-init: true # 单元测试,异步初始化 Druid 连接池,提升启动速度
+ initial-size: 1 # 单元测试,配置为 1,提升启动速度
+ sql:
+ init:
+ schema-locations: classpath:/sql/create_tables.sql
+
+ # Redis 配置。Redisson 默认的配置足够使用,一般不需要进行调优
+ redis:
+ host: 127.0.0.1 # 地址
+ port: 16379 # 端口(单元测试,使用 16379 端口)
+ database: 0 # 数据库索引
+
+--- #################### 定时任务相关配置 ####################
+
+--- #################### 配置中心相关配置 ####################
+
+--- #################### 服务保障相关配置 ####################
+
+# Lock4j 配置项(单元测试,禁用 Lock4j)
+
+# Resilience4j 配置项
+
+--- #################### 监控相关配置 ####################
+
diff --git a/web/src/main/test/resources/logback.xml b/web/src/main/test/resources/logback.xml
new file mode 100644
index 00000000..daf756bf
--- /dev/null
+++ b/web/src/main/test/resources/logback.xml
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/web/src/main/test/resources/sql/clean.sql b/web/src/main/test/resources/sql/clean.sql
new file mode 100644
index 00000000..8b137891
--- /dev/null
+++ b/web/src/main/test/resources/sql/clean.sql
@@ -0,0 +1 @@
+
diff --git a/web/src/main/test/resources/sql/create_tables.sql b/web/src/main/test/resources/sql/create_tables.sql
new file mode 100644
index 00000000..e69de29b