From 90e993ac0fcd5de73db6260d1261f571524bab85 Mon Sep 17 00:00:00 2001
From: Mlxa0324 <mlx950324@163.com>
Date: Tue, 13 Sep 2022 23:10:41 +0800
Subject: [PATCH] =?UTF-8?q?=E6=95=99=E5=B8=88=E5=BC=80=E8=AF=BE=EF=BC=8C?=
 =?UTF-8?q?=E5=85=B3=E8=81=94=E6=8E=88=E6=9D=83=E7=A0=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 data_base_design/天泽数据大平台.pdb    |  81 ++--
 data_base_design/天泽数据大平台.pdm    |  69 +--
 httpTest/TeacherOpenCourse.http               |   6 +
 .../TeacherOpenCourseScheduleSession.http     |   0
 .../http-client.private.env.json              |   2 +-
 tianze-pro.sql                                | 108 +++--
 .../ibeetl/jlw/entity/TeacherOpenCourse.java  |  18 +-
 .../entity/TeacherOpenCourseMergeTeacher.java |  11 +
 .../jlw/service/TeacherOpenCourseService.java |  23 +
 .../jlw/web/TeacherOpenCourseController.java  |   8 +
 .../TeacherOpenCourseMergeTeacherQuery.java   |  17 +-
 .../jlw/web/query/TeacherOpenCourseQuery.java |  12 +
 .../resources/sql/jlw/teacherOpenCourse.md    |  56 ++-
 .../sql/jlw/teacherOpenCourseMergeTeacher.md  | 456 +++++++++---------
 .../static/js/jlw/teacherOpenCourse/index.js  |   7 +
 .../index.js                                  |   2 +-
 .../templates/jlw/universitySystem/add.html   |   6 +-
 17 files changed, 517 insertions(+), 365 deletions(-)
 create mode 100644 httpTest/TeacherOpenCourse.http
 rename http/TeacherOpenCourseScheduleSessionHttp.http => httpTest/TeacherOpenCourseScheduleSession.http (100%)
 rename {http => httpTest}/http-client.private.env.json (56%)

diff --git a/data_base_design/天泽数据大平台.pdb b/data_base_design/天泽数据大平台.pdb
index 83ac49e7..4d8eb096 100644
--- a/data_base_design/天泽数据大平台.pdb
+++ b/data_base_design/天泽数据大平台.pdb
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<?PowerDesigner AppLocale="UTF16" ID="{BA33ABB7-B246-4DB0-85DE-396EDDB46458}" Label="" LastModificationDate="1662992908" Name="cjks" Objects="1055" Symbols="96" Target="MySQL 5.0" Type="{CDE44E21-9669-11D1-9914-006097355D9B}" signature="PDM_DATA_MODEL_XML" version="16.5.0.3982"?>
+<?PowerDesigner AppLocale="UTF16" ID="{BA33ABB7-B246-4DB0-85DE-396EDDB46458}" Label="" LastModificationDate="1663078111" Name="cjks" Objects="1055" Symbols="96" Target="MySQL 5.0" Type="{CDE44E21-9669-11D1-9914-006097355D9B}" signature="PDM_DATA_MODEL_XML" version="16.5.0.3982"?>
 <!-- do not edit this file -->
 
 <Model xmlns:a="attribute" xmlns:c="collection" xmlns:o="object">
@@ -4512,8 +4512,8 @@ Shadow=0</a:DisplayPreferences>
 <o:ExtendedDependencySymbol Id="o54">
 <a:CreationDate>1661961019</a:CreationDate>
 <a:ModificationDate>1662810685</a:ModificationDate>
-<a:Rect>((338453,27268), (339053,43395))</a:Rect>
-<a:ListOfPoints>((338719,43395),(338719,36777),(338753,36777),(338753,27268))</a:ListOfPoints>
+<a:Rect>((338453,26990), (339053,43395))</a:Rect>
+<a:ListOfPoints>((338719,43395),(338719,36777),(338753,36777),(338753,26990))</a:ListOfPoints>
 <a:CornerStyle>1</a:CornerStyle>
 <a:ArrowStyle>8</a:ArrowStyle>
 <a:LineColor>16744576</a:LineColor>
@@ -4553,9 +4553,9 @@ Shadow=0</a:DisplayPreferences>
 </o:ExtendedDependencySymbol>
 <o:ExtendedDependencySymbol Id="o60">
 <a:CreationDate>1662020600</a:CreationDate>
-<a:ModificationDate>1662046335</a:ModificationDate>
-<a:Rect>((307940,38), (326752,24981))</a:Rect>
-<a:ListOfPoints>((326752,38),(326752,11662),(308240,11662),(308240,24981))</a:ListOfPoints>
+<a:ModificationDate>1663078111</a:ModificationDate>
+<a:Rect>((307940,-926), (325909,24981))</a:Rect>
+<a:ListOfPoints>((325909,-926),(325909,11662),(308240,11662),(308240,24981))</a:ListOfPoints>
 <a:CornerStyle>1</a:CornerStyle>
 <a:ArrowStyle>8</a:ArrowStyle>
 <a:LineColor>16744576</a:LineColor>
@@ -4718,9 +4718,9 @@ Shadow=0</a:DisplayPreferences>
 </o:ExtendedDependencySymbol>
 <o:ExtendedDependencySymbol Id="o83">
 <a:CreationDate>1662810688</a:CreationDate>
-<a:ModificationDate>1662971428</a:ModificationDate>
-<a:Rect>((296402,26938), (338650,29922))</a:Rect>
-<a:ListOfPoints>((338650,26938),(319044,26938),(319044,29622),(296402,29622))</a:ListOfPoints>
+<a:ModificationDate>1662995498</a:ModificationDate>
+<a:Rect>((296402,26648), (338650,29922))</a:Rect>
+<a:ListOfPoints>((338650,26648),(319044,26648),(319044,29622),(296402,29622))</a:ListOfPoints>
 <a:CornerStyle>1</a:CornerStyle>
 <a:ArrowStyle>8</a:ArrowStyle>
 <a:LineColor>16744576</a:LineColor>
@@ -4739,9 +4739,9 @@ Shadow=0</a:DisplayPreferences>
 </o:ExtendedDependencySymbol>
 <o:ExtendedDependencySymbol Id="o85">
 <a:CreationDate>1662865795</a:CreationDate>
-<a:ModificationDate>1662971432</a:ModificationDate>
-<a:Rect>((287323,12869), (337544,23674))</a:Rect>
-<a:ListOfPoints>((337544,12869),(319070,12869),(319070,23374),(287323,23374))</a:ListOfPoints>
+<a:ModificationDate>1663078108</a:ModificationDate>
+<a:Rect>((287323,12394), (337544,23674))</a:Rect>
+<a:ListOfPoints>((337544,12394),(319070,12394),(319070,23374),(287323,23374))</a:ListOfPoints>
 <a:CornerStyle>1</a:CornerStyle>
 <a:ArrowStyle>8</a:ArrowStyle>
 <a:LineColor>16744576</a:LineColor>
@@ -6246,9 +6246,9 @@ LABL 0 新宋体,8,N</a:FontList>
 </o:TableSymbol>
 <o:TableSymbol Id="o61">
 <a:CreationDate>1661963144</a:CreationDate>
-<a:ModificationDate>1662048325</a:ModificationDate>
+<a:ModificationDate>1663078111</a:ModificationDate>
 <a:IconMode>-1</a:IconMode>
-<a:Rect>((317330,-7871), (336330,7519))</a:Rect>
+<a:Rect>((316487,-8835), (335487,6555))</a:Rect>
 <a:AutoAdjustToText>0</a:AutoAdjustToText>
 <a:LineColor>12615680</a:LineColor>
 <a:FillColor>16570034</a:FillColor>
@@ -6516,9 +6516,9 @@ LABL 0 新宋体,8,N</a:FontList>
 </o:TableSymbol>
 <o:TableSymbol Id="o56">
 <a:CreationDate>1662809607</a:CreationDate>
-<a:ModificationDate>1662971428</a:ModificationDate>
+<a:ModificationDate>1662995498</a:ModificationDate>
 <a:IconMode>-1</a:IconMode>
-<a:Rect>((329150,18730), (348150,35146))</a:Rect>
+<a:Rect>((329150,18150), (348150,35146))</a:Rect>
 <a:AutoAdjustToText>0</a:AutoAdjustToText>
 <a:LineColor>12615680</a:LineColor>
 <a:FillColor>16570034</a:FillColor>
@@ -6543,9 +6543,9 @@ LABL 0 新宋体,8,N</a:FontList>
 </o:TableSymbol>
 <o:TableSymbol Id="o86">
 <a:CreationDate>1662865695</a:CreationDate>
-<a:ModificationDate>1662971432</a:ModificationDate>
+<a:ModificationDate>1663078108</a:ModificationDate>
 <a:IconMode>-1</a:IconMode>
-<a:Rect>((329272,8370), (345816,17368))</a:Rect>
+<a:Rect>((329272,7420), (345816,17368))</a:Rect>
 <a:AutoAdjustToText>0</a:AutoAdjustToText>
 <a:LineColor>12615680</a:LineColor>
 <a:FillColor>16570034</a:FillColor>
@@ -17249,7 +17249,7 @@ COLLATE = utf8_general_ci</a:PhysicalOptions>
 <a:Code>teacher_open_course_merge_teacher</a:Code>
 <a:CreationDate>1661850632</a:CreationDate>
 <a:Creator>lx</a:Creator>
-<a:ModificationDate>1662865807</a:ModificationDate>
+<a:ModificationDate>1663078102</a:ModificationDate>
 <a:Modifier>lx</a:Modifier>
 <a:Comment>教师-课程开课-关联教师</a:Comment>
 <a:PhysicalOptions>auto_increment = 1
@@ -17336,9 +17336,22 @@ COLLATE = utf8_general_ci</a:PhysicalOptions>
 <a:Comment>用户ID</a:Comment>
 <a:DataType>bigint</a:DataType>
 </o:Column>
+<o:Column Id="o990">
+<a:ObjectID>90845833-CF23-465B-B143-5499ABC48D61</a:ObjectID>
+<a:Name>teacher_open_course_merge_teacher_auth_code</a:Name>
+<a:Code>teacher_open_course_merge_teacher_auth_code</a:Code>
+<a:CreationDate>1663078074</a:CreationDate>
+<a:Creator>lx</a:Creator>
+<a:ModificationDate>1663078102</a:ModificationDate>
+<a:Modifier>lx</a:Modifier>
+<a:Comment>教师开课授权码</a:Comment>
+<a:DataType>varchar(10)</a:DataType>
+<a:Length>10</a:Length>
+<a:Column.Mandatory>1</a:Column.Mandatory>
+</o:Column>
 </c:Columns>
 <c:Keys>
-<o:Key Id="o990">
+<o:Key Id="o991">
 <a:ObjectID>C35D2586-F094-4112-8601-9F10D6A9DB41</a:ObjectID>
 <a:Name>Key_1</a:Name>
 <a:Code>Key_1</a:Code>
@@ -17352,7 +17365,7 @@ COLLATE = utf8_general_ci</a:PhysicalOptions>
 </o:Key>
 </c:Keys>
 <c:PrimaryKey>
-<o:Key Ref="o990"/>
+<o:Key Ref="o991"/>
 </c:PrimaryKey>
 </o:Table>
 <o:Table Id="o203">
@@ -17370,7 +17383,7 @@ DEFAULT CHARACTER SET = utf8
 COLLATE = utf8_general_ci</a:PhysicalOptions>
 <a:TotalSavingCurrency/>
 <c:Columns>
-<o:Column Id="o991">
+<o:Column Id="o992">
 <a:ObjectID>17B370CF-378E-4E64-A980-89882213C82C</a:ObjectID>
 <a:Name>teacher_merge_school_class_id</a:Name>
 <a:Code>teacher_merge_school_class_id</a:Code>
@@ -17382,7 +17395,7 @@ COLLATE = utf8_general_ci</a:PhysicalOptions>
 <a:DataType>bigint</a:DataType>
 <a:Column.Mandatory>1</a:Column.Mandatory>
 </o:Column>
-<o:Column Id="o992">
+<o:Column Id="o993">
 <a:ObjectID>236A83D5-0BEE-4129-8525-6B8D3A1B4EC6</a:ObjectID>
 <a:Name>teacher_id</a:Name>
 <a:Code>teacher_id</a:Code>
@@ -17393,7 +17406,7 @@ COLLATE = utf8_general_ci</a:PhysicalOptions>
 <a:Comment>教师ID</a:Comment>
 <a:DataType>bigint</a:DataType>
 </o:Column>
-<o:Column Id="o993">
+<o:Column Id="o994">
 <a:ObjectID>6EEFBCF7-F309-4402-9BC6-A8BD70197B84</a:ObjectID>
 <a:Name>school_class_id</a:Name>
 <a:Code>school_class_id</a:Code>
@@ -17404,7 +17417,7 @@ COLLATE = utf8_general_ci</a:PhysicalOptions>
 <a:Comment>班级ID</a:Comment>
 <a:DataType>bigint</a:DataType>
 </o:Column>
-<o:Column Id="o994">
+<o:Column Id="o995">
 <a:ObjectID>CD1F7C9F-FAA1-48E5-B65E-A4677E110748</a:ObjectID>
 <a:Name>teacher_merge_school_class_status</a:Name>
 <a:Code>teacher_merge_school_class_status</a:Code>
