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
b0132024
Commit
b0132024
authored
Jun 07, 2021
by
liuyang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update
parent
49e6b49f
Hide whitespace changes
Inline
Side-by-side
Showing
31 changed files
with
568 additions
and
23 deletions
+568
-23
UserSexEnum.java
src/main/java/com/qkdata/biz/enums/UserSexEnum.java
+6
-0
OrgUserReceiveRecordPO.java
.../qkdata/biz/management/entity/OrgUserReceiveRecordPO.java
+2
-1
CourseMapper.java
...n/java/com/qkdata/biz/management/mapper/CourseMapper.java
+5
-2
OrgSurplusMapper.java
...va/com/qkdata/biz/management/mapper/OrgSurplusMapper.java
+7
-0
OrgUserReceiveRecordMapper.java
...ata/biz/management/mapper/OrgUserReceiveRecordMapper.java
+7
-0
CourseService.java
...java/com/qkdata/biz/management/service/CourseService.java
+47
-3
MemberService.java
...java/com/qkdata/biz/management/service/MemberService.java
+1
-1
OrgSurplusService.java
.../com/qkdata/biz/management/service/OrgSurplusService.java
+45
-0
OrgUserReceiveRecordService.java
...a/biz/management/service/OrgUserReceiveRecordService.java
+13
-0
OrganizationService.java
...om/qkdata/biz/management/service/OrganizationService.java
+2
-0
ProductOrderService.java
...om/qkdata/biz/management/service/ProductOrderService.java
+4
-3
UserCourseAuthService.java
.../qkdata/biz/management/service/UserCourseAuthService.java
+2
-1
MemberInfoModel.java
...in/java/com/qkdata/biz/management/vo/MemberInfoModel.java
+2
-1
SysUserExtPO.java
src/main/java/com/qkdata/biz/sys/entity/SysUserExtPO.java
+2
-1
SysUserService.java
src/main/java/com/qkdata/biz/sys/service/SysUserService.java
+101
-0
MainPageController.java
...ava/com/qkdata/biz/web/controller/MainPageController.java
+11
-4
MyEnterpriseController.java
...com/qkdata/biz/web/controller/MyEnterpriseController.java
+117
-0
UserCenterController.java
...a/com/qkdata/biz/web/controller/UserCenterController.java
+24
-0
BuyCourseListItem.java
src/main/java/com/qkdata/biz/web/vo/BuyCourseListItem.java
+18
-0
ModifyUserInfoModel.java
src/main/java/com/qkdata/biz/web/vo/ModifyUserInfoModel.java
+14
-0
OrgCourseSurplusModel.java
...ain/java/com/qkdata/biz/web/vo/OrgCourseSurplusModel.java
+11
-0
OrgUserReceiveRecordModel.java
...java/com/qkdata/biz/web/vo/OrgUserReceiveRecordModel.java
+14
-0
QueryBuyCourseListModel.java
...n/java/com/qkdata/biz/web/vo/QueryBuyCourseListModel.java
+21
-0
QueryMyEnterpriseCourseModel.java
...a/com/qkdata/biz/web/vo/QueryMyEnterpriseCourseModel.java
+11
-0
QueryOrgCourseSurplusModel.java
...ava/com/qkdata/biz/web/vo/QueryOrgCourseSurplusModel.java
+11
-0
QueryReceiveHistoryModel.java
.../java/com/qkdata/biz/web/vo/QueryReceiveHistoryModel.java
+13
-0
application.yml
src/main/resources/application.yml
+1
-5
courseMapper.xml
src/main/resources/mappers/management/courseMapper.xml
+32
-0
org_surplusMapper.xml
src/main/resources/mappers/management/org_surplusMapper.xml
+9
-0
org_user_receive_recordMapper.xml
...rces/mappers/management/org_user_receive_recordMapper.xml
+13
-0
product_orderMapper.xml
...main/resources/mappers/management/product_orderMapper.xml
+2
-1
No files found.
src/main/java/com/qkdata/biz/enums/UserSexEnum.java
0 → 100644
View file @
b0132024
package
com
.
qkdata
.
biz
.
enums
;
public
enum
UserSexEnum
{
MALE
,
FEMALE
;
}
src/main/java/com/qkdata/biz/management/entity/OrgUserReceiveRecordPO.java
View file @
b0132024
package
com
.
qkdata
.
biz
.
management
.
entity
;
package
com
.
qkdata
.
biz
.
management
.
entity
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.qkdata.biz.enums.ProductTypeEnum
;
import
com.qkdata.common.base.entity.BasePO
;
import
com.qkdata.common.base.entity.BasePO
;
import
lombok.Data
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.EqualsAndHashCode
;
...
@@ -33,7 +34,7 @@ public class OrgUserReceiveRecordPO extends BasePO {
...
@@ -33,7 +34,7 @@ public class OrgUserReceiveRecordPO extends BasePO {
/**
/**
* 产品类型
* 产品类型
*/
*/
private
String
productType
;
private
ProductTypeEnum
productType
;
/**
/**
* 领用或分配的数量
* 领用或分配的数量
...
...
src/main/java/com/qkdata/biz/management/mapper/CourseMapper.java
View file @
b0132024
...
@@ -8,8 +8,7 @@ import com.qkdata.biz.management.vo.CourseAllowEnterpriseModel;
...
@@ -8,8 +8,7 @@ import com.qkdata.biz.management.vo.CourseAllowEnterpriseModel;
import
com.qkdata.biz.management.vo.CourseAttachmentModel
;
import
com.qkdata.biz.management.vo.CourseAttachmentModel
;
import
com.qkdata.biz.management.vo.CourseListItemModel
;
import
com.qkdata.biz.management.vo.CourseListItemModel
;
import
com.qkdata.biz.management.vo.QueryCourseModel
;
import
com.qkdata.biz.management.vo.QueryCourseModel
;
import
com.qkdata.biz.web.vo.SearchCourseConditionModel
;
import
com.qkdata.biz.web.vo.*
;
import
com.qkdata.biz.web.vo.SearchCourseResultModel
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.annotations.Param
;
...
@@ -39,4 +38,8 @@ public interface CourseMapper extends BaseMapper<CoursePO> {
...
@@ -39,4 +38,8 @@ public interface CourseMapper extends BaseMapper<CoursePO> {
List
<
SearchCourseResultModel
>
recommendList
(
Page
page
,
@Param
(
"p"
)
SearchCourseConditionModel
model
);
List
<
SearchCourseResultModel
>
recommendList
(
Page
page
,
@Param
(
"p"
)
SearchCourseConditionModel
model
);
List
<
CoursePO
>
findListByTags
(
List
<
Long
>
tagIds
);
List
<
CoursePO
>
findListByTags
(
List
<
Long
>
tagIds
);
List
<
BuyCourseListItem
>
queryBuyCourseList
(
Page
page
,
@Param
(
"p"
)
QueryBuyCourseListModel
model
);
List
<
SearchCourseResultModel
>
queryPageListByEnterprise
(
Page
page
,
@Param
(
"p"
)
QueryMyEnterpriseCourseModel
model
);
}
}
src/main/java/com/qkdata/biz/management/mapper/OrgSurplusMapper.java
View file @
b0132024
package
com
.
qkdata
.
biz
.
management
.
mapper
;
package
com
.
qkdata
.
biz
.
management
.
mapper
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.qkdata.biz.management.entity.OrgSurplusPO
;
import
com.qkdata.biz.management.entity.OrgSurplusPO
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.qkdata.biz.web.vo.OrgCourseSurplusModel
;
import
com.qkdata.biz.web.vo.QueryOrgCourseSurplusModel
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
/**
/**
* <p>
* <p>
...
@@ -15,4 +21,5 @@ import org.apache.ibatis.annotations.Mapper;
...
@@ -15,4 +21,5 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper
@Mapper
public
interface
OrgSurplusMapper
extends
BaseMapper
<
OrgSurplusPO
>
{
public
interface
OrgSurplusMapper
extends
BaseMapper
<
OrgSurplusPO
>
{
List
<
OrgCourseSurplusModel
>
queryCourseSurplusPageList
(
Page
page
,
@Param
(
"p"
)
QueryOrgCourseSurplusModel
model
);
}
}
src/main/java/com/qkdata/biz/management/mapper/OrgUserReceiveRecordMapper.java
View file @
b0132024
package
com
.
qkdata
.
biz
.
management
.
mapper
;
package
com
.
qkdata
.
biz
.
management
.
mapper
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.qkdata.biz.management.entity.OrgUserReceiveRecordPO
;
import
com.qkdata.biz.management.entity.OrgUserReceiveRecordPO
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.qkdata.biz.web.vo.OrgUserReceiveRecordModel
;
import
com.qkdata.biz.web.vo.QueryReceiveHistoryModel
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
/**
/**
* <p>
* <p>
...
@@ -15,4 +21,5 @@ import org.apache.ibatis.annotations.Mapper;
...
@@ -15,4 +21,5 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper
@Mapper
public
interface
OrgUserReceiveRecordMapper
extends
BaseMapper
<
OrgUserReceiveRecordPO
>
{
public
interface
OrgUserReceiveRecordMapper
extends
BaseMapper
<
OrgUserReceiveRecordPO
>
{
List
<
OrgUserReceiveRecordModel
>
queryPageList
(
Page
page
,
@Param
(
"p"
)
QueryReceiveHistoryModel
model
);
}
}
src/main/java/com/qkdata/biz/management/service/CourseService.java
View file @
b0132024
package
com
.
qkdata
.
biz
.
management
.
service
;
package
com
.
qkdata
.
biz
.
management
.
service
;
import
cn.hutool.core.collection.CollUtil
;
import
cn.hutool.core.collection.CollUtil
;
import
cn.hutool.core.date.BetweenFormater
;
import
cn.hutool.core.date.DateUtil
;
import
cn.hutool.core.util.StrUtil
;
import
cn.hutool.core.util.StrUtil
;
import
com.aliyuncs.exceptions.ClientException
;
import
com.aliyuncs.exceptions.ClientException
;
import
com.aliyuncs.vod.model.v20170321.GetVideoInfoResponse
;
import
com.aliyuncs.vod.model.v20170321.GetVideoInfoResponse
;
...
@@ -19,9 +21,7 @@ import com.qkdata.biz.management.mapper.*;
...
@@ -19,9 +21,7 @@ import com.qkdata.biz.management.mapper.*;
import
com.qkdata.biz.management.vo.*
;
import
com.qkdata.biz.management.vo.*
;
import
com.qkdata.biz.sys.entity.SysUserPO
;
import
com.qkdata.biz.sys.entity.SysUserPO
;
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.*
;
import
com.qkdata.biz.web.vo.SearchCourseConditionModel
;
import
com.qkdata.biz.web.vo.SearchCourseResultModel
;
import
com.qkdata.common.base.enums.CodeEnum
;
import
com.qkdata.common.base.enums.CodeEnum
;
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.base.model.PageResult
;
...
@@ -31,6 +31,8 @@ import org.springframework.beans.factory.annotation.Autowired;
...
@@ -31,6 +31,8 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.time.Duration
;
import
java.time.LocalDateTime
;
import
java.util.List
;
import
java.util.List
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
...
@@ -514,4 +516,45 @@ public class CourseService extends ServiceImpl<CourseMapper, CoursePO> {
...
@@ -514,4 +516,45 @@ public class CourseService extends ServiceImpl<CourseMapper, CoursePO> {
}
}
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
();
}
}
/**
* 查询已购、过期课程分页列表
* @param model
* @return
*/
public
PageResult
<
BuyCourseListItem
>
queryBuyCourseList
(
QueryBuyCourseListModel
model
)
{
Page
page
=
new
Page
(
model
.
getPageIndex
(),
model
.
getPageSize
());
List
<
BuyCourseListItem
>
list
=
baseMapper
.
queryBuyCourseList
(
page
,
model
);
for
(
BuyCourseListItem
item
:
list
){
//计算剩余有效期
Duration
duration
=
Duration
.
between
(
model
.
getQueryTime
(),
item
.
getEndTime
());
String
validPeriod
=
DateUtil
.
formatBetween
(
duration
.
toMillis
(),
BetweenFormater
.
Level
.
HOUR
);
item
.
setValidPeriod
(
validPeriod
);
}
return
PageResult
.<
BuyCourseListItem
>
builder
().
code
(
CodeEnum
.
SUCCESS
.
getCode
()).
count
(
page
.
getTotal
()).
data
(
list
).
build
();
}
/**
* 查询企业课程列表
* @param model
* @return
*/
public
PageResult
<
SearchCourseResultModel
>
queryPageListByEnterprise
(
QueryMyEnterpriseCourseModel
model
)
{
Page
page
=
new
Page
(
model
.
getPageIndex
(),
model
.
getPageSize
());
List
<
SearchCourseResultModel
>
list
=
baseMapper
.
queryPageListByEnterprise
(
page
,
model
);
for
(
SearchCourseResultModel
courseModel
:
list
){
List
<
CourseTagsModel
>
tagList
=
tagService
.
findListByCourseId
(
courseModel
.
getCourseId
());
courseModel
.
setTags
(
tagList
);
List
<
CourseChaperModel
>
chaperList
=
chaperList
(
courseModel
.
getCourseId
());
if
(
CollUtil
.
isNotEmpty
(
chaperList
)){
CourseChaperModel
chaperModel
=
chaperList
.
get
(
0
);
ResourcePO
resourcePO
=
resourceService
.
getById
(
chaperModel
.
getResourceId
());
if
(
resourcePO
!=
null
){
courseModel
.
setDuration
(
resourcePO
.
getVideoDuration
());
}
}
}
return
PageResult
.<
SearchCourseResultModel
>
builder
().
code
(
CodeEnum
.
SUCCESS
.
getCode
()).
count
(
page
.
getTotal
()).
data
(
list
).
build
();
}
}
}
\ No newline at end of file
src/main/java/com/qkdata/biz/management/service/MemberService.java
View file @
b0132024
...
@@ -87,7 +87,7 @@ public class MemberService {
...
@@ -87,7 +87,7 @@ public class MemberService {
private
SysUserExtPO
convertToExtUserPO
(
MemberInfoModel
model
)
{
private
SysUserExtPO
convertToExtUserPO
(
MemberInfoModel
model
)
{
SysUserExtPO
extUser
=
new
SysUserExtPO
();
SysUserExtPO
extUser
=
new
SysUserExtPO
();
extUser
.
setName
(
model
.
getName
());
extUser
.
setName
(
model
.
getName
());
extUser
.
setSex
(
StrUtil
.
isNotBlank
(
model
.
getSex
())
?
model
.
getSex
()
:
null
);
extUser
.
setSex
(
model
.
getSex
()
);
extUser
.
setAge
(
model
.
getAge
()
!=
null
?
model
.
getAge
()
:
null
);
extUser
.
setAge
(
model
.
getAge
()
!=
null
?
model
.
getAge
()
:
null
);
extUser
.
setAvatarUrl
(
StrUtil
.
isNotBlank
(
model
.
getAvatarUrl
())
?
model
.
getAvatarUrl
()
:
null
);
extUser
.
setAvatarUrl
(
StrUtil
.
isNotBlank
(
model
.
getAvatarUrl
())
?
model
.
getAvatarUrl
()
:
null
);
extUser
.
setEnterpriseId
(
model
.
getEnterpriseId
()
!=
null
?
model
.
getEnterpriseId
()
:
null
);
extUser
.
setEnterpriseId
(
model
.
getEnterpriseId
()
!=
null
?
model
.
getEnterpriseId
()
:
null
);
...
...
src/main/java/com/qkdata/biz/management/service/OrgSurplusService.java
View file @
b0132024
package
com
.
qkdata
.
biz
.
management
.
service
;
package
com
.
qkdata
.
biz
.
management
.
service
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.qkdata.biz.enums.ProductTypeEnum
;
import
com.qkdata.biz.enums.ProductTypeEnum
;
import
com.qkdata.biz.management.entity.OrgSurplusPO
;
import
com.qkdata.biz.management.entity.OrgSurplusPO
;
import
com.qkdata.biz.management.mapper.OrgSurplusMapper
;
import
com.qkdata.biz.management.mapper.OrgSurplusMapper
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.qkdata.biz.web.vo.OrgCourseSurplusModel
;
import
com.qkdata.biz.web.vo.QueryOrgCourseSurplusModel
;
import
com.qkdata.common.base.enums.CodeEnum
;
import
com.qkdata.common.base.exception.BusinessException
;
import
com.qkdata.common.base.model.PageResult
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
/**
/**
* <p>
* <p>
* 企业VIP或课程余额 服务类
* 企业VIP或课程余额 服务类
...
@@ -44,4 +52,40 @@ public class OrgSurplusService extends ServiceImpl<OrgSurplusMapper, OrgSurplusP
...
@@ -44,4 +52,40 @@ public class OrgSurplusService extends ServiceImpl<OrgSurplusMapper, OrgSurplusP
updateById
(
po
);
updateById
(
po
);
}
}
}
}
/**
* 查询企业课程余额列表
* @param model
* @return
*/
public
PageResult
<
OrgCourseSurplusModel
>
queryCourseSurplusPageList
(
QueryOrgCourseSurplusModel
model
)
{
Page
page
=
new
Page
(
model
.
getPageIndex
(),
model
.
getPageSize
());
List
<
OrgCourseSurplusModel
>
list
=
baseMapper
.
queryCourseSurplusPageList
(
page
,
model
);
return
PageResult
.<
OrgCourseSurplusModel
>
builder
().
code
(
CodeEnum
.
SUCCESS
.
getCode
()).
count
(
page
.
getTotal
()).
data
(
list
).
build
();
}
/**
* 减少企业购买的余额
* @param po
*/
public
void
subtractCount
(
OrgSurplusPO
po
)
{
OrgSurplusPO
dbPo
=
null
;
if
(
po
.
getProductType
()
==
ProductTypeEnum
.
ENTERPRISE_VIP
){
dbPo
=
getOne
(
Wrappers
.<
OrgSurplusPO
>
lambdaQuery
().
eq
(
OrgSurplusPO:
:
getOrgId
,
po
.
getOrgId
()).
eq
(
OrgSurplusPO:
:
getProductType
,
po
.
getProductType
()));
}
else
if
(
po
.
getProductType
()
==
ProductTypeEnum
.
ENTERPRISE_COURSE_BUY
){
dbPo
=
getOne
(
Wrappers
.<
OrgSurplusPO
>
lambdaQuery
().
eq
(
OrgSurplusPO:
:
getOrgId
,
po
.
getOrgId
()).
eq
(
OrgSurplusPO:
:
getCourseId
,
po
.
getCourseId
()).
eq
(
OrgSurplusPO:
:
getProductType
,
po
.
getProductType
()));
}
if
(
dbPo
==
null
){
throw
new
BusinessException
(
"请求错误,数据不存在"
);
}
else
{
int
dbCount
=
dbPo
.
getCount
();
int
newCount
=
dbCount
-
po
.
getCount
();
if
(
newCount
<
0
){
throw
new
BusinessException
(
"企业余额不足,不能领用"
);
}
dbPo
.
setCount
(
newCount
);
updateById
(
dbPo
);
}
}
}
}
\ No newline at end of file
src/main/java/com/qkdata/biz/management/service/OrgUserReceiveRecordService.java
View file @
b0132024
package
com
.
qkdata
.
biz
.
management
.
service
;
package
com
.
qkdata
.
biz
.
management
.
service
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.qkdata.biz.management.entity.OrgUserReceiveRecordPO
;
import
com.qkdata.biz.management.entity.OrgUserReceiveRecordPO
;
import
com.qkdata.biz.management.mapper.OrgUserReceiveRecordMapper
;
import
com.qkdata.biz.management.mapper.OrgUserReceiveRecordMapper
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.qkdata.biz.web.vo.OrgUserReceiveRecordModel
;
import
com.qkdata.biz.web.vo.QueryReceiveHistoryModel
;
import
com.qkdata.common.base.enums.CodeEnum
;
import
com.qkdata.common.base.model.PageResult
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
/**
/**
* <p>
* <p>
* 企业成员领用或分配记录 服务类
* 企业成员领用或分配记录 服务类
...
@@ -16,4 +23,9 @@ import org.springframework.stereotype.Service;
...
@@ -16,4 +23,9 @@ import org.springframework.stereotype.Service;
@Service
@Service
public
class
OrgUserReceiveRecordService
extends
ServiceImpl
<
OrgUserReceiveRecordMapper
,
OrgUserReceiveRecordPO
>
{
public
class
OrgUserReceiveRecordService
extends
ServiceImpl
<
OrgUserReceiveRecordMapper
,
OrgUserReceiveRecordPO
>
{
public
PageResult
<
OrgUserReceiveRecordModel
>
queryPageList
(
QueryReceiveHistoryModel
model
)
{
Page
page
=
new
Page
(
model
.
getPageIndex
(),
model
.
getPageSize
());
List
<
OrgUserReceiveRecordModel
>
list
=
baseMapper
.
queryPageList
(
page
,
model
);
return
PageResult
.<
OrgUserReceiveRecordModel
>
builder
().
code
(
CodeEnum
.
SUCCESS
.
getCode
()).
count
(
page
.
getTotal
()).
data
(
list
).
build
();
}
}
}
\ No newline at end of file
src/main/java/com/qkdata/biz/management/service/OrganizationService.java
View file @
b0132024
...
@@ -127,6 +127,8 @@ public class OrganizationService extends BaseServiceImpl<OrganizationMapper, Org
...
@@ -127,6 +127,8 @@ public class OrganizationService extends BaseServiceImpl<OrganizationMapper, Org
private
Long
savePO
(
EnterpriseModel
model
)
{
private
Long
savePO
(
EnterpriseModel
model
)
{
OrganizationPO
po
=
new
OrganizationPO
();
OrganizationPO
po
=
new
OrganizationPO
();
po
.
setName
(
model
.
getName
());
po
.
setName
(
model
.
getName
());
po
.
setContactName
(
model
.
getAdminName
());
po
.
setContactTel
(
model
.
getAdminMobile
());
po
.
setType
(
OrgTypeEnum
.
ENTERPRISE
);
po
.
setType
(
OrgTypeEnum
.
ENTERPRISE
);
po
.
setLogoUrl
(
model
.
getLogoUrl
());
po
.
setLogoUrl
(
model
.
getLogoUrl
());
po
.
setProvince
(
model
.
getProvince
());
po
.
setProvince
(
model
.
getProvince
());
...
...
src/main/java/com/qkdata/biz/management/service/ProductOrderService.java
View file @
b0132024
...
@@ -27,9 +27,7 @@ import com.qkdata.biz.sys.service.SysConfigService;
...
@@ -27,9 +27,7 @@ import com.qkdata.biz.sys.service.SysConfigService;
import
com.qkdata.biz.sys.service.SysRoleService
;
import
com.qkdata.biz.sys.service.SysRoleService
;
import
com.qkdata.biz.sys.service.SysUserService
;
import
com.qkdata.biz.sys.service.SysUserService
;
import
com.qkdata.biz.sys.vo.SysRoleModel
;
import
com.qkdata.biz.sys.vo.SysRoleModel
;
import
com.qkdata.biz.web.vo.CreateOrderResult
;
import
com.qkdata.biz.web.vo.*
;
import
com.qkdata.biz.web.vo.FullUserInfo
;
import
com.qkdata.biz.web.vo.UserBuyVIPModel
;
import
com.qkdata.common.base.enums.CodeEnum
;
import
com.qkdata.common.base.enums.CodeEnum
;
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.base.model.PageResult
;
...
@@ -257,4 +255,6 @@ public class ProductOrderService extends ServiceImpl<ProductOrderMapper, Product
...
@@ -257,4 +255,6 @@ public class ProductOrderService extends ServiceImpl<ProductOrderMapper, Product
}
}
}
}
}
}
\ No newline at end of file
src/main/java/com/qkdata/biz/management/service/UserCourseAuthService.java
View file @
b0132024
...
@@ -56,7 +56,7 @@ public class UserCourseAuthService extends ServiceImpl<UserCourseAuthMapper, Use
...
@@ -56,7 +56,7 @@ public class UserCourseAuthService extends ServiceImpl<UserCourseAuthMapper, Use
}
}
}
}
p
rivate
UserCourseAuthPO
getByUserIdAndCourseId
(
Long
userId
,
Long
courseId
)
{
p
ublic
UserCourseAuthPO
getByUserIdAndCourseId
(
Long
userId
,
Long
courseId
)
{
return
getOne
(
Wrappers
.<
UserCourseAuthPO
>
lambdaQuery
().
eq
(
UserCourseAuthPO:
:
getUserId
,
userId
).
eq
(
UserCourseAuthPO:
:
getCourseId
,
courseId
));
return
getOne
(
Wrappers
.<
UserCourseAuthPO
>
lambdaQuery
().
eq
(
UserCourseAuthPO:
:
getUserId
,
userId
).
eq
(
UserCourseAuthPO:
:
getCourseId
,
courseId
));
}
}
}
}
\ No newline at end of file
src/main/java/com/qkdata/biz/management/vo/MemberInfoModel.java
View file @
b0132024
...
@@ -2,6 +2,7 @@ package com.qkdata.biz.management.vo;
...
@@ -2,6 +2,7 @@ package com.qkdata.biz.management.vo;
import
com.qkdata.biz.enums.AccountStatusEnum
;
import
com.qkdata.biz.enums.AccountStatusEnum
;
import
com.qkdata.biz.enums.AccountTypeEnum
;
import
com.qkdata.biz.enums.AccountTypeEnum
;
import
com.qkdata.biz.enums.UserSexEnum
;
import
lombok.Data
;
import
lombok.Data
;
import
java.time.LocalDateTime
;
import
java.time.LocalDateTime
;
...
@@ -49,7 +50,7 @@ public class MemberInfoModel {
...
@@ -49,7 +50,7 @@ public class MemberInfoModel {
/**
/**
* 性别
* 性别
*/
*/
private
String
sex
;
private
UserSexEnum
sex
;
/**
/**
* 年龄
* 年龄
...
...
src/main/java/com/qkdata/biz/sys/entity/SysUserExtPO.java
View file @
b0132024
...
@@ -2,6 +2,7 @@ package com.qkdata.biz.sys.entity;
...
@@ -2,6 +2,7 @@ package com.qkdata.biz.sys.entity;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.qkdata.biz.enums.AccountTypeEnum
;
import
com.qkdata.biz.enums.AccountTypeEnum
;
import
com.qkdata.biz.enums.UserSexEnum
;
import
com.qkdata.common.base.entity.BasePO
;
import
com.qkdata.common.base.entity.BasePO
;
import
lombok.Data
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.EqualsAndHashCode
;
...
@@ -38,7 +39,7 @@ public class SysUserExtPO extends BasePO {
...
@@ -38,7 +39,7 @@ public class SysUserExtPO extends BasePO {
/**
/**
* 性别
* 性别
*/
*/
private
String
sex
;
private
UserSexEnum
sex
;
/**
/**
* 年龄
* 年龄
...
...
src/main/java/com/qkdata/biz/sys/service/SysUserService.java
View file @
b0132024
...
@@ -7,6 +7,13 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
...
@@ -7,6 +7,13 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import
com.google.common.collect.Lists
;
import
com.google.common.collect.Lists
;
import
com.qkdata.biz.enums.AccountStatusEnum
;
import
com.qkdata.biz.enums.AccountStatusEnum
;
import
com.qkdata.biz.enums.AccountTypeEnum
;
import
com.qkdata.biz.enums.AccountTypeEnum
;
import
com.qkdata.biz.enums.ProductTypeEnum
;
import
com.qkdata.biz.management.entity.OrgSurplusPO
;
import
com.qkdata.biz.management.entity.OrgUserReceiveRecordPO
;
import
com.qkdata.biz.management.entity.UserCourseAuthPO
;
import
com.qkdata.biz.management.service.OrgSurplusService
;
import
com.qkdata.biz.management.service.OrgUserReceiveRecordService
;
import
com.qkdata.biz.management.service.UserCourseAuthService
;
import
com.qkdata.biz.sys.entity.SysUserExtPO
;
import
com.qkdata.biz.sys.entity.SysUserExtPO
;
import
com.qkdata.biz.sys.entity.SysUserPO
;
import
com.qkdata.biz.sys.entity.SysUserPO
;
import
com.qkdata.biz.sys.mapper.SysUserExtMapper
;
import
com.qkdata.biz.sys.mapper.SysUserExtMapper
;
...
@@ -16,6 +23,7 @@ import com.qkdata.biz.sys.vo.SysRoleModel;
...
@@ -16,6 +23,7 @@ import com.qkdata.biz.sys.vo.SysRoleModel;
import
com.qkdata.biz.sys.vo.SysUserListModel
;
import
com.qkdata.biz.sys.vo.SysUserListModel
;
import
com.qkdata.biz.sys.vo.SysUserModel
;
import
com.qkdata.biz.sys.vo.SysUserModel
;
import
com.qkdata.biz.web.vo.FullUserInfo
;
import
com.qkdata.biz.web.vo.FullUserInfo
;
import
com.qkdata.biz.web.vo.ModifyUserInfoModel
;
import
com.qkdata.common.base.enums.CodeEnum
;
import
com.qkdata.common.base.enums.CodeEnum
;
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.base.model.PageResult
;
...
@@ -41,6 +49,12 @@ public class SysUserService extends BaseServiceImpl<SysUserMapper, SysUserPO> {
...
@@ -41,6 +49,12 @@ public class SysUserService extends BaseServiceImpl<SysUserMapper, SysUserPO> {
private
SysRoleService
sysRoleService
;
private
SysRoleService
sysRoleService
;
@Autowired
@Autowired
private
SysUserExtMapper
sysUserExtMapper
;
private
SysUserExtMapper
sysUserExtMapper
;
@Autowired
private
OrgSurplusService
orgSurplusService
;
@Autowired
private
OrgUserReceiveRecordService
orgUserReceiveRecordService
;
@Autowired
private
UserCourseAuthService
userCourseAuthService
;
public
SysUserPO
getByUsername
(
String
username
)
{
public
SysUserPO
getByUsername
(
String
username
)
{
return
baseMapper
.
selectOne
(
Wrappers
.<
SysUserPO
>
lambdaQuery
().
eq
(
SysUserPO:
:
getUsername
,
username
));
return
baseMapper
.
selectOne
(
Wrappers
.<
SysUserPO
>
lambdaQuery
().
eq
(
SysUserPO:
:
getUsername
,
username
));
...
@@ -179,4 +193,91 @@ public class SysUserService extends BaseServiceImpl<SysUserMapper, SysUserPO> {
...
@@ -179,4 +193,91 @@ public class SysUserService extends BaseServiceImpl<SysUserMapper, SysUserPO> {
}
}
return
null
;
return
null
;
}
}
/**
* 修改用户个人信息
* @param model
*/
public
void
modifyUserInfo
(
ModifyUserInfoModel
model
)
{
SysUserPO
userPO
=
getById
(
model
.
getId
());
if
(
userPO
!=
null
){
userPO
.
setNickName
(
model
.
getNickName
());
updateById
(
userPO
);
}
SysUserExtPO
extPO
=
sysUserExtMapper
.
selectOne
(
Wrappers
.<
SysUserExtPO
>
lambdaQuery
().
eq
(
SysUserExtPO:
:
getUserId
,
model
.
getId
()));
if
(
extPO
!=
null
){
extPO
.
setName
(
model
.
getName
());
extPO
.
setSex
(
model
.
getSex
());
extPO
.
setAge
(
model
.
getAge
());
extPO
.
setAvatarUrl
(
model
.
getAvatarUrl
());
sysUserExtMapper
.
updateById
(
extPO
);
}
}
/**
* 当前用户领取企业VIP
*/
@Transactional
public
void
receiveOrgVIP
()
{
FullUserInfo
userInfo
=
findFullUserInfo
(
UserContext
.
getUser
().
getUsername
());
if
(
userInfo
.
getType
()
!=
AccountTypeEnum
.
ENTERPRISE_VIP
||
userInfo
.
getEnterpriseId
()
==
null
){
throw
new
BusinessException
(
"只有企业成员才可领取会员"
);
}
if
(
userInfo
.
getVipStartTime
()
!=
null
&&
userInfo
.
getVipEndTime
()
!=
null
){
LocalDateTime
now
=
LocalDateTime
.
now
();
if
(
now
.
isAfter
(
userInfo
.
getVipStartTime
())
&&
now
.
isBefore
(
userInfo
.
getVipEndTime
())){
throw
new
BusinessException
(
"您的企业会员生效中,请过期后再领取"
);
}
}
//减少企业余额
OrgSurplusPO
po
=
new
OrgSurplusPO
();
po
.
setOrgId
(
userInfo
.
getEnterpriseId
());
po
.
setProductType
(
ProductTypeEnum
.
ENTERPRISE_VIP
);
po
.
setCount
(
1
);
orgSurplusService
.
subtractCount
(
po
);
//添加领用记录
OrgUserReceiveRecordPO
orgUserReceiveRecordPO
=
new
OrgUserReceiveRecordPO
();
orgUserReceiveRecordPO
.
setUserId
(
userInfo
.
getId
());
orgUserReceiveRecordPO
.
setOrgId
(
userInfo
.
getEnterpriseId
());
orgUserReceiveRecordPO
.
setCount
(
1
);
orgUserReceiveRecordPO
.
setProductType
(
ProductTypeEnum
.
ENTERPRISE_VIP
);
orgUserReceiveRecordService
.
save
(
orgUserReceiveRecordPO
);
}
/**
* 领取企业课程
* @param courseId
*/
@Transactional
public
void
receiveOrgCourse
(
Long
courseId
)
{
FullUserInfo
userInfo
=
findFullUserInfo
(
UserContext
.
getUser
().
getUsername
());
if
(
userInfo
.
getType
()
!=
AccountTypeEnum
.
ENTERPRISE_VIP
||
userInfo
.
getEnterpriseId
()
==
null
){
throw
new
BusinessException
(
"只有企业成员才可领取会员"
);
}
//验证当前用户是否领取过该课程,并且未过期,则提示不能领取
UserCourseAuthPO
auth
=
userCourseAuthService
.
getByUserIdAndCourseId
(
userInfo
.
getId
(),
courseId
);
if
(
auth
!=
null
){
LocalDateTime
now
=
LocalDateTime
.
now
();
if
(
now
.
isAfter
(
auth
.
getStartTime
())
&&
now
.
isBefore
(
auth
.
getEndTime
())){
throw
new
BusinessException
(
"您已领取过该课程,并在有效期内,不可重覆领取"
);
}
}
//减少企业余额
OrgSurplusPO
po
=
new
OrgSurplusPO
();
po
.
setOrgId
(
userInfo
.
getEnterpriseId
());
po
.
setCourseId
(
courseId
);
po
.
setProductType
(
ProductTypeEnum
.
ENTERPRISE_COURSE_BUY
);
po
.
setCount
(
1
);
orgSurplusService
.
subtractCount
(
po
);
//添加领用记录
OrgUserReceiveRecordPO
orgUserReceiveRecordPO
=
new
OrgUserReceiveRecordPO
();
orgUserReceiveRecordPO
.
setUserId
(
userInfo
.
getId
());
orgUserReceiveRecordPO
.
setOrgId
(
userInfo
.
getEnterpriseId
());
orgUserReceiveRecordPO
.
setCourseId
(
courseId
);
orgUserReceiveRecordPO
.
setCount
(
1
);
orgUserReceiveRecordPO
.
setProductType
(
ProductTypeEnum
.
ENTERPRISE_COURSE_BUY
);
orgUserReceiveRecordService
.
save
(
orgUserReceiveRecordPO
);
}
}
}
src/main/java/com/qkdata/biz/web/controller/MainPageController.java
View file @
b0132024
...
@@ -3,12 +3,11 @@ package com.qkdata.biz.web.controller;
...
@@ -3,12 +3,11 @@ package com.qkdata.biz.web.controller;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.qkdata.biz.enums.SwiperStatusEnum
;
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.entity.TeacherPO
;
import
com.qkdata.biz.management.service.CourseTagService
;
import
com.qkdata.biz.management.service.*
;
import
com.qkdata.biz.management.service.RecommendConfigService
;
import
com.qkdata.biz.management.service.SwiperConfigService
;
import
com.qkdata.biz.management.vo.CourseDetailModel
;
import
com.qkdata.biz.management.vo.CourseDetailModel
;
import
com.qkdata.biz.management.vo.SwiperConfigModel
;
import
com.qkdata.biz.management.vo.SwiperConfigModel
;
import
com.qkdata.biz.management.vo.TeacherModel
;
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.SearchCourseConditionModel
;
import
com.qkdata.biz.web.vo.SearchCourseConditionModel
;
...
@@ -39,6 +38,8 @@ public class MainPageController {
...
@@ -39,6 +38,8 @@ public class MainPageController {
private
CourseTagService
tagService
;
private
CourseTagService
tagService
;
@Autowired
@Autowired
private
UserCenterService
userCenterService
;
private
UserCenterService
userCenterService
;
@Autowired
private
TeacherService
teacherService
;
@ApiOperation
(
"获取配置信息"
)
@ApiOperation
(
"获取配置信息"
)
@GetMapping
(
""
)
@GetMapping
(
""
)
...
@@ -87,4 +88,10 @@ public class MainPageController {
...
@@ -87,4 +88,10 @@ public class MainPageController {
return
Result
.
succeed
(
model
);
return
Result
.
succeed
(
model
);
}
}
@ApiOperation
(
"获取教师信息"
)
@GetMapping
(
"/teacher/{teacherId}"
)
public
Result
<
TeacherPO
>
getTeacherInfo
(
@PathVariable
Long
teacherId
){
return
Result
.
succeed
(
teacherService
.
getById
(
teacherId
));
}
}
}
src/main/java/com/qkdata/biz/web/controller/MyEnterpriseController.java
0 → 100644
View file @
b0132024
package
com
.
qkdata
.
biz
.
web
.
controller
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.qkdata.biz.common.BizConstants
;
import
com.qkdata.biz.enums.AccountTypeEnum
;
import
com.qkdata.biz.enums.ProductTypeEnum
;
import
com.qkdata.biz.management.entity.OrgSurplusPO
;
import
com.qkdata.biz.management.entity.OrganizationPO
;
import
com.qkdata.biz.management.service.CourseService
;
import
com.qkdata.biz.management.service.OrgSurplusService
;
import
com.qkdata.biz.management.service.OrgUserReceiveRecordService
;
import
com.qkdata.biz.management.service.OrganizationService
;
import
com.qkdata.biz.management.vo.MemberInfoModel
;
import
com.qkdata.biz.sys.service.SysUserService
;
import
com.qkdata.biz.web.vo.*
;
import
com.qkdata.common.base.exception.BusinessException
;
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.*
;
@Api
(
tags
=
"我的企业相关接口-手机端"
)
@RestController
@RequestMapping
(
"/api/myEnterPrise"
)
public
class
MyEnterpriseController
{
@Autowired
private
OrganizationService
orgService
;
@Autowired
private
SysUserService
userService
;
@Autowired
private
CourseService
courseService
;
@Autowired
private
OrgSurplusService
orgSurplusService
;
@Autowired
private
OrgUserReceiveRecordService
orgUserReceiveRecordService
;
@ApiOperation
(
"获取我的企业信息"
)
@GetMapping
(
"/info"
)
@RequiresRoles
(
value
=
{
BizConstants
.
ROLE_USER
,
BizConstants
.
ROLE_ENTERPRISE_ADMIN
},
logical
=
Logical
.
OR
)
public
Result
<
OrganizationPO
>
info
(){
FullUserInfo
userInfo
=
userService
.
findFullUserInfo
(
UserContext
.
getUser
().
getUsername
());
if
(
userInfo
.
getType
()
!=
AccountTypeEnum
.
ENTERPRISE_VIP
||
userInfo
.
getEnterpriseId
()
==
null
){
throw
new
BusinessException
(
"您目前还不是企业会员"
);
}
OrganizationPO
po
=
orgService
.
getById
(
userInfo
.
getEnterpriseId
());
if
(
po
==
null
){
throw
new
BusinessException
(
"请求错误,企业信息不存在"
);
}
return
Result
.
succeed
(
po
);
}
@ApiOperation
(
"获取企业课程列表"
)
@PostMapping
(
"/list"
)
@RequiresRoles
(
value
=
{
BizConstants
.
ROLE_USER
,
BizConstants
.
ROLE_ENTERPRISE_ADMIN
},
logical
=
Logical
.
OR
)
public
PageResult
<
SearchCourseResultModel
>
list
(
@RequestBody
QueryMyEnterpriseCourseModel
model
){
FullUserInfo
userInfo
=
userService
.
findFullUserInfo
(
UserContext
.
getUser
().
getUsername
());
if
(
userInfo
.
getType
()
!=
AccountTypeEnum
.
ENTERPRISE_VIP
||
userInfo
.
getEnterpriseId
()
==
null
){
throw
new
BusinessException
(
"请求错误,当前用户非企业用户"
);
}
return
courseService
.
queryPageListByEnterprise
(
model
);
}
@ApiOperation
(
"获取企业会员余额"
)
@GetMapping
(
"/orgSurplus"
)
@RequiresRoles
(
value
=
{
BizConstants
.
ROLE_USER
,
BizConstants
.
ROLE_ENTERPRISE_ADMIN
},
logical
=
Logical
.
OR
)
public
Result
<
OrgSurplusPO
>
getOrgSurplus
(){
Long
orgId
=
userService
.
getUserEnterpriesId
(
UserContext
.
getUserId
());
OrgSurplusPO
result
=
orgSurplusService
.
getOne
(
Wrappers
.<
OrgSurplusPO
>
lambdaQuery
().
eq
(
OrgSurplusPO:
:
getOrgId
,
orgId
).
eq
(
OrgSurplusPO:
:
getProductType
,
ProductTypeEnum
.
ENTERPRISE_VIP
));
return
Result
.
succeed
(
result
);
}
@ApiOperation
(
"获取企业购买课程余额列表"
)
@PostMapping
(
"/orgCourseSurplus"
)
@RequiresRoles
(
value
=
{
BizConstants
.
ROLE_USER
,
BizConstants
.
ROLE_ENTERPRISE_ADMIN
},
logical
=
Logical
.
OR
)
public
PageResult
<
OrgCourseSurplusModel
>
orgCourseSurplusList
(
@RequestBody
QueryOrgCourseSurplusModel
model
){
Long
orgId
=
userService
.
getUserEnterpriesId
(
UserContext
.
getUserId
());
model
.
setOrgId
(
orgId
);
return
orgSurplusService
.
queryCourseSurplusPageList
(
model
);
}
@ApiOperation
(
"领取会员"
)
@GetMapping
(
"/receiveVIP"
)
@RequiresRoles
(
value
=
{
BizConstants
.
ROLE_USER
,
BizConstants
.
ROLE_ENTERPRISE_ADMIN
},
logical
=
Logical
.
OR
)
public
Result
<
String
>
receiveVIP
(){
userService
.
receiveOrgVIP
();
return
Result
.
succeed
(
"ok"
);
}
@ApiOperation
(
"领取企业购买课程"
)
@GetMapping
(
"/receiveCourse/{courseId}"
)
@RequiresRoles
(
value
=
{
BizConstants
.
ROLE_USER
,
BizConstants
.
ROLE_ENTERPRISE_ADMIN
},
logical
=
Logical
.
OR
)
public
Result
<
String
>
receiveCourse
(
@PathVariable
Long
courseId
){
userService
.
receiveOrgCourse
(
courseId
);
return
Result
.
succeed
(
"ok"
);
}
@ApiOperation
(
"领取会员历史记录列表"
)
@PostMapping
(
"/history/receiveVIP"
)
@RequiresRoles
(
value
=
{
BizConstants
.
ROLE_USER
,
BizConstants
.
ROLE_ENTERPRISE_ADMIN
},
logical
=
Logical
.
OR
)
public
PageResult
<
OrgUserReceiveRecordModel
>
receiveVIPHistory
(
@RequestBody
QueryReceiveHistoryModel
model
){
model
.
setUserId
(
UserContext
.
getUserId
());
return
orgUserReceiveRecordService
.
queryPageList
(
model
);
}
@ApiOperation
(
"修改企业信息"
)
@PostMapping
(
"/info/update"
)
@RequiresRoles
(
value
=
BizConstants
.
ROLE_ENTERPRISE_ADMIN
)
public
Result
<
String
>
updateOrgInfo
(
@RequestBody
OrganizationPO
orgInfo
){
orgService
.
updateById
(
orgInfo
);
return
Result
.
succeed
(
"ok"
);
}
// @ApiOperation("企业成员列表")
// @PostMapping("/member/list")
// @RequiresRoles(value = BizConstants.ROLE_ENTERPRISE_ADMIN)
// public PageResult<MemberInfoModel>
}
src/main/java/com/qkdata/biz/web/controller/UserCenterController.java
View file @
b0132024
...
@@ -5,7 +5,9 @@ import com.qkdata.biz.common.BizConstants;
...
@@ -5,7 +5,9 @@ import com.qkdata.biz.common.BizConstants;
import
com.qkdata.biz.enums.ProductOrderStatusEnum
;
import
com.qkdata.biz.enums.ProductOrderStatusEnum
;
import
com.qkdata.biz.management.service.CourseService
;
import
com.qkdata.biz.management.service.CourseService
;
import
com.qkdata.biz.management.service.ProductOrderService
;
import
com.qkdata.biz.management.service.ProductOrderService
;
import
com.qkdata.biz.management.vo.ProductOrderModel
;
import
com.qkdata.biz.management.vo.QueryFavoriteCourseModel
;
import
com.qkdata.biz.management.vo.QueryFavoriteCourseModel
;
import
com.qkdata.biz.management.vo.QueryProductOrderModel
;
import
com.qkdata.biz.sys.service.SysUserService
;
import
com.qkdata.biz.sys.service.SysUserService
;
import
com.qkdata.biz.web.service.UserCenterService
;
import
com.qkdata.biz.web.service.UserCenterService
;
import
com.qkdata.biz.web.vo.*
;
import
com.qkdata.biz.web.vo.*
;
...
@@ -43,6 +45,14 @@ public class UserCenterController {
...
@@ -43,6 +45,14 @@ public class UserCenterController {
FullUserInfo
userInfo
=
sysUserService
.
findFullUserInfo
(
username
);
FullUserInfo
userInfo
=
sysUserService
.
findFullUserInfo
(
username
);
return
Result
.
succeed
(
userInfo
);
return
Result
.
succeed
(
userInfo
);
}
}
@ApiOperation
(
"修改个人信息"
)
@PostMapping
(
"/userInfo/modify"
)
@RequiresRoles
(
value
=
{
BizConstants
.
ROLE_USER
,
BizConstants
.
ROLE_ENTERPRISE_ADMIN
},
logical
=
Logical
.
OR
)
public
Result
<
String
>
modifyUserInfo
(
@RequestBody
ModifyUserInfoModel
model
){
model
.
setId
(
UserContext
.
getUserId
());
sysUserService
.
modifyUserInfo
(
model
);
return
Result
.
succeed
(
"ok"
);
}
@ApiOperation
(
"获取收藏列表"
)
@ApiOperation
(
"获取收藏列表"
)
@PostMapping
(
"/myFavorite/list"
)
@PostMapping
(
"/myFavorite/list"
)
@RequiresRoles
(
value
=
{
BizConstants
.
ROLE_USER
,
BizConstants
.
ROLE_ENTERPRISE_ADMIN
},
logical
=
Logical
.
OR
)
@RequiresRoles
(
value
=
{
BizConstants
.
ROLE_USER
,
BizConstants
.
ROLE_ENTERPRISE_ADMIN
},
logical
=
Logical
.
OR
)
...
@@ -102,5 +112,19 @@ public class UserCenterController {
...
@@ -102,5 +112,19 @@ public class UserCenterController {
ProductOrderStatusEnum
status
=
orderService
.
queryStatus
(
orderNo
);
ProductOrderStatusEnum
status
=
orderService
.
queryStatus
(
orderNo
);
return
Result
.
succeed
(
status
);
return
Result
.
succeed
(
status
);
}
}
@ApiOperation
(
"已购课程列表"
)
@PostMapping
(
"/course/buy/list"
)
@RequiresRoles
(
value
=
{
BizConstants
.
ROLE_USER
,
BizConstants
.
ROLE_ENTERPRISE_ADMIN
},
logical
=
Logical
.
OR
)
public
PageResult
<
BuyCourseListItem
>
buyCourseList
(
@RequestBody
QueryBuyCourseListModel
model
){
model
.
setUserId
(
UserContext
.
getUserId
());
return
courseService
.
queryBuyCourseList
(
model
);
}
@ApiOperation
(
"用户购买记录列表"
)
@PostMapping
(
"/user/order/list"
)
@RequiresRoles
(
value
=
{
BizConstants
.
ROLE_USER
,
BizConstants
.
ROLE_ENTERPRISE_ADMIN
},
logical
=
Logical
.
OR
)
public
PageResult
<
ProductOrderModel
>
userOrderList
(
@RequestBody
QueryProductOrderModel
model
){
model
.
setUsername
(
UserContext
.
getUser
().
getUsername
());
return
orderService
.
queryPageList
(
model
);
}
}
}
src/main/java/com/qkdata/biz/web/vo/BuyCourseListItem.java
0 → 100644
View file @
b0132024
package
com
.
qkdata
.
biz
.
web
.
vo
;
import
com.qkdata.biz.enums.CourseStatusEnum
;
import
lombok.Data
;
import
java.time.LocalDateTime
;
@Data
public
class
BuyCourseListItem
{
private
Long
courseId
;
private
String
courseName
;
private
CourseStatusEnum
status
;
private
String
logoUrl
;
private
Boolean
isDel
;
private
LocalDateTime
startTime
;
private
LocalDateTime
endTime
;
private
String
validPeriod
;
}
src/main/java/com/qkdata/biz/web/vo/ModifyUserInfoModel.java
0 → 100644
View file @
b0132024
package
com
.
qkdata
.
biz
.
web
.
vo
;
import
com.qkdata.biz.enums.UserSexEnum
;
import
lombok.Data
;
@Data
public
class
ModifyUserInfoModel
{
private
Long
id
;
private
String
nickName
;
private
String
name
;
private
String
avatarUrl
;
private
UserSexEnum
sex
;
private
Integer
age
;
}
src/main/java/com/qkdata/biz/web/vo/OrgCourseSurplusModel.java
0 → 100644
View file @
b0132024
package
com
.
qkdata
.
biz
.
web
.
vo
;
import
lombok.Data
;
@Data
public
class
OrgCourseSurplusModel
{
private
Long
courseId
;
private
String
courseName
;
private
String
logoUrl
;
private
Integer
count
;
}
src/main/java/com/qkdata/biz/web/vo/OrgUserReceiveRecordModel.java
0 → 100644
View file @
b0132024
package
com
.
qkdata
.
biz
.
web
.
vo
;
import
com.qkdata.biz.enums.ProductTypeEnum
;
import
lombok.Data
;
import
java.time.LocalDateTime
;
@Data
public
class
OrgUserReceiveRecordModel
{
private
ProductTypeEnum
productType
;
private
Integer
count
;
private
String
courseName
;
private
LocalDateTime
createTime
;
}
src/main/java/com/qkdata/biz/web/vo/QueryBuyCourseListModel.java
0 → 100644
View file @
b0132024
package
com
.
qkdata
.
biz
.
web
.
vo
;
import
com.qkdata.common.constants.Constants
;
import
lombok.Data
;
import
java.time.LocalDateTime
;
@Data
public
class
QueryBuyCourseListModel
{
private
int
pageIndex
=
Constants
.
DEFAULT_PAGE
;
private
int
pageSize
=
Constants
.
DEFAULT_PAGE_SIZE
;
/**
* 是否过期,默认false为未过期的
*/
private
boolean
isExpired
=
false
;
/**
* 查询时间,默认当前请求时间
*/
private
LocalDateTime
queryTime
=
LocalDateTime
.
now
();
private
Long
userId
;
}
src/main/java/com/qkdata/biz/web/vo/QueryMyEnterpriseCourseModel.java
0 → 100644
View file @
b0132024
package
com
.
qkdata
.
biz
.
web
.
vo
;
import
com.qkdata.common.constants.Constants
;
import
lombok.Data
;
@Data
public
class
QueryMyEnterpriseCourseModel
{
private
int
pageIndex
=
Constants
.
DEFAULT_PAGE
;
private
int
pageSize
=
Constants
.
DEFAULT_PAGE_SIZE
;
private
Long
orgId
;
}
src/main/java/com/qkdata/biz/web/vo/QueryOrgCourseSurplusModel.java
0 → 100644
View file @
b0132024
package
com
.
qkdata
.
biz
.
web
.
vo
;
import
com.qkdata.common.constants.Constants
;
import
lombok.Data
;
@Data
public
class
QueryOrgCourseSurplusModel
{
private
int
pageIndex
=
Constants
.
DEFAULT_PAGE
;
private
int
pageSize
=
Constants
.
DEFAULT_PAGE_SIZE
;
private
Long
orgId
;
}
src/main/java/com/qkdata/biz/web/vo/QueryReceiveHistoryModel.java
0 → 100644
View file @
b0132024
package
com
.
qkdata
.
biz
.
web
.
vo
;
import
com.qkdata.biz.enums.ProductTypeEnum
;
import
com.qkdata.common.constants.Constants
;
import
lombok.Data
;
@Data
public
class
QueryReceiveHistoryModel
{
private
int
pageIndex
=
Constants
.
DEFAULT_PAGE
;
private
int
pageSize
=
Constants
.
DEFAULT_PAGE_SIZE
;
private
Long
userId
;
private
ProductTypeEnum
productType
;
}
src/main/resources/application.yml
View file @
b0132024
...
@@ -92,11 +92,7 @@ jwt:
...
@@ -92,11 +92,7 @@ jwt:
-
/api/sms/sendCode
-
/api/sms/sendCode
-
/api/web/login/**
-
/api/web/login/**
-
/api/web/mainPage
-
/api/web/mainPage
-
/api/web/mainPage/course/recommend/list
-
/api/web/mainPage/**
-
/api/web/mainPage/course/search
-
/api/web/mainPage/course/tags
-
/api/web/mainPage/course/recommend/*
-
/api/web/mainPage/course/*
aud
:
qkdata
aud
:
qkdata
exp
:
720
#24*30 30天
exp
:
720
#24*30 30天
...
...
src/main/resources/mappers/management/courseMapper.xml
View file @
b0132024
...
@@ -107,4 +107,36 @@
...
@@ -107,4 +107,36 @@
#{tagId}
#{tagId}
</foreach>
</foreach>
</select>
</select>
<select
id=
"queryBuyCourseList"
resultType=
"com.qkdata.biz.web.vo.BuyCourseListItem"
>
SELECT c.id course_id,
c.`name` course_name,
c.`status`,
c.logo_url,
c.is_del,
a.start_time,
a.end_time
FROM course c
INNER JOIN user_course_auth a on c.id = a.course_id
where a.user_id = #{p.userId}
<if
test=
"p.isExpired == false"
>
and a.start_time
<
= #{p.queryTime} and a.end_time
>
= #{p.queryTime}
</if>
<if
test=
"p.isExpired == true"
>
and a.start_time
>
= #{p.queryTime} and a.end_time
<
= #{p.queryTime}
</if>
</select>
<select
id=
"queryPageListByEnterprise"
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,
c.teacher_id
from course c
INNER JOIN allow_org_course a ON a.course_id = c.id
WHERE c.is_del = 0
and c.`status` = 'UP'
and c.allow = 'SPECIFY'
and a.org_id = #{p.orgId}
</select>
</mapper>
</mapper>
src/main/resources/mappers/management/org_surplusMapper.xml
View file @
b0132024
...
@@ -2,4 +2,13 @@
...
@@ -2,4 +2,13 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!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.OrgSurplusMapper"
>
<mapper
namespace=
"com.qkdata.biz.management.mapper.OrgSurplusMapper"
>
<select
id=
"queryCourseSurplusPageList"
resultType=
"com.qkdata.biz.web.vo.OrgCourseSurplusModel"
>
SELECT c.id course_id,
c.`name` course_name,
c.logo_url,
s.count
from org_surplus s
INNER JOIN course c ON s.course_id = c.id
WHERE s.org_id = #{p.orgId}
</select>
</mapper>
</mapper>
src/main/resources/mappers/management/org_user_receive_recordMapper.xml
View file @
b0132024
...
@@ -2,4 +2,17 @@
...
@@ -2,4 +2,17 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!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.OrgUserReceiveRecordMapper"
>
<mapper
namespace=
"com.qkdata.biz.management.mapper.OrgUserReceiveRecordMapper"
>
<select
id=
"queryPageList"
resultType=
"com.qkdata.biz.web.vo.OrgUserReceiveRecordModel"
>
SELECT r.product_type,
r.count,
r.create_time,
c.`name` course_name
FROM org_user_receive_record r
LEFT JOIN course c on r.course_id = c.id
WHERE r.user_id = #{p.userId}
<if
test=
"p.productType != null"
>
AND r.product_type = #{p.productType}
</if>
order by r.create_time desc
</select>
</mapper>
</mapper>
src/main/resources/mappers/management/product_orderMapper.xml
View file @
b0132024
...
@@ -10,7 +10,8 @@
...
@@ -10,7 +10,8 @@
INNER JOIN sys_user u on o.user_id = u.id
INNER JOIN sys_user u on o.user_id = u.id
where 1 = 1
where 1 = 1
<if
test=
"p.username != null and p.username != ''"
>
<if
test=
"p.username != null and p.username != ''"
>
and u.username like concat ('%',#{username},'%')
and u.username like concat ('%',#{
p.
username},'%')
</if>
</if>
order by `status` DESC,create_time DESC
</select>
</select>
</mapper>
</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