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
59ae5ada
Commit
59ae5ada
authored
Jun 17, 2021
by
liuyang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update
parent
f8c06074
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
36 additions
and
4 deletions
+36
-4
CourseConsumeRecordService.java
...ta/biz/management/service/CourseConsumeRecordService.java
+3
-0
OrgUserReceiveRecordService.java
...a/biz/management/service/OrgUserReceiveRecordService.java
+3
-0
CourseConsumeRecordController.java
...ata/biz/web/controller/CourseConsumeRecordController.java
+22
-2
FrontendProductOrderController.java
...ta/biz/web/controller/FrontendProductOrderController.java
+4
-2
SaveConsumeRecord.java
src/main/java/com/qkdata/biz/web/vo/SaveConsumeRecord.java
+4
-0
No files found.
src/main/java/com/qkdata/biz/management/service/CourseConsumeRecordService.java
View file @
59ae5ada
...
...
@@ -18,6 +18,7 @@ import com.qkdata.biz.web.vo.QueryConsumeRecordModel;
import
com.qkdata.biz.web.vo.SaveConsumeRecord
;
import
com.qkdata.common.base.enums.CodeEnum
;
import
com.qkdata.common.base.model.PageResult
;
import
com.qkdata.common.util.UserContext
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Qualifier
;
...
...
@@ -115,4 +116,5 @@ public class CourseConsumeRecordService extends ServiceImpl<CourseConsumeRecordM
}
return
PageResult
.<
CourseConsumeRecordModel
>
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/OrgUserReceiveRecordService.java
View file @
59ae5ada
...
...
@@ -17,6 +17,7 @@ import com.qkdata.common.base.model.PageResult;
import
com.qkdata.common.util.UserContext
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.util.List
;
...
...
@@ -46,6 +47,7 @@ public class OrgUserReceiveRecordService extends ServiceImpl<OrgUserReceiveRecor
* 企业分配VIP
* @param models
*/
@Transactional
public
void
assignVip
(
List
<
EnterpriseAssignVipModel
>
models
)
{
Long
orgId
=
sysUserService
.
getUserEnterpriesId
(
UserContext
.
getUserId
());
List
<
OrgUserReceiveRecordPO
>
poList
=
Lists
.
newArrayList
();
...
...
@@ -59,6 +61,7 @@ public class OrgUserReceiveRecordService extends ServiceImpl<OrgUserReceiveRecor
poList
.
add
(
po
);
}
saveBatch
(
poList
);
validateAndSave
(
poList
);
}
public
synchronized
void
validateAndSave
(
List
<
OrgUserReceiveRecordPO
>
poList
){
for
(
OrgUserReceiveRecordPO
po
:
poList
){
...
...
src/main/java/com/qkdata/biz/web/controller/CourseConsumeRecordController.java
View file @
59ae5ada
package
com
.
qkdata
.
biz
.
web
.
controller
;
import
cn.hutool.core.util.StrUtil
;
import
com.google.common.collect.Lists
;
import
com.qkdata.biz.common.BizConstants
;
import
com.qkdata.biz.management.entity.CourseConsumeRecordPO
;
import
com.qkdata.biz.management.service.CourseConsumeRecordService
;
import
com.qkdata.biz.web.vo.SaveConsumeRecord
;
import
com.qkdata.common.annotation.SysLog
;
import
com.qkdata.common.base.model.Result
;
...
...
@@ -18,6 +21,7 @@ import org.springframework.web.bind.annotation.RequestBody;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.sql.Struct
;
import
java.time.LocalDateTime
;
import
java.util.concurrent.TimeUnit
;
...
...
@@ -28,12 +32,17 @@ public class CourseConsumeRecordController {
@Autowired
@Qualifier
(
"objectRedisTemplate"
)
private
RedisTemplate
redisTemplate
;
@Autowired
private
CourseConsumeRecordService
recordService
;
@ApiOperation
(
"记录课程消耗记录"
)
@PostMapping
(
"/save"
)
@RequiresRoles
(
value
=
{
BizConstants
.
ROLE_USER
,
BizConstants
.
ROLE_ENTERPRISE_ADMIN
},
logical
=
Logical
.
OR
)
@SysLog
(
"记录课程消耗记录"
)
public
Result
<
String
>
save
(
@RequestBody
SaveConsumeRecord
model
){
if
(
StrUtil
.
isBlank
(
model
.
getUuid
())){
return
Result
.
succeed
(
"ok"
);
}
//缓存用户观看记录
redisTemplate
.
opsForValue
().
set
(
"record_"
+
UserContext
.
getUserId
()+
"_"
+
model
.
getCourseId
(),
model
,
5
,
TimeUnit
.
MINUTES
);
//缓存课程观看记录
...
...
@@ -42,7 +51,13 @@ public class CourseConsumeRecordController {
cacheModel
.
setWatchTime
(
model
.
getLearnDuration
());
cacheModel
.
setVideoTime
(
model
.
getVideoDuration
());
cacheModel
.
setUpdateTime
(
LocalDateTime
.
now
());
redisTemplate
.
opsForHash
().
put
(
BizConstants
.
CACHE_KE_CONSUME_RECORD
,
cacheModel
.
getId
(),
cacheModel
);
if
(
StrUtil
.
isNotBlank
(
model
.
getEvent
())
&&
"flush"
.
equals
(
model
.
getEvent
())){
recordService
.
saveOrUpdateBatch
(
Lists
.
newArrayList
(
cacheModel
));
redisTemplate
.
opsForHash
().
delete
(
BizConstants
.
CACHE_KE_CONSUME_RECORD
,
model
.
getUuid
());
}
else
{
redisTemplate
.
opsForHash
().
put
(
BizConstants
.
CACHE_KE_CONSUME_RECORD
,
cacheModel
.
getId
(),
cacheModel
);
}
}
else
{
CourseConsumeRecordPO
po
=
new
CourseConsumeRecordPO
();
po
.
setId
(
model
.
getUuid
());
...
...
@@ -53,10 +68,15 @@ public class CourseConsumeRecordController {
po
.
setVideoTime
(
model
.
getVideoDuration
());
po
.
setCreateTime
(
model
.
getStartTime
());
po
.
setUpdateTime
(
model
.
getStartTime
());
redisTemplate
.
opsForHash
().
put
(
BizConstants
.
CACHE_KE_CONSUME_RECORD
,
po
.
getId
(),
po
);
if
(
StrUtil
.
isNotBlank
(
model
.
getEvent
())
&&
"flush"
.
equals
(
model
.
getEvent
())){
recordService
.
saveOrUpdateBatch
(
Lists
.
newArrayList
(
po
));
}
else
{
redisTemplate
.
opsForHash
().
put
(
BizConstants
.
CACHE_KE_CONSUME_RECORD
,
po
.
getId
(),
po
);
}
}
return
Result
.
succeed
(
"ok"
);
}
}
src/main/java/com/qkdata/biz/web/controller/FrontendProductOrderController.java
View file @
59ae5ada
...
...
@@ -85,8 +85,10 @@ public class FrontendProductOrderController {
if
(
StrUtil
.
isBlank
(
model
.
getOrderNo
())){
throw
new
BusinessException
(
"请求错误,订单号不能为空"
);
}
if
(
StrUtil
.
isBlank
(
model
.
getOpenId
())){
throw
new
BusinessException
(
"请求错误,openId不能为空"
);
if
(
model
.
getPayMethod
()
==
PayMethodEnum
.
WeiXin
&&
model
.
getSource
()
==
PaySourceEnum
.
JSAPI
){
if
(
StrUtil
.
isBlank
(
model
.
getOpenId
())){
throw
new
BusinessException
(
"请求错误,openId不能为空"
);
}
}
if
(
model
.
getSource
()
==
null
){
throw
new
BusinessException
(
"请求错误,source不能为空"
);
...
...
src/main/java/com/qkdata/biz/web/vo/SaveConsumeRecord.java
View file @
59ae5ada
...
...
@@ -33,4 +33,8 @@ public class SaveConsumeRecord {
* 开始观看时间
*/
private
LocalDateTime
startTime
;
/**
* 事件名
*/
private
String
event
;
}
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