From f09cd1ec2cada069271ffcee870253bda2c16271 Mon Sep 17 00:00:00 2001 From: Mlxa0324 Date: Sat, 29 Oct 2022 12:16:45 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E5=BC=80=E8=AF=BE=E5=AE=A1=E6=A0=B8?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=95=99=E5=B8=88=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/TeacherOpenCourseMergeSchoolClass.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/web/src/main/java/com/ibeetl/jlw/entity/TeacherOpenCourseMergeSchoolClass.java b/web/src/main/java/com/ibeetl/jlw/entity/TeacherOpenCourseMergeSchoolClass.java index f370e667..1fa77bbe 100644 --- a/web/src/main/java/com/ibeetl/jlw/entity/TeacherOpenCourseMergeSchoolClass.java +++ b/web/src/main/java/com/ibeetl/jlw/entity/TeacherOpenCourseMergeSchoolClass.java @@ -44,6 +44,13 @@ public class TeacherOpenCourseMergeSchoolClass extends BaseEntity{ @InsertIgnore private TeacherOpenCourseInfo teacherOpenCourse; + @FetchSql("select ta.teacher_name " + + "from teacher_open_course_merge_teacher t left join teacher ta on ta.teacher_id = t.teacher_id " + + "where t.teacher_open_course_merge_teacher_status = 1 and ta.teacher_status = 1 and t.teacher_open_course_id = #teacherOpenCourseId# ") + @UpdateIgnore + @InsertIgnore + private String teacherIdText; + @Data @Accessors(chain = true) public static class TeacherOpenCourseInfo { @@ -180,4 +187,12 @@ public class TeacherOpenCourseMergeSchoolClass extends BaseEntity{ this.teacherOpenCourse = teacherOpenCourse; } + public String getTeacherIdText() { + return teacherIdText; + } + + public void setTeacherIdText(String teacherIdText) { + this.teacherIdText = teacherIdText; + } + } From 7be1ebd61083c5eab8022ceed4d9a7d727f5b94a Mon Sep 17 00:00:00 2001 From: Mlxa0324 Date: Sat, 29 Oct 2022 12:25:19 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E5=BC=80=E8=AF=BE=E5=AE=A1=E6=A0=B8?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../query/TeacherOpenCourseMergeSchoolClassQuery.java | 10 ++++++++++ web/src/main/resources/application-prod.properties | 2 +- .../sql/jlw/teacherOpenCourseMergeSchoolClass.md | 8 ++++++++ 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/web/src/main/java/com/ibeetl/jlw/web/query/TeacherOpenCourseMergeSchoolClassQuery.java b/web/src/main/java/com/ibeetl/jlw/web/query/TeacherOpenCourseMergeSchoolClassQuery.java index 9f7a2f74..1c8a1e4d 100644 --- a/web/src/main/java/com/ibeetl/jlw/web/query/TeacherOpenCourseMergeSchoolClassQuery.java +++ b/web/src/main/java/com/ibeetl/jlw/web/query/TeacherOpenCourseMergeSchoolClassQuery.java @@ -35,6 +35,8 @@ public class TeacherOpenCourseMergeSchoolClassQuery extends PageParam { private String orgIdPlural; private String userIdPlural; + private String teacherOpenCourseTitle; + private String teacherOpenCourseMergeSchoolClassJsonStr;//json格式 private String _given;//指定更新的特定字段,多个逗号隔开 @@ -142,4 +144,12 @@ public class TeacherOpenCourseMergeSchoolClassQuery extends PageParam { public void set_given(String _given) { this._given = _given; } + + public String getTeacherOpenCourseTitle() { + return teacherOpenCourseTitle; + } + + public void setTeacherOpenCourseTitle(String teacherOpenCourseTitle) { + this.teacherOpenCourseTitle = teacherOpenCourseTitle; + } } diff --git a/web/src/main/resources/application-prod.properties b/web/src/main/resources/application-prod.properties index 9f2c8e3d..54a8e5e0 100644 --- a/web/src/main/resources/application-prod.properties +++ b/web/src/main/resources/application-prod.properties @@ -66,4 +66,4 @@ dynamic.beetlsql.cs.dbStyle = org.beetl.sql.core.db.MySqlStyle dynamic.beetlsql.cs.dynamicConnectionSource = master,ds2 #\u6559\u5E08\u7AEF\u548C\u5B66\u751F\u7AEF\u7684\u767B\u5F55\u5730\u5740 -student.teacher.url = http://116.205.131.177:9090/ \ No newline at end of file +student.teacher.url = http://116.205.131.177:8080/ \ No newline at end of file diff --git a/web/src/main/resources/sql/jlw/teacherOpenCourseMergeSchoolClass.md b/web/src/main/resources/sql/jlw/teacherOpenCourseMergeSchoolClass.md index 6ce0a990..c36ec6f1 100644 --- a/web/src/main/resources/sql/jlw/teacherOpenCourseMergeSchoolClass.md +++ b/web/src/main/resources/sql/jlw/teacherOpenCourseMergeSchoolClass.md @@ -7,6 +7,7 @@ queryByCondition t.* @} from teacher_open_course_merge_school_class t + left join teacher_open_course ta on ta.teacher_open_course_id = t.teacher_open_course_id where 1=1 @//数据权限,该sql语句功能点,如果不考虑数据权限,可以删除此行 and #function("teacherOpenCourseMergeSchoolClass.query")# @@ -49,6 +50,9 @@ queryByCondition @if(!isEmpty(userIdPlural)){ and find_in_set(t.user_id,#userIdPlural#) @} + @if(!isEmpty(teacherOpenCourseTitle)){ + and ta.teacher_open_course_title like #'%'+teacherOpenCourseTitle+'%'# + @} queryByConditionQuery @@ -60,6 +64,7 @@ queryByConditionQuery t.* @} from teacher_open_course_merge_school_class t + left join teacher_open_course ta on ta.teacher_open_course_id = t.teacher_open_course_id where 1=1 @if(!isEmpty(teacherOpenCourseMergeSchoolClassId)){ and t.teacher_open_course_merge_school_class_id =#teacherOpenCourseMergeSchoolClassId# @@ -100,6 +105,9 @@ queryByConditionQuery @if(!isEmpty(userIdPlural)){ and find_in_set(t.user_id,#userIdPlural#) @} + @if(!isEmpty(teacherOpenCourseTitle)){ + and ta.teacher_open_course_title like #'%'+teacherOpenCourseTitle+'%'# + @} From 7f5faef5b3d94601a5a792336ce32b5204751c1d Mon Sep 17 00:00:00 2001 From: Mlxa0324 Date: Sat, 29 Oct 2022 14:20:10 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E8=AF=BE=E7=A8=8B=E5=AE=9E=E8=AE=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ibeetl/jlw/web/HandsOnController.java | 131 ++++++++++++++++++ .../resources/static/js/jlw/handsOn/index.js | 7 +- 2 files changed, 135 insertions(+), 3 deletions(-) diff --git a/web/src/main/java/com/ibeetl/jlw/web/HandsOnController.java b/web/src/main/java/com/ibeetl/jlw/web/HandsOnController.java index 64ebee7e..f7975296 100644 --- a/web/src/main/java/com/ibeetl/jlw/web/HandsOnController.java +++ b/web/src/main/java/com/ibeetl/jlw/web/HandsOnController.java @@ -1,5 +1,6 @@ package com.ibeetl.jlw.web; +import cn.hutool.json.JSONUtil; import cn.jlw.Interceptor.SCoreUser; import cn.jlw.validate.ValidateConfig; import com.ibeetl.admin.core.annotation.Function; @@ -26,8 +27,10 @@ import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.servlet.ModelAndView; +import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.Map; /** * HandsOn 课程实操 接口 @@ -140,6 +143,134 @@ public class HandsOnController{ return JsonResult.success(page); } + @PostMapping(MODEL + "/listMock.json") + @Function("handsOn.query") + public JsonResult listMock(HandsOnQuery condition){ + PageQuery page = condition.getPageQuery(); + handsOnService.queryByCondition(page); + ArrayList list = new ArrayList(); + String jr = "[\n" + + " {\n" + + " \"courseInfoId\": \"金融工程\",\n" + + " \"courseChildNode\": \"金融工程-V1-现金流的时间价值\",\n" + + " \"handsOnName\": \"现金流的时间价值\",\n" + + " \"http\": \"http://www.905.cn/server/filesystem/temp/金融工程视频/金融工程-V1-现金流的时间价值.mp4\",\n" + + " \"handsOnStatus\": \"1\",\n" + + " \"addTime\": \"2022-10-20 15:21:00\"\n" + + " },\n" + + " {\n" + + " \"courseInfoId\": \"金融工程\",\n" + + " \"courseChildNode\": \"金融工程-V2-固定收益证券\",\n" + + " \"handsOnName\": \"固定收益证券\",\n" + + " \"http\": \"http://www.905.cn/server/filesystem/temp/金融工程视频/金融工程-V2-固定收益证券.mp4\",\n" + + " \"handsOnStatus\": \"1\",\n" + + " \"addTime\": \"2022-10-20 15:21:01\"\n" + + " },\n" + + " {\n" + + " \"courseInfoId\": \"金融工程\",\n" + + " \"courseChildNode\": \"金融工程-V3-权证与期权\",\n" + + " \"handsOnName\": \"权证与期权\",\n" + + " \"http\": \"http://www.905.cn/server/filesystem/temp/金融工程视频/金融工程-V3-权证与期权.mp4\",\n" + + " \"handsOnStatus\": \"1\",\n" + + " \"addTime\": \"2022-10-20 15:21:01\"\n" + + " },\n" + + " {\n" + + " \"courseInfoId\": \"金融工程\",\n" + + " \"courseChildNode\": \"金融工程-V4-远期与期货交易\",\n" + + " \"handsOnName\": \"远期与期货交易\",\n" + + " \"http\": \"http://www.905.cn/server/filesystem/temp/金融工程视频/金融工程-V4-远期与期货交易.mp4\",\n" + + " \"handsOnStatus\": \"1\",\n" + + " \"addTime\": \"2022-10-20 15:21:02\"\n" + + " },\n" + + " {\n" + + " \"courseInfoId\": \"金融工程\",\n" + + " \"courseChildNode\": \"金融工程-V5-金融互换\",\n" + + " \"handsOnName\": \"金融互换\",\n" + + " \"http\": \"http://www.905.cn/server/filesystem/temp/金融工程视频/金融工程-V5-金融互换.mp4\",\n" + + " \"handsOnStatus\": \"1\",\n" + + " \"addTime\": \"2022-10-20 15:21:02\"\n" + + " },\n" + + " {\n" + + " \"courseInfoId\": \"金融工程\",\n" + + " \"courseChildNode\": \"金融工程-V6-在险价值\",\n" + + " \"handsOnName\": \"在险价值\",\n" + + " \"http\": \"http://www.905.cn/server/filesystem/temp/金融工程视频/金融工程-V6-在险价值.mp4\",\n" + + " \"handsOnStatus\": \"1\",\n" + + " \"addTime\": \"2022-10-20 15:21:02\"\n" + + " }\n" + + "]"; + String lh = "[{\n" + + " \"courseInfoId\": \"量化投资\",\n" + + " \"courseChildNode\": \"量化投资-V1-趋势交易\",\n" + + " \"handsOnName\": \"趋势交易\",\n" + + " \"http\": \"http://www.905.cn/server/filesystem/temp/量化投资视频/量化投资-V1-趋势交易.mp4\",\n" + + " \"handsOnStatus\": \"1\",\n" + + " \"addTime\": \"2022-10-20 15:21:00\"\n" + + " },\n" + + " {\n" + + " \"courseInfoId\": \"量化投资\",\n" + + " \"courseChildNode\": \"量化投资-V2-多因子模型\",\n" + + " \"handsOnName\": \"多因子模型\",\n" + + " \"http\": \"http://www.905.cn/server/filesystem/temp/量化投资视频/量化投资-V2-多因子模型.mp4\",\n" + + " \"handsOnStatus\": \"1\",\n" + + " \"addTime\": \"2022-10-20 15:21:00\"\n" + + " },\n" + + " {\n" + + " \"courseInfoId\": \"量化投资\",\n" + + " \"courseChildNode\": \"量化投资-V3-股票择时策略\",\n" + + " \"handsOnName\": \"股票择时策略\",\n" + + " \"http\": \"http://www.905.cn/server/filesystem/temp/量化投资视频/量化投资-V3-股票择时策略.mp4\",\n" + + " \"handsOnStatus\": \"1\",\n" + + " \"addTime\": \"2022-10-20 15:21:00\"\n" + + " },\n" + + " {\n" + + " \"courseInfoId\": \"量化投资\",\n" + + " \"courseChildNode\": \"量化投资-V4-EMA波动策略.mp4\",\n" + + " \"handsOnName\": \"EMA波动策略\",\n" + + " \"http\": \"http://www.905.cn/server/filesystem/temp/量化投资视频/量化投资-V4-EMA波动策略.mp4\",\n" + + " \"handsOnStatus\": \"1\",\n" + + " \"addTime\": \"2022-10-20 15:21:00\"\n" + + " },\n" + + " {\n" + + " \"courseInfoId\": \"量化投资\",\n" + + " \"courseChildNode\": \"量化投资-V5-跨品种套利交易策略\",\n" + + " \"handsOnName\": \"跨品种套利交易策略\",\n" + + " \"http\": \"http://www.905.cn/server/filesystem/temp/量化投资视频/量化投资-V5-跨品种套利交易策略.mp4\",\n" + + " \"handsOnStatus\": \"1\",\n" + + " \"addTime\": \"2022-10-20 15:21:04\"\n" + + " },\n" + + " {\n" + + " \"courseInfoId\": \"量化投资\",\n" + + " \"courseChildNode\": \"量化投资-V6-神经网络交易策略\",\n" + + " \"handsOnName\": \"神经网络交易策略\",\n" + + " \"http\": \"http://www.905.cn/server/filesystem/temp/量化投资视频/量化投资-V6-神经网络交易策略.mp4\",\n" + + " \"handsOnStatus\": \"1\",\n" + + " \"addTime\": \"2022-10-20 15:21:04\"\n" + + " },\n" + + " {\n" + + " \"courseInfoId\": \"量化投资\",\n" + + " \"courseChildNode\": \"量化投资-V7-动量反转策略\",\n" + + " \"handsOnName\": \"动量反转策略\",\n" + + " \"http\": \"http://www.905.cn/server/filesystem/temp/量化投资视频/量化投资-V7-动量反转策略.mp4\",\n" + + " \"handsOnStatus\": \"1\",\n" + + " \"addTime\": \"2022-10-20 15:21:04\"\n" + + " },\n" + + " {\n" + + " \"courseInfoId\": \"量化投资\",\n" + + " \"courseChildNode\": \"量化投资-V8-基于ACD逻辑高频交易策略\",\n" + + " \"handsOnName\": \"基于ACD逻辑高频交易策略\",\n" + + " \"http\": \"http://www.905.cn/server/filesystem/temp/量化投资视频/量化投资-V8-基于ACD逻辑高频交易策略.mp4\",\n" + + " \"handsOnStatus\": \"1\",\n" + + " \"addTime\": \"2022-10-20 15:21:04\"\n" + + " }\n" + + "]"; + + list.addAll(JSONUtil.toList(lh, Map.class)); + list.addAll(JSONUtil.toList(jr, Map.class)); + page.setList(list); + return JsonResult.success(page); + } + @PostMapping(MODEL + "/addAll.json") @Function("handsOn.add") public JsonResult addAll(HandsOnQuery handsOnQuery,@SCoreUser CoreUser coreUser){ diff --git a/web/src/main/resources/static/js/jlw/handsOn/index.js b/web/src/main/resources/static/js/jlw/handsOn/index.js index 72038a0a..7ead3ad9 100644 --- a/web/src/main/resources/static/js/jlw/handsOn/index.js +++ b/web/src/main/resources/static/js/jlw/handsOn/index.js @@ -27,7 +27,8 @@ layui.define(['form', 'laydate', 'table'], function (exports) { cellMinWidth: 120, method: 'post', even: true, - url: Common.ctxPath + '/jlw/handsOn/list.json' // 数据接口 + // url: Common.ctxPath + '/jlw/handsOn/list.json' // 数据接口 + url: Common.ctxPath + '/jlw/handsOn/listMock.json' // 数据接口 , page: Lib.tablePage // 开启分页 /*, toolbar: '#toolbar_handsOn' //自定义头部左侧工具栏 , defaultToolbar: ['filter', 'print', 'exports'] //头部右侧工具栏*/ @@ -43,11 +44,11 @@ layui.define(['form', 'laydate', 'table'], function (exports) { hideField: false, hide: $.isEmpty(sx_['handsOnName']) ? false : sx_['handsOnName'], }, { - field: 'courseInfoParentName', + field: 'courseInfoId', title: '归属课程', align: "center" }, { - field: 'courseInfoName', + field: 'courseChildNode', title: '归属章节', align: "center" }, { field: 'addTime', From c356c8089acac6357905507dba623195cf89c886 Mon Sep 17 00:00:00 2001 From: Mlxa0324 Date: Sat, 29 Oct 2022 14:21:21 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E8=AF=BE=E7=A8=8B=E5=AE=9E=E8=AE=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ibeetl/jlw/web/HandsOnController.java | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/web/src/main/java/com/ibeetl/jlw/web/HandsOnController.java b/web/src/main/java/com/ibeetl/jlw/web/HandsOnController.java index f7975296..eb6164d5 100644 --- a/web/src/main/java/com/ibeetl/jlw/web/HandsOnController.java +++ b/web/src/main/java/com/ibeetl/jlw/web/HandsOnController.java @@ -153,7 +153,7 @@ public class HandsOnController{ " {\n" + " \"courseInfoId\": \"金融工程\",\n" + " \"courseChildNode\": \"金融工程-V1-现金流的时间价值\",\n" + - " \"handsOnName\": \"现金流的时间价值\",\n" + + " \"handsOnName\": \"现金流的时间价值实训案例\",\n" + " \"http\": \"http://www.905.cn/server/filesystem/temp/金融工程视频/金融工程-V1-现金流的时间价值.mp4\",\n" + " \"handsOnStatus\": \"1\",\n" + " \"addTime\": \"2022-10-20 15:21:00\"\n" + @@ -161,7 +161,7 @@ public class HandsOnController{ " {\n" + " \"courseInfoId\": \"金融工程\",\n" + " \"courseChildNode\": \"金融工程-V2-固定收益证券\",\n" + - " \"handsOnName\": \"固定收益证券\",\n" + + " \"handsOnName\": \"固定收益证券实训案例\",\n" + " \"http\": \"http://www.905.cn/server/filesystem/temp/金融工程视频/金融工程-V2-固定收益证券.mp4\",\n" + " \"handsOnStatus\": \"1\",\n" + " \"addTime\": \"2022-10-20 15:21:01\"\n" + @@ -169,7 +169,7 @@ public class HandsOnController{ " {\n" + " \"courseInfoId\": \"金融工程\",\n" + " \"courseChildNode\": \"金融工程-V3-权证与期权\",\n" + - " \"handsOnName\": \"权证与期权\",\n" + + " \"handsOnName\": \"权证与期权实训案例\",\n" + " \"http\": \"http://www.905.cn/server/filesystem/temp/金融工程视频/金融工程-V3-权证与期权.mp4\",\n" + " \"handsOnStatus\": \"1\",\n" + " \"addTime\": \"2022-10-20 15:21:01\"\n" + @@ -177,7 +177,7 @@ public class HandsOnController{ " {\n" + " \"courseInfoId\": \"金融工程\",\n" + " \"courseChildNode\": \"金融工程-V4-远期与期货交易\",\n" + - " \"handsOnName\": \"远期与期货交易\",\n" + + " \"handsOnName\": \"远期与期货交易实训案例\",\n" + " \"http\": \"http://www.905.cn/server/filesystem/temp/金融工程视频/金融工程-V4-远期与期货交易.mp4\",\n" + " \"handsOnStatus\": \"1\",\n" + " \"addTime\": \"2022-10-20 15:21:02\"\n" + @@ -185,7 +185,7 @@ public class HandsOnController{ " {\n" + " \"courseInfoId\": \"金融工程\",\n" + " \"courseChildNode\": \"金融工程-V5-金融互换\",\n" + - " \"handsOnName\": \"金融互换\",\n" + + " \"handsOnName\": \"金融互换实训案例\",\n" + " \"http\": \"http://www.905.cn/server/filesystem/temp/金融工程视频/金融工程-V5-金融互换.mp4\",\n" + " \"handsOnStatus\": \"1\",\n" + " \"addTime\": \"2022-10-20 15:21:02\"\n" + @@ -193,7 +193,7 @@ public class HandsOnController{ " {\n" + " \"courseInfoId\": \"金融工程\",\n" + " \"courseChildNode\": \"金融工程-V6-在险价值\",\n" + - " \"handsOnName\": \"在险价值\",\n" + + " \"handsOnName\": \"在险价值实训案例\",\n" + " \"http\": \"http://www.905.cn/server/filesystem/temp/金融工程视频/金融工程-V6-在险价值.mp4\",\n" + " \"handsOnStatus\": \"1\",\n" + " \"addTime\": \"2022-10-20 15:21:02\"\n" + @@ -202,7 +202,7 @@ public class HandsOnController{ String lh = "[{\n" + " \"courseInfoId\": \"量化投资\",\n" + " \"courseChildNode\": \"量化投资-V1-趋势交易\",\n" + - " \"handsOnName\": \"趋势交易\",\n" + + " \"handsOnName\": \"趋势交易实训案例\",\n" + " \"http\": \"http://www.905.cn/server/filesystem/temp/量化投资视频/量化投资-V1-趋势交易.mp4\",\n" + " \"handsOnStatus\": \"1\",\n" + " \"addTime\": \"2022-10-20 15:21:00\"\n" + @@ -210,7 +210,7 @@ public class HandsOnController{ " {\n" + " \"courseInfoId\": \"量化投资\",\n" + " \"courseChildNode\": \"量化投资-V2-多因子模型\",\n" + - " \"handsOnName\": \"多因子模型\",\n" + + " \"handsOnName\": \"多因子模型实训案例\",\n" + " \"http\": \"http://www.905.cn/server/filesystem/temp/量化投资视频/量化投资-V2-多因子模型.mp4\",\n" + " \"handsOnStatus\": \"1\",\n" + " \"addTime\": \"2022-10-20 15:21:00\"\n" + @@ -218,7 +218,7 @@ public class HandsOnController{ " {\n" + " \"courseInfoId\": \"量化投资\",\n" + " \"courseChildNode\": \"量化投资-V3-股票择时策略\",\n" + - " \"handsOnName\": \"股票择时策略\",\n" + + " \"handsOnName\": \"股票择时策略实训案例\",\n" + " \"http\": \"http://www.905.cn/server/filesystem/temp/量化投资视频/量化投资-V3-股票择时策略.mp4\",\n" + " \"handsOnStatus\": \"1\",\n" + " \"addTime\": \"2022-10-20 15:21:00\"\n" + @@ -226,7 +226,7 @@ public class HandsOnController{ " {\n" + " \"courseInfoId\": \"量化投资\",\n" + " \"courseChildNode\": \"量化投资-V4-EMA波动策略.mp4\",\n" + - " \"handsOnName\": \"EMA波动策略\",\n" + + " \"handsOnName\": \"EMA波动策略实训案例\",\n" + " \"http\": \"http://www.905.cn/server/filesystem/temp/量化投资视频/量化投资-V4-EMA波动策略.mp4\",\n" + " \"handsOnStatus\": \"1\",\n" + " \"addTime\": \"2022-10-20 15:21:00\"\n" + @@ -234,7 +234,7 @@ public class HandsOnController{ " {\n" + " \"courseInfoId\": \"量化投资\",\n" + " \"courseChildNode\": \"量化投资-V5-跨品种套利交易策略\",\n" + - " \"handsOnName\": \"跨品种套利交易策略\",\n" + + " \"handsOnName\": \"跨品种套利交易策略实训案例\",\n" + " \"http\": \"http://www.905.cn/server/filesystem/temp/量化投资视频/量化投资-V5-跨品种套利交易策略.mp4\",\n" + " \"handsOnStatus\": \"1\",\n" + " \"addTime\": \"2022-10-20 15:21:04\"\n" + @@ -242,7 +242,7 @@ public class HandsOnController{ " {\n" + " \"courseInfoId\": \"量化投资\",\n" + " \"courseChildNode\": \"量化投资-V6-神经网络交易策略\",\n" + - " \"handsOnName\": \"神经网络交易策略\",\n" + + " \"handsOnName\": \"神经网络交易策略实训案例\",\n" + " \"http\": \"http://www.905.cn/server/filesystem/temp/量化投资视频/量化投资-V6-神经网络交易策略.mp4\",\n" + " \"handsOnStatus\": \"1\",\n" + " \"addTime\": \"2022-10-20 15:21:04\"\n" + @@ -250,7 +250,7 @@ public class HandsOnController{ " {\n" + " \"courseInfoId\": \"量化投资\",\n" + " \"courseChildNode\": \"量化投资-V7-动量反转策略\",\n" + - " \"handsOnName\": \"动量反转策略\",\n" + + " \"handsOnName\": \"动量反转策略实训案例\",\n" + " \"http\": \"http://www.905.cn/server/filesystem/temp/量化投资视频/量化投资-V7-动量反转策略.mp4\",\n" + " \"handsOnStatus\": \"1\",\n" + " \"addTime\": \"2022-10-20 15:21:04\"\n" + @@ -258,7 +258,7 @@ public class HandsOnController{ " {\n" + " \"courseInfoId\": \"量化投资\",\n" + " \"courseChildNode\": \"量化投资-V8-基于ACD逻辑高频交易策略\",\n" + - " \"handsOnName\": \"基于ACD逻辑高频交易策略\",\n" + + " \"handsOnName\": \"基于ACD逻辑高频交易策略实训案例\",\n" + " \"http\": \"http://www.905.cn/server/filesystem/temp/量化投资视频/量化投资-V8-基于ACD逻辑高频交易策略.mp4\",\n" + " \"handsOnStatus\": \"1\",\n" + " \"addTime\": \"2022-10-20 15:21:04\"\n" +