@@ -17415,7 +17428,7 @@ COLLATE = utf8_general_ci</a:PhysicalOptions>
 <a:Comment>状态(1启用 2禁用)</a:Comment>
 <a:DataType>int</a:DataType>
 </o:Column>
-<o:Column Id="o995">
+<o:Column Id="o996">
 <a:ObjectID>C090103F-8A84-4BDA-A330-9AE196279EB2</a:ObjectID>
 <a:Name>teacher_merge_school_class_add_time</a:Name>
 <a:Code>teacher_merge_school_class_add_time</a:Code>
@@ -17426,7 +17439,7 @@ COLLATE = utf8_general_ci</a:PhysicalOptions>
 <a:Comment>创建时间</a:Comment>
 <a:DataType>datetime</a:DataType>
 </o:Column>
-<o:Column Id="o996">
+<o:Column Id="o997">
 <a:ObjectID>7B7183A9-BB12-43ED-B36E-F3143A525E40</a:ObjectID>
 <a:Name>org_id</a:Name>
 <a:Code>org_id</a:Code>
@@ -17437,7 +17450,7 @@ COLLATE = utf8_general_ci</a:PhysicalOptions>
 <a:Comment>组织ID</a:Comment>
 <a:DataType>bigint</a:DataType>
 </o:Column>
-<o:Column Id="o997">
+<o:Column Id="o998">
 <a:ObjectID>9174FB98-B263-42AB-9B54-6F9CBBA31A42</a:ObjectID>
 <a:Name>user_id</a:Name>
 <a:Code>user_id</a:Code>
@@ -17450,7 +17463,7 @@ COLLATE = utf8_general_ci</a:PhysicalOptions>
 </o:Column>
 </c:Columns>
 <c:Keys>
-<o:Key Id="o998">
+<o:Key Id="o999">
 <a:ObjectID>2AFFDC6B-82E6-4E75-8F04-36F0FCDAD767</a:ObjectID>
 <a:Name>Key_1</a:Name>
 <a:Code>Key_1</a:Code>
@@ -17459,17 +17472,17 @@ COLLATE = utf8_general_ci</a:PhysicalOptions>
 <a:ModificationDate>1662982569</a:ModificationDate>
 <a:Modifier>lx</a:Modifier>
 <c:Key.Columns>
-<o:Column Ref="o991"/>
+<o:Column Ref="o992"/>
 </c:Key.Columns>
 </o:Key>
 </c:Keys>
 <c:PrimaryKey>
-<o:Key Ref="o998"/>
+<o:Key Ref="o999"/>
 </c:PrimaryKey>
 </o:Table>
 </c:Tables>
 <c:DefaultGroups>
-<o:Group Id="o999">
+<o:Group Id="o1000">
 <a:ObjectID>BFEA4109-96F9-4074-AF58-B84D6574A7FC</a:ObjectID>
 <a:Name>PUBLIC</a:Name>
 <a:Code>PUBLIC</a:Code>
@@ -17597,7 +17610,7 @@ COLLATE = utf8_general_ci</a:PhysicalOptions>
 <o:Table Ref="o168"/>
 </c:Object2>
 </o:ExtendedDependency>
-<o:ExtendedDependency Id="o1000">
+<o:ExtendedDependency Id="o1001">
 <a:ObjectID>ABEFC813-1056-4507-A9A7-809C149B4ABE</a:ObjectID>
 <a:CreationDate>1661954753</a:CreationDate>
 <a:Creator>lx</a:Creator>
@@ -17820,7 +17833,7 @@ COLLATE = utf8_general_ci</a:PhysicalOptions>
 </o:ExtendedDependency>
 </c:ChildTraceabilityLinks>
 <c:TargetModels>
-<o:TargetModel Id="o1001">
+<o:TargetModel Id="o1002">
 <a:ObjectID>5963E417-B2CE-431D-988A-B3493AAE5EE4</a:ObjectID>
 <a:Name>MySQL 5.0</a:Name>
 <a:Code>MYSQL50</a:Code>
diff --git a/data_base_design/天泽数据大平台.pdm b/data_base_design/天泽数据大平台.pdm
index 9a19a095..141472c8 100644
--- a/data_base_design/天泽数据大平台.pdm
+++ b/data_base_design/天泽数据大平台.pdm
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<?PowerDesigner AppLocale="UTF16" ID="{BA33ABB7-B246-4DB0-85DE-396EDDB46458}" Label="" LastModificationDate="1662995498" Name="cjks" Objects="1055" Symbols="96" Target="MySQL 5.0" Type="{CDE44E21-9669-11D1-9914-006097355D9B}" signature="PDM_DATA_MODEL_XML" version="16.5.0.3982"?>
+<?PowerDesigner AppLocale="UTF16" ID="{BA33ABB7-B246-4DB0-85DE-396EDDB46458}" Label="" LastModificationDate="1663078119" Name="cjks" Objects="1055" Symbols="96" Target="MySQL 5.0" Type="{CDE44E21-9669-11D1-9914-006097355D9B}" signature="PDM_DATA_MODEL_XML" version="16.5.0.3982"?>
 <!-- do not edit this file -->
 
 <Model xmlns:a="attribute" xmlns:c="collection" xmlns:o="object">
@@ -4553,9 +4553,9 @@ Shadow=0</a:DisplayPreferences>
 </o:ExtendedDependencySymbol>
 <o:ExtendedDependencySymbol Id="o60">
 <a:CreationDate>1662020600</a:CreationDate>
-<a:ModificationDate>1662046335</a:ModificationDate>
-<a:Rect>((307940,38), (326752,24981))</a:Rect>
-<a:ListOfPoints>((326752,38),(326752,11662),(308240,11662),(308240,24981))</a:ListOfPoints>
+<a:ModificationDate>1663078111</a:ModificationDate>
+<a:Rect>((307940,-926), (325909,24981))</a:Rect>
+<a:ListOfPoints>((325909,-926),(325909,11662),(308240,11662),(308240,24981))</a:ListOfPoints>
 <a:CornerStyle>1</a:CornerStyle>
 <a:ArrowStyle>8</a:ArrowStyle>
 <a:LineColor>16744576</a:LineColor>
@@ -4739,9 +4739,9 @@ Shadow=0</a:DisplayPreferences>
 </o:ExtendedDependencySymbol>
 <o:ExtendedDependencySymbol Id="o85">
 <a:CreationDate>1662865795</a:CreationDate>
-<a:ModificationDate>1662971432</a:ModificationDate>
-<a:Rect>((287323,12869), (337544,23674))</a:Rect>
-<a:ListOfPoints>((337544,12869),(319070,12869),(319070,23374),(287323,23374))</a:ListOfPoints>
+<a:ModificationDate>1663078108</a:ModificationDate>
+<a:Rect>((287323,12394), (337544,23674))</a:Rect>
+<a:ListOfPoints>((337544,12394),(319070,12394),(319070,23374),(287323,23374))</a:ListOfPoints>
 <a:CornerStyle>1</a:CornerStyle>
 <a:ArrowStyle>8</a:ArrowStyle>
 <a:LineColor>16744576</a:LineColor>
@@ -6246,9 +6246,9 @@ LABL 0 新宋体,8,N</a:FontList>
 </o:TableSymbol>
 <o:TableSymbol Id="o61">
 <a:CreationDate>1661963144</a:CreationDate>
-<a:ModificationDate>1662048325</a:ModificationDate>
+<a:ModificationDate>1663078111</a:ModificationDate>
 <a:IconMode>-1</a:IconMode>
-<a:Rect>((317330,-7871), (336330,7519))</a:Rect>
+<a:Rect>((316487,-8835), (335487,6555))</a:Rect>
 <a:AutoAdjustToText>0</a:AutoAdjustToText>
 <a:LineColor>12615680</a:LineColor>
 <a:FillColor>16570034</a:FillColor>
@@ -6543,9 +6543,9 @@ LABL 0 新宋体,8,N</a:FontList>
 </o:TableSymbol>
 <o:TableSymbol Id="o86">
 <a:CreationDate>1662865695</a:CreationDate>
-<a:ModificationDate>1662971432</a:ModificationDate>
+<a:ModificationDate>1663078108</a:ModificationDate>
 <a:IconMode>-1</a:IconMode>
-<a:Rect>((329272,8370), (345816,17368))</a:Rect>
+<a:Rect>((329272,7420), (345816,17368))</a:Rect>
 <a:AutoAdjustToText>0</a:AutoAdjustToText>
 <a:LineColor>12615680</a:LineColor>
 <a:FillColor>16570034</a:FillColor>
@@ -17249,7 +17249,7 @@ COLLATE = utf8_general_ci</a:PhysicalOptions>
 <a:Code>teacher_open_course_merge_teacher</a:Code>
 <a:CreationDate>1661850632</a:CreationDate>
 <a:Creator>lx</a:Creator>
-<a:ModificationDate>1662865807</a:ModificationDate>
+<a:ModificationDate>1663078119</a:ModificationDate>
 <a:Modifier>lx</a:Modifier>
 <a:Comment>教师-课程开课-关联教师</a:Comment>
 <a:PhysicalOptions>auto_increment = 1
@@ -17315,6 +17315,19 @@ COLLATE = utf8_general_ci</a:PhysicalOptions>
 <a:DataType>datetime</a:DataType>
 </o:Column>
 <o:Column Id="o988">
+<a:ObjectID>90845833-CF23-465B-B143-5499ABC48D61</a:ObjectID>
+<a:Name>teacher_open_course_merge_teacher_auth_code</a:Name>
+<a:Code>teacher_open_course_merge_teacher_auth_code</a:Code>
+<a:CreationDate>1663078074</a:CreationDate>
+<a:Creator>lx</a:Creator>
+<a:ModificationDate>1663078102</a:ModificationDate>
+<a:Modifier>lx</a:Modifier>
+<a:Comment>教师开课授权码</a:Comment>
+<a:DataType>varchar(10)</a:DataType>
+<a:Length>10</a:Length>
+<a:Column.Mandatory>1</a:Column.Mandatory>
+</o:Column>
+<o:Column Id="o989">
 <a:ObjectID>279FE47F-88A8-4633-A510-B081884ABC72</a:ObjectID>
 <a:Name>org_id</a:Name>
 <a:Code>org_id</a:Code>
@@ -17325,7 +17338,7 @@ COLLATE = utf8_general_ci</a:PhysicalOptions>
 <a:Comment>组织ID</a:Comment>
 <a:DataType>bigint</a:DataType>
 </o:Column>
-<o:Column Id="o989">
+<o:Column Id="o990">
 <a:ObjectID>CB1C06E4-C2EC-48D0-B1DA-529BE729E99E</a:ObjectID>
 <a:Name>user_id</a:Name>
 <a:Code>user_id</a:Code>
@@ -17338,7 +17351,7 @@ COLLATE = utf8_general_ci</a:PhysicalOptions>
 </o:Column>
 </c:Columns>
 <c:Keys>
-<o:Key Id="o990">
+<o:Key Id="o991">
 <a:ObjectID>C35D2586-F094-4112-8601-9F10D6A9DB41</a:ObjectID>
 <a:Name>Key_1</a:Name>
 <a:Code>Key_1</a:Code>
@@ -17352,7 +17365,7 @@ COLLATE = utf8_general_ci</a:PhysicalOptions>
 </o:Key>
 </c:Keys>
 <c:PrimaryKey>
-<o:Key Ref="o990"/>
+<o:Key Ref="o991"/>
 </c:PrimaryKey>
 </o:Table>
 <o:Table Id="o203">
@@ -17370,7 +17383,7 @@ DEFAULT CHARACTER SET = utf8
 COLLATE = utf8_general_ci</a:PhysicalOptions>
 <a:TotalSavingCurrency/>
 <c:Columns>
-<o:Column Id="o991">
+<o:Column Id="o992">
 <a:ObjectID>17B370CF-378E-4E64-A980-89882213C82C</a:ObjectID>
 <a:Name>teacher_merge_school_class_id</a:Name>
 <a:Code>teacher_merge_school_class_id</a:Code>
@@ -17382,7 +17395,7 @@ COLLATE = utf8_general_ci</a:PhysicalOptions>
 <a:DataType>bigint</a:DataType>
 <a:Column.Mandatory>1</a:Column.Mandatory>
 </o:Column>
-<o:Column Id="o992">
+<o:Column Id="o993">
 <a:ObjectID>236A83D5-0BEE-4129-8525-6B8D3A1B4EC6</a:ObjectID>
 <a:Name>teacher_id</a:Name>
 <a:Code>teacher_id</a:Code>
@@ -17393,7 +17406,7 @@ COLLATE = utf8_general_ci</a:PhysicalOptions>
 <a:Comment>教师ID</a:Comment>
 <a:DataType>bigint</a:DataType>
 </o:Column>
-<o:Column Id="o993">
+<o:Column Id="o994">
 <a:ObjectID>6EEFBCF7-F309-4402-9BC6-A8BD70197B84</a:ObjectID>
 <a:Name>school_class_id</a:Name>
 <a:Code>school_class_id</a:Code>
@@ -17404,7 +17417,7 @@ COLLATE = utf8_general_ci</a:PhysicalOptions>
 <a:Comment>班级ID</a:Comment>
 <a:DataType>bigint</a:DataType>
 </o:Column>
-<o:Column Id="o994">
+<o:Column Id="o995">
 <a:ObjectID>CD1F7C9F-FAA1-48E5-B65E-A4677E110748</a:ObjectID>
 <a:Name>teacher_merge_school_class_status</a:Name>
 <a:Code>teacher_merge_school_class_status</a:Code>
