Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
P
projecttwo
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wangtao
projecttwo
Commits
bb0dd94a
Commit
bb0dd94a
authored
May 19, 2025
by
wangtao
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
业务板块api接口
parent
beae8456
Changes
17
Hide whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
530 additions
and
20 deletions
+530
-20
Course.php
app/admin/controller/course/Course.php
+1
-1
index.html
app/admin/view/cert/cert/index.html
+1
-2
index.html
app/admin/view/course/course/index.html
+1
-10
index.html
app/admin/view/project/project/index.html
+1
-1
CourseTag.php
app/api/controller/manage/CourseTag.php
+43
-0
CourseTeacher.php
app/api/controller/manage/CourseTeacher.php
+82
-0
ShCourse.php
app/api/controller/manage/ShCourse.php
+73
-1
ShCourseClass.php
app/api/controller/manage/ShCourseClass.php
+104
-0
CourseTagValidate.php
app/api/validate/CourseTagValidate.php
+31
-0
CourseTeacherValidate.php
app/api/validate/CourseTeacherValidate.php
+23
-0
ShCourseClassValidate.php
app/api/validate/ShCourseClassValidate.php
+34
-0
ShCourseValidate.php
app/api/validate/ShCourseValidate.php
+36
-0
Jobtask.php
app/job/Jobtask.php
+74
-1
CourseTeacher.php
app/model/CourseTeacher.php
+9
-1
ShCourse.php
app/model/ShCourse.php
+1
-1
course.php
app/subscribe/course.php
+15
-1
app.php
config/app.php
+1
-1
No files found.
app/admin/controller/course/Course.php
View file @
bb0dd94a
...
...
@@ -110,7 +110,7 @@ class Course extends AdminBase
$result
=
$this
->
course
->
where
(
'id'
,
$post
[
'id'
])
->
update
(
$updatedata
);
if
(
$result
)
{
if
(
$post
[
'shstatus'
]
==
1
)
{
event
(
'Course'
,
[
'id'
=>
$post
[
'id'
],
'tasktype'
=>
'course'
,
'action'
=>
'shstatus'
]);
event
(
'Course'
,
[
'
course_
id'
=>
$post
[
'id'
],
'tasktype'
=>
'course'
,
'action'
=>
'shstatus'
]);
}
return
$this
->
returnMsg
(
"操作成功"
,
1
);
}
else
{
...
...
app/admin/view/cert/cert/index.html
View file @
bb0dd94a
...
...
@@ -3,7 +3,7 @@
<style>
#certcategoryTreeBar
{
padding
:
10px
15px
;
border
:
1px
solid
#e6e6e6
;
background-color
:
#f2f2f2
}
#certcategoryTree
{
border
:
1px
solid
#e6e6e6
;
border-top
:
none
;
padding
:
10px
5px
;
overflow
:
auto
;
height
:
-webkit-calc
(
100vh
-
2
60px
);
height
:
-moz-calc
(
100vh
-
260px
);
height
:
calc
(
100vh
-
26
0px
)}
#certcategoryTree
{
border
:
1px
solid
#e6e6e6
;
border-top
:
none
;
padding
:
10px
5px
;
overflow
:
auto
;
height
:
-webkit-calc
(
100vh
-
2
90px
);
height
:
-moz-calc
(
100vh
-
290px
);
height
:
calc
(
100vh
-
29
0px
)}
.layui-tree-entry
.layui-tree-txt
{
padding
:
0
5px
;
border
:
1px
transparent
solid
;
text-decoration
:
none
!important
}
.layui-tree-entry.organ-tree-click
.layui-tree-txt
{
background-color
:
#fff3e0
;
border
:
1px
#ffe6b0
solid
}
.files_itemwcert
{
width
:
30px
;
height
:
30px
;
line-height
:
30px
;
cursor
:
pointer
;
padding
:
1px
;
background
:
#fff
;
display
:
-webkit-box
;
-moz-box-align
:
center
;
-webkit-box-align
:
center
;
-moz-box-pack
:
center
;
-webkit-box-pack
:
center
;}
...
...
@@ -40,7 +40,6 @@
</form>
</div>
<div
class=
"layui-card-body"
>
<table
lay-filter=
"cert"
id=
"cert"
></table>
</div>
...
...
app/admin/view/course/course/index.html
View file @
bb0dd94a
...
...
@@ -3,7 +3,7 @@
<style>
#coursecategoryTreeBar
{
padding
:
10px
15px
;
border
:
1px
solid
#e6e6e6
;
background-color
:
#f2f2f2
}
#coursecategoryTree
{
border
:
1px
solid
#e6e6e6
;
border-top
:
none
;
padding
:
10px
5px
;
overflow
:
auto
;
height
:
-webkit-calc
(
100vh
-
2
60px
);
height
:
-moz-calc
(
100vh
-
260px
);
height
:
calc
(
100vh
-
26
0px
)}
#coursecategoryTree
{
border
:
1px
solid
#e6e6e6
;
border-top
:
none
;
padding
:
10px
5px
;
overflow
:
auto
;
height
:
-webkit-calc
(
100vh
-
2
90px
);
height
:
-moz-calc
(
100vh
-
290px
);
height
:
calc
(
100vh
-
29
0px
)}
.layui-tree-entry
.layui-tree-txt
{
padding
:
0
5px
;
border
:
1px
transparent
solid
;
text-decoration
:
none
!important
}
.layui-tree-entry.organ-tree-click
.layui-tree-txt
{
background-color
:
#fff3e0
;
border
:
1px
#ffe6b0
solid
}
.files_itemw
{
width
:
30px
;
height
:
30px
;
line-height
:
30px
;
cursor
:
pointer
;
padding
:
1px
;
background
:
#fff
;
display
:
-webkit-box
;
-moz-box-align
:
center
;
-webkit-box-align
:
center
;
-moz-box-pack
:
center
;
-webkit-box-pack
:
center
;}
...
...
@@ -38,18 +38,9 @@
</div>
</form>
</div>
<div
class=
"layui-card-body"
>
<!-- <div class="layui-card-box">-->
<!-- <div class="layui-btn-group">-->
<!-- <a class="layui-btn" id="course-add" ><i class="layui-icon layui-icon-add-circle"></i> 添加</a>-->
<!-- <a class="layui-btn" id="course-del"><i class="layui-icon layui-icon-delete"></i> 删除</a>-->
<!-- </div>-->
<!-- </div>-->
<div
class=
"layui-card-body"
>
<table
lay-filter=
"course"
id=
"course"
></table>
</div>
</div>
</div>
</div>
</div>
...
...
app/admin/view/project/project/index.html
View file @
bb0dd94a
...
...
@@ -3,7 +3,7 @@
<style>
#projectcategoryTreeBar
{
padding
:
10px
15px
;
border
:
1px
solid
#e6e6e6
;
background-color
:
#f2f2f2
}
#projectcategoryTree
{
border
:
1px
solid
#e6e6e6
;
border-top
:
none
;
padding
:
10px
5px
;
overflow
:
auto
;
height
:
-webkit-calc
(
100vh
-
2
60px
);
height
:
-moz-calc
(
100vh
-
260px
);
height
:
calc
(
100vh
-
26
0px
)}
#projectcategoryTree
{
border
:
1px
solid
#e6e6e6
;
border-top
:
none
;
padding
:
10px
5px
;
overflow
:
auto
;
height
:
-webkit-calc
(
100vh
-
2
90px
);
height
:
-moz-calc
(
100vh
-
290px
);
height
:
calc
(
100vh
-
29
0px
)}
.layui-tree-entry
.layui-tree-txt
{
padding
:
0
5px
;
border
:
1px
transparent
solid
;
text-decoration
:
none
!important
}
.layui-tree-entry.organ-tree-click
.layui-tree-txt
{
background-color
:
#fff3e0
;
border
:
1px
#ffe6b0
solid
}
.files_itemwproject
{
width
:
30px
;
height
:
30px
;
line-height
:
30px
;
cursor
:
pointer
;
padding
:
1px
;
background
:
#fff
;
display
:
-webkit-box
;
-moz-box-align
:
center
;
-webkit-box-align
:
center
;
-moz-box-pack
:
center
;
-webkit-box-pack
:
center
;}
...
...
app/api/controller/manage/CourseTag.php
0 → 100644
View file @
bb0dd94a
<?php
namespace
app\api\controller\manage
;
use
app\api\middleware\Auth
;
use
app\api\validate\CourseTagValidate
;
use
app\BaseController
;
use
app\Request
;
use
app\model\CourseTag
as
CourseTagModel
;
class
CourseTag
extends
BaseController
{
protected
$middleware
=
[
Auth
::
class
,
];
//添加标签
public
function
createCourseTag
(
Request
$request
)
{
$vo
=
(
new
CourseTagValidate
())
->
goCheck
();
if
(
$vo
!==
true
)
{
return
$vo
;
}
$parm
=
$request
->
param
();
$parm
[
'createtime'
]
=
time
();
$parm
[
'user_id'
]
=
$request
->
userId
;
$result
=
CourseTagModel
::
create
(
$parm
);
return
$this
->
returnMsg
(
'操作成功'
,
1
,
$result
);
}
//标签列表
public
function
CourseTagList
(
Request
$request
)
{
$where
=
[
'is_del'
=>
0
,
'user_id'
=>
$request
->
userId
];
$list
=
CourseTagModel
::
where
(
$where
)
->
order
(
'createtime desc'
)
->
select
()
->
toArray
();
return
$this
->
returnMsg
(
'success'
,
1
,
$list
);
}
}
\ No newline at end of file
app/api/controller/manage/CourseTeacher.php
0 → 100644
View file @
bb0dd94a
<?php
namespace
app\api\controller\manage
;
use
app\api\middleware\Auth
;
use
app\api\validate\CourseTeacherValidate
;
use
app\BaseController
;
use
app\Request
;
use
app\model\CourseTeacher
as
CourseTeacherModel
;
class
CourseTeacher
extends
BaseController
{
protected
$middleware
=
[
Auth
::
class
,
];
//添加讲师
public
function
createCourseTeacher
(
Request
$request
)
{
$vo
=
(
new
CourseTeacherValidate
())
->
goCheck
([
'nickname'
,
'mobile'
,
'idcard'
]);
if
(
$vo
!==
true
)
{
return
$vo
;
}
$parm
=
$request
->
param
();
$parm
[
'createtime'
]
=
time
();
$parm
[
'user_id'
]
=
$request
->
userId
;
$result
=
CourseTeacherModel
::
create
(
$parm
);
return
$this
->
returnMsg
(
'操作成功'
,
1
,
$result
);
}
//编辑讲师
public
function
editCourseTeacher
(
Request
$request
)
{
$vo
=
(
new
CourseTeacherValidate
())
->
goCheck
([
'teacher_id'
]);
if
(
$vo
!==
true
)
{
return
$vo
;
}
$parm
=
$request
->
param
();
$updatedata
=
$parm
;
unset
(
$updatedata
[
'teacher_id'
]);
$result
=
CourseTeacherModel
::
where
([
'user_id'
=>
$request
->
userId
,
'id'
=>
$parm
[
'teacher_id'
]])
->
update
(
$updatedata
);
return
$this
->
returnMsg
(
'操作成功'
,
1
,
$result
);
}
//删除讲师
public
function
deleteCourseTeacher
(
Request
$request
)
{
$vo
=
(
new
CourseTeacherValidate
())
->
goCheck
([
'teacher_id'
]);
if
(
$vo
!==
true
)
{
return
$vo
;
}
$parm
=
$request
->
param
();
$where
=
[
'id'
=>
$parm
[
'teacher_id'
],
'user_id'
=>
$request
->
userId
];
$result
=
CourseTeacherModel
::
where
(
$where
)
->
update
([
'is_del'
=>
1
]);
return
$this
->
returnMsg
(
'操作成功'
,
1
,
$result
);
}
//讲师列表
public
function
CourseTeacherList
(
Request
$request
)
{
$parm
=
$request
->
param
();
$map
=
[];
if
(
isset
(
$parm
[
'searchnickname'
])
&&
$parm
[
'searchnickname'
]){
$map
[]
=
[
'nickname'
,
'like'
,
'%'
.
$parm
[
'searchnickname'
]
.
'%'
];
}
$page
=
$request
->
param
(
'page'
,
1
);
$pageSize
=
$request
->
param
(
'pageSize'
,
10
);
$where
=
[
'is_del'
=>
0
,
'user_id'
=>
$request
->
userId
];
$list
=
CourseTeacherModel
::
where
(
$where
)
->
where
(
$map
)
->
order
(
'createtime desc'
)
->
append
([
'thumbpath'
])
->
paginate
([
'page'
=>
$page
,
'list_rows'
=>
$pageSize
]);
return
$this
->
returnMsg
(
'success'
,
1
,
$list
);
}
}
\ No newline at end of file
app/api/controller/manage/ShCourse.php
View file @
bb0dd94a
...
...
@@ -3,6 +3,8 @@
namespace
app\api\controller\manage
;
use
app\api\middleware\Auth
;
use
app\api\service\UtilService
;
use
app\api\validate\ShCourseValidate
;
use
app\BaseController
;
use
app\model\ShCourse
as
ShCourseModel
;
use
app\Request
;
...
...
@@ -29,12 +31,20 @@ class ShCourse extends BaseController
if
(
isset
(
$parm
[
'cate_id'
])
&&
$parm
[
'cate_id'
])
{
$map
[]
=
[
'cate_id'
,
'='
,
$parm
[
'cate_id'
]];
}
if
(
isset
(
$parm
[
'start_time'
])
&&
$parm
[
'start_time'
]
&&
isset
(
$parm
[
'end_time'
])
&&
$parm
[
'end_time'
])
{
$start_time
=
strtotime
(
$parm
[
'start_time'
]);
$end_time
=
strtotime
(
$parm
[
'end_time'
]);
$map
[]
=
[
'createtime'
,
'>='
,
$start_time
];
$map
[]
=
[
'createtime'
,
'<='
,
$end_time
];
}
$page
=
$request
->
param
(
'page'
,
1
);
$pageSize
=
$request
->
param
(
'pageSize'
,
10
);
$list
=
ShCourseModel
::
where
(
$where
)
->
where
(
$map
)
->
field
(
'id,title,createtime,thumb,tag_ids,price,status,is_sell,is_del,tvclick,click,cate_id,teacher_id'
)
->
order
(
'createtime desc'
)
->
append
([
'thumbpath'
,
'cate_name'
,
'tag_title'
,
'teacher_name'
,
'status_text'
])
->
append
([
'thumbpath'
,
'cate_name'
,
'tag_title'
,
'teacher_name'
,
'status_text'
])
->
paginate
([
'page'
=>
$page
,
'list_rows'
=>
$pageSize
...
...
@@ -42,6 +52,68 @@ class ShCourse extends BaseController
return
$this
->
returnMsg
(
'success'
,
1
,
$list
);
}
//修改课程属性
public
function
updatecourseinfo
(
Request
$request
)
{
$vo
=
(
new
ShCourseValidate
())
->
goCheck
([
'course_id'
,
'updateField'
,
'updateValue'
]);
if
(
$vo
!==
true
)
{
return
$vo
;
}
$parm
=
$request
->
param
();
$where
=
[
'id'
=>
$parm
[
'course_id'
],
'user_id'
=>
$request
->
userId
];
$result
=
ShCourseModel
::
where
(
$where
)
->
update
([
$parm
[
'updateField'
]
=>
$parm
[
'updateValue'
]]);
event
(
'Course'
,
[
'course_id'
=>
$parm
[
'course_id'
],
'tasktype'
=>
'course'
,
'action'
=>
'shcourseupdate'
]);
//同步数据
return
$this
->
returnMsg
(
'操作成功'
,
1
,
$result
);
}
//删除课程
public
function
coursedelete
(
Request
$request
)
{
$vo
=
(
new
ShCourseValidate
())
->
goCheck
([
'course_id'
]);
if
(
$vo
!==
true
)
{
return
$vo
;
}
$parm
=
$request
->
param
();
$where
=
[
'id'
=>
$parm
[
'course_id'
],
'user_id'
=>
$request
->
userId
];
$result
=
ShCourseModel
::
where
(
$where
)
->
update
([
'is_del'
=>
1
]);
event
(
'Course'
,
[
'course_id'
=>
$parm
[
'course_id'
],
'tasktype'
=>
'course'
,
'action'
=>
'shcourseupdate'
]);
//同步数据
return
$this
->
returnMsg
(
'操作成功'
,
1
,
$result
);
}
//添加课程
public
function
createShCourse
(
Request
$request
)
{
$vo
=
(
new
ShCourseValidate
())
->
goCheck
([
'title'
,
'cate_id'
,
'thumb'
,
'teacher_id'
,
'thumb'
,
'detailthumb'
,
'content'
]);
if
(
$vo
!==
true
)
{
return
$vo
;
}
$parm
=
$request
->
param
();
$parm
[
'sn'
]
=
UtilService
::
generateOrderNo
(
$request
->
userId
,
'K'
);
$parm
[
'createtime'
]
=
time
();
$parm
[
'user_id'
]
=
$request
->
userId
;
$result
=
ShCourseModel
::
create
(
$parm
);
return
$this
->
returnMsg
(
'操作成功'
,
1
,
$result
);
}
//修改课程
public
function
editShCourse
(
Request
$request
)
{
$vo
=
(
new
ShCourseValidate
())
->
goCheck
([
'course_id'
,
'title'
,
'cate_id'
,
'thumb'
,
'teacher_id'
,
'thumb'
,
'detailthumb'
,
'content'
]);
if
(
$vo
!==
true
)
{
return
$vo
;
}
$parm
=
$request
->
param
();
$udpatedata
=
$parm
;
unset
(
$udpatedata
[
'course_id'
]);
$udpatedata
[
'updatetime'
]
=
time
();
$udpatedata
[
'status'
]
=
0
;
//修改为待提交
$result
=
ShCourseModel
::
where
([
'user_id'
=>
$request
->
userId
,
'id'
=>
$parm
[
'course_id'
]])
->
update
(
$udpatedata
);
return
$this
->
returnMsg
(
'操作成功'
,
1
,
$result
);
}
}
\ No newline at end of file
app/api/controller/manage/ShCourseClass.php
0 → 100644
View file @
bb0dd94a
<?php
namespace
app\api\controller\manage
;
use
app\api\middleware\Auth
;
use
app\api\validate\ShCourseClassValidate
;
use
app\BaseController
;
use
app\Request
;
use
app\model\ShCourseClass
as
ShCourseClassModel
;
class
ShCourseClass
extends
BaseController
{
protected
$middleware
=
[
Auth
::
class
,
];
//添加课时
public
function
createCourseClass
(
Request
$request
)
{
$vo
=
(
new
ShCourseClassValidate
())
->
goCheck
([
'cate_id'
,
'course_id'
,
'title'
,
'tv_file'
,
'tvtime'
]);
if
(
$vo
!==
true
)
{
return
$vo
;
}
$parm
=
$request
->
param
();
$parm
[
'createtime'
]
=
time
();
$parm
[
'user_id'
]
=
$request
->
userId
;
$result
=
ShCourseClassModel
::
create
(
$parm
);
return
$this
->
returnMsg
(
'操作成功'
,
1
,
$result
);
}
//编辑课时
public
function
editCourseClass
(
Request
$request
)
{
$vo
=
(
new
ShCourseClassValidate
())
->
goCheck
([
'cate_id'
,
'course_id'
,
'title'
,
'tv_file'
,
'tvtime'
,
'course_class_id'
]);
if
(
$vo
!==
true
)
{
return
$vo
;
}
$parm
=
$request
->
param
();
$updatedata
=
$parm
;
unset
(
$updatedata
[
'course_class_id'
]);
$result
=
ShCourseClassModel
::
where
([
'user_id'
=>
$request
->
userId
,
'id'
=>
$parm
[
'course_class_id'
]])
->
update
(
$updatedata
);
return
$this
->
returnMsg
(
'操作成功'
,
1
,
$result
);
}
//删除课时
public
function
deleteCourseClass
(
Request
$request
)
{
$vo
=
(
new
ShCourseClassValidate
())
->
goCheck
([
'course_class_id'
]);
if
(
$vo
!==
true
)
{
return
$vo
;
}
$parm
=
$request
->
param
();
$where
=
[
'id'
=>
$parm
[
'course_class_id'
],
'user_id'
=>
$request
->
userId
];
$result
=
ShCourseClassModel
::
where
(
$where
)
->
update
([
'is_del'
=>
1
]);
$course_id
=
ShCourseClassModel
::
where
([
'id'
=>
$parm
[
'course_class_id'
]])
->
value
(
'course_id'
);
event
(
'Course'
,
[
'course_id'
=>
$course_id
,
'tasktype'
=>
'course'
,
'action'
=>
'shcourseupdate'
]);
//同步数据
return
$this
->
returnMsg
(
'操作成功'
,
1
,
$result
);
}
//课时列表
public
function
CourseClassList
(
Request
$request
)
{
$parm
=
$request
->
param
();
$map
=
[];
if
(
isset
(
$parm
[
'searchkey'
])
&&
$parm
[
'searchkey'
])
{
$map
[]
=
[
'title'
,
'like'
,
'%'
.
$parm
[
'searchkey'
]
.
'%'
];
}
if
(
isset
(
$parm
[
'is_sell'
])
&&
$parm
[
'is_sell'
])
{
$map
[]
=
[
'is_sell'
,
'='
,
$parm
[
'is_sell'
]];
}
$page
=
$request
->
param
(
'page'
,
1
);
$pageSize
=
$request
->
param
(
'pageSize'
,
10
);
$where
=
[
'is_del'
=>
0
,
'user_id'
=>
$request
->
userId
];
$list
=
ShCourseClassModel
::
where
(
$where
)
->
where
(
$map
)
->
order
(
'createtime desc'
)
->
append
([
'thumbpath'
])
->
paginate
([
'page'
=>
$page
,
'list_rows'
=>
$pageSize
]);
return
$this
->
returnMsg
(
'success'
,
1
,
$list
);
}
//修改课程属性
public
function
updatecourseclassinfo
(
Request
$request
)
{
$vo
=
(
new
ShCourseClassValidate
())
->
goCheck
([
'course_class_id'
,
'updateField'
,
'updateValue'
]);
if
(
$vo
!==
true
)
{
return
$vo
;
}
$parm
=
$request
->
param
();
$where
=
[
'id'
=>
$parm
[
'course_class_id'
],
'user_id'
=>
$request
->
userId
];
$result
=
ShCourseClassModel
::
where
(
$where
)
->
update
([
$parm
[
'updateField'
]
=>
$parm
[
'updateValue'
]]);
$course_id
=
ShCourseClassModel
::
where
([
'id'
=>
$parm
[
'course_class_id'
]])
->
value
(
'course_id'
);
event
(
'Course'
,
[
'course_id'
=>
$course_id
,
'tasktype'
=>
'course'
,
'action'
=>
'shcourseupdate'
]);
//同步数据
return
$this
->
returnMsg
(
'操作成功'
,
1
,
$result
);
}
}
\ No newline at end of file
app/api/validate/CourseTagValidate.php
0 → 100644
View file @
bb0dd94a
<?php
namespace
app\api\validate
;
use
app\model\CourseTag
;
use
app\Request
;
use
think\Validate
;
class
CourseTagValidate
extends
BaseValidate
{
protected
$rule
=
[
'title'
=>
'require|checktitle'
];
protected
$message
=
[
'title.require'
=>
'标签名不能为空'
,
'title.checktitle'
=>
'标签名重复'
,
];
protected
function
checktitle
(
$value
,
$rule
,
$data
=
[])
{
$uesrid
=
request
()
->
userId
;
$result
=
CourseTag
::
where
([
'title'
=>
$value
,
'user_id'
=>
$uesrid
,
'is_del'
=>
0
])
->
count
();
if
(
$result
)
return
false
;
return
true
;
}
}
\ No newline at end of file
app/api/validate/CourseTeacherValidate.php
0 → 100644
View file @
bb0dd94a
<?php
namespace
app\api\validate
;
use
think\Validate
;
class
CourseTeacherValidate
extends
BaseValidate
{
protected
$rule
=
[
'nickname'
=>
'require'
,
'mobile'
=>
'mobile'
,
'idcard'
=>
'idCard'
,
'teacher_id'
=>
'require'
,
];
protected
$message
=
[
'nickname.require'
=>
'讲师姓名不能为空'
,
'teacher_id.require'
=>
'id不能为空'
,
'mobile.mobile'
=>
'手机号格式错误'
,
'idcard.idCard'
=>
'身份证格式错误'
,
];
}
\ No newline at end of file
app/api/validate/ShCourseClassValidate.php
0 → 100644
View file @
bb0dd94a
<?php
namespace
app\api\validate
;
use
think\Validate
;
class
ShCourseClassValidate
extends
BaseValidate
{
protected
$rule
=
[
'cate_id'
=>
'require'
,
'course_id'
=>
'require'
,
'title'
=>
'require'
,
'tv_file'
=>
'require'
,
'tvtime'
=>
'require'
,
'course_class_id'
=>
'require'
,
'updateField'
=>
'require|in:sort,is_sell'
,
'updateValue'
=>
'require'
,
];
protected
$message
=
[
'cate_id.require'
=>
'请选择章节'
,
'course_id.require'
=>
'请选择课程'
,
'title.require'
=>
'课时名称不能为空'
,
'tv_file.require'
=>
'请上传视频'
,
'tvtime.require'
=>
'视频长度不能为空'
,
'course_class_id.require'
=>
'课时ID不能为空'
,
'updateField.require'
=>
'必填项不能为空'
,
'updateValue.require'
=>
'必填项不能为空'
,
'updateField.in'
=>
'范围不合法'
,
];
}
\ No newline at end of file
app/api/validate/ShCourseValidate.php
0 → 100644
View file @
bb0dd94a
<?php
namespace
app\api\validate
;
use
think\Validate
;
class
ShCourseValidate
extends
BaseValidate
{
protected
$rule
=
[
'course_id'
=>
'require'
,
'updateField'
=>
'require|in:status,is_sell'
,
'updateValue'
=>
'require'
,
'title'
=>
'require'
,
'cate_id'
=>
'require'
,
'teacher_id'
=>
'require'
,
'thumb'
=>
'require'
,
'detailthumb'
=>
'require'
,
'content'
=>
'require'
,
];
protected
$message
=
[
'course_id.require'
=>
'课程id不能为空'
,
'updateField.require'
=>
'必填项不能为空'
,
'updateValue.require'
=>
'必填项不能为空'
,
'updateField.in'
=>
'范围不合法'
,
'title.require'
=>
'课程名称不能为空'
,
'cate_id.require'
=>
'课程分类不能为空'
,
'teacher_id.require'
=>
'讲师不能为空'
,
'thumb.require'
=>
'封面图不能为空'
,
'detailthumb.require'
=>
'课程详情图不能为空'
,
'content.require'
=>
'课程内容不能为空'
,
];
}
\ No newline at end of file
app/job/Jobtask.php
View file @
bb0dd94a
...
...
@@ -2,6 +2,14 @@
namespace
app\job
;
use
app\model\Course
as
CourseModel
;
use
app\model\CourseClass
;
use
app\model\CourseClassCategory
;
use
app\model\CourseWork
;
use
app\model\ShCourse
;
use
app\model\ShCourseClass
;
use
app\model\ShCourseClassCategory
;
use
app\model\ShCourseWork
;
use
think\facade\Log
;
use
think\queue\Job
;
use
think\facade\Db
;
...
...
@@ -50,8 +58,73 @@ class Jobtask
}
//同步课程
public
function
synccourse
(
$data
)
{
if
(
$data
[
'action'
]
==
'shstatus'
)
{
//更新课程
$courseinfo
=
ShCourse
::
where
(
'id'
,
$data
[
'course_id'
])
->
find
();
$is_cz
=
CourseModel
::
where
(
'id'
,
$data
[
'course_id'
])
->
count
();
if
(
$is_cz
>
0
)
{
unset
(
$courseinfo
[
'click'
]);
unset
(
$courseinfo
[
'tvclick'
]);
CourseModel
::
update
(
$courseinfo
);
}
else
{
CourseModel
::
create
(
$courseinfo
);
//添加课程
}
//处理课时
$course_class_list
=
ShCourseClass
::
where
(
'course_id'
,
$data
[
'course_id'
])
->
select
()
->
toArray
();
if
(
$course_class_list
)
{
// CourseClass::where('course_id', $data['course_id'])->delete(); //删除课时
CourseClass
::
saveAll
(
$course_class_list
);
//添加课时
}
//处理章节
$course_class_category
=
ShCourseClassCategory
::
where
(
'course_id'
,
$data
[
'course_id'
])
->
select
()
->
toArray
();
if
(
$course_class_category
)
{
// CourseClassCategory::where('course_id', $data['course_id'])->delete(); //删除章节
CourseClassCategory
::
saveAll
(
$course_class_category
);
//添加章节
}
//处理作业
$course_work
=
ShCourseWork
::
where
(
'course_id'
,
$data
[
'course_id'
])
->
select
()
->
toArray
();
if
(
$course_work
)
{
// CourseWork::where('course_id', $data['course_id'])->delete(); //删除作业
CourseWork
::
saveAll
(
$course_work
);
//添加作业
}
}
elseif
(
$data
[
'action'
]
==
'shcourseupdate'
)
{
//更新状态数据 删除,上下架
$courseinfo
=
ShCourse
::
field
(
'id,is_sell,is_del'
)
->
where
(
'id'
,
$data
[
'course_id'
])
->
find
();
CourseModel
::
update
(
$courseinfo
);
//处理课时
$course_class_list
=
ShCourseClass
::
field
(
'id,is_del,is_sell'
)
->
where
(
'course_id'
,
$data
[
'course_id'
])
->
select
()
->
toArray
();
CourseClass
::
saveAll
(
$course_class_list
);
//处理章节
$course_class_category
=
ShCourseClassCategory
::
field
(
'id,is_del'
)
->
where
(
'course_id'
,
$data
[
'course_id'
])
->
select
()
->
toArray
();
CourseClassCategory
::
saveAll
(
$course_class_category
);
//处理作业
$course_work
=
ShCourseWork
::
field
(
'id,is_del'
)
->
where
(
'course_id'
,
$data
[
'course_id'
])
->
select
()
->
toArray
();
CourseWork
::
saveAll
(
$course_work
);
}
elseif
(
$data
[
'action'
]
==
'courseupdateclick'
)
{
//更新销量阅读量
$courseinfo
=
CourseModel
::
field
(
'id,click,tvclick'
)
->
where
(
'id'
,
$data
[
'course_id'
])
->
find
();
ShCourse
::
update
(
$courseinfo
);
}
}
//同步课程
public
function
synccourse11111111111111
(
$data
)
{
if
(
$data
[
'action'
]
==
'shstatus'
)
{
...
...
app/model/CourseTeacher.php
View file @
bb0dd94a
...
...
@@ -14,10 +14,18 @@ use think\facade\Db;
use
think\Model
;
/**
*
模型公用类
*
讲师模型
*/
class
CourseTeacher
extends
Model
{
public
function
getThumbpathAttr
(
$value
,
$data
)
{
return
get_upload_file
(
$data
[
'thumb_id'
]);
}
public
function
getCreatetimeAttr
(
$value
,
$data
)
{
return
date
(
'Y-m-d H:i:s'
,
$data
[
'createtime'
]);
}
}
\ No newline at end of file
app/model/ShCourse.php
View file @
bb0dd94a
...
...
@@ -50,7 +50,7 @@ class ShCourse extends Model
public
function
getTagTitleAttr
(
$value
,
$data
)
{
return
implode
(
','
,
CourseTag
::
where
(
'id'
,
$data
[
'tag_ids'
])
->
column
(
'title'
));
return
implode
(
','
,
CourseTag
::
where
(
'id'
,
'in'
,
$data
[
'tag_ids'
])
->
column
(
'title'
));
}
public
function
getStatusTextAttr
(
$value
,
$data
)
...
...
app/subscribe/course.php
View file @
bb0dd94a
<?php
namespace
app\subscribe
;
use
app\job\Jobtask
;
use
think\Event
;
use
think\facade\Db
;
use
think\facade\Log
;
use
think\facade\Queue
;
use
app\model\ShCourse
;
use
app\model\ShCourseClass
;
use
app\model\ShCourseClassCategory
;
use
app\model\Course
as
CourseModel
;
use
app\model\CourseClassCategory
;
use
app\model\CourseClass
;
use
app\model\ShCourseWork
;
use
app\model\CourseWork
;
class
course
{
public
function
onCourse
(
$event
)
{
Queue
::
push
(
Jobtask
::
class
,
$event
);
// 推送到队列的任务类及其数据参数
// $this->synccourse($event);
}
public
function
subscribe
(
Event
$event
)
...
...
@@ -20,4 +33,5 @@ class course
$event
->
listen
(
'Course'
,
[
__CLASS__
,
'onCourse'
]);
}
}
\ No newline at end of file
config/app.php
View file @
bb0dd94a
...
...
@@ -32,5 +32,5 @@ return [
'error_message'
=>
'页面错误!请稍后再试~'
,
// 显示错误信息
'show_error_msg'
=>
false
,
'file_http_url'
=>
'http://192.168.4.
26
:8082'
,
'file_http_url'
=>
'http://192.168.4.
35
:8082'
,
];
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment