Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
O
online-edu-backend
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Redmine
Redmine
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
online-edu
online-edu-backend
Commits
fd8db1b2
Commit
fd8db1b2
authored
May 28, 2021
by
liuyang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
暂存
parent
891b94e7
Hide whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
305 additions
and
28 deletions
+305
-28
SwiperConfigController.java
...ata/biz/management/controller/SwiperConfigController.java
+8
-1
UserFavoritesPO.java
...ava/com/qkdata/biz/management/entity/UserFavoritesPO.java
+34
-0
SwiperConfigMapper.java
.../com/qkdata/biz/management/mapper/SwiperConfigMapper.java
+2
-1
UserFavoritesMapper.java
...com/qkdata/biz/management/mapper/UserFavoritesMapper.java
+25
-0
CourseService.java
...java/com/qkdata/biz/management/service/CourseService.java
+36
-18
SwiperConfigService.java
...om/qkdata/biz/management/service/SwiperConfigService.java
+3
-2
UserFavoritesService.java
...m/qkdata/biz/management/service/UserFavoritesService.java
+32
-0
CourseDetailModel.java
.../java/com/qkdata/biz/management/vo/CourseDetailModel.java
+4
-0
QueryFavoriteCourseModel.java
...om/qkdata/biz/management/vo/QueryFavoriteCourseModel.java
+11
-0
MainPageController.java
...ava/com/qkdata/biz/web/controller/MainPageController.java
+21
-2
UserCenterController.java
...a/com/qkdata/biz/web/controller/UserCenterController.java
+53
-0
UserCenterService.java
...in/java/com/qkdata/biz/web/service/UserCenterService.java
+37
-0
SaveFavoriteCourseModel.java
...n/java/com/qkdata/biz/web/vo/SaveFavoriteCourseModel.java
+8
-0
SearchCourseConditionModel.java
...ava/com/qkdata/biz/web/vo/SearchCourseConditionModel.java
+1
-0
SearchCourseResultModel.java
...n/java/com/qkdata/biz/web/vo/SearchCourseResultModel.java
+2
-1
courseMapper.xml
src/main/resources/mappers/management/courseMapper.xml
+7
-2
swiper_configMapper.xml
...main/resources/mappers/management/swiper_configMapper.xml
+3
-1
user_favoritesMapper.xml
...ain/resources/mappers/management/user_favoritesMapper.xml
+18
-0
No files found.
src/main/java/com/qkdata/biz/management/controller/SwiperConfigController.java
View file @
fd8db1b2
...
@@ -37,7 +37,7 @@ public class SwiperConfigController {
...
@@ -37,7 +37,7 @@ public class SwiperConfigController {
@GetMapping
(
""
)
@GetMapping
(
""
)
@RequiresRoles
(
value
=
{
BizConstants
.
ROLE_ADMIN
,
BizConstants
.
ROLE_OPERATOR
},
logical
=
Logical
.
OR
)
@RequiresRoles
(
value
=
{
BizConstants
.
ROLE_ADMIN
,
BizConstants
.
ROLE_OPERATOR
},
logical
=
Logical
.
OR
)
public
Result
<
List
<
SwiperConfigModel
>>
list
(){
public
Result
<
List
<
SwiperConfigModel
>>
list
(){
List
<
SwiperConfigModel
>
list
=
swiperConfigService
.
listConfig
();
List
<
SwiperConfigModel
>
list
=
swiperConfigService
.
listConfig
(
null
);
return
Result
.
succeed
(
list
);
return
Result
.
succeed
(
list
);
}
}
@ApiOperation
(
"添加轮播图"
)
@ApiOperation
(
"添加轮播图"
)
...
@@ -61,5 +61,12 @@ public class SwiperConfigController {
...
@@ -61,5 +61,12 @@ public class SwiperConfigController {
swiperConfigService
.
modifyStatus
(
model
);
swiperConfigService
.
modifyStatus
(
model
);
return
Result
.
succeed
(
"ok"
);
return
Result
.
succeed
(
"ok"
);
}
}
@ApiOperation
(
"删除配置"
)
@GetMapping
(
"/remove/{id}"
)
@RequiresRoles
(
value
=
{
BizConstants
.
ROLE_ADMIN
,
BizConstants
.
ROLE_OPERATOR
},
logical
=
Logical
.
OR
)
public
Result
<
String
>
remove
(
@PathVariable
Long
id
){
swiperConfigService
.
removeById
(
id
);
return
Result
.
succeed
(
"ok"
);
}
}
}
src/main/java/com/qkdata/biz/management/entity/UserFavoritesPO.java
0 → 100644
View file @
fd8db1b2
package
com
.
qkdata
.
biz
.
management
.
entity
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.qkdata.common.base.entity.BasePO
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
/**
* <p>
* 用户收藏课程
* </p>
*
* @author liuyang
* @since 2021-05-28
*/
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
@TableName
(
"user_favorites"
)
public
class
UserFavoritesPO
extends
BasePO
{
private
static
final
long
serialVersionUID
=
1L
;
/**
* 用户ID
*/
private
Long
userId
;
/**
* 课程ID
*/
private
Long
courseId
;
}
src/main/java/com/qkdata/biz/management/mapper/SwiperConfigMapper.java
View file @
fd8db1b2
package
com
.
qkdata
.
biz
.
management
.
mapper
;
package
com
.
qkdata
.
biz
.
management
.
mapper
;
import
com.qkdata.biz.enums.SwiperStatusEnum
;
import
com.qkdata.biz.management.entity.SwiperConfigPO
;
import
com.qkdata.biz.management.entity.SwiperConfigPO
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.qkdata.biz.management.vo.SwiperConfigModel
;
import
com.qkdata.biz.management.vo.SwiperConfigModel
;
...
@@ -18,5 +19,5 @@ import java.util.List;
...
@@ -18,5 +19,5 @@ import java.util.List;
@Mapper
@Mapper
public
interface
SwiperConfigMapper
extends
BaseMapper
<
SwiperConfigPO
>
{
public
interface
SwiperConfigMapper
extends
BaseMapper
<
SwiperConfigPO
>
{
List
<
SwiperConfigModel
>
listConfig
();
List
<
SwiperConfigModel
>
listConfig
(
SwiperStatusEnum
status
);
}
}
src/main/java/com/qkdata/biz/management/mapper/UserFavoritesMapper.java
0 → 100644
View file @
fd8db1b2
package
com
.
qkdata
.
biz
.
management
.
mapper
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.qkdata.biz.management.entity.UserFavoritesPO
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.qkdata.biz.management.vo.QueryFavoriteCourseModel
;
import
com.qkdata.biz.web.vo.SearchCourseResultModel
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
/**
* <p>
* 用户收藏课程 Mapper 接口
* </p>
*
* @author liuyang
* @since 2021-05-28
*/
@Mapper
public
interface
UserFavoritesMapper
extends
BaseMapper
<
UserFavoritesPO
>
{
List
<
SearchCourseResultModel
>
queryPageList
(
Page
page
,
@Param
(
"p"
)
QueryFavoriteCourseModel
model
);
}
src/main/java/com/qkdata/biz/management/service/CourseService.java
View file @
fd8db1b2
...
@@ -64,6 +64,8 @@ public class CourseService extends ServiceImpl<CourseMapper, CoursePO> {
...
@@ -64,6 +64,8 @@ public class CourseService extends ServiceImpl<CourseMapper, CoursePO> {
private
ResourceService
resourceService
;
private
ResourceService
resourceService
;
@Autowired
@Autowired
private
SysUserService
sysUserService
;
private
SysUserService
sysUserService
;
@Autowired
private
UserFavoritesService
userFavoritesService
;
public
PageResult
<
CourseListItemModel
>
queryPageList
(
QueryCourseModel
param
)
{
public
PageResult
<
CourseListItemModel
>
queryPageList
(
QueryCourseModel
param
)
{
Page
page
=
new
Page
(
param
.
getPageIndex
(),
param
.
getPageSize
());
Page
page
=
new
Page
(
param
.
getPageIndex
(),
param
.
getPageSize
());
...
@@ -173,9 +175,17 @@ public class CourseService extends ServiceImpl<CourseMapper, CoursePO> {
...
@@ -173,9 +175,17 @@ public class CourseService extends ServiceImpl<CourseMapper, CoursePO> {
addChaperInfo
(
model
);
addChaperInfo
(
model
);
addAttachmentInfo
(
model
);
addAttachmentInfo
(
model
);
addOrgInfo
(
model
);
addOrgInfo
(
model
);
setFavorite
(
model
);
return
model
;
return
model
;
}
}
private
void
setFavorite
(
CourseDetailModel
model
)
{
UserFavoritesPO
po
=
userFavoritesService
.
findByUserIdAndCourseId
(
UserContext
.
getUserId
(),
model
.
getId
());
if
(
po
!=
null
){
model
.
setFavorite
(
true
);
}
}
private
void
addOrgInfo
(
CourseDetailModel
model
)
{
private
void
addOrgInfo
(
CourseDetailModel
model
)
{
if
(
model
.
getAllow
()
==
CourseAllowEnum
.
SPECIFY
){
if
(
model
.
getAllow
()
==
CourseAllowEnum
.
SPECIFY
){
List
<
CourseAllowEnterpriseModel
>
allowOrgList
=
baseMapper
.
selectOrgListByCourseId
(
model
.
getId
());
List
<
CourseAllowEnterpriseModel
>
allowOrgList
=
baseMapper
.
selectOrgListByCourseId
(
model
.
getId
());
...
@@ -421,6 +431,14 @@ public class CourseService extends ServiceImpl<CourseMapper, CoursePO> {
...
@@ -421,6 +431,14 @@ public class CourseService extends ServiceImpl<CourseMapper, CoursePO> {
String
username
=
UserContext
.
getUser
().
getUsername
();
String
username
=
UserContext
.
getUser
().
getUsername
();
FullUserInfo
userInfo
=
sysUserService
.
findFullUserInfo
(
username
);
FullUserInfo
userInfo
=
sysUserService
.
findFullUserInfo
(
username
);
List
<
SearchCourseResultModel
>
list
=
baseMapper
.
searchPageList
(
page
,
model
,
userInfo
.
getEnterpriseId
());
List
<
SearchCourseResultModel
>
list
=
baseMapper
.
searchPageList
(
page
,
model
,
userInfo
.
getEnterpriseId
());
for
(
SearchCourseResultModel
m
:
list
){
List
<
CourseTagsModel
>
tags
=
tagRelMapper
.
selectModelList
(
m
.
getCourseId
());
m
.
setTags
(
tags
);
List
<
CourseChaperModel
>
chaperList
=
chaperList
(
m
.
getCourseId
());
if
(
CollUtil
.
isNotEmpty
(
chaperList
)){
m
.
setDuration
(
chaperList
.
get
(
0
).
getDuration
());
}
}
return
PageResult
.<
SearchCourseResultModel
>
builder
().
code
(
CodeEnum
.
SUCCESS
.
getCode
()).
count
(
page
.
getTotal
()).
data
(
list
).
build
();
return
PageResult
.<
SearchCourseResultModel
>
builder
().
code
(
CodeEnum
.
SUCCESS
.
getCode
()).
count
(
page
.
getTotal
()).
data
(
list
).
build
();
}
}
...
@@ -468,24 +486,24 @@ public class CourseService extends ServiceImpl<CourseMapper, CoursePO> {
...
@@ -468,24 +486,24 @@ public class CourseService extends ServiceImpl<CourseMapper, CoursePO> {
}
}
}
}
public
String
getVideoPlayUrl
(
Long
courseId
,
Long
chaperId
)
{
//
public String getVideoPlayUrl(Long courseId, Long chaperId) {
CourseChapterPO
po
=
chapterMapper
.
selectById
(
chaperId
);
//
CourseChapterPO po = chapterMapper.selectById(chaperId);
if
(
po
!=
null
){
//
if (po != null){
ResourcePO
resourcePO
=
resourceService
.
getById
(
po
.
getResourceId
());
//
ResourcePO resourcePO = resourceService.getById(po.getResourceId());
if
(
resourcePO
!=
null
&&
StrUtil
.
isNotBlank
(
resourcePO
.
getVideoId
())){
//
if (resourcePO != null && StrUtil.isNotBlank(resourcePO.getVideoId())){
try
{
//
try {
GetPlayInfoResponse
response
=
aliyunService
.
getVideoPlayInfo
(
resourcePO
.
getVideoId
());
//
GetPlayInfoResponse response = aliyunService.getVideoPlayInfo(resourcePO.getVideoId());
if
(
CollUtil
.
isNotEmpty
(
response
.
getPlayInfoList
())){
//
if (CollUtil.isNotEmpty(response.getPlayInfoList())){
GetPlayInfoResponse
.
PlayInfo
playInfo
=
response
.
getPlayInfoList
().
get
(
0
);
//
GetPlayInfoResponse.PlayInfo playInfo = response.getPlayInfoList().get(0);
return
playInfo
.
getPlayURL
();
//
return playInfo.getPlayURL();
}
//
}
}
catch
(
ClientException
e
)
{
//
} catch (ClientException e) {
e
.
printStackTrace
();
//
e.printStackTrace();
}
//
}
}
//
}
}
//
}
return
""
;
//
return "";
}
//
}
public
GetVideoPlayAuthResponse
getVideoPlayAuth
(
Long
courseId
,
Long
chaperId
){
public
GetVideoPlayAuthResponse
getVideoPlayAuth
(
Long
courseId
,
Long
chaperId
){
CourseChapterPO
po
=
chapterMapper
.
selectById
(
chaperId
);
CourseChapterPO
po
=
chapterMapper
.
selectById
(
chaperId
);
if
(
po
!=
null
){
if
(
po
!=
null
){
...
...
src/main/java/com/qkdata/biz/management/service/SwiperConfigService.java
View file @
fd8db1b2
package
com
.
qkdata
.
biz
.
management
.
service
;
package
com
.
qkdata
.
biz
.
management
.
service
;
import
com.qkdata.biz.enums.SwiperStatusEnum
;
import
com.qkdata.biz.management.entity.SwiperConfigPO
;
import
com.qkdata.biz.management.entity.SwiperConfigPO
;
import
com.qkdata.biz.management.mapper.SwiperConfigMapper
;
import
com.qkdata.biz.management.mapper.SwiperConfigMapper
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
...
@@ -21,8 +22,8 @@ import java.util.List;
...
@@ -21,8 +22,8 @@ import java.util.List;
@Service
@Service
public
class
SwiperConfigService
extends
ServiceImpl
<
SwiperConfigMapper
,
SwiperConfigPO
>
{
public
class
SwiperConfigService
extends
ServiceImpl
<
SwiperConfigMapper
,
SwiperConfigPO
>
{
public
List
<
SwiperConfigModel
>
listConfig
()
{
public
List
<
SwiperConfigModel
>
listConfig
(
SwiperStatusEnum
status
)
{
return
baseMapper
.
listConfig
();
return
baseMapper
.
listConfig
(
status
);
}
}
public
void
linkCourse
(
SwiperLInkCourseModel
model
)
{
public
void
linkCourse
(
SwiperLInkCourseModel
model
)
{
...
...
src/main/java/com/qkdata/biz/management/service/UserFavoritesService.java
0 → 100644
View file @
fd8db1b2
package
com
.
qkdata
.
biz
.
management
.
service
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.qkdata.biz.management.entity.UserFavoritesPO
;
import
com.qkdata.biz.management.mapper.UserFavoritesMapper
;
import
com.qkdata.biz.management.vo.QueryFavoriteCourseModel
;
import
com.qkdata.biz.web.vo.SearchCourseResultModel
;
import
com.qkdata.common.base.enums.CodeEnum
;
import
com.qkdata.common.base.model.PageResult
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
@Service
public
class
UserFavoritesService
extends
ServiceImpl
<
UserFavoritesMapper
,
UserFavoritesPO
>
{
public
UserFavoritesPO
findByUserIdAndCourseId
(
Long
userId
,
Long
courseId
)
{
return
getOne
(
Wrappers
.<
UserFavoritesPO
>
lambdaQuery
().
eq
(
UserFavoritesPO:
:
getUserId
,
userId
).
eq
(
UserFavoritesPO:
:
getCourseId
,
courseId
));
}
public
void
removeByUserIdAndCourseId
(
Long
userId
,
Long
courseId
)
{
remove
(
Wrappers
.<
UserFavoritesPO
>
lambdaQuery
().
eq
(
UserFavoritesPO:
:
getUserId
,
userId
).
eq
(
UserFavoritesPO:
:
getCourseId
,
courseId
));
}
public
PageResult
<
SearchCourseResultModel
>
queryPageList
(
QueryFavoriteCourseModel
model
)
{
Page
page
=
new
Page
(
model
.
getPageIndex
(),
model
.
getPageSize
());
List
<
SearchCourseResultModel
>
list
=
baseMapper
.
queryPageList
(
page
,
model
);
return
PageResult
.<
SearchCourseResultModel
>
builder
().
code
(
CodeEnum
.
SUCCESS
.
getCode
()).
count
(
page
.
getTotal
()).
data
(
list
).
build
();
}
}
src/main/java/com/qkdata/biz/management/vo/CourseDetailModel.java
View file @
fd8db1b2
...
@@ -77,6 +77,10 @@ public class CourseDetailModel {
...
@@ -77,6 +77,10 @@ public class CourseDetailModel {
* 可见范围(全部、指定企业)
* 可见范围(全部、指定企业)
*/
*/
private
CourseAllowEnum
allow
;
private
CourseAllowEnum
allow
;
/**
* 是否已收藏
*/
private
boolean
favorite
=
false
;
/**
/**
* 指定企业的列表
* 指定企业的列表
*/
*/
...
...
src/main/java/com/qkdata/biz/management/vo/QueryFavoriteCourseModel.java
0 → 100644
View file @
fd8db1b2
package
com
.
qkdata
.
biz
.
management
.
vo
;
import
com.qkdata.common.constants.Constants
;
import
lombok.Data
;
@Data
public
class
QueryFavoriteCourseModel
{
private
int
pageIndex
=
Constants
.
DEFAULT_PAGE
;
private
int
pageSize
=
Constants
.
DEFAULT_PAGE_SIZE
;
private
Long
userId
;
}
src/main/java/com/qkdata/biz/web/controller/MainPageController.java
View file @
fd8db1b2
...
@@ -2,8 +2,8 @@ package com.qkdata.biz.web.controller;
...
@@ -2,8 +2,8 @@ package com.qkdata.biz.web.controller;
import
com.aliyuncs.vod.model.v20170321.GetVideoPlayAuthResponse
;
import
com.aliyuncs.vod.model.v20170321.GetVideoPlayAuthResponse
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.qkdata.biz.aliyun.service.AliyunService
;
import
com.qkdata.biz.common.BizConstants
;
import
com.qkdata.biz.common.BizConstants
;
import
com.qkdata.biz.enums.SwiperStatusEnum
;
import
com.qkdata.biz.management.entity.CourseTagPO
;
import
com.qkdata.biz.management.entity.CourseTagPO
;
import
com.qkdata.biz.management.service.CourseService
;
import
com.qkdata.biz.management.service.CourseService
;
import
com.qkdata.biz.management.service.CourseTagService
;
import
com.qkdata.biz.management.service.CourseTagService
;
...
@@ -14,6 +14,7 @@ import com.qkdata.biz.management.vo.RecommendConfigModel;
...
@@ -14,6 +14,7 @@ import com.qkdata.biz.management.vo.RecommendConfigModel;
import
com.qkdata.biz.management.vo.SwiperConfigModel
;
import
com.qkdata.biz.management.vo.SwiperConfigModel
;
import
com.qkdata.biz.web.service.UserCenterService
;
import
com.qkdata.biz.web.service.UserCenterService
;
import
com.qkdata.biz.web.vo.MainPageModel
;
import
com.qkdata.biz.web.vo.MainPageModel
;
import
com.qkdata.biz.web.vo.SaveFavoriteCourseModel
;
import
com.qkdata.biz.web.vo.SearchCourseConditionModel
;
import
com.qkdata.biz.web.vo.SearchCourseConditionModel
;
import
com.qkdata.biz.web.vo.SearchCourseResultModel
;
import
com.qkdata.biz.web.vo.SearchCourseResultModel
;
import
com.qkdata.common.annotation.SysLog
;
import
com.qkdata.common.annotation.SysLog
;
...
@@ -49,7 +50,7 @@ public class MainPageController {
...
@@ -49,7 +50,7 @@ public class MainPageController {
@GetMapping
(
""
)
@GetMapping
(
""
)
@RequiresRoles
(
value
=
{
BizConstants
.
ROLE_USER
,
BizConstants
.
ROLE_ENTERPRISE_ADMIN
},
logical
=
Logical
.
OR
)
@RequiresRoles
(
value
=
{
BizConstants
.
ROLE_USER
,
BizConstants
.
ROLE_ENTERPRISE_ADMIN
},
logical
=
Logical
.
OR
)
public
Result
<
MainPageModel
>
get
(){
public
Result
<
MainPageModel
>
get
(){
List
<
SwiperConfigModel
>
swiperConfigModels
=
swiperConfigService
.
listConfig
();
List
<
SwiperConfigModel
>
swiperConfigModels
=
swiperConfigService
.
listConfig
(
SwiperStatusEnum
.
ENABLE
);
List
<
CourseTagPO
>
tagList
=
courseTagService
.
list
(
Wrappers
.<
CourseTagPO
>
lambdaQuery
().
eq
(
CourseTagPO:
:
getRecommend
,
true
));
List
<
CourseTagPO
>
tagList
=
courseTagService
.
list
(
Wrappers
.<
CourseTagPO
>
lambdaQuery
().
eq
(
CourseTagPO:
:
getRecommend
,
true
));
List
<
RecommendConfigModel
>
recommendConfigList
=
recommendConfigService
.
listConfig
();
List
<
RecommendConfigModel
>
recommendConfigList
=
recommendConfigService
.
listConfig
();
MainPageModel
model
=
new
MainPageModel
();
MainPageModel
model
=
new
MainPageModel
();
...
@@ -93,6 +94,24 @@ public class MainPageController {
...
@@ -93,6 +94,24 @@ public class MainPageController {
CourseDetailModel
model
=
courseService
.
getCourseDetail
(
id
);
CourseDetailModel
model
=
courseService
.
getCourseDetail
(
id
);
return
Result
.
succeed
(
model
);
return
Result
.
succeed
(
model
);
}
}
@ApiOperation
(
"收藏课程"
)
@PostMapping
(
"/course/favorite"
)
@RequiresRoles
(
value
=
{
BizConstants
.
ROLE_USER
,
BizConstants
.
ROLE_ENTERPRISE_ADMIN
},
logical
=
Logical
.
OR
)
@SysLog
(
"收藏课程"
)
public
Result
<
String
>
favoriteCourse
(
@RequestBody
SaveFavoriteCourseModel
model
){
userCenterService
.
favoriteCourse
(
model
.
getCourseId
());
return
Result
.
succeed
(
"ok"
);
}
@ApiOperation
(
"取消收藏"
)
@PostMapping
(
"/course/removeFavorite"
)
@RequiresRoles
(
value
=
{
BizConstants
.
ROLE_USER
,
BizConstants
.
ROLE_ENTERPRISE_ADMIN
},
logical
=
Logical
.
OR
)
@SysLog
(
"取消收藏"
)
public
Result
<
String
>
removeFavoriteCourse
(
@RequestBody
SaveFavoriteCourseModel
model
){
userCenterService
.
removeFavoriteCourse
(
model
.
getCourseId
());
return
Result
.
succeed
(
"ok"
);
}
@ApiOperation
(
"获取视频播放凭证"
)
@ApiOperation
(
"获取视频播放凭证"
)
@GetMapping
(
"/course/playVideo"
)
@GetMapping
(
"/course/playVideo"
)
@RequiresRoles
(
value
=
{
BizConstants
.
ROLE_USER
,
BizConstants
.
ROLE_ENTERPRISE_ADMIN
},
logical
=
Logical
.
OR
)
@RequiresRoles
(
value
=
{
BizConstants
.
ROLE_USER
,
BizConstants
.
ROLE_ENTERPRISE_ADMIN
},
logical
=
Logical
.
OR
)
...
...
src/main/java/com/qkdata/biz/web/controller/UserCenterController.java
0 → 100644
View file @
fd8db1b2
package
com
.
qkdata
.
biz
.
web
.
controller
;
import
com.qkdata.biz.common.BizConstants
;
import
com.qkdata.biz.sys.service.SysUserService
;
import
com.qkdata.biz.web.service.UserCenterService
;
import
com.qkdata.biz.web.vo.FullUserInfo
;
import
com.qkdata.biz.web.vo.SearchCourseResultModel
;
import
com.qkdata.common.annotation.SysLog
;
import
com.qkdata.common.base.model.PageResult
;
import
com.qkdata.common.base.model.Result
;
import
com.qkdata.common.util.UserContext
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.apache.shiro.authz.annotation.Logical
;
import
org.apache.shiro.authz.annotation.RequiresRoles
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.List
;
@Api
(
tags
=
"我的相关数据接口"
)
@RestController
@RequestMapping
(
"/api/userCenter"
)
public
class
UserCenterController
{
@Autowired
private
UserCenterService
userCenterService
;
@Autowired
private
SysUserService
sysUserService
;
@ApiOperation
(
"获取个人信息"
)
@GetMapping
(
"/userInfo"
)
@RequiresRoles
(
value
=
{
BizConstants
.
ROLE_USER
,
BizConstants
.
ROLE_ENTERPRISE_ADMIN
},
logical
=
Logical
.
OR
)
public
Result
<
FullUserInfo
>
userInfo
(){
String
username
=
UserContext
.
getUser
().
getUsername
();
FullUserInfo
userInfo
=
sysUserService
.
findFullUserInfo
(
username
);
return
Result
.
succeed
(
userInfo
);
}
@ApiOperation
(
"获取收藏列表"
)
@GetMapping
(
"/myFavorite/list"
)
@RequiresRoles
(
value
=
{
BizConstants
.
ROLE_USER
,
BizConstants
.
ROLE_ENTERPRISE_ADMIN
},
logical
=
Logical
.
OR
)
public
PageResult
<
SearchCourseResultModel
>
myFavoriteList
(){
return
userCenterService
.
myFavoriteQueryPageList
();
}
@ApiOperation
(
"删除收藏"
)
@PostMapping
(
"/myFavorite/remove"
)
@RequiresRoles
(
value
=
{
BizConstants
.
ROLE_USER
,
BizConstants
.
ROLE_ENTERPRISE_ADMIN
},
logical
=
Logical
.
OR
)
@SysLog
(
"删除收藏"
)
public
Result
<
String
>
removeFavorite
(
@RequestBody
List
<
Long
>
courseIds
){
userCenterService
.
removeFavorite
(
courseIds
);
return
Result
.
succeed
(
"ok"
);
}
}
src/main/java/com/qkdata/biz/web/service/UserCenterService.java
View file @
fd8db1b2
...
@@ -6,13 +6,19 @@ import com.qkdata.biz.enums.CourseChargeModelEnum;
...
@@ -6,13 +6,19 @@ import com.qkdata.biz.enums.CourseChargeModelEnum;
import
com.qkdata.biz.enums.CourseStatusEnum
;
import
com.qkdata.biz.enums.CourseStatusEnum
;
import
com.qkdata.biz.enums.UserPayRecordTypeEnum
;
import
com.qkdata.biz.enums.UserPayRecordTypeEnum
;
import
com.qkdata.biz.management.entity.CoursePO
;
import
com.qkdata.biz.management.entity.CoursePO
;
import
com.qkdata.biz.management.entity.UserFavoritesPO
;
import
com.qkdata.biz.management.entity.UserGetVipRecordPO
;
import
com.qkdata.biz.management.entity.UserGetVipRecordPO
;
import
com.qkdata.biz.management.mapper.UserFavoritesMapper
;
import
com.qkdata.biz.management.service.CourseService
;
import
com.qkdata.biz.management.service.CourseService
;
import
com.qkdata.biz.management.service.UserFavoritesService
;
import
com.qkdata.biz.management.service.UserGetVipRecordService
;
import
com.qkdata.biz.management.service.UserGetVipRecordService
;
import
com.qkdata.biz.management.vo.QueryFavoriteCourseModel
;
import
com.qkdata.biz.sys.service.SysUserService
;
import
com.qkdata.biz.sys.service.SysUserService
;
import
com.qkdata.biz.web.vo.FullUserInfo
;
import
com.qkdata.biz.web.vo.FullUserInfo
;
import
com.qkdata.biz.web.vo.SearchCourseResultModel
;
import
com.qkdata.common.base.entity.BasePO
;
import
com.qkdata.common.base.entity.BasePO
;
import
com.qkdata.common.base.exception.BusinessException
;
import
com.qkdata.common.base.exception.BusinessException
;
import
com.qkdata.common.base.model.PageResult
;
import
com.qkdata.common.util.UserContext
;
import
com.qkdata.common.util.UserContext
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
@@ -30,6 +36,8 @@ public class UserCenterService {
...
@@ -30,6 +36,8 @@ public class UserCenterService {
private
CourseService
courseService
;
private
CourseService
courseService
;
@Autowired
@Autowired
private
UserGetVipRecordService
userGetVipRecordService
;
private
UserGetVipRecordService
userGetVipRecordService
;
@Autowired
private
UserFavoritesService
userFavoritesService
;
/**
/**
* 验证当前登陆用户是否有播放该课程和章节的权限
* 验证当前登陆用户是否有播放该课程和章节的权限
...
@@ -95,4 +103,33 @@ public class UserCenterService {
...
@@ -95,4 +103,33 @@ public class UserCenterService {
}
}
public
void
favoriteCourse
(
Long
courseId
)
{
Long
userId
=
UserContext
.
getUserId
();
UserFavoritesPO
po
=
userFavoritesService
.
findByUserIdAndCourseId
(
userId
,
courseId
);
if
(
po
==
null
){
po
=
new
UserFavoritesPO
();
po
.
setUserId
(
userId
);
po
.
setCourseId
(
courseId
);
userFavoritesService
.
save
(
po
);
}
}
public
void
removeFavoriteCourse
(
Long
courseId
)
{
Long
userId
=
UserContext
.
getUserId
();
userFavoritesService
.
removeByUserIdAndCourseId
(
userId
,
courseId
);
}
public
PageResult
<
SearchCourseResultModel
>
myFavoriteQueryPageList
()
{
QueryFavoriteCourseModel
model
=
new
QueryFavoriteCourseModel
();
model
.
setUserId
(
UserContext
.
getUserId
());
return
userFavoritesService
.
queryPageList
(
model
);
}
public
void
removeFavorite
(
List
<
Long
>
courseIds
)
{
Long
userId
=
UserContext
.
getUserId
();
for
(
Long
courseId
:
courseIds
){
userFavoritesService
.
removeByUserIdAndCourseId
(
userId
,
courseId
);
}
}
}
}
src/main/java/com/qkdata/biz/web/vo/SaveFavoriteCourseModel.java
0 → 100644
View file @
fd8db1b2
package
com
.
qkdata
.
biz
.
web
.
vo
;
import
lombok.Data
;
@Data
public
class
SaveFavoriteCourseModel
{
private
Long
courseId
;
}
src/main/java/com/qkdata/biz/web/vo/SearchCourseConditionModel.java
View file @
fd8db1b2
...
@@ -9,4 +9,5 @@ public class SearchCourseConditionModel {
...
@@ -9,4 +9,5 @@ public class SearchCourseConditionModel {
private
int
pageSize
=
Constants
.
DEFAULT_PAGE_SIZE
;
private
int
pageSize
=
Constants
.
DEFAULT_PAGE_SIZE
;
private
String
courseName
;
private
String
courseName
;
private
Long
tagId
;
private
Long
tagId
;
private
Long
teacherId
;
}
}
src/main/java/com/qkdata/biz/web/vo/SearchCourseResultModel.java
View file @
fd8db1b2
...
@@ -2,6 +2,7 @@ package com.qkdata.biz.web.vo;
...
@@ -2,6 +2,7 @@ package com.qkdata.biz.web.vo;
import
com.qkdata.biz.enums.CourseChargeModelEnum
;
import
com.qkdata.biz.enums.CourseChargeModelEnum
;
import
com.qkdata.biz.management.entity.CourseTagPO
;
import
com.qkdata.biz.management.entity.CourseTagPO
;
import
com.qkdata.biz.management.vo.CourseTagsModel
;
import
lombok.Data
;
import
lombok.Data
;
import
java.util.List
;
import
java.util.List
;
...
@@ -13,6 +14,6 @@ public class SearchCourseResultModel {
...
@@ -13,6 +14,6 @@ public class SearchCourseResultModel {
private
CourseChargeModelEnum
chargeModel
;
private
CourseChargeModelEnum
chargeModel
;
private
Float
duration
;
private
Float
duration
;
private
String
courseLogoUrl
;
private
String
courseLogoUrl
;
private
List
<
CourseTag
PO
>
tags
;
private
List
<
CourseTag
sModel
>
tags
;
}
}
src/main/resources/mappers/management/courseMapper.xml
View file @
fd8db1b2
...
@@ -58,7 +58,8 @@
...
@@ -58,7 +58,8 @@
c.id course_id,
c.id course_id,
c.`name` course_name,
c.`name` course_name,
c.charge_model,
c.charge_model,
c.logo_url course_logo_url
c.logo_url course_logo_url,
c.teacher_id
FROM
FROM
course c
course c
WHERE
WHERE
...
@@ -70,7 +71,8 @@
...
@@ -70,7 +71,8 @@
c.id course_id,
c.id course_id,
c.`name` course_name,
c.`name` course_name,
c.charge_model,
c.charge_model,
c.logo_url course_logo_url
c.logo_url course_logo_url,
c.teacher_id
FROM
FROM
course c
course c
INNER JOIN allow_org_course o ON c.id = o.course_id
INNER JOIN allow_org_course o ON c.id = o.course_id
...
@@ -88,5 +90,8 @@
...
@@ -88,5 +90,8 @@
<if
test=
"p.tagId != null"
>
<if
test=
"p.tagId != null"
>
and r.tag_id = #{p.tagId}
and r.tag_id = #{p.tagId}
</if>
</if>
<if
test=
"p.teacherId != null"
>
and tmp.teacher_id = #{p.teacherId}
</if>
</select>
</select>
</mapper>
</mapper>
src/main/resources/mappers/management/swiper_configMapper.xml
View file @
fd8db1b2
...
@@ -7,8 +7,10 @@
...
@@ -7,8 +7,10 @@
s.`name` course_name
s.`name` course_name
from swiper_config c
from swiper_config c
INNER JOIN course s on c.course_id = s.id
INNER JOIN course s on c.course_id = s.id
and c.status = 'ENABLE'
and s.status = 'UP'
and s.status = 'UP'
<if
test=
"status != null"
>
and c.status = #{status}
</if>
ORDER BY c.sort_no ASC
ORDER BY c.sort_no ASC
</select>
</select>
</mapper>
</mapper>
src/main/resources/mappers/management/user_favoritesMapper.xml
0 → 100644
View file @
fd8db1b2
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.qkdata.biz.management.mapper.UserFavoritesMapper"
>
<select
id=
"queryPageList"
resultType=
"com.qkdata.biz.web.vo.SearchCourseResultModel"
>
SELECT
c.id course_id,
c.`name` course_name,
c.charge_model,
c.logo_url course_logo_url
FROM
course c
inner join user_favorites f on c.id = f.course_id
WHERE
c.is_del = 0
and c.status = 'UP'
</select>
</mapper>
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