@@ -17415,7 +17428,7 @@ COLLATE = utf8_general_ci</a:PhysicalOptions>
 <a:Comment>状态(1启用 2禁用)</a:Comment>
 <a:DataType>int</a:DataType>
 </o:Column>
-<o:Column Id="o995">
+<o:Column Id="o996">
 <a:ObjectID>C090103F-8A84-4BDA-A330-9AE196279EB2</a:ObjectID>
 <a:Name>teacher_merge_school_class_add_time</a:Name>
 <a:Code>teacher_merge_school_class_add_time</a:Code>
@@ -17426,7 +17439,7 @@ COLLATE = utf8_general_ci</a:PhysicalOptions>
 <a:Comment>创建时间</a:Comment>
 <a:DataType>datetime</a:DataType>
 </o:Column>
-<o:Column Id="o996">
+<o:Column Id="o997">
 <a:ObjectID>7B7183A9-BB12-43ED-B36E-F3143A525E40</a:ObjectID>
 <a:Name>org_id</a:Name>
 <a:Code>org_id</a:Code>
@@ -17437,7 +17450,7 @@ COLLATE = utf8_general_ci</a:PhysicalOptions>
 <a:Comment>组织ID</a:Comment>
 <a:DataType>bigint</a:DataType>
 </o:Column>
-<o:Column Id="o997">
+<o:Column Id="o998">
 <a:ObjectID>9174FB98-B263-42AB-9B54-6F9CBBA31A42</a:ObjectID>
 <a:Name>user_id</a:Name>
 <a:Code>user_id</a:Code>
@@ -17450,7 +17463,7 @@ COLLATE = utf8_general_ci</a:PhysicalOptions>
 </o:Column>
 </c:Columns>
 <c:Keys>
-<o:Key Id="o998">
+<o:Key Id="o999">
 <a:ObjectID>2AFFDC6B-82E6-4E75-8F04-36F0FCDAD767</a:ObjectID>
 <a:Name>Key_1</a:Name>
 <a:Code>Key_1</a:Code>
@@ -17459,17 +17472,17 @@ COLLATE = utf8_general_ci</a:PhysicalOptions>
 <a:ModificationDate>1662982569</a:ModificationDate>
 <a:Modifier>lx</a:Modifier>
 <c:Key.Columns>
-<o:Column Ref="o991"/>
+<o:Column Ref="o992"/>
 </c:Key.Columns>
 </o:Key>
 </c:Keys>
 <c:PrimaryKey>
-<o:Key Ref="o998"/>
+<o:Key Ref="o999"/>
 </c:PrimaryKey>
 </o:Table>
 </c:Tables>
 <c:DefaultGroups>
-<o:Group Id="o999">
+<o:Group Id="o1000">
 <a:ObjectID>BFEA4109-96F9-4074-AF58-B84D6574A7FC</a:ObjectID>
 <a:Name>PUBLIC</a:Name>
 <a:Code>PUBLIC</a:Code>
@@ -17597,7 +17610,7 @@ COLLATE = utf8_general_ci</a:PhysicalOptions>
 <o:Table Ref="o168"/>
 </c:Object2>
 </o:ExtendedDependency>
-<o:ExtendedDependency Id="o1000">
+<o:ExtendedDependency Id="o1001">
 <a:ObjectID>ABEFC813-1056-4507-A9A7-809C149B4ABE</a:ObjectID>
 <a:CreationDate>1661954753</a:CreationDate>
 <a:Creator>lx</a:Creator>
@@ -17820,7 +17833,7 @@ COLLATE = utf8_general_ci</a:PhysicalOptions>
 </o:ExtendedDependency>
 </c:ChildTraceabilityLinks>
 <c:TargetModels>
-<o:TargetModel Id="o1001">
+<o:TargetModel Id="o1002">
 <a:ObjectID>5963E417-B2CE-431D-988A-B3493AAE5EE4</a:ObjectID>
 <a:Name>MySQL 5.0</a:Name>
 <a:Code>MYSQL50</a:Code>
diff --git a/httpTest/TeacherOpenCourse.http b/httpTest/TeacherOpenCourse.http
new file mode 100644
index 00000000..1d05d77b
--- /dev/null
+++ b/httpTest/TeacherOpenCourse.http
@@ -0,0 +1,6 @@
+### 课程开课
+POST {{baseURL}}/jlw/teacherOpenCourse/add.json
+Content-Type: application/x-www-form-urlencoded
+Cookie: JSESSIONID={{session}}
+
+teacherId=2&teacherOpenCourseTitle={{$randomInt}}&teacherOpenCourseCode={{$randomInt}}&teacherOpenCourseCover=http://baidu.com&startTime=2022-09-12&endTime=2022-10-12
diff --git a/http/TeacherOpenCourseScheduleSessionHttp.http b/httpTest/TeacherOpenCourseScheduleSession.http
similarity index 100%
rename from http/TeacherOpenCourseScheduleSessionHttp.http
rename to httpTest/TeacherOpenCourseScheduleSession.http
diff --git a/http/http-client.private.env.json b/httpTest/http-client.private.env.json
similarity index 56%
rename from http/http-client.private.env.json
rename to httpTest/http-client.private.env.json
index 43dea4ef..6386f4ac 100644
--- a/http/http-client.private.env.json
+++ b/httpTest/http-client.private.env.json
@@ -1,6 +1,6 @@
 {
   "dev": {
     "baseURL": "http://localhost:9090/server/",
-    "session": "F01773E1A00E1545121358B5FEDC8464"
+    "session": "DD5FC867068FE7E76E7B89B986A40F30"
   }
 }
\ No newline at end of file
diff --git a/tianze-pro.sql b/tianze-pro.sql
index 17969002..cadfaeee 100644
--- a/tianze-pro.sql
+++ b/tianze-pro.sql
@@ -11,7 +11,7 @@
  Target Server Version : 80022
  File Encoding         : 65001
 
- Date: 12/09/2022 22:52:42
+ Date: 13/09/2022 23:10:01
 */
 
 SET NAMES utf8mb4;
@@ -91,7 +91,7 @@ CREATE TABLE `attribute_relation`  (
   `type_id` bigint NULL DEFAULT NULL COMMENT '类型ID',
   `value` varchar(3000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '值(|||隔开)',
   PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '属性关系表' ROW_FORMAT = DYNAMIC;
+) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '属性关系表' ROW_FORMAT = DYNAMIC;
 
 -- ----------------------------
 -- Records of attribute_relation
@@ -109,7 +109,7 @@ CREATE TABLE `cms_blog`  (
   `create_user_id` int NULL DEFAULT NULL,
   `type` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
   PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC;
+) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC;
 
 -- ----------------------------
 -- Records of cms_blog
@@ -189,7 +189,7 @@ CREATE TABLE `competition_news`  (
   `org_id` bigint NULL DEFAULT NULL COMMENT '组织机构ID',
   `user_id` bigint NULL DEFAULT NULL COMMENT '后台用户ID',
   PRIMARY KEY (`competition_news_id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '大赛动态' ROW_FORMAT = DYNAMIC;
+) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '大赛动态' ROW_FORMAT = DYNAMIC;
 
 -- ----------------------------
 -- Records of competition_news
@@ -536,7 +536,7 @@ CREATE TABLE `competition_task_one_question`  (
   `user_id` bigint NULL DEFAULT NULL COMMENT '后台用户ID',
   `resources_question_id` bigint NULL DEFAULT NULL COMMENT '题目来源ID',
   PRIMARY KEY (`competition_task_one_question_id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 8014 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '大赛任务一试题' ROW_FORMAT = DYNAMIC;
+) ENGINE = InnoDB AUTO_INCREMENT = 8013 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '大赛任务一试题' ROW_FORMAT = DYNAMIC;
 
 -- ----------------------------
 -- Records of competition_task_one_question
@@ -3175,7 +3175,7 @@ CREATE TABLE `competition_task_second_question`  (
   `user_id` bigint NULL DEFAULT NULL COMMENT '后台用户ID',
   `resources_competition_id` bigint NULL DEFAULT NULL COMMENT '题目来源ID',
   PRIMARY KEY (`competition_task_second_question_id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 102 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '大赛任务二试题' ROW_FORMAT = DYNAMIC;
+) ENGINE = InnoDB AUTO_INCREMENT = 101 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '大赛任务二试题' ROW_FORMAT = DYNAMIC;
 
 -- ----------------------------
 -- Records of competition_task_second_question
@@ -3240,7 +3240,7 @@ CREATE TABLE `competition_task_second_question_step`  (
   `org_id` bigint NULL DEFAULT NULL COMMENT '组织机构ID',
   `user_id` bigint NULL DEFAULT NULL COMMENT '后台用户ID',
   PRIMARY KEY (`competition_task_second_question_step_id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 463 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '大赛任务二试题步骤' ROW_FORMAT = DYNAMIC;
+) ENGINE = InnoDB AUTO_INCREMENT = 462 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '大赛任务二试题步骤' ROW_FORMAT = DYNAMIC;
 
 -- ----------------------------
 -- Records of competition_task_second_question_step
@@ -3442,7 +3442,7 @@ CREATE TABLE `competition_teacher_evaluation`  (
   `competition_task_three_results_info` varchar(5000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '任务三答辩评分详情',
   `competition_task_three_comment` varchar(5000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '任务三答辩评语',
   PRIMARY KEY (`competition_teacher_evaluation_id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '大赛教师评分详情表' ROW_FORMAT = DYNAMIC;
+) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '大赛教师评分详情表' ROW_FORMAT = DYNAMIC;
 
 -- ----------------------------
 -- Records of competition_teacher_evaluation
@@ -3464,7 +3464,7 @@ CREATE TABLE `core_audit`  (
   `MESSAGE` varchar(250) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
   `ORG_ID` varchar(45) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
   PRIMARY KEY (`ID`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC;
+) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC;
 
 -- ----------------------------
 -- Records of core_audit
@@ -3549,7 +3549,7 @@ CREATE TABLE `core_file`  (
   `BIZ_TYPE` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
   `FILE_BATCH_ID` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
   PRIMARY KEY (`ID`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '文件表' ROW_FORMAT = DYNAMIC;
+) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '文件表' ROW_FORMAT = DYNAMIC;
 
 -- ----------------------------
 -- Records of core_file
@@ -3565,7 +3565,7 @@ CREATE TABLE `core_file_tag`  (
   `VALUE` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '关键字对应的值',
   `FILE_ID` int NOT NULL COMMENT 'sys_file的id,文件id',
   PRIMARY KEY (`ID`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '文件标签' ROW_FORMAT = DYNAMIC;
+) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '文件标签' ROW_FORMAT = DYNAMIC;
 
 -- ----------------------------
 -- Records of core_file_tag
@@ -3586,7 +3586,7 @@ CREATE TABLE `core_function`  (
   `PARENT_ID` int NULL DEFAULT NULL,
   `TYPE` varchar(4) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
   PRIMARY KEY (`ID`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 1027 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC;
+) ENGINE = InnoDB AUTO_INCREMENT = 1037 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC;
 
 -- ----------------------------
 -- Records of core_function
@@ -3886,7 +3886,7 @@ CREATE TABLE `core_menu`  (
   `SEQ` int NULL DEFAULT NULL,
   `ICON` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '图标',
   PRIMARY KEY (`ID`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 224 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC;
+) ENGINE = InnoDB AUTO_INCREMENT = 226 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC;
 
 -- ----------------------------
 -- Records of core_menu
@@ -4016,7 +4016,7 @@ CREATE TABLE `core_role`  (
   `TYPE` varchar(6) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '1 可以配置 2 固定权限角色',
   PRIMARY KEY (`ID`) USING BTREE,
   INDEX `code_idx`(`CODE`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 193 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '角色管理' ROW_FORMAT = DYNAMIC;
+) ENGINE = InnoDB AUTO_INCREMENT = 192 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '角色管理' ROW_FORMAT = DYNAMIC;
 
 -- ----------------------------
 -- Records of core_role
@@ -4036,7 +4036,7 @@ CREATE TABLE `core_role_function`  (
   `DATA_ACCESS_TYPE` tinyint NULL DEFAULT NULL,
   `DATA_ACCESS_POLICY` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
   PRIMARY KEY (`ID`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 45 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC;
+) ENGINE = InnoDB AUTO_INCREMENT = 44 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC;
 
 -- ----------------------------
 -- Records of core_role_function
@@ -4080,7 +4080,7 @@ CREATE TABLE `core_role_menu`  (
   `MENU_ID` int NULL DEFAULT NULL,
   `CREATE_TIME` datetime(6) NULL DEFAULT NULL,
   PRIMARY KEY (`ID`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 19 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC;
+) ENGINE = InnoDB AUTO_INCREMENT = 18 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC;
 
 -- ----------------------------
 -- Records of core_role_menu
@@ -4838,7 +4838,7 @@ CREATE TABLE `exam_task_one_question`  (
   `user_id` bigint NULL DEFAULT NULL COMMENT '后台用户ID',
   `resources_question_id` bigint NULL DEFAULT NULL COMMENT '题目来源ID',
   PRIMARY KEY (`exam_task_one_question_id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 1598 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '考试任务一试题' ROW_FORMAT = DYNAMIC;
+) ENGINE = InnoDB AUTO_INCREMENT = 1597 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '考试任务一试题' ROW_FORMAT = DYNAMIC;
 
 -- ----------------------------
 -- Records of exam_task_one_question
@@ -5954,7 +5954,7 @@ CREATE TABLE `exam_task_second_question`  (
   `user_id` bigint NULL DEFAULT NULL COMMENT '后台用户ID',
   `resources_competition_id` bigint NULL DEFAULT NULL COMMENT '题目来源ID',
   PRIMARY KEY (`exam_task_second_question_id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 18 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '考试任务二试题' ROW_FORMAT = DYNAMIC;
+) ENGINE = InnoDB AUTO_INCREMENT = 17 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '考试任务二试题' ROW_FORMAT = DYNAMIC;
 
 -- ----------------------------
 -- Records of exam_task_second_question
@@ -5989,7 +5989,7 @@ CREATE TABLE `exam_task_second_question_step`  (
   `org_id` bigint NULL DEFAULT NULL COMMENT '组织机构ID',
   `user_id` bigint NULL DEFAULT NULL COMMENT '后台用户ID',
   PRIMARY KEY (`exam_task_second_question_step_id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 93 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '大赛任务二试题步骤' ROW_FORMAT = DYNAMIC;
+) ENGINE = InnoDB AUTO_INCREMENT = 92 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '大赛任务二试题步骤' ROW_FORMAT = DYNAMIC;
 
 -- ----------------------------
 -- Records of exam_task_second_question_step
@@ -6068,7 +6068,7 @@ CREATE TABLE `exam_task_three_question`  (
   `user_id` bigint NULL DEFAULT NULL COMMENT '后台用户ID',
   `resources_training_id` bigint NULL DEFAULT NULL COMMENT '题目来源ID',
   PRIMARY KEY (`exam_task_three_question_id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 17 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '考试任务三试题' ROW_FORMAT = DYNAMIC;
+) ENGINE = InnoDB AUTO_INCREMENT = 16 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '考试任务三试题' ROW_FORMAT = DYNAMIC;
 
 -- ----------------------------
 -- Records of exam_task_three_question
@@ -6103,7 +6103,7 @@ CREATE TABLE `exam_task_three_question_step`  (
   `org_id` bigint NULL DEFAULT NULL COMMENT '组织机构ID',
   `user_id` bigint NULL DEFAULT NULL COMMENT '后台用户ID',
   PRIMARY KEY (`exam_task_three_question_step_id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 56 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '大赛任务三试题步骤' ROW_FORMAT = DYNAMIC;
+) ENGINE = InnoDB AUTO_INCREMENT = 55 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '大赛任务三试题步骤' ROW_FORMAT = DYNAMIC;
 
 -- ----------------------------
 -- Records of exam_task_three_question_step
@@ -6159,7 +6159,7 @@ CREATE TABLE `ip_address`  (
   `district` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '区',
   `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注',
   PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 20817 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;
+) ENGINE = InnoDB AUTO_INCREMENT = 20822 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;
 
 -- ----------------------------
 -- Records of ip_address
@@ -26956,6 +26956,14 @@ INSERT INTO `ip_address` VALUES (20813, '192.168.56.1', '', '', '', NULL);
 INSERT INTO `ip_address` VALUES (20814, '192.168.56.1', '', '', '', NULL);
 INSERT INTO `ip_address` VALUES (20815, '192.168.56.1', '', '', '', NULL);
 INSERT INTO `ip_address` VALUES (20816, '192.168.56.1', '', '', '', NULL);
+INSERT INTO `ip_address` VALUES (20817, '192.168.56.1', '', '', '', NULL);
+INSERT INTO `ip_address` VALUES (20818, '192.168.56.1', '', '', '', NULL);
+INSERT INTO `ip_address` VALUES (20819, '192.168.56.1', '', '', '', NULL);
+INSERT INTO `ip_address` VALUES (20820, '192.168.56.1', '', '', '', NULL);
+INSERT INTO `ip_address` VALUES (20821, '192.168.56.1', '', '', '', NULL);
+INSERT INTO `ip_address` VALUES (20822, '192.168.56.1', '', '', '', NULL);
+INSERT INTO `ip_address` VALUES (20823, '192.168.56.1', '', '', '', NULL);
+INSERT INTO `ip_address` VALUES (20824, '192.168.56.1', '', '', '', NULL);
 
 -- ----------------------------
 -- Table structure for resources_application
@@ -26999,7 +27007,7 @@ CREATE TABLE `resources_application_course`  (
   `resources_application_id` bigint NULL DEFAULT NULL COMMENT '应用管理ID',
   `course_info_id` bigint NULL DEFAULT NULL COMMENT '课程配置ID',
   PRIMARY KEY (`resources_application_course_id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '应用管理 和 课程 关联' ROW_FORMAT = DYNAMIC;
+) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '应用管理 和 课程 关联' ROW_FORMAT = DYNAMIC;
 
 -- ----------------------------
 -- Records of resources_application_course
@@ -27020,7 +27028,7 @@ CREATE TABLE `resources_competition`  (
   `user_id` bigint NULL DEFAULT NULL COMMENT '后台用户ID',
   `resources_competition_content_original` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '案例介绍(原始数据)',
   PRIMARY KEY (`resources_competition_id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 16 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '资源管理 - 竞赛案例管理' ROW_FORMAT = DYNAMIC;
+) ENGINE = InnoDB AUTO_INCREMENT = 15 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '资源管理 - 竞赛案例管理' ROW_FORMAT = DYNAMIC;
 
 -- ----------------------------
 -- Records of resources_competition
@@ -27059,7 +27067,7 @@ CREATE TABLE `resources_competition_step`  (
   `org_id` bigint NULL DEFAULT NULL COMMENT '组织机构ID',
   `user_id` bigint NULL DEFAULT NULL COMMENT '后台用户ID',
   PRIMARY KEY (`resources_competition_step_id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 90 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '资源管理 - 竞赛案例步骤' ROW_FORMAT = DYNAMIC;
+) ENGINE = InnoDB AUTO_INCREMENT = 89 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '资源管理 - 竞赛案例步骤' ROW_FORMAT = DYNAMIC;
 
 -- ----------------------------
 -- Records of resources_competition_step
@@ -27368,7 +27376,7 @@ CREATE TABLE `resources_question`  (
   `org_id` bigint NULL DEFAULT NULL COMMENT '组织机构ID',
   `user_id` bigint NULL DEFAULT NULL COMMENT '后台用户ID',
   PRIMARY KEY (`resources_question_id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 208 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '资源管理 - 题库管理' ROW_FORMAT = DYNAMIC;
+) ENGINE = InnoDB AUTO_INCREMENT = 207 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '资源管理 - 题库管理' ROW_FORMAT = DYNAMIC;
 
 -- ----------------------------
 -- Records of resources_question
@@ -27592,7 +27600,7 @@ CREATE TABLE `resources_training`  (
   `user_id` bigint NULL DEFAULT NULL COMMENT '后台用户ID',
   `resources_training_content_original` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '案例介绍(原始数据)',
   PRIMARY KEY (`resources_training_id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 8 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '资源管理 - 实训案例管理' ROW_FORMAT = DYNAMIC;
+) ENGINE = InnoDB AUTO_INCREMENT = 7 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '资源管理 - 实训案例管理' ROW_FORMAT = DYNAMIC;
 
 -- ----------------------------
 -- Records of resources_training
@@ -27624,7 +27632,7 @@ CREATE TABLE `resources_training_step`  (
   `org_id` bigint NULL DEFAULT NULL COMMENT '组织机构ID',
   `user_id` bigint NULL DEFAULT NULL COMMENT '后台用户ID',
   PRIMARY KEY (`resources_training_step_id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 22 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '资源管理 - 实训案例步骤' ROW_FORMAT = DYNAMIC;
+) ENGINE = InnoDB AUTO_INCREMENT = 21 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '资源管理 - 实训案例步骤' ROW_FORMAT = DYNAMIC;
 
 -- ----------------------------
 -- Records of resources_training_step
@@ -27693,7 +27701,7 @@ CREATE TABLE `school_class_student`  (
   `org_id` bigint NULL DEFAULT NULL COMMENT '组织机构ID',
   `user_id` bigint NULL DEFAULT NULL COMMENT '后台用户ID',
   PRIMARY KEY (`school_class_student_id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '班级-学生-关联' ROW_FORMAT = DYNAMIC;
+) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '班级-学生-关联' ROW_FORMAT = DYNAMIC;
 
 -- ----------------------------
 -- Records of school_class_student
@@ -27980,7 +27988,7 @@ CREATE TABLE `student_defence_log`  (
   `org_id` bigint NULL DEFAULT NULL COMMENT '组织机构ID',
   `user_id` bigint NULL DEFAULT NULL COMMENT '后台用户ID',
   PRIMARY KEY (`student_defence_log_id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '学生答辩记录' ROW_FORMAT = DYNAMIC;
+) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '学生答辩记录' ROW_FORMAT = DYNAMIC;
 
 -- ----------------------------
 -- Records of student_defence_log
@@ -28003,7 +28011,7 @@ CREATE TABLE `student_defence_log_info`  (
   `org_id` bigint NULL DEFAULT NULL COMMENT '组织机构ID',
   `user_id` bigint NULL DEFAULT NULL COMMENT '后台用户ID',
   PRIMARY KEY (`student_defence_log_info_id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '学生答辩记录详情' ROW_FORMAT = DYNAMIC;
+) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '学生答辩记录详情' ROW_FORMAT = DYNAMIC;
 
 -- ----------------------------
 -- Records of student_defence_log_info
@@ -28023,7 +28031,7 @@ CREATE TABLE `student_defence_log_note`  (
   `org_id` bigint NULL DEFAULT NULL COMMENT '组织机构ID',
   `user_id` bigint NULL DEFAULT NULL COMMENT '后台用户ID',
   PRIMARY KEY (`student_defence_log_note_id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '学生答辩笔记' ROW_FORMAT = DYNAMIC;
+) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '学生答辩笔记' ROW_FORMAT = DYNAMIC;
 
 -- ----------------------------
 -- Records of student_defence_log_note
@@ -28047,7 +28055,7 @@ CREATE TABLE `student_direct_messages`  (
   `org_id` bigint NULL DEFAULT NULL COMMENT '组织机构ID',
   `user_id` bigint NULL DEFAULT NULL COMMENT '后台用户ID',
   PRIMARY KEY (`student_direct_messages_id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 19 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '学生私信' ROW_FORMAT = DYNAMIC;
+) ENGINE = InnoDB AUTO_INCREMENT = 18 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '学生私信' ROW_FORMAT = DYNAMIC;
 
 -- ----------------------------
 -- Records of student_direct_messages
@@ -28084,7 +28092,7 @@ CREATE TABLE `student_question_log`  (
   `org_id` bigint NULL DEFAULT NULL COMMENT '组织机构ID',
   `user_id` bigint NULL DEFAULT NULL COMMENT '后台用户ID',
   PRIMARY KEY (`student_question_log_id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 131 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '学生练题记录' ROW_FORMAT = DYNAMIC;
+) ENGINE = InnoDB AUTO_INCREMENT = 130 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '学生练题记录' ROW_FORMAT = DYNAMIC;
 
 -- ----------------------------
 -- Records of student_question_log
@@ -28188,7 +28196,7 @@ CREATE TABLE `student_question_log_answer`  (
   `org_id` bigint NULL DEFAULT NULL COMMENT '组织机构ID',
   `user_id` bigint NULL DEFAULT NULL COMMENT '后台用户ID',
   PRIMARY KEY (`student_question_log_answer_id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '学生练题记录答案' ROW_FORMAT = DYNAMIC;
+) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '学生练题记录答案' ROW_FORMAT = DYNAMIC;
 
 -- ----------------------------
 -- Records of student_question_log_answer
@@ -28208,7 +28216,7 @@ CREATE TABLE `student_question_log_info`  (
   `org_id` bigint NULL DEFAULT NULL COMMENT '组织机构ID',
   `user_id` bigint NULL DEFAULT NULL COMMENT '后台用户ID',
   PRIMARY KEY (`student_question_log_info_id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 152 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '学生练题记录详情' ROW_FORMAT = DYNAMIC;
+) ENGINE = InnoDB AUTO_INCREMENT = 151 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '学生练题记录详情' ROW_FORMAT = DYNAMIC;
 
 -- ----------------------------
 -- Records of student_question_log_info
@@ -28387,11 +28395,12 @@ CREATE TABLE `sys_log`  (
   INDEX `token`(`token`) USING BTREE,
   INDEX `member_id`(`student_id`) USING BTREE,
   INDEX `create_time`(`create_time`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 9406 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '行为日志' ROW_FORMAT = DYNAMIC;
+) ENGINE = InnoDB AUTO_INCREMENT = 9720 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '行为日志' ROW_FORMAT = DYNAMIC;
 
 -- ----------------------------
 -- Records of sys_log
 -- ----------------------------
+INSERT INTO `sys_log` VALUES (9868, 'com.ibeetl.jlw.web.TeacherController.indexInfo', 'http://localhost:9090/server/jlw/teacher/indexInfo.json', '{\"_sign\":[\"null\"],\"competitionId\":[\"24\"],\"_referer\":[\"http://localhost:9090/server/index.do\"]}', '\"{\\\"code\\\":\\\"200\\\",\\\"dataMap\\\":{\\\"competition\\\":{\\\"classIds\\\":\\\"-1\\\",\\\"competitionContestEndTime\\\":1663344000000,\\\"competitionContestStartTime\\\":1662566400000,\\\"competitionEnrollEndTime\\\":1662652800000,\\\"competitionEnrollStartTime\\\":1661961600000,\\\"competitionFinalsLimit\\\":3,\\\"competitionId\\\":24,\\\"competitionLogo\\\":\\\"\\\",\\\"competitionName\\\":\\\"我是名称\\\",\\\"competitionSponsorName\\\":\\\"主办方名称啊\\\",\\\"competitionStatus\\\":2,\\\"competitionTaskOneEndTime\\\":1665504000000,\\\"competitionTaskOneStartTime\\\":1663084800000,\\\"competitionTaskSecondEndTime\\\":1663257600000,\\\"competitionTaskSecondStartTime\\\":1662480000000,\\\"competitionTeamLimit\\\":\\\"\\\",\\\"competitionType\\\":1,\\\"competitionWeight\\\":\\\",,\\\",\\\"excludedStudentIds\\\":\\\"-1\\\",\\\"orgId\\\":1,\\\"tails\\\":{\\\"competitionDetailedStatus\\\":5,\\\"competitionStudentNumber\\\":10},\\\"teacherId\\\":23,\\\"userId\\\":1},\\\"competitionCount\\\":0,\\\"competitionStudentsList\\\":[]},\\\"msg\\\":\\\"成功\\\"}\"', '192.168.56.1', '2022-09-13 23:10:01.964000', '2022-09-13 23:10:01.975000', NULL, NULL, 'DD5FC867068FE7E76E7B89B986A40F30', 1, NULL);
 
 -- ----------------------------
 -- Table structure for teacher
@@ -28472,7 +28481,7 @@ CREATE TABLE `teacher_merge_school_class`  (
   `org_id` bigint NULL DEFAULT NULL COMMENT '组织ID',
   `user_id` bigint NULL DEFAULT NULL COMMENT '用户ID',
   PRIMARY KEY (`teacher_merge_school_class_id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '教师-关联-班级' ROW_FORMAT = Dynamic;
+) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '教师-关联-班级' ROW_FORMAT = Dynamic;
 
 -- ----------------------------
 -- Records of teacher_merge_school_class
@@ -28500,7 +28509,9 @@ CREATE TABLE `teacher_open_course`  (
 -- ----------------------------
 -- Records of teacher_open_course
 -- ----------------------------
-INSERT INTO `teacher_open_course` VALUES (1569234797824483328, 'v', 'vvv', 'v', NULL, '2022-09-12 00:00:00', '2022-09-30 00:00:00', 1, 1, '2022-09-12 16:01:37');
+INSERT INTO `teacher_open_course` VALUES (1569699103338831872, '602', '400', 'http://baidu.com', 1, '2022-09-12 00:00:00', '2022-10-12 00:00:00', 1, 1, '2022-09-13 22:46:44');
+INSERT INTO `teacher_open_course` VALUES (1569699665614643200, '开课吧', 'code_kaike', 'fengmian', 1, '2022-09-13 00:00:00', '2022-09-30 00:00:00', 1, 1, '2022-09-13 22:48:59');
+INSERT INTO `teacher_open_course` VALUES (1569704771349291008, '399', '284', 'http://baidu.com', 1, '2022-09-12 00:00:00', '2022-10-12 00:00:00', 1, 1, '2022-09-13 23:09:16');
 
 -- ----------------------------
 -- Table structure for teacher_open_course_chat_log
@@ -28643,14 +28654,18 @@ CREATE TABLE `teacher_open_course_merge_teacher`  (
   `teacher_id` bigint NULL DEFAULT NULL COMMENT '教师ID',
   `teacher_open_course_merge_teacher_status` int NULL DEFAULT NULL COMMENT '状态(1启用 2禁用)',
   `teacher_open_course_merge_teacher_add_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
+  `teacher_open_course_merge_teacher_auth_code` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '教师开课授权码',
   `org_id` bigint NULL DEFAULT NULL COMMENT '组织ID',
   `user_id` bigint NULL DEFAULT NULL COMMENT '用户ID',
   PRIMARY KEY (`teacher_open_course_merge_teacher_id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '教师-课程开课-关联教师' ROW_FORMAT = DYNAMIC;
+) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '教师-课程开课-关联教师' ROW_FORMAT = DYNAMIC;
 
 -- ----------------------------
 -- Records of teacher_open_course_merge_teacher
 -- ----------------------------
+INSERT INTO `teacher_open_course_merge_teacher` VALUES (1569699103418523648, 1569699103338831872, 2, 1, '2022-09-13 22:46:44', '9vqwxi', 1, 1);
+INSERT INTO `teacher_open_course_merge_teacher` VALUES (1569699665673363456, 1569699665614643200, 23, 1, '2022-09-13 22:48:59', 'nxddn3', 1, 1);
+INSERT INTO `teacher_open_course_merge_teacher` VALUES (1569704771416399872, 1569704771349291008, 2, 1, '2022-09-13 23:09:16', 'ywoe4c', 1, 1);
 
 -- ----------------------------
 -- Table structure for teacher_open_course_notice
@@ -28886,7 +28901,7 @@ CREATE TABLE `teacher_open_course_schedule_session`  (
   `teacher_open_course_schedule_session_end_date` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '结束日期',
   `teacher_open_course_schedule_session_week_num` int NULL DEFAULT NULL COMMENT '周次',
   PRIMARY KEY (`teacher_open_course_schedule_session_id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '课程开课-排课管理-课表' ROW_FORMAT = DYNAMIC;
+) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '课程开课-排课管理-课表' ROW_FORMAT = DYNAMIC;
 
 -- ----------------------------
 -- Records of teacher_open_course_schedule_session
@@ -28972,7 +28987,7 @@ CREATE TABLE `teacher_open_course_schedule_session_class`  (
   `user_id` bigint NULL DEFAULT NULL COMMENT '用户ID',
   `teacher_open_course_schedule_session_class_add_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
   PRIMARY KEY (`teacher_open_course_schedule_session_class_id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '课程开课-排课教室' ROW_FORMAT = DYNAMIC;
+) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '课程开课-排课教室' ROW_FORMAT = DYNAMIC;
 
 -- ----------------------------
 -- Records of teacher_open_course_schedule_session_class
@@ -29001,7 +29016,7 @@ CREATE TABLE `teacher_open_course_schedule_session_tag`  (
   `org_id` bigint NULL DEFAULT NULL COMMENT '组织ID',
   `user_id` bigint NULL DEFAULT NULL COMMENT '用户ID',
   PRIMARY KEY (`teacher_open_course_schedule_session_tag_id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '课程开课-开课节次-标签' ROW_FORMAT = DYNAMIC;
+) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '课程开课-开课节次-标签' ROW_FORMAT = DYNAMIC;
 
 -- ----------------------------
 -- Records of teacher_open_course_schedule_session_tag
@@ -29134,7 +29149,7 @@ CREATE TABLE `universities_colleges_jurisdiction_curriculum_resources`  (
   `org_id` bigint NULL DEFAULT NULL COMMENT '组织机构ID',
   `user_id` bigint NULL DEFAULT NULL COMMENT '后台用户ID',
   PRIMARY KEY (`universities_colleges_jurisdiction_curriculum_resources_id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '院校权限管理 - 课程资源' ROW_FORMAT = DYNAMIC;
+) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '院校权限管理 - 课程资源' ROW_FORMAT = DYNAMIC;
 
 -- ----------------------------
 -- Records of universities_colleges_jurisdiction_curriculum_resources
@@ -29159,7 +29174,7 @@ CREATE TABLE `universities_colleges_jurisdiction_experimental_system`  (
   `org_id` bigint NULL DEFAULT NULL COMMENT '组织机构ID',
   `user_id` bigint NULL DEFAULT NULL COMMENT '后台用户ID',
   PRIMARY KEY (`universities_colleges_jurisdiction_experimental_system_id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 136 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '院校权限管理 - 实验系统' ROW_FORMAT = DYNAMIC;
+) ENGINE = InnoDB AUTO_INCREMENT = 135 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '院校权限管理 - 实验系统' ROW_FORMAT = DYNAMIC;
 
 -- ----------------------------
 -- Records of universities_colleges_jurisdiction_experimental_system
@@ -29251,6 +29266,7 @@ CREATE TABLE `university_faculty`  (
 -- ----------------------------
 -- Records of university_faculty
 -- ----------------------------
+INSERT INTO `university_faculty` VALUES (1569340836930560000, '1', '1', '1', '1', NULL, NULL, NULL, 1, 1);
 
 -- ----------------------------
 -- Table structure for university_system
@@ -29287,7 +29303,7 @@ CREATE TABLE `wrong_question`  (
   `org_id` bigint NULL DEFAULT NULL COMMENT '组织机构ID',
   `user_id` bigint NULL DEFAULT NULL COMMENT '后台用户ID',
   PRIMARY KEY (`student_question_log_id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 143 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '学生错题集' ROW_FORMAT = DYNAMIC;
+) ENGINE = InnoDB AUTO_INCREMENT = 142 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '学生错题集' ROW_FORMAT = DYNAMIC;
 
 -- ----------------------------
 -- Records of wrong_question
diff --git a/web/src/main/java/com/ibeetl/jlw/entity/TeacherOpenCourse.java b/web/src/main/java/com/ibeetl/jlw/entity/TeacherOpenCourse.java
index 97a1689f..306f6ffe 100644
--- a/web/src/main/java/com/ibeetl/jlw/entity/TeacherOpenCourse.java
+++ b/web/src/main/java/com/ibeetl/jlw/entity/TeacherOpenCourse.java
@@ -39,9 +39,15 @@ public class TeacherOpenCourse extends BaseEntity{
 
     private Integer teacherOpenCourseStatus ;
 
-    //教师ID
+    //教师ID(外表)
+    @Dict(type="teacher.teacher_name.teacher_status=1")
+
     private Long teacherId ;
-	
+
+    // 开课授权码(外表)
+
+    private String teacherOpenCourseMergeTeacherAuthCode ;
+
     //开课时间
 
     private Date startTime ;
@@ -202,4 +208,12 @@ public class TeacherOpenCourse extends BaseEntity{
     public void setTeacherId(Long teacherId) {
         this.teacherId = teacherId;
     }
+
+    public String getTeacherOpenCourseMergeTeacherAuthCode() {
+        return teacherOpenCourseMergeTeacherAuthCode;
+    }
+
+    public void setTeacherOpenCourseMergeTeacherAuthCode(String teacherOpenCourseMergeTeacherAuthCode) {
+        this.teacherOpenCourseMergeTeacherAuthCode = teacherOpenCourseMergeTeacherAuthCode;
+    }
 }
diff --git a/web/src/main/java/com/ibeetl/jlw/entity/TeacherOpenCourseMergeTeacher.java b/web/src/main/java/com/ibeetl/jlw/entity/TeacherOpenCourseMergeTeacher.java
index 38beb3a3..b2d27562 100644
--- a/web/src/main/java/com/ibeetl/jlw/entity/TeacherOpenCourseMergeTeacher.java
+++ b/web/src/main/java/com/ibeetl/jlw/entity/TeacherOpenCourseMergeTeacher.java
@@ -36,6 +36,10 @@ public class TeacherOpenCourseMergeTeacher extends BaseEntity{
     @Dict(type="global_open_status")
 
     private Integer teacherOpenCourseMergeTeacherStatus ;
+
+    //教师开课授权码
+
+    private String teacherOpenCourseMergeTeacherAuthCode ;
 	
     //创建时间
 
@@ -143,5 +147,12 @@ public class TeacherOpenCourseMergeTeacher extends BaseEntity{
         this.userId = userId;
     }
 
+    public String getTeacherOpenCourseMergeTeacherAuthCode() {
+        return teacherOpenCourseMergeTeacherAuthCode;
+    }
+
+    public void setTeacherOpenCourseMergeTeacherAuthCode(String teacherOpenCourseMergeTeacherAuthCode) {
+        this.teacherOpenCourseMergeTeacherAuthCode = teacherOpenCourseMergeTeacherAuthCode;
+    }
 
 }
diff --git a/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseService.java b/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseService.java
index 907b6a10..5ce8e923 100644
--- a/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseService.java
+++ b/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseService.java
@@ -1,5 +1,7 @@
 package com.ibeetl.jlw.service;
 
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.RandomUtil;
 import cn.jlw.util.ToolUtils;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
@@ -8,7 +10,9 @@ import com.ibeetl.admin.core.util.PlatformException;
 import com.ibeetl.admin.core.web.JsonResult;
 import com.ibeetl.admin.core.web.JsonReturnCode;
 import com.ibeetl.jlw.dao.TeacherOpenCourseDao;
+import com.ibeetl.jlw.dao.TeacherOpenCourseMergeTeacherDao;
 import com.ibeetl.jlw.entity.TeacherOpenCourse;
+import com.ibeetl.jlw.entity.TeacherOpenCourseMergeTeacher;
 import com.ibeetl.jlw.web.query.TeacherOpenCourseQuery;
 import org.apache.commons.lang3.StringUtils;
 import org.beetl.sql.core.engine.PageQuery;
@@ -31,6 +35,8 @@ import java.util.List;
 public class TeacherOpenCourseService extends CoreBaseService<TeacherOpenCourse>{
 
     @Autowired private TeacherOpenCourseDao teacherOpenCourseDao;
+    @Autowired
+    private TeacherOpenCourseMergeTeacherDao teacherOpenCourseMergeTeacherDao;
 
     public PageQuery<TeacherOpenCourse>queryByCondition(PageQuery query){
         PageQuery ret =  teacherOpenCourseDao.queryByCondition(query);
@@ -89,7 +95,24 @@ public class TeacherOpenCourseService extends CoreBaseService<TeacherOpenCourse>
         String msg = "";
         TeacherOpenCourse teacherOpenCourse = teacherOpenCourseQuery.pojo();
         teacherOpenCourse.setCreateTime(new Date());
+        teacherOpenCourse.setTeacherOpenCourseStatus(1);
         teacherOpenCourseDao.insert(teacherOpenCourse);
+
+        // 开课和教师关联数据
+        if (ObjectUtil.isNotEmpty(teacherOpenCourse.getTeacherId())) {
+            TeacherOpenCourseMergeTeacher teacherOpenCourseMergeTeacher = new TeacherOpenCourseMergeTeacher();
+            teacherOpenCourseMergeTeacher.setTeacherId(teacherOpenCourse.getTeacherId());
+            teacherOpenCourseMergeTeacher.setTeacherOpenCourseId(teacherOpenCourse.getTeacherOpenCourseId());
+            teacherOpenCourseMergeTeacher.setTeacherOpenCourseMergeTeacherAddTime(new Date());
+            teacherOpenCourseMergeTeacher.setTeacherOpenCourseMergeTeacherStatus(1);
+
+            // 开课授权码:新增开课记录时,则创建授权码
+            teacherOpenCourseMergeTeacher.setTeacherOpenCourseMergeTeacherAuthCode(RandomUtil.randomString(6));
+            teacherOpenCourseMergeTeacher.setOrgId(teacherOpenCourseQuery.getOrgId());
+            teacherOpenCourseMergeTeacher.setUserId(teacherOpenCourseQuery.getUserId());
+            teacherOpenCourseMergeTeacherDao.insert(teacherOpenCourseMergeTeacher);
+        }
+
         teacherOpenCourseQuery.setTeacherOpenCourseId(teacherOpenCourse.getTeacherOpenCourseId());
         JsonResult jsonResult = new JsonResult();
         jsonResult.setData(teacherOpenCourse.getTeacherOpenCourseId());//自增的ID丢进去
diff --git a/web/src/main/java/com/ibeetl/jlw/web/TeacherOpenCourseController.java b/web/src/main/java/com/ibeetl/jlw/web/TeacherOpenCourseController.java
index c6048fe4..ec12ca45 100644
--- a/web/src/main/java/com/ibeetl/jlw/web/TeacherOpenCourseController.java
+++ b/web/src/main/java/com/ibeetl/jlw/web/TeacherOpenCourseController.java
@@ -154,6 +154,14 @@ public class TeacherOpenCourseController{
         }
     }
 
+    /**
+     * 教师端-教师开课
+     * @param teacherOpenCourseQuery
+     * @param result
+     * @param coreUser
+     * @return
+     */
+
     @PostMapping(MODEL + "/add.json")
     @Function("teacherOpenCourse.add")
     @ResponseBody
diff --git a/web/src/main/java/com/ibeetl/jlw/web/query/TeacherOpenCourseMergeTeacherQuery.java b/web/src/main/java/com/ibeetl/jlw/web/query/TeacherOpenCourseMergeTeacherQuery.java
index 77b96ebd..3a45d544 100644
--- a/web/src/main/java/com/ibeetl/jlw/web/query/TeacherOpenCourseMergeTeacherQuery.java
+++ b/web/src/main/java/com/ibeetl/jlw/web/query/TeacherOpenCourseMergeTeacherQuery.java
@@ -15,12 +15,15 @@ public class TeacherOpenCourseMergeTeacherQuery extends PageParam {
     @NotNull(message = "ID不能为空", groups =ValidateConfig.UPDATE.class)
     @Query(name = "课程开课教师关联ID", display = false)
     private Long teacherOpenCourseMergeTeacherId;
-    @Query(name = "课程开课ID", display = true,type=Query.TYPE_DICT,dict="teacher_open_course.teacher_open_course_title.teacher_open_course_status=1")
+    @Query(name = "课程开课名称", display = true,type=Query.TYPE_DICT,dict="teacher_open_course.teacher_open_course_title.teacher_open_course_status=1")
     private Long teacherOpenCourseId;
-    @Query(name = "教师ID", display = true,type=Query.TYPE_DICT,dict="teacher.teacher_name.teacher_status=1")
+    @Query(name = "教师名称", display = true,type=Query.TYPE_DICT,dict="teacher.teacher_name.teacher_status=1")
     private Long teacherId;
-    @Query(name = "状态(1启用 2禁用)", display = true,type=Query.TYPE_DICT,dict="global_open_status")
+//    @Query(name = "状态(1启用 2禁用)", display = true,type=Query.TYPE_DICT,dict="global_open_status")
+    @Query(name = "状态", display = true,type=Query.TYPE_DICT,dict="global_open_status")
     private Integer teacherOpenCourseMergeTeacherStatus;
+    @Query(name = "教师开课授权码", display = true)
+    private String teacherOpenCourseMergeTeacherAuthCode;
     @Query(name = "创建时间", display = false)
     private Date teacherOpenCourseMergeTeacherAddTime;
     @Query(name = "组织ID", display = false)
@@ -142,4 +145,12 @@ public class TeacherOpenCourseMergeTeacherQuery extends PageParam {
     public void set_given(String _given) {
         this._given = _given;
     }
+
+    public String getTeacherOpenCourseMergeTeacherAuthCode() {
+        return teacherOpenCourseMergeTeacherAuthCode;
+    }
+
+    public void setTeacherOpenCourseMergeTeacherAuthCode(String teacherOpenCourseMergeTeacherAuthCode) {
+        this.teacherOpenCourseMergeTeacherAuthCode = teacherOpenCourseMergeTeacherAuthCode;
+    }
 }
diff --git a/web/src/main/java/com/ibeetl/jlw/web/query/TeacherOpenCourseQuery.java b/web/src/main/java/com/ibeetl/jlw/web/query/TeacherOpenCourseQuery.java
index f2a52a7d..447e2dd4 100644
--- a/web/src/main/java/com/ibeetl/jlw/web/query/TeacherOpenCourseQuery.java
+++ b/web/src/main/java/com/ibeetl/jlw/web/query/TeacherOpenCourseQuery.java
@@ -31,6 +31,10 @@ public class TeacherOpenCourseQuery extends PageParam {
     private Integer teacherOpenCourseStatus;
     @Query(name = "教师", display = true, type=Query.TYPE_DICT, dict = "teacher.teacher_name.teacher_status=1")
     private Long teacherId;
+
+    // 开课授权码(外表)
+    @Query(name = "开课授权码", display = true)
+    private String teacherOpenCourseMergeAuthCode;
     @Query(name = "开课时间", display = true)
     private Date startTime;
     @Query(name = "结课时间", display = true)
@@ -181,4 +185,12 @@ public class TeacherOpenCourseQuery extends PageParam {
     public void setTeacherId(Long teacherId) {
         this.teacherId = teacherId;
     }
+
+    public String getTeacherOpenCourseMergeAuthCode() {
+        return teacherOpenCourseMergeAuthCode;
+    }
+
+    public void setTeacherOpenCourseMergeAuthCode(String teacherOpenCourseMergeAuthCode) {
+        this.teacherOpenCourseMergeAuthCode = teacherOpenCourseMergeAuthCode;
+    }
 }
diff --git a/web/src/main/resources/sql/jlw/teacherOpenCourse.md b/web/src/main/resources/sql/jlw/teacherOpenCourse.md
index 45ca104f..156a0fbf 100644
--- a/web/src/main/resources/sql/jlw/teacherOpenCourse.md
+++ b/web/src/main/resources/sql/jlw/teacherOpenCourse.md
@@ -3,9 +3,12 @@ queryByCondition
 * 根据不为空的参数进行分页查询
   select
   @pageTag(){
-  t.*
+  t.*,
+  tb.teacher_id, ta.teacher_open_course_merge_teacher_auth_code
   @}
   from teacher_open_course t
+  left join teacher_open_course_merge_teacher ta on ta.teacher_open_course_id = t.teacher_open_course_id
+  left join teacher tb on tb.teacher_id = ta.teacher_id and tb.teacher_status = 1
   where 1=1  
   @//数据权限,该sql语句功能点,如果不考虑数据权限,可以删除此行  
   and #function("teacherOpenCourse.query")#
@@ -31,10 +34,10 @@ queryByCondition
   and find_in_set(t.teacher_open_course_status,#teacherOpenCourseStatusPlural#)
   @}
   @if(!isEmpty(teacherId)){
-  and t.teacher_id =#teacherId#
+  and tb.teacher_id =#teacherId#
   @}
   @if(!isEmpty(teacherIdPlural)){
-  and find_in_set(t.teacher_id,#teacherIdPlural#)
+  and find_in_set(tb.teacher_id,#teacherIdPlural#)
   @}
   @if(!isEmpty(startTime)){
   and t.start_time =#startTime#
@@ -57,6 +60,9 @@ queryByCondition
   @if(!isEmpty(createTime)){
   and t.create_time =#createTime#
   @}
+  @if(!isEmpty(teacherOpenCourseMergeAuthCode)){
+  and ta.teacher_open_course_merge_teacher_auth_code =#teacherOpenCourseMergeAuthCode#
+  @}
 
 
 queryByConditionQuery
@@ -64,9 +70,12 @@ queryByConditionQuery
 * 根据不为空的参数进行分页查询(无权限)
   select
   @pageTag(){
-  t.*
+  t.*,
+  tb.teacher_id, ta.teacher_open_course_merge_teacher_auth_code
   @}
   from teacher_open_course t
+  left join teacher_open_course_merge_teacher ta on ta.teacher_open_course_id = t.teacher_open_course_id
+  left join teacher tb on tb.teacher_id = ta.teacher_id and tb.teacher_status = 1
   where 1=1  
   @if(!isEmpty(teacherOpenCourseId)){
   and t.teacher_open_course_id =#teacherOpenCourseId#
@@ -90,10 +99,10 @@ queryByConditionQuery
   and find_in_set(t.teacher_open_course_status,#teacherOpenCourseStatusPlural#)
   @}
   @if(!isEmpty(teacherId)){
-  and t.teacher_id =#teacherId#
+  and tb.teacher_id =#teacherId#
   @}
   @if(!isEmpty(teacherIdPlural)){
-  and find_in_set(t.teacher_id,#teacherIdPlural#)
+  and find_in_set(tb.teacher_id,#teacherIdPlural#)
   @}
   @if(!isEmpty(startTime)){
   and t.start_time =#startTime#
@@ -116,7 +125,9 @@ queryByConditionQuery
   @if(!isEmpty(createTime)){
   and t.create_time =#createTime#
   @}
-
+  @if(!isEmpty(teacherOpenCourseMergeAuthCode)){
+  and ta.teacher_open_course_merge_teacher_auth_code =#teacherOpenCourseMergeAuthCode#
+  @}
 
 
 deleteTeacherOpenCourseByIds
@@ -127,6 +138,7 @@ deleteTeacherOpenCourseByIds
 getByIds
 ===
 select * from teacher_open_course where find_in_set(teacher_open_course_id,#ids#)
+
 updateGivenByIds
 ===
 * 批量更新指定字段,无论此字段是否有值
@@ -160,13 +172,6 @@ updateGivenByIds
   teacher_open_course_status = #teacherOpenCourseStatus# ,
   @}
   @}
-  @if(contain("teacherId",_given)){
-  @if(isEmpty(teacherId)){
-  teacher_id = null ,
-  @}else{
-  teacher_id = #teacherId# ,
-  @}
-  @}
   @if(contain("startTime",_given)){
   @if(isEmpty(startTime)){
   start_time = null ,
@@ -209,8 +214,11 @@ updateGivenByIds
 getTeacherOpenCourseValues
 ===
 * 根据不为空的参数进行查询
-  select t.*
+  select t.*,
+  tb.teacher_id, ta.teacher_open_course_merge_teacher_auth_code
   from teacher_open_course t
+  left join teacher_open_course_merge_teacher ta on ta.teacher_open_course_id = t.teacher_open_course_id
+  left join teacher tb on tb.teacher_id = ta.teacher_id and tb.teacher_status = 1
   where 1=1  
   @if(!isEmpty(teacherOpenCourseId)){
   and t.teacher_open_course_id =#teacherOpenCourseId#
@@ -228,7 +236,7 @@ getTeacherOpenCourseValues
   and t.teacher_open_course_status =#teacherOpenCourseStatus#
   @}
   @if(!isEmpty(teacherId)){
-  and t.teacher_id =#teacherId#
+  and tb.teacher_id =#teacherId#
   @}
   @if(!isEmpty(startTime)){
   and t.start_time =#startTime#
@@ -245,13 +253,18 @@ getTeacherOpenCourseValues
   @if(!isEmpty(createTime)){
   and t.create_time =#createTime#
   @}
-
+  @if(!isEmpty(teacherOpenCourseMergeAuthCode)){
+  and ta.teacher_open_course_merge_teacher_auth_code =#teacherOpenCourseMergeAuthCode#
+  @}
 
 getValuesByQuery
 ===
 * 根据不为空的参数进行查询
-  select t.*
+  select t.*,
+  tb.teacher_id, ta.teacher_open_course_merge_teacher_auth_code
   from teacher_open_course t
+  left join teacher_open_course_merge_teacher ta on ta.teacher_open_course_id = t.teacher_open_course_id
+  left join teacher tb on tb.teacher_id = ta.teacher_id and tb.teacher_status = 1
   where 1=1 and #function("teacherOpenCourse.query")#
   @if(!isEmpty(teacherOpenCourseId)){
   and t.teacher_open_course_id =#teacherOpenCourseId#
@@ -275,10 +288,10 @@ getValuesByQuery
   and find_in_set(t.teacher_open_course_status,#teacherOpenCourseStatusPlural#)
   @}
   @if(!isEmpty(teacherId)){
-  and t.teacher_id =#teacherId#
+  and tb.teacher_id =#teacherId#
   @}
   @if(!isEmpty(teacherIdPlural)){
-  and find_in_set(t.teacher_id,#teacherIdPlural#)
+  and find_in_set(tb.teacher_id,#teacherIdPlural#)
   @}
   @if(!isEmpty(startTime)){
   and t.start_time =#startTime#
@@ -300,4 +313,7 @@ getValuesByQuery
   @}
   @if(!isEmpty(createTime)){
   and t.create_time =#createTime#
+  @}
+  @if(!isEmpty(teacherOpenCourseMergeAuthCode)){
+  and ta.teacher_open_course_merge_teacher_auth_code =#teacherOpenCourseMergeAuthCode#
   @}
\ No newline at end of file
diff --git a/web/src/main/resources/sql/jlw/teacherOpenCourseMergeTeacher.md b/web/src/main/resources/sql/jlw/teacherOpenCourseMergeTeacher.md
index 4eb66eea..763e3c62 100644
--- a/web/src/main/resources/sql/jlw/teacherOpenCourseMergeTeacher.md
+++ b/web/src/main/resources/sql/jlw/teacherOpenCourseMergeTeacher.md
@@ -1,256 +1,256 @@
 queryByCondition
 ===
 * 根据不为空的参数进行分页查询
+  select
+  @pageTag(){
+  t.*
+  @}
+  from teacher_open_course_merge_teacher t
+  where 1=1  
+  @//数据权限,该sql语句功能点,如果不考虑数据权限,可以删除此行  
+  and #function("teacherOpenCourseMergeTeacher.query")#
+  @if(!isEmpty(teacherOpenCourseMergeTeacherId)){
+  and t.teacher_open_course_merge_teacher_id =#teacherOpenCourseMergeTeacherId#
+  @}
+  @if(!isEmpty(teacherOpenCourseMergeTeacherIdPlural)){
+  and find_in_set(t.teacher_open_course_merge_teacher_id,#teacherOpenCourseMergeTeacherIdPlural#)
+  @}
+  @if(!isEmpty(teacherOpenCourseId)){
+  and t.teacher_open_course_id =#teacherOpenCourseId#
+  @}
+  @if(!isEmpty(teacherOpenCourseIdPlural)){
+  and find_in_set(t.teacher_open_course_id,#teacherOpenCourseIdPlural#)
+  @}
+  @if(!isEmpty(teacherId)){
+  and t.teacher_id =#teacherId#
+  @}
+  @if(!isEmpty(teacherIdPlural)){
+  and find_in_set(t.teacher_id,#teacherIdPlural#)
+  @}
+  @if(!isEmpty(teacherOpenCourseMergeTeacherStatus)){
+  and t.teacher_open_course_merge_teacher_status =#teacherOpenCourseMergeTeacherStatus#
+  @}
+  @if(!isEmpty(teacherOpenCourseMergeTeacherStatusPlural)){
+  and find_in_set(t.teacher_open_course_merge_teacher_status,#teacherOpenCourseMergeTeacherStatusPlural#)
+  @}
+  @if(!isEmpty(teacherOpenCourseMergeTeacherAddTime)){
+  and t.teacher_open_course_merge_teacher_add_time =#teacherOpenCourseMergeTeacherAddTime#
+  @}
+  @if(!isEmpty(teacherOpenCourseMergeTeacherAuthCode)){
+  and t.teacher_open_course_merge_teacher_auth_code =#teacherOpenCourseMergeTeacherAuthCode#
+  @}
+  @if(!isEmpty(orgId)){
+  and t.org_id =#orgId#
+  @}
+  @if(!isEmpty(orgIdPlural)){
+  and find_in_set(t.org_id,#orgIdPlural#)
+  @}
+  @if(!isEmpty(userId)){
+  and t.user_id =#userId#
+  @}
+  @if(!isEmpty(userIdPlural)){
+  and find_in_set(t.user_id,#userIdPlural#)
+  @}
+
 
-    select 
-    @pageTag(){
-    t.*
-    @}
-    from teacher_open_course_merge_teacher t
-    where 1=1  
-    @//数据权限,该sql语句功能点,如果不考虑数据权限,可以删除此行  
-    and #function("teacherOpenCourseMergeTeacher.query")#
-    @if(!isEmpty(teacherOpenCourseMergeTeacherId)){
-        and t.teacher_open_course_merge_teacher_id =#teacherOpenCourseMergeTeacherId#
-    @}
-    @if(!isEmpty(teacherOpenCourseMergeTeacherIdPlural)){
-        and find_in_set(t.teacher_open_course_merge_teacher_id,#teacherOpenCourseMergeTeacherIdPlural#)
-    @}
-    @if(!isEmpty(teacherOpenCourseId)){
-        and t.teacher_open_course_id =#teacherOpenCourseId#
-    @}
-    @if(!isEmpty(teacherOpenCourseIdPlural)){
-        and find_in_set(t.teacher_open_course_id,#teacherOpenCourseIdPlural#)
-    @}
-    @if(!isEmpty(teacherId)){
-        and t.teacher_id =#teacherId#
-    @}
-    @if(!isEmpty(teacherIdPlural)){
-        and find_in_set(t.teacher_id,#teacherIdPlural#)
-    @}
-    @if(!isEmpty(teacherOpenCourseMergeTeacherStatus)){
-        and t.teacher_open_course_merge_teacher_status =#teacherOpenCourseMergeTeacherStatus#
-    @}
-    @if(!isEmpty(teacherOpenCourseMergeTeacherStatusPlural)){
-        and find_in_set(t.teacher_open_course_merge_teacher_status,#teacherOpenCourseMergeTeacherStatusPlural#)
-    @}
-    @if(!isEmpty(teacherOpenCourseMergeTeacherAddTime)){
-        and t.teacher_open_course_merge_teacher_add_time =#teacherOpenCourseMergeTeacherAddTime#
-    @}
-    @if(!isEmpty(orgId)){
-        and t.org_id =#orgId#
-    @}
-    @if(!isEmpty(orgIdPlural)){
-        and find_in_set(t.org_id,#orgIdPlural#)
-    @}
-    @if(!isEmpty(userId)){
-        and t.user_id =#userId#
-    @}
-    @if(!isEmpty(userIdPlural)){
-        and find_in_set(t.user_id,#userIdPlural#)
-    @}
-    
-    
 queryByConditionQuery
 ===
 * 根据不为空的参数进行分页查询(无权限)
+  select
+  @pageTag(){
+  t.*
+  @}
+  from teacher_open_course_merge_teacher t
+  where 1=1  
+  @if(!isEmpty(teacherOpenCourseMergeTeacherId)){
+  and t.teacher_open_course_merge_teacher_id =#teacherOpenCourseMergeTeacherId#
+  @}
+  @if(!isEmpty(teacherOpenCourseMergeTeacherIdPlural)){
+  and find_in_set(t.teacher_open_course_merge_teacher_id,#teacherOpenCourseMergeTeacherIdPlural#)
+  @}
+  @if(!isEmpty(teacherOpenCourseId)){
+  and t.teacher_open_course_id =#teacherOpenCourseId#
+  @}
+  @if(!isEmpty(teacherOpenCourseIdPlural)){
+  and find_in_set(t.teacher_open_course_id,#teacherOpenCourseIdPlural#)
+  @}
+  @if(!isEmpty(teacherId)){
+  and t.teacher_id =#teacherId#
+  @}
+  @if(!isEmpty(teacherIdPlural)){
+  and find_in_set(t.teacher_id,#teacherIdPlural#)
+  @}
+  @if(!isEmpty(teacherOpenCourseMergeTeacherStatus)){
+  and t.teacher_open_course_merge_teacher_status =#teacherOpenCourseMergeTeacherStatus#
+  @}
+  @if(!isEmpty(teacherOpenCourseMergeTeacherStatusPlural)){
+  and find_in_set(t.teacher_open_course_merge_teacher_status,#teacherOpenCourseMergeTeacherStatusPlural#)
+  @}
+  @if(!isEmpty(teacherOpenCourseMergeTeacherAddTime)){
+  and t.teacher_open_course_merge_teacher_add_time =#teacherOpenCourseMergeTeacherAddTime#
+  @}
+  @if(!isEmpty(teacherOpenCourseMergeTeacherAuthCode)){
+  and t.teacher_open_course_merge_teacher_auth_code =#teacherOpenCourseMergeTeacherAuthCode#
+  @}
+  @if(!isEmpty(orgId)){
+  and t.org_id =#orgId#
+  @}
+  @if(!isEmpty(orgIdPlural)){
+  and find_in_set(t.org_id,#orgIdPlural#)
+  @}
+  @if(!isEmpty(userId)){
+  and t.user_id =#userId#
+  @}
+  @if(!isEmpty(userIdPlural)){
+  and find_in_set(t.user_id,#userIdPlural#)
+  @}
+
 
-    select 
-    @pageTag(){
-    t.*
-    @}
-    from teacher_open_course_merge_teacher t
-    where 1=1  
-    @if(!isEmpty(teacherOpenCourseMergeTeacherId)){
-        and t.teacher_open_course_merge_teacher_id =#teacherOpenCourseMergeTeacherId#
-    @}
-    @if(!isEmpty(teacherOpenCourseMergeTeacherIdPlural)){
-        and find_in_set(t.teacher_open_course_merge_teacher_id,#teacherOpenCourseMergeTeacherIdPlural#)
-    @}
-    @if(!isEmpty(teacherOpenCourseId)){
-        and t.teacher_open_course_id =#teacherOpenCourseId#
-    @}
-    @if(!isEmpty(teacherOpenCourseIdPlural)){
-        and find_in_set(t.teacher_open_course_id,#teacherOpenCourseIdPlural#)
-    @}
-    @if(!isEmpty(teacherId)){
-        and t.teacher_id =#teacherId#
-    @}
-    @if(!isEmpty(teacherIdPlural)){
-        and find_in_set(t.teacher_id,#teacherIdPlural#)
-    @}
-    @if(!isEmpty(teacherOpenCourseMergeTeacherStatus)){
-        and t.teacher_open_course_merge_teacher_status =#teacherOpenCourseMergeTeacherStatus#
-    @}
-    @if(!isEmpty(teacherOpenCourseMergeTeacherStatusPlural)){
-        and find_in_set(t.teacher_open_course_merge_teacher_status,#teacherOpenCourseMergeTeacherStatusPlural#)
-    @}
-    @if(!isEmpty(teacherOpenCourseMergeTeacherAddTime)){
-        and t.teacher_open_course_merge_teacher_add_time =#teacherOpenCourseMergeTeacherAddTime#
-    @}
-    @if(!isEmpty(orgId)){
-        and t.org_id =#orgId#
-    @}
-    @if(!isEmpty(orgIdPlural)){
-        and find_in_set(t.org_id,#orgIdPlural#)
-    @}
-    @if(!isEmpty(userId)){
-        and t.user_id =#userId#
-    @}
-    @if(!isEmpty(userIdPlural)){
-        and find_in_set(t.user_id,#userIdPlural#)
-    @}
-    
-    
-    
 
 deleteTeacherOpenCourseMergeTeacherByIds
 ===
-
 * 批量删除
-
-    delete from teacher_open_course_merge_teacher where find_in_set(teacher_open_course_merge_teacher_id,#ids#)
-    
-
+  delete from teacher_open_course_merge_teacher where find_in_set(teacher_open_course_merge_teacher_id,#ids#)
 
 getByIds
 ===
-
-   select * from teacher_open_course_merge_teacher where find_in_set(teacher_open_course_merge_teacher_id,#ids#)
-
+select * from teacher_open_course_merge_teacher where find_in_set(teacher_open_course_merge_teacher_id,#ids#)
 
 updateGivenByIds
 ===
-
 * 批量更新指定字段,无论此字段是否有值
+  update teacher_open_course_merge_teacher
+  set
+  @if(contain("teacherOpenCourseId",_given)){
+  @if(isEmpty(teacherOpenCourseId)){
+  teacher_open_course_id = null ,
+  @}else{
+  teacher_open_course_id = #teacherOpenCourseId# ,
+  @}
+  @}
+  @if(contain("teacherId",_given)){
+  @if(isEmpty(teacherId)){
+  teacher_id = null ,
+  @}else{
+  teacher_id = #teacherId# ,
+  @}
+  @}
+  @if(contain("teacherOpenCourseMergeTeacherStatus",_given)){
+  @if(isEmpty(teacherOpenCourseMergeTeacherStatus)){
+  teacher_open_course_merge_teacher_status = null ,
+  @}else{
+  teacher_open_course_merge_teacher_status = #teacherOpenCourseMergeTeacherStatus# ,
+  @}
+  @}
+  @if(contain("teacherOpenCourseMergeTeacherAddTime",_given)){
+  @if(isEmpty(teacherOpenCourseMergeTeacherAddTime)){
+  teacher_open_course_merge_teacher_add_time = null ,
+  @}else{
+  teacher_open_course_merge_teacher_add_time = #teacherOpenCourseMergeTeacherAddTime# ,
+  @}
+  @}
+  @if(contain("teacherOpenCourseMergeTeacherAuthCode",_given)){
+  @if(isEmpty(teacherOpenCourseMergeTeacherAuthCode)){
+  teacher_open_course_merge_teacher_auth_code = null ,
+  @}else{
+  teacher_open_course_merge_teacher_auth_code = #teacherOpenCourseMergeTeacherAuthCode# ,
+  @}
+  @}
+  @if(contain("orgId",_given)){
+  @if(isEmpty(orgId)){
+  org_id = null ,
+  @}else{
+  org_id = #orgId# ,
+  @}
+  @}
+  @if(contain("userId",_given)){
+  @if(isEmpty(userId)){
+  user_id = null ,
+  @}else{
+  user_id = #userId# ,
+  @}
+  @}
+  teacher_open_course_merge_teacher_id = teacher_open_course_merge_teacher_id
+  where find_in_set(teacher_open_course_merge_teacher_id,#teacherOpenCourseMergeTeacherIdPlural#)
 
-    update teacher_open_course_merge_teacher
-    set 
-    @if(contain("teacherOpenCourseId",_given)){
-        @if(isEmpty(teacherOpenCourseId)){
-            teacher_open_course_id = null ,
-        @}else{
-            teacher_open_course_id = #teacherOpenCourseId# ,
-        @}
-    @}
-    @if(contain("teacherId",_given)){
-        @if(isEmpty(teacherId)){
-            teacher_id = null ,
-        @}else{
-            teacher_id = #teacherId# ,
-        @}
-    @}
-    @if(contain("teacherOpenCourseMergeTeacherStatus",_given)){
-        @if(isEmpty(teacherOpenCourseMergeTeacherStatus)){
-            teacher_open_course_merge_teacher_status = null ,
-        @}else{
-            teacher_open_course_merge_teacher_status = #teacherOpenCourseMergeTeacherStatus# ,
-        @}
-    @}
-    @if(contain("teacherOpenCourseMergeTeacherAddTime",_given)){
-        @if(isEmpty(teacherOpenCourseMergeTeacherAddTime)){
-            teacher_open_course_merge_teacher_add_time = null ,
-        @}else{
-            teacher_open_course_merge_teacher_add_time = #teacherOpenCourseMergeTeacherAddTime# ,
-        @}
-    @}
-    @if(contain("orgId",_given)){
-        @if(isEmpty(orgId)){
-            org_id = null ,
-        @}else{
-            org_id = #orgId# ,
-        @}
-    @}
-    @if(contain("userId",_given)){
-        @if(isEmpty(userId)){
-            user_id = null ,
-        @}else{
-            user_id = #userId# ,
-        @}
-    @}
-            teacher_open_course_merge_teacher_id = teacher_open_course_merge_teacher_id
-    where find_in_set(teacher_open_course_merge_teacher_id,#teacherOpenCourseMergeTeacherIdPlural#)
 
-    
-    
 getTeacherOpenCourseMergeTeacherValues
 ===
-
 * 根据不为空的参数进行查询
+  select t.*
+  from teacher_open_course_merge_teacher t
+  where 1=1  
+  @if(!isEmpty(teacherOpenCourseMergeTeacherId)){
+  and t.teacher_open_course_merge_teacher_id =#teacherOpenCourseMergeTeacherId#
+  @}
+  @if(!isEmpty(teacherOpenCourseId)){
+  and t.teacher_open_course_id =#teacherOpenCourseId#
+  @}
+  @if(!isEmpty(teacherId)){
+  and t.teacher_id =#teacherId#
+  @}
+  @if(!isEmpty(teacherOpenCourseMergeTeacherStatus)){
+  and t.teacher_open_course_merge_teacher_status =#teacherOpenCourseMergeTeacherStatus#
+  @}
+  @if(!isEmpty(teacherOpenCourseMergeTeacherAddTime)){
+  and t.teacher_open_course_merge_teacher_add_time =#teacherOpenCourseMergeTeacherAddTime#
+  @}
+  @if(!isEmpty(teacherOpenCourseMergeTeacherAuthCode)){
+  and t.teacher_open_course_merge_teacher_auth_code =#teacherOpenCourseMergeTeacherAuthCode#
+  @}
+  @if(!isEmpty(orgId)){
+  and t.org_id =#orgId#
+  @}
+  @if(!isEmpty(userId)){
+  and t.user_id =#userId#
+  @}
+
 
-    select t.*
-    from teacher_open_course_merge_teacher t
-    where 1=1  
-    @if(!isEmpty(teacherOpenCourseMergeTeacherId)){
-        and t.teacher_open_course_merge_teacher_id =#teacherOpenCourseMergeTeacherId#
-    @}
-    @if(!isEmpty(teacherOpenCourseId)){
-        and t.teacher_open_course_id =#teacherOpenCourseId#
-    @}
-    @if(!isEmpty(teacherId)){
-        and t.teacher_id =#teacherId#
-    @}
-    @if(!isEmpty(teacherOpenCourseMergeTeacherStatus)){
-        and t.teacher_open_course_merge_teacher_status =#teacherOpenCourseMergeTeacherStatus#
-    @}
-    @if(!isEmpty(teacherOpenCourseMergeTeacherAddTime)){
-        and t.teacher_open_course_merge_teacher_add_time =#teacherOpenCourseMergeTeacherAddTime#
-    @}
-    @if(!isEmpty(orgId)){
-        and t.org_id =#orgId#
-    @}
-    @if(!isEmpty(userId)){
-        and t.user_id =#userId#
-    @}
-   
-    
 getValuesByQuery
 ===
-
 * 根据不为空的参数进行查询
-
-    select t.*
-    from teacher_open_course_merge_teacher t
-    where 1=1 and #function("teacherOpenCourseMergeTeacher.query")#
-    @if(!isEmpty(teacherOpenCourseMergeTeacherId)){
-        and t.teacher_open_course_merge_teacher_id =#teacherOpenCourseMergeTeacherId#
-    @}
-    @if(!isEmpty(teacherOpenCourseMergeTeacherIdPlural)){
-        and find_in_set(t.teacher_open_course_merge_teacher_id,#teacherOpenCourseMergeTeacherIdPlural#)
-    @}
-    @if(!isEmpty(teacherOpenCourseId)){
-        and t.teacher_open_course_id =#teacherOpenCourseId#
-    @}
-    @if(!isEmpty(teacherOpenCourseIdPlural)){
-        and find_in_set(t.teacher_open_course_id,#teacherOpenCourseIdPlural#)
-    @}
-    @if(!isEmpty(teacherId)){
-        and t.teacher_id =#teacherId#
-    @}
-    @if(!isEmpty(teacherIdPlural)){
-        and find_in_set(t.teacher_id,#teacherIdPlural#)
-    @}
-    @if(!isEmpty(teacherOpenCourseMergeTeacherStatus)){
-        and t.teacher_open_course_merge_teacher_status =#teacherOpenCourseMergeTeacherStatus#
-    @}
-    @if(!isEmpty(teacherOpenCourseMergeTeacherStatusPlural)){
-        and find_in_set(t.teacher_open_course_merge_teacher_status,#teacherOpenCourseMergeTeacherStatusPlural#)
-    @}
-    @if(!isEmpty(teacherOpenCourseMergeTeacherAddTime)){
-        and t.teacher_open_course_merge_teacher_add_time =#teacherOpenCourseMergeTeacherAddTime#
-    @}
-    @if(!isEmpty(orgId)){
-        and t.org_id =#orgId#
-    @}
-    @if(!isEmpty(orgIdPlural)){
-        and find_in_set(t.org_id,#orgIdPlural#)
-    @}
-    @if(!isEmpty(userId)){
-        and t.user_id =#userId#
-    @}
-    @if(!isEmpty(userIdPlural)){
-        and find_in_set(t.user_id,#userIdPlural#)
-    @}
-       
-    
-    
+  select t.*
+  from teacher_open_course_merge_teacher t
+  where 1=1 and #function("teacherOpenCourseMergeTeacher.query")#
+  @if(!isEmpty(teacherOpenCourseMergeTeacherId)){
+  and t.teacher_open_course_merge_teacher_id =#teacherOpenCourseMergeTeacherId#
+  @}
+  @if(!isEmpty(teacherOpenCourseMergeTeacherIdPlural)){
+  and find_in_set(t.teacher_open_course_merge_teacher_id,#teacherOpenCourseMergeTeacherIdPlural#)
+  @}
+  @if(!isEmpty(teacherOpenCourseId)){
+  and t.teacher_open_course_id =#teacherOpenCourseId#
+  @}
+  @if(!isEmpty(teacherOpenCourseIdPlural)){
+  and find_in_set(t.teacher_open_course_id,#teacherOpenCourseIdPlural#)
+  @}
+  @if(!isEmpty(teacherId)){
+  and t.teacher_id =#teacherId#
+  @}
+  @if(!isEmpty(teacherIdPlural)){
+  and find_in_set(t.teacher_id,#teacherIdPlural#)
+  @}
+  @if(!isEmpty(teacherOpenCourseMergeTeacherStatus)){
+  and t.teacher_open_course_merge_teacher_status =#teacherOpenCourseMergeTeacherStatus#
+  @}
+  @if(!isEmpty(teacherOpenCourseMergeTeacherStatusPlural)){
+  and find_in_set(t.teacher_open_course_merge_teacher_status,#teacherOpenCourseMergeTeacherStatusPlural#)
+  @}
+  @if(!isEmpty(teacherOpenCourseMergeTeacherAddTime)){
+  and t.teacher_open_course_merge_teacher_add_time =#teacherOpenCourseMergeTeacherAddTime#
+  @}
+  @if(!isEmpty(teacherOpenCourseMergeTeacherAuthCode)){
+  and t.teacher_open_course_merge_teacher_auth_code =#teacherOpenCourseMergeTeacherAuthCode#
+  @}
+  @if(!isEmpty(orgId)){
+  and t.org_id =#orgId#
+  @}
+  @if(!isEmpty(orgIdPlural)){
+  and find_in_set(t.org_id,#orgIdPlural#)
+  @}
+  @if(!isEmpty(userId)){
+  and t.user_id =#userId#
+  @}
+  @if(!isEmpty(userIdPlural)){
+  and find_in_set(t.user_id,#userIdPlural#)
+  @}
\ No newline at end of file
diff --git a/web/src/main/resources/static/js/jlw/teacherOpenCourse/index.js b/web/src/main/resources/static/js/jlw/teacherOpenCourse/index.js
index fa77e01a..5a519866 100644
--- a/web/src/main/resources/static/js/jlw/teacherOpenCourse/index.js
+++ b/web/src/main/resources/static/js/jlw/teacherOpenCourse/index.js
@@ -106,6 +106,13 @@ layui.define([ 'form', 'laydate', 'table' ], function(exports) {
                 //     hideField :false,
                 //     hide:$.isEmpty(sx_['userId'])?false:sx_['userId'],
                 // },
+                    {
+                        field : 'teacherOpenCourseMergeTeacherAuthCode',
+                        title : '开课授权码',
+                        align:"center",
+                        hideField :false,
+                        hide:$.isEmpty(sx_['teacherOpenCourseMergeTeacherAuthCode'])?false:sx_['teacherOpenCourseMergeTeacherAuthCode'],
+                    },
                 {
                     field : 'createTime', 
                     title : '创建时间',
diff --git a/web/src/main/resources/static/js/jlw/teacherOpenCourseScheduleSessionTag/index.js b/web/src/main/resources/static/js/jlw/teacherOpenCourseScheduleSessionTag/index.js
index f02a7478..6134aab3 100644
--- a/web/src/main/resources/static/js/jlw/teacherOpenCourseScheduleSessionTag/index.js
+++ b/web/src/main/resources/static/js/jlw/teacherOpenCourseScheduleSessionTag/index.js
@@ -90,7 +90,7 @@ layui.define([ 'form', 'laydate', 'table' ], function(exports) {
                 //     hideField :false,
                 //     hide:$.isEmpty(sx_['userId'])?false:sx_['userId'],
                 // }
-                ,{
+                {
                     field : 'operation_',title : '操作',align:"center", templet: function (d) {
                         var htm = '<button type="button" class="layui-btn layui-btn-normal layui-btn-xs" lay-event="edit">编辑</button>';
                         htm += '<button type="button" class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</button>';
diff --git a/web/src/main/resources/templates/jlw/universitySystem/add.html b/web/src/main/resources/templates/jlw/universitySystem/add.html
index d2b8ffb5..bfcbd678 100644
--- a/web/src/main/resources/templates/jlw/universitySystem/add.html
+++ b/web/src/main/resources/templates/jlw/universitySystem/add.html
@@ -6,13 +6,15 @@
             <div class="layui-inline">
             	<label class="layui-form-label">院校名称</label>
 				<div class="layui-input-inline">
-					<input type="text" id="id1" name="id1"  value="${universitySystem.id1}"   class="layui-input" >
+					<layui:simpleDictSelect style='layui-input-inline' value="" type="universities_colleges.universities_colleges_name.universities_colleges_status=1"
+											id="universitiesCollegesId" name="universitiesCollegesId" layFilter="select_universitiesCollegesIds"/>
 				</div>
             </div>
             <div class="layui-inline">
             	<label class="layui-form-label">所属学院</label>
 				<div class="layui-input-inline">
-					<input type="text" id="id2" name="id2"  value="${universitySystem.id2}"   class="layui-input" >
+					<layui:simpleDictSelect style='layui-input-inline' value="" type="university_faculty.university_faculty_name.university_faculty_status=1"
+											id="universityFacultyId" name="universityFacultyId" layFilter="select_universityFacultyIds"/>
 				</div>
             </div>
             <div class="layui-inline">