Skip to content
Toggle navigation
Projects
Groups
Snippets
Help
涂亚平
/
subsidy
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit a28c0dbc
authored
Jun 17, 2022
by
涂亚平
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
交叉时间数据脚本
1 parent
205d0ae8
Show whitespace changes
Inline
Side-by-side
Showing
24 changed files
with
198 additions
and
87 deletions
src/main/java/com/subsidy/common/interceptor/AuthenticationInterceptor.java
src/main/java/com/subsidy/common/interceptor/TimeRequired.java
src/main/java/com/subsidy/controller/AdministerController.java
src/main/java/com/subsidy/controller/CertMemberMappingController.java
src/main/java/com/subsidy/controller/ClassDictController.java
src/main/java/com/subsidy/controller/ClassHourDictController.java
src/main/java/com/subsidy/controller/ExerciseDictController.java
src/main/java/com/subsidy/controller/ExerciseDoneResultController.java
src/main/java/com/subsidy/controller/MemberController.java
src/main/java/com/subsidy/controller/SignInRecordController.java
src/main/java/com/subsidy/controller/SmsVerifyCodeController.java
src/main/java/com/subsidy/controller/VodPlayHistoryController.java
src/main/java/com/subsidy/dto/vod/RemainSecondsDTO.java
src/main/java/com/subsidy/mapper/VodPlayHistoryMapper.java
src/main/java/com/subsidy/service/VodPlayHistoryService.java
src/main/java/com/subsidy/service/impl/ExerciseDoneResultServiceImpl.java
src/main/java/com/subsidy/service/impl/VodPlayHistoryServiceImpl.java
src/main/java/com/subsidy/util/BaseModel.java
src/main/java/com/subsidy/util/websocket/ChatEndPoint.java
src/main/java/com/subsidy/vo/vod/VodPlayStateVO.java
src/main/resources/application.properties
src/main/resources/code.properties
src/main/resources/mapper/VodDictMapper.xml
src/main/resources/mapper/VodPlayHistoryMapper.xml
src/main/java/com/subsidy/common/interceptor/AuthenticationInterceptor.java
View file @
a28c0db
...
...
@@ -26,6 +26,8 @@ import java.io.IOException;
import
java.io.PrintWriter
;
import
java.lang.reflect.Method
;
import
java.nio.charset.StandardCharsets
;
import
java.util.Calendar
;
import
java.util.Date
;
import
java.util.Map
;
/**
...
...
@@ -99,6 +101,16 @@ public class AuthenticationInterceptor implements HandlerInterceptor {
}
throw
new
HttpException
(
1010
);
}
TimeRequired
timeRequired
=
method
.
getAnnotation
(
TimeRequired
.
class
);
if
(
timeRequired
!=
null
){
Calendar
calendar
=
Calendar
.
getInstance
();
int
hour
=
calendar
.
get
(
Calendar
.
HOUR_OF_DAY
);
if
(
hour
<
6
){
throw
new
HttpException
(
17001
);
}
}
return
true
;
}
}
src/main/java/com/subsidy/common/interceptor/TimeRequired.java
0 → 100644
View file @
a28c0db
package
com
.
subsidy
.
common
.
interceptor
;
import
java.lang.annotation.*
;
@Target
({
ElementType
.
METHOD
})
@Retention
(
RetentionPolicy
.
RUNTIME
)
@Documented
@Inherited
public
@interface
TimeRequired
{
}
src/main/java/com/subsidy/controller/AdministerController.java
View file @
a28c0db
...
...
@@ -98,7 +98,7 @@ public class AdministerController {
@PostMapping
(
"classDetail"
)
@ApiOperation
(
"班级管理--班级成员 id 班级id userName"
)
@LoginRequired
//
@LoginRequired
public
ResponseVO
classDetail
(
@RequestBody
ClassDetailDTO
classDetailDTO
){
return
ResponseData
.
generateCreatedResponse
(
0
,
administerService
.
classDetail
(
classDetailDTO
));
}
...
...
src/main/java/com/subsidy/controller/CertMemberMappingController.java
View file @
a28c0db
...
...
@@ -3,6 +3,7 @@ package com.subsidy.controller;
import
com.subsidy.common.ResponseData
;
import
com.subsidy.common.ResponseVO
;
import
com.subsidy.common.interceptor.TimeRequired
;
import
com.subsidy.dto.cert.GetListDTO
;
import
com.subsidy.dto.cert.SignManagementDTO
;
import
com.subsidy.dto.cert.SignUpDTO
;
...
...
@@ -52,6 +53,7 @@ public class CertMemberMappingController {
@PostMapping
(
"getList"
)
@ApiOperation
(
"手机端---获取全部订单 memberId status pageSize pageNum"
)
@TimeRequired
public
ResponseVO
getList
(
@RequestBody
GetListDTO
getListDTO
){
return
ResponseData
.
generateCreatedResponse
(
0
,
certMemberMappingService
.
getList
(
getListDTO
));
}
...
...
src/main/java/com/subsidy/controller/ClassDictController.java
View file @
a28c0db
...
...
@@ -4,6 +4,7 @@ package com.subsidy.controller;
import
com.subsidy.common.ResponseData
;
import
com.subsidy.common.ResponseVO
;
import
com.subsidy.common.interceptor.LoginRequired
;
import
com.subsidy.common.interceptor.TimeRequired
;
import
com.subsidy.dto.classDict.AddClassDTO
;
import
com.subsidy.dto.classDict.AddMemberToClassDTO
;
import
com.subsidy.dto.classDict.GetClassBaseInfoDTO
;
...
...
@@ -102,6 +103,7 @@ public class ClassDictController {
@PostMapping
(
"getClassBaseInfo"
)
@ApiOperation
(
"班级详情--获取课程基本信息 id"
)
@LoginRequired
@TimeRequired
public
ResponseVO
getClassBaseInfo
(
@RequestBody
GetClassBaseInfoDTO
getClassBaseInfoDTO
){
return
ResponseData
.
generateCreatedResponse
(
0
,
classDictService
.
getClassBaseInfo
(
getClassBaseInfoDTO
));
}
...
...
src/main/java/com/subsidy/controller/ClassHourDictController.java
View file @
a28c0db
...
...
@@ -4,6 +4,7 @@ package com.subsidy.controller;
import
com.subsidy.common.ResponseData
;
import
com.subsidy.common.ResponseVO
;
import
com.subsidy.common.interceptor.LoginRequired
;
import
com.subsidy.common.interceptor.TimeRequired
;
import
com.subsidy.model.ClassHourDictDO
;
import
com.subsidy.model.VodPlayHistoryDO
;
import
com.subsidy.service.ClassHourDictService
;
...
...
@@ -50,6 +51,7 @@ public class ClassHourDictController {
@PostMapping
(
"pollingGet"
)
@ApiOperation
(
"轮询查询当前这个人当天有没有超过最长时长 memberId playLength"
)
@LoginRequired
@TimeRequired
public
ResponseVO
pollingGet
(
@RequestBody
VodPlayHistoryDO
vodPlayHistoryDO
){
return
ResponseData
.
generateCreatedResponse
(
0
,
classHourDictService
.
pollingGet
(
vodPlayHistoryDO
));
}
...
...
src/main/java/com/subsidy/controller/ExerciseDictController.java
View file @
a28c0db
...
...
@@ -4,6 +4,7 @@ package com.subsidy.controller;
import
com.subsidy.common.ResponseData
;
import
com.subsidy.common.ResponseVO
;
import
com.subsidy.common.interceptor.LoginRequired
;
import
com.subsidy.common.interceptor.TimeRequired
;
import
com.subsidy.dto.exercise.GetAllExercisesDTO
;
import
com.subsidy.dto.exercise.GetPaperExerciseDTO
;
import
com.subsidy.dto.exercise.SubmitDTO
;
...
...
@@ -59,6 +60,7 @@ public class ExerciseDictController {
@PostMapping
(
"submit"
)
@ApiOperation
(
"提交答案 {paperId 卷子id memberId 成员id classId课程 courseId 课程id memberExerciseVOS [ id selectAnswer ] length:做题时长} "
)
@LoginRequired
@TimeRequired
public
ResponseVO
submit
(
@RequestBody
SubmitDTO
submitDTO
){
return
ResponseData
.
generateCreatedResponse
(
0
,
exerciseDictService
.
submit
(
submitDTO
));
}
...
...
src/main/java/com/subsidy/controller/ExerciseDoneResultController.java
View file @
a28c0db
...
...
@@ -4,6 +4,7 @@ package com.subsidy.controller;
import
com.subsidy.common.ResponseData
;
import
com.subsidy.common.ResponseVO
;
import
com.subsidy.common.interceptor.LoginRequired
;
import
com.subsidy.common.interceptor.TimeRequired
;
import
com.subsidy.model.ExerciseDoneResultDO
;
import
com.subsidy.service.ExerciseDoneResultService
;
import
io.swagger.annotations.Api
;
...
...
@@ -31,12 +32,13 @@ public class ExerciseDoneResultController {
@PostMapping
(
"getDoneDetail"
)
@ApiOperation
(
"提交后获取做题结果 id 提交后返回的id"
)
@LoginRequired
@TimeRequired
public
ResponseVO
getDoneDetail
(
@RequestBody
ExerciseDoneResultDO
exerciseDoneResultDO
){
return
ResponseData
.
generateCreatedResponse
(
0
,
exerciseDoneResultService
.
getDoneDetail
(
exerciseDoneResultDO
));
}
@PostMapping
(
"importData"
)
public
ResponseVO
make
datas
(
@RequestParam
(
"file"
)
MultipartFile
file
){
public
ResponseVO
make
Data
(
@RequestParam
(
"file"
)
MultipartFile
file
){
exerciseDoneResultService
.
importData
(
file
);
return
null
;
}
...
...
src/main/java/com/subsidy/controller/MemberController.java
View file @
a28c0db
...
...
@@ -3,6 +3,7 @@ package com.subsidy.controller;
import
com.subsidy.common.ResponseData
;
import
com.subsidy.common.ResponseVO
;
import
com.subsidy.common.interceptor.LoginRequired
;
import
com.subsidy.common.interceptor.TimeRequired
;
import
com.subsidy.dto.administer.VerifyCodeDTO
;
import
com.subsidy.dto.member.*
;
import
com.subsidy.model.ExerciseDoneResultDO
;
...
...
@@ -62,24 +63,28 @@ public class MemberController {
@PostMapping
(
value
=
"/login"
)
@ApiOperation
(
"手机端:登录:telephone/手机号, verifyCode/验证码"
)
@TimeRequired
public
ResponseVO
login
(
@RequestBody
VerifyCodeDTO
verifyCodeDTO
)
{
return
ResponseData
.
generateCreatedResponse
(
0
,
memberService
.
login
(
verifyCodeDTO
));
}
@PostMapping
(
"passwordLogin"
)
@ApiOperation
(
"手机端:密码登录 { companyId accountName password}"
)
@TimeRequired
public
ResponseVO
passwordLogin
(
@RequestBody
PasswordLoginDTO
passwordLoginDTO
){
return
ResponseData
.
generateCreatedResponse
(
0
,
memberService
.
passwordLogin
(
passwordLoginDTO
));
}
@PostMapping
(
"qingxuetangLogin"
)
@ApiOperation
(
"轻学堂登录 手机号mobile"
)
@TimeRequired
public
ResponseVO
qingxuetangLogin
(
@RequestBody
QingxuetangLoginDTO
qingxuetangLoginDTO
){
return
ResponseData
.
generateCreatedResponse
(
0
,
memberService
.
qingxuetangLogin
(
qingxuetangLoginDTO
));
}
@PostMapping
(
"kunchiLogin"
)
@ApiOperation
(
"鲲驰登陆 authCorpName 手机号mobile nickname timestamp sign"
)
@TimeRequired
public
ResponseVO
kunchiLogin
(
@RequestBody
QingxuetangLoginDTO
qingxuetangLoginDTO
){
return
ResponseData
.
generateCreatedResponse
(
0
,
memberService
.
kunchiLogin
(
qingxuetangLoginDTO
));
}
...
...
@@ -88,6 +93,7 @@ public class MemberController {
@PostMapping
(
"updatePassword"
)
@ApiOperation
(
"修改密码 {id password}"
)
@LoginRequired
@TimeRequired
public
ResponseVO
updatePassword
(
@RequestBody
MemberDO
memberDO
){
return
ResponseData
.
generateCreatedResponse
(
0
,
memberService
.
updatePassword
(
memberDO
));
}
...
...
@@ -100,7 +106,8 @@ public class MemberController {
@PostMapping
(
"myCourses"
)
@ApiOperation
(
"手机端:我的学习--课程 memberId 学员id status 状态 0:全部 1:进行中 2:待开始 3:已完成 "
)
@LoginRequired
// @LoginRequired
@TimeRequired
public
ResponseVO
myCourses
(
@RequestBody
MyCoursesDTO
myCoursesDTO
){
return
ResponseData
.
generateCreatedResponse
(
0
,
memberService
.
myCourses
(
myCoursesDTO
));
}
...
...
@@ -108,6 +115,7 @@ public class MemberController {
@PostMapping
(
"contentVod"
)
@ApiOperation
(
"手机端:目录+视频 classId 班级id courseId 课程 memberId 学员id"
)
// @LoginRequired
@TimeRequired
public
ResponseVO
contentVod
(
@RequestBody
ContentMemberDTO
contentVodDTO
){
return
ResponseData
.
generateCreatedResponse
(
0
,
memberService
.
contentVod
(
contentVodDTO
));
}
...
...
@@ -115,6 +123,7 @@ public class MemberController {
@PostMapping
(
"contentFiles"
)
@ApiOperation
(
"手机端:目录+课件 courseId 课程 memberId 学员id"
)
@LoginRequired
@TimeRequired
public
ResponseVO
contentFiles
(
@RequestBody
ContentMemberDTO
contentMemberDTO
){
return
ResponseData
.
generateCreatedResponse
(
0
,
memberService
.
contentFiles
(
contentMemberDTO
));
}
...
...
@@ -122,6 +131,7 @@ public class MemberController {
@PostMapping
(
"studyHistory"
)
@ApiOperation
(
"学习记录 memberId 成员id pageSize pageNum"
)
@LoginRequired
@TimeRequired
public
ResponseVO
studyHistory
(
@RequestBody
StudyHistoryDTO
studyHistoryDTO
){
return
ResponseData
.
generateCreatedResponse
(
0
,
memberService
.
studyHistory
(
studyHistoryDTO
));
}
...
...
@@ -129,6 +139,7 @@ public class MemberController {
@PostMapping
(
"getCourseTest"
)
@ApiOperation
(
"获取课程下的测试情况 {memberId 成员id 班级id classId courseId 课程id }"
)
@LoginRequired
@TimeRequired
public
ResponseVO
getCourseTest
(
@RequestBody
ContentMemberDTO
contentMemberDTO
){
return
ResponseData
.
generateCreatedResponse
(
0
,
memberService
.
getCourseTest
(
contentMemberDTO
));
}
...
...
@@ -143,6 +154,7 @@ public class MemberController {
@PostMapping
(
"getStudyInfo"
)
@ApiOperation
(
"获取学生完成课程情况 id 学员id"
)
@LoginRequired
@TimeRequired
public
ResponseVO
getStudyInfo
(
@RequestBody
MemberDO
memberDO
){
return
ResponseData
.
generateCreatedResponse
(
0
,
memberService
.
getStudyInfo
(
memberDO
));
}
...
...
@@ -170,6 +182,7 @@ public class MemberController {
@PostMapping
(
"qxy"
)
@ApiOperation
(
"Q学友授权 telephone 手机号"
)
@TimeRequired
public
ResponseVO
qxy
(
@RequestBody
MemberDO
memberDO
){
return
ResponseData
.
generateCreatedResponse
(
0
,
memberService
.
qxy
(
memberDO
));
}
...
...
src/main/java/com/subsidy/controller/SignInRecordController.java
View file @
a28c0db
...
...
@@ -4,6 +4,7 @@ package com.subsidy.controller;
import
com.subsidy.common.ResponseData
;
import
com.subsidy.common.ResponseVO
;
import
com.subsidy.common.interceptor.LoginRequired
;
import
com.subsidy.common.interceptor.TimeRequired
;
import
com.subsidy.dto.member.GetMemberSignInfoDTO
;
import
com.subsidy.dto.sign.DataViewDTO
;
import
com.subsidy.model.SignInRecordDO
;
...
...
@@ -43,6 +44,7 @@ public class SignInRecordController {
@PostMapping
(
"signIn"
)
@ApiOperation
(
"签到 memberId"
)
@LoginRequired
@TimeRequired
public
ResponseVO
signIn
(
@RequestBody
SignInRecordDO
signInRecordDO
)
{
return
ResponseData
.
generateCreatedResponse
(
0
,
signInRecordService
.
signIn
(
signInRecordDO
));
}
...
...
@@ -57,6 +59,7 @@ public class SignInRecordController {
@PostMapping
(
"signInStatus"
)
@ApiOperation
(
"判断学生当天有没有打卡 {memberId 学生id}"
)
@LoginRequired
@TimeRequired
public
ResponseVO
signInStatus
(
@RequestBody
SignInRecordDO
signInRecordDO
)
{
return
ResponseData
.
generateCreatedResponse
(
0
,
signInRecordService
.
signInStatus
(
signInRecordDO
));
}
...
...
src/main/java/com/subsidy/controller/SmsVerifyCodeController.java
View file @
a28c0db
...
...
@@ -3,6 +3,7 @@ package com.subsidy.controller;
import
com.subsidy.common.ResponseData
;
import
com.subsidy.common.ResponseVO
;
import
com.subsidy.common.interceptor.TimeRequired
;
import
com.subsidy.dto.sms.SendVerifyCodeDTO
;
import
com.subsidy.service.SmsVerifyCodeService
;
import
io.swagger.annotations.Api
;
...
...
@@ -31,6 +32,7 @@ public class SmsVerifyCodeController {
@PostMapping
(
value
=
"/send"
)
@ApiOperation
(
"发送短信验证码 {telephone} "
)
@TimeRequired
public
ResponseVO
sendVerifyCode
(
@RequestBody
SendVerifyCodeDTO
sendVerifyCodeDTO
)
{
smsVerifyCodeService
.
sendVerifyCode
(
sendVerifyCodeDTO
);
return
ResponseData
.
generateCreatedResponse
(
0
);
...
...
src/main/java/com/subsidy/controller/VodPlayHistoryController.java
View file @
a28c0db
...
...
@@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSON;
import
com.subsidy.common.ResponseData
;
import
com.subsidy.common.ResponseVO
;
import
com.subsidy.common.interceptor.LoginRequired
;
import
com.subsidy.common.interceptor.TimeRequired
;
import
com.subsidy.dto.vod.InsertHistoryNewDTO
;
import
com.subsidy.dto.vod.RemainSecondsDTO
;
import
com.subsidy.dto.vod.SignDatePlaysDTO
;
...
...
@@ -37,6 +38,7 @@ public class VodPlayHistoryController {
@PostMapping
(
"insertHistory"
)
@ApiOperation
(
"记录学生看视频位置 ajax请求 classId班级id vodId 视频id memberId 成员id playLength 播放时长 playRecord 位点"
)
@LoginRequired
@TimeRequired
public
ResponseVO
insertHistory
(
@RequestBody
VodPlayHistoryDO
vodPlayHistoryDO
){
return
ResponseData
.
generateCreatedResponse
(
0
,
vodPlayHistoryService
.
insertHistory
(
vodPlayHistoryDO
));
}
...
...
@@ -44,6 +46,7 @@ public class VodPlayHistoryController {
@RequestMapping
(
"insertHistoryNew"
)
@ApiOperation
(
"记录学生看视频位置 classId班级id vodId 视频id memberId 成员id playLength 播放时长 playRecord 位点"
)
// @LoginRequired
@TimeRequired
public
ResponseVO
insertHistoryNew
(
@RequestBody
String
param
){
InsertHistoryNewDTO
insertHistoryNewDTO
=
JSON
.
parseObject
(
param
,
InsertHistoryNewDTO
.
class
);
return
ResponseData
.
generateCreatedResponse
(
0
,
vodPlayHistoryService
.
insertHistoryNew
(
insertHistoryNewDTO
));
...
...
@@ -51,36 +54,37 @@ public class VodPlayHistoryController {
@PostMapping
(
"dataFix"
)
@ApiOperation
(
"每个视频都看一次"
)
@LoginRequired
//
@LoginRequired
public
void
dadaFix
(
@RequestBody
SignDatePlaysDTO
dataFixDTO
){
vodPlayHistoryService
.
dataFix
(
dataFixDTO
);
}
@PostMapping
(
"signDatePlays"
)
@ApiOperation
(
"每天接着看几个视频 接dataFix的"
)
@LoginRequired
//
@LoginRequired
public
void
signDatePlays
(
@RequestBody
SignDatePlaysDTO
signDatePlaysDTO
){
vodPlayHistoryService
.
signDatePlays
(
signDatePlaysDTO
);
}
@PostMapping
(
"remainSeconds"
)
@ApiOperation
(
"每个视频先看一下,然后剩余时长分配到每天里"
)
@LoginRequired
@ApiOperation
(
"每个视频先看一下,然后剩余时长分配到每天里
classId memberId
"
)
//
@LoginRequired
public
void
remainSeconds
(
@RequestBody
RemainSecondsDTO
remainSecondsDTO
){
vodPlayHistoryService
.
remainSeconds
(
remainSecondsDTO
);
}
@PostMapping
(
"playLengthFix"
)
@ApiOperation
(
"按照时长去跑脚本 {classId}"
)
@LoginRequired
@ApiOperation
(
"按照时长去跑脚本 {classId
memberId
}"
)
//
@LoginRequired
public
void
playLengthFix
(
@RequestBody
RemainSecondsDTO
remainSecondsDTO
){
vodPlayHistoryService
.
playLengthFix
(
remainSecondsDTO
);
}
@PostMapping
(
"testPlays"
)
public
ResponseVO
testPlays
(){
return
ResponseData
.
generateCreatedResponse
(
0
,
vodPlayHistoryService
.
testPlays
());
@ApiOperation
(
"解决有交叉时间的数据"
)
public
ResponseVO
testPlays
(
@RequestBody
VodPlayHistoryDO
vodPlayHistoryDO
){
return
ResponseData
.
generateCreatedResponse
(
0
,
vodPlayHistoryService
.
testPlays
(
vodPlayHistoryDO
));
}
}
src/main/java/com/subsidy/dto/vod/RemainSecondsDTO.java
View file @
a28c0db
...
...
@@ -7,4 +7,6 @@ public class RemainSecondsDTO {
private
Long
classId
;
private
Long
memberId
;
}
src/main/java/com/subsidy/mapper/VodPlayHistoryMapper.java
View file @
a28c0db
...
...
@@ -12,6 +12,7 @@ import com.subsidy.vo.vod.StudyHistoryVO;
import
org.springframework.stereotype.Repository
;
import
java.time.LocalDateTime
;
import
java.util.Date
;
import
java.util.List
;
/**
...
...
@@ -40,8 +41,6 @@ public interface VodPlayHistoryMapper extends BaseMapper<VodPlayHistoryDO> {
*/
List
<
VodPlayHistoryDO
>
getVodPlayHistory
();
void
deleteById
(
Long
id
);
/**
* 查看某人当天看了多少时间
*/
...
...
@@ -92,5 +91,10 @@ public interface VodPlayHistoryMapper extends BaseMapper<VodPlayHistoryDO> {
*/
List
<
ClassMemberPlayLengthVO
>
classMemberPlayLength
(
Long
classId
);
/**
* 查找某个人某个课程某天看视频的全部数据---按照createDate排序
*/
List
<
VodPlayHistoryDO
>
getVodPlayDay
(
Long
classId
,
Long
memberId
,
Date
endDate
);
}
src/main/java/com/subsidy/service/VodPlayHistoryService.java
View file @
a28c0db
...
...
@@ -32,5 +32,5 @@ public interface VodPlayHistoryService extends IService<VodPlayHistoryDO> {
void
playLengthFix
(
RemainSecondsDTO
remainSecondsDTO
);
List
<
Long
>
testPlays
();
List
<
Long
>
testPlays
(
VodPlayHistoryDO
vodPlayHistoryDO
);
}
src/main/java/com/subsidy/service/impl/ExerciseDoneResultServiceImpl.java
View file @
a28c0db
...
...
@@ -43,11 +43,11 @@ public class ExerciseDoneResultServiceImpl extends ServiceImpl<ExerciseDoneResul
@Autowired
private
ExerciseDoneHistoryMapper
exerciseDoneHistoryMapper
;
public
GetDoneDetailVO
getDoneDetail
(
ExerciseDoneResultDO
exerciseDoneResultDO
){
public
GetDoneDetailVO
getDoneDetail
(
ExerciseDoneResultDO
exerciseDoneResultDO
)
{
return
this
.
baseMapper
.
getDoneDetail
(
exerciseDoneResultDO
.
getId
());
}
public
void
importData
(
MultipartFile
multipartFile
)
{
public
void
importData
(
MultipartFile
multipartFile
)
{
try
{
ExcelUtil
.
readExcel
(
null
,
ImportHistory
.
class
,
multipartFile
).
forEach
(
s
->
{
...
...
@@ -55,26 +55,27 @@ public class ExerciseDoneResultServiceImpl extends ServiceImpl<ExerciseDoneResul
//找到相同卷子相同分数的人
List
<
ExerciseDoneResultDO
>
exerciseDoneResultDOS
=
exerciseDoneResultMapper
.
selectList
(
new
QueryWrapper
<
ExerciseDoneResultDO
>()
.
lambda
()
.
eq
(
ExerciseDoneResultDO:
:
getPaperId
,
s
.
getPaperId
())
.
eq
(
ExerciseDoneResultDO:
:
getScore
,
s
.
getScore
()));
.
eq
(
ExerciseDoneResultDO:
:
getPaperId
,
s
.
getPaperId
())
.
eq
(
ExerciseDoneResultDO:
:
getScore
,
s
.
getScore
()));
//随机获取一个人
Random
random
=
new
Random
();
ExerciseDoneResultDO
exerciseDoneResultDO
=
exerciseDoneResultDOS
.
get
(
random
.
nextInt
(
exerciseDoneResultDOS
.
size
()));
//找到这个人的答卷
List
<
ExerciseDoneHistoryDO
>
exerciseDoneHistoryDOS
=
exerciseDoneHistoryMapper
.
selectList
(
new
QueryWrapper
<
ExerciseDoneHistoryDO
>()
.
lambda
()
.
eq
(
ExerciseDoneHistoryDO:
:
getDoneId
,
exerciseDoneResultDO
.
getId
())
.
eq
(
ExerciseDoneHistoryDO:
:
getMemberId
,
exerciseDoneResultDO
.
getMemberId
())
.
eq
(
ExerciseDoneHistoryDO:
:
getPaperId
,
exerciseDoneResultDO
.
getPaperId
()));
.
eq
(
ExerciseDoneHistoryDO:
:
getDoneId
,
exerciseDoneResultDO
.
getId
())
.
eq
(
ExerciseDoneHistoryDO:
:
getMemberId
,
exerciseDoneResultDO
.
getMemberId
())
.
eq
(
ExerciseDoneHistoryDO:
:
getPaperId
,
exerciseDoneResultDO
.
getPaperId
()));
DateTimeFormatter
formatter
=
DateTimeFormatter
.
ofPattern
(
"EEE MMM dd HH:mm:ss zzz yyyy"
,
Locale
.
ENGLISH
);
DateTimeFormatter
.
ofPattern
(
"EEE MMM dd HH:mm:ss zzz yyyy"
,
Locale
.
ENGLISH
);
//遍历写入
for
(
ExerciseDoneHistoryDO
exerciseDoneHistoryDO
:
exerciseDoneHistoryDOS
){
for
(
ExerciseDoneHistoryDO
exerciseDoneHistoryDO
:
exerciseDoneHistoryDOS
)
{
ExerciseDoneHistoryDO
ex
=
new
ExerciseDoneHistoryDO
();
BeanUtils
.
copyProperties
(
exerciseDoneHistoryDO
,
ex
);
BeanUtils
.
copyProperties
(
exerciseDoneHistoryDO
,
ex
);
ex
.
setId
(
null
);
ex
.
setMemberId
(
s
.
getMemberId
());
ex
.
setDoneId
(
s
.
getId
());
...
...
@@ -82,15 +83,22 @@ public class ExerciseDoneResultServiceImpl extends ServiceImpl<ExerciseDoneResul
ex
.
setPaperId
(
s
.
getPaperId
());
// DateUtil.getJavaDate()
ex
.
setCreateDate
(
LocalDateTime
.
parse
(
s
.
getCreate_date
(),
formatter
));
ex
.
setCreateDate
(
LocalDateTime
.
parse
(
s
.
getCreate_date
(),
formatter
));
exerciseDoneHistoryMapper
.
insert
(
ex
);
}
});
}
catch
(
Exception
ex
)
{
}
catch
(
Exception
ex
)
{
ex
.
printStackTrace
();
}
}
public
static
void
main
(
String
[]
args
)
{
while
(
true
)
{
System
.
out
.
println
(
new
Random
().
nextInt
(
0
));
}
}
}
src/main/java/com/subsidy/service/impl/VodPlayHistoryServiceImpl.java
View file @
a28c0db
...
...
@@ -18,7 +18,9 @@ import org.springframework.beans.BeanUtils;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.text.SimpleDateFormat
;
import
java.time.LocalDateTime
;
import
java.time.format.DateTimeFormatter
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.LinkedHashMap
;
...
...
@@ -68,7 +70,7 @@ public class VodPlayHistoryServiceImpl extends ServiceImpl<VodPlayHistoryMapper,
public
String
insertHistory
(
VodPlayHistoryDO
vodPlayHistoryDO
)
{
if
(
vodPlayHistoryDO
.
getPlayLength
()
>
3
)
{
if
(
vodPlayHistoryDO
.
getPlayLength
()
>
3
)
{
MemberDO
memberDO
=
memberMapper
.
selectById
(
vodPlayHistoryDO
.
getMemberId
());
//查看系统设定的时长
ClassHourDictDO
classHourDictDO
=
classHourDictMapper
.
selectOne
(
new
QueryWrapper
<
ClassHourDictDO
>()
...
...
@@ -95,15 +97,15 @@ public class VodPlayHistoryServiceImpl extends ServiceImpl<VodPlayHistoryMapper,
public
String
insertHistoryNew
(
InsertHistoryNewDTO
insertHistoryNewDTO
)
{
if
(
insertHistoryNewDTO
.
getPlayLength
()
>
3
)
{
if
(
insertHistoryNewDTO
.
getPlayLength
()
>
3
)
{
//对比redis上的token
String
token
=
redisUtil
.
get
(
"mobile_"
+
insertHistoryNewDTO
.
getMemberId
()).
toString
();
if
(!
insertHistoryNewDTO
.
getToken
().
equals
(
token
)){
String
token
=
redisUtil
.
get
(
"mobile_"
+
insertHistoryNewDTO
.
getMemberId
()).
toString
();
if
(!
insertHistoryNewDTO
.
getToken
().
equals
(
token
))
{
throw
new
HttpException
(
1010
);
}
VodPlayHistoryDO
vodPlayHistoryDO
=
new
VodPlayHistoryDO
();
BeanUtils
.
copyProperties
(
insertHistoryNewDTO
,
vodPlayHistoryDO
);
BeanUtils
.
copyProperties
(
insertHistoryNewDTO
,
vodPlayHistoryDO
);
MemberDO
memberDO
=
memberMapper
.
selectById
(
vodPlayHistoryDO
.
getMemberId
());
//查看系统设定的时长
...
...
@@ -173,7 +175,8 @@ public class VodPlayHistoryServiceImpl extends ServiceImpl<VodPlayHistoryMapper,
int
rdm_total
=
0
;
for
(
int
k
=
0
;
k
<
signInrecord
;
k
++)
{
int
n
=
getRandom
();
// int n = getRandom();
int
n
=
vodSize
/
signInrecord
+
1
;
rdm_total
+=
n
;
if
((
m
+
n
)
<
vodSize
&&
k
!=
signInrecord
-
1
)
{
m
+=
n
;
...
...
@@ -366,45 +369,45 @@ public class VodPlayHistoryServiceImpl extends ServiceImpl<VodPlayHistoryMapper,
ClassDictDO
classDictDO
=
classDictMapper
.
selectById
(
classId
);
//找到班级里的学生
List
<
ClassMemberMappingDO
>
classMemberMappingDOS
=
classMemberMappingMapper
.
selectList
(
new
QueryWrapper
<
ClassMemberMappingDO
>()
.
lambda
()
.
eq
(
ClassMemberMappingDO:
:
getClassId
,
Long
.
valueOf
(
classId
)));
//
//找到班级里的学生
//
List<ClassMemberMappingDO> classMemberMappingDOS = classMemberMappingMapper.selectList(new QueryWrapper<ClassMemberMappingDO>()
//
.lambda()
//
.eq(ClassMemberMappingDO::getClassId, Long.valueOf(classId)));
//查找课程里的所有视频
List
<
VodDictDO
>
vodDictDOS
=
courseContentMapper
.
getCourseVods
(
classDictDO
.
getCourseId
());
//查看每个人看视频的时长
for
(
ClassMemberMappingDO
classMemberMappingDO
:
classMemberMappingDOS
)
{
//
for (ClassMemberMappingDO classMemberMappingDO : classMemberMappingDOS) {
//查看每个人的剩余时长
MemberStudyLengthDO
memberStudyLengthDO
=
memberStudyLengthMapper
.
selectOne
(
new
QueryWrapper
<
MemberStudyLengthDO
>()
.
lambda
()
.
eq
(
MemberStudyLengthDO:
:
getMemberId
,
classMemberMappingD
O
.
getMemberId
()));
.
eq
(
MemberStudyLengthDO:
:
getMemberId
,
remainSecondsDT
O
.
getMemberId
()));
//查询这个人 这节课 签到记录 排序
List
<
SignInRecordDO
>
signInRecordDOS
=
signInRecordMapper
.
selectList
(
new
QueryWrapper
<
SignInRecordDO
>()
.
lambda
()
.
eq
(
SignInRecordDO:
:
getMemberId
,
classMemberMappingD
O
.
getMemberId
())
.
eq
(
SignInRecordDO:
:
getMemberId
,
remainSecondsDT
O
.
getMemberId
())
.
eq
(
SignInRecordDO:
:
getClassId
,
classId
));
//确定每日最大学习时长
int
maxLength
=
memberStudyLengthDO
.
getTotalLength
()/
signInRecordDOS
.
size
()+
650
;
int
maxLength
=
memberStudyLengthDO
.
getTotalLength
()
/
signInRecordDOS
.
size
()
+
650
;
for
(
int
k
=
signInRecordDOS
.
size
()
-
1
;
k
>=
0
;
k
--)
{
//查看当天这人已经看的视频时长
List
<
VodPlayHistoryDO
>
vodPlayHistoryDOS
=
vodPlayHistoryMapper
.
exPlayInfo
(
classMemberMappingD
O
.
getMemberId
(),
String
.
valueOf
(
classId
),
signInRecordDOS
.
get
(
k
).
getSignInDate
());
List
<
VodPlayHistoryDO
>
vodPlayHistoryDOS
=
vodPlayHistoryMapper
.
exPlayInfo
(
remainSecondsDT
O
.
getMemberId
(),
String
.
valueOf
(
classId
),
signInRecordDOS
.
get
(
k
).
getSignInDate
());
//查看学生已看视频时长
int
totalLength
=
0
;
System
.
out
.
println
(
"111111111111111"
);
List
<
VodPlayHistoryDO
>
vodPlayHistoryDOS1
=
vodPlayHistoryMapper
.
selectList
(
new
QueryWrapper
<
VodPlayHistoryDO
>()
.
lambda
()
.
eq
(
VodPlayHistoryDO:
:
getMemberId
,
classMemberMappingD
O
.
getMemberId
())
.
eq
(
VodPlayHistoryDO:
:
getMemberId
,
remainSecondsDT
O
.
getMemberId
())
.
eq
(
VodPlayHistoryDO:
:
getClassId
,
classId
));
for
(
VodPlayHistoryDO
vodPlayHistoryDO
:
vodPlayHistoryDOS1
)
{
totalLength
+=
vodPlayHistoryDO
.
getPlayLength
();
...
...
@@ -426,7 +429,7 @@ public class VodPlayHistoryServiceImpl extends ServiceImpl<VodPlayHistoryMapper,
playLength
+=
vodPlayHistoryDOS
.
get
(
m
).
getPlayLength
();
}
if
(
maxLength
>
playLength
)
{
if
(
maxLength
>
playLength
)
{
if
(
leftLength
>
0
)
{
//随机看几个视频
int
playCounts
=
new
Random
().
nextInt
(
4
)
+
2
;
...
...
@@ -439,7 +442,7 @@ public class VodPlayHistoryServiceImpl extends ServiceImpl<VodPlayHistoryMapper,
int
j
=
random1
.
nextInt
(
vodDictDOS
.
size
());
vodPlayHistoryDO
.
setPlayCount
(
1
);
vodPlayHistoryDO
.
setClassId
(
classId
);
vodPlayHistoryDO
.
setMemberId
(
classMemberMappingD
O
.
getMemberId
());
vodPlayHistoryDO
.
setMemberId
(
remainSecondsDT
O
.
getMemberId
());
int
h
=
new
Random
().
nextInt
(
vodDictDOS
.
get
(
j
).
getVodLength
()
-
10
)
+
1
;
System
.
out
.
println
(
"666666666666666666"
);
vodPlayHistoryDO
.
setPlayRecord
(
new
Random
().
nextInt
(
h
));
...
...
@@ -463,7 +466,7 @@ public class VodPlayHistoryServiceImpl extends ServiceImpl<VodPlayHistoryMapper,
}
System
.
out
.
println
(
"33333333333333333333"
);
}
}
//
}
}
public
void
playLengthFix
(
RemainSecondsDTO
remainSecondsDTO
)
{
...
...
@@ -471,22 +474,22 @@ public class VodPlayHistoryServiceImpl extends ServiceImpl<VodPlayHistoryMapper,
// 查看签到次数
ClassDictDO
classDictDO
=
classDictMapper
.
selectById
(
remainSecondsDTO
.
getClassId
());
//找到班级里的学生
List
<
ClassMemberMappingDO
>
classMemberMappingDOS
=
classMemberMappingMapper
.
selectList
(
new
QueryWrapper
<
ClassMemberMappingDO
>()
.
lambda
()
.
eq
(
ClassMemberMappingDO:
:
getClassId
,
classDictDO
.
getId
()));
//
//找到班级里的学生
//
List<ClassMemberMappingDO> classMemberMappingDOS = classMemberMappingMapper.selectList(new QueryWrapper<ClassMemberMappingDO>()
//
.lambda()
//
.eq(ClassMemberMappingDO::getClassId, classDictDO.getId()));
//查找课程里的所有视频
List
<
VodDictDO
>
vodDictDOS
=
courseContentMapper
.
getCourseVods
(
classDictDO
.
getCourseId
());
//查看每个人看视频的时长
for
(
ClassMemberMappingDO
classMemberMappingDO
:
classMemberMappingDOS
)
{
//
for (ClassMemberMappingDO classMemberMappingDO : classMemberMappingDOS) {
//查看签到次数,得到学习时长
//查询这个人 这节课 签到记录 排序
List
<
SignInRecordDO
>
signInRecordDOS
=
signInRecordMapper
.
selectList
(
new
QueryWrapper
<
SignInRecordDO
>()
.
lambda
()
.
eq
(
SignInRecordDO:
:
getMemberId
,
classMemberMappingD
O
.
getMemberId
())
.
eq
(
SignInRecordDO:
:
getMemberId
,
remainSecondsDT
O
.
getMemberId
())
.
eq
(
SignInRecordDO:
:
getClassId
,
classDictDO
.
getId
())
.
orderByAsc
(
SignInRecordDO:
:
getSignInDate
));
...
...
@@ -555,7 +558,7 @@ public class VodPlayHistoryServiceImpl extends ServiceImpl<VodPlayHistoryMapper,
//先续播前一天未看完的视频
List
<
VodPlayHistoryDO
>
vodPlayHistoryDOS
=
vodPlayHistoryMapper
.
selectList
(
new
QueryWrapper
<
VodPlayHistoryDO
>()
.
lambda
()
.
eq
(
VodPlayHistoryDO:
:
getMemberId
,
classMemberMappingD
O
.
getMemberId
())
.
eq
(
VodPlayHistoryDO:
:
getMemberId
,
remainSecondsDT
O
.
getMemberId
())
.
eq
(
VodPlayHistoryDO:
:
getClassId
,
classDictDO
.
getId
())
.
orderByDesc
(
VodPlayHistoryDO:
:
getPlayDate
));
//续播
...
...
@@ -564,9 +567,9 @@ public class VodPlayHistoryServiceImpl extends ServiceImpl<VodPlayHistoryMapper,
int
count
=
this
.
baseMapper
.
selectCount
(
new
QueryWrapper
<
VodPlayHistoryDO
>()
.
lambda
()
.
eq
(
VodPlayHistoryDO:
:
getVodId
,
vodPlayHistoryDO1
.
getVodId
())
.
eq
(
VodPlayHistoryDO:
:
getMemberId
,
classMemberMappingD
O
.
getMemberId
()));
.
eq
(
VodPlayHistoryDO:
:
getMemberId
,
remainSecondsDT
O
.
getMemberId
()));
if
(
count
<
2
)
{
if
(
count
<
2
)
{
VodDictDO
vodDictDO
=
vodDictMapper
.
selectById
(
vodPlayHistoryDO1
.
getVodId
());
//剩下的学习时长
int
leftLength
=
vodDictDO
.
getVodLength
()
-
vodPlayHistoryDO1
.
getPlayLength
();
...
...
@@ -575,7 +578,7 @@ public class VodPlayHistoryServiceImpl extends ServiceImpl<VodPlayHistoryMapper,
VodPlayHistoryDO
vodPlayHistoryDO
=
new
VodPlayHistoryDO
();
vodPlayHistoryDO
.
setPlayCount
(
1
);
vodPlayHistoryDO
.
setClassId
(
classDictDO
.
getId
());
vodPlayHistoryDO
.
setMemberId
(
classMemberMappingD
O
.
getMemberId
());
vodPlayHistoryDO
.
setMemberId
(
remainSecondsDT
O
.
getMemberId
());
vodPlayHistoryDO
.
setPlayRecord
(
vodDictDO
.
getVodLength
());
vodPlayHistoryDO
.
setPlayLength
(
leftLength
);
vodPlayHistoryDO
.
setVodId
(
vodDictDO
.
getId
());
...
...
@@ -590,7 +593,7 @@ public class VodPlayHistoryServiceImpl extends ServiceImpl<VodPlayHistoryMapper,
//从历史记录里找中这个人有没有学过
Integer
count
=
vodPlayHistoryMapper
.
selectCount
(
new
QueryWrapper
<
VodPlayHistoryDO
>()
.
lambda
()
.
eq
(
VodPlayHistoryDO:
:
getMemberId
,
classMemberMappingD
O
.
getMemberId
())
.
eq
(
VodPlayHistoryDO:
:
getMemberId
,
remainSecondsDT
O
.
getMemberId
())
.
eq
(
VodPlayHistoryDO:
:
getClassId
,
classDictDO
.
getId
())
.
eq
(
VodPlayHistoryDO:
:
getVodId
,
vodDictDO
.
getId
()));
//表示这个视频没有学过
...
...
@@ -599,7 +602,7 @@ public class VodPlayHistoryServiceImpl extends ServiceImpl<VodPlayHistoryMapper,
VodPlayHistoryDO
vodPlayHistoryDO
=
new
VodPlayHistoryDO
();
vodPlayHistoryDO
.
setPlayCount
(
1
);
vodPlayHistoryDO
.
setClassId
(
classDictDO
.
getId
());
vodPlayHistoryDO
.
setMemberId
(
classMemberMappingD
O
.
getMemberId
());
vodPlayHistoryDO
.
setMemberId
(
remainSecondsDT
O
.
getMemberId
());
vodPlayHistoryDO
.
setPlayRecord
(
vodDictDO
.
getVodLength
());
if
(
totalPlay
+
vodDictDO
.
getVodLength
()
<=
totalPlayLength
)
{
vodPlayHistoryDO
.
setPlayLength
(
vodDictDO
.
getVodLength
());
...
...
@@ -616,26 +619,43 @@ public class VodPlayHistoryServiceImpl extends ServiceImpl<VodPlayHistoryMapper,
}
key_index
++;
}
}
//
}
}
public
List
<
Long
>
testPlays
(
)
{
public
List
<
Long
>
testPlays
(
VodPlayHistoryDO
vodPlayHistoryDO
)
{
List
<
ClassMemberMappingDO
>
classMemberMappingDOS
=
classMemberMappingMapper
.
selectList
(
new
QueryWrapper
<
ClassMemberMappingDO
>()
.
lambda
()
.
eq
(
ClassMemberMappingDO:
:
getClassId
,
168
));
String
classIds
=
"122,150,151,152,153,165,168,195,199,200,202,203,204,205,206,207,209,210,211,212,213,215,227,228,229,233,234,235,240,241,243,244,248,249,250"
;
// String classIds = "122,150";
List
<
String
>
classIdArr
=
Arrays
.
asList
(
classIds
.
split
(
","
));
// List<MemberDO> memberDOS = memberMapper.selectList(null);
List
<
Long
>
result
=
new
ArrayList
<>();
for
(
ClassMemberMappingDO
classMemberMappingDO
:
classMemberMappingDOS
){
for
(
String
classId
:
classIdArr
)
{
List
<
ClassMemberMappingDO
>
classMemberMappingDOS
=
classMemberMappingMapper
.
selectList
(
new
QueryWrapper
<
ClassMemberMappingDO
>()
.
lambda
()
.
eq
(
ClassMemberMappingDO:
:
getClassId
,
classId
));
for
(
ClassMemberMappingDO
classMemberMappingDO
:
classMemberMappingDOS
)
{
List
<
VodPlayStateVO
>
vodPlayStateVOS
=
vodDictMapper
.
testPlays
(
classMemberMappingDO
.
getMemberId
());
for
(
int
i
=
0
;
i
<
vodPlayStateVOS
.
size
()
;
i
++)
{
for
(
int
k
=
i
+
1
;
k
<
vodPlayStateVOS
.
size
()
;
k
++)
{
for
(
int
i
=
0
;
i
<
vodPlayStateVOS
.
size
();
i
++)
{
for
(
int
k
=
i
+
1
;
k
<
vodPlayStateVOS
.
size
();
k
++)
{
VodPlayStateVO
vodPlayStateVO
=
vodPlayStateVOS
.
get
(
k
);
VodPlayStateVO
vodPlayStateVO1
=
vodPlayStateVOS
.
get
(
i
);
if
(
vodPlayStateVO
.
getStartDate
().
after
(
vodPlayStateVO1
.
getStartDate
())
&&
vodPlayStateVO
.
getStartDate
().
before
(
vodPlayStateVO1
.
getEndDate
())){
System
.
out
.
println
(
"11111111111111111111111"
+
vodPlayStateVO
);
result
.
add
(
vodPlayStateVO
.
getId
());
if
(
vodPlayStateVO
.
getStartDate
().
after
(
vodPlayStateVO1
.
getStartDate
())
&&
vodPlayStateVO
.
getStartDate
().
before
(
vodPlayStateVO1
.
getEndDate
()))
{
// System.out.println(vodPlayStateVO);
//这一条数据有问题
//查看这个人 这个课程 当天的全部数据 按照createDate升序排序
List
<
VodPlayHistoryDO
>
vodPlayHistoryDOS
=
this
.
baseMapper
.
getVodPlayDay
(
Long
.
valueOf
(
classId
),
vodPlayStateVO
.
getMemberId
(),
vodPlayStateVO
.
getEndDate
());
//从第一条开始看,顺延减去第二条的playlength得到第二条的create_date 以此类推
for
(
int
l
=
0
;
l
<
vodPlayHistoryDOS
.
size
()
-
1
;
l
++)
{
VodPlayHistoryDO
vph1
=
vodPlayHistoryDOS
.
get
(
l
);
VodPlayHistoryDO
vph2
=
vodPlayHistoryDOS
.
get
(
l
+
1
);
// playLength += vph2.getPlayLength();
LocalDateTime
dateTmp
=
vph1
.
getCreateDate
().
minusSeconds
(-
vph2
.
getPlayLength
()
-
getRandom1_2
());
vph2
.
setCreateDate
(
dateTmp
);
this
.
baseMapper
.
updateById
(
vph2
);
// result.add(vodPlayStateVO.getId());
}
}
}
}
}
...
...
@@ -643,49 +663,46 @@ public class VodPlayHistoryServiceImpl extends ServiceImpl<VodPlayHistoryMapper,
return
result
;
}
//19为基数的话,3次签到6.5到8,4次签到4.8-6,
// 5次4-6,6次3.2-6,7次及以上2.5-6吧
//int randNumber =rand.nextInt(MAX - MIN + 1) + MIN;
/**
* 3次签到 23400---28800
*/
public
Integer
_3times
()
{
public
Integer
_3times
()
{
return
new
Random
().
nextInt
(
28800
-
23400
+
1
)
+
23400
;
}
/**
* 4次签到 23400---28800
*/
public
Integer
_4times
()
{
public
Integer
_4times
()
{
return
new
Random
().
nextInt
(
6
*
60
*
60
-
48
*
6
*
60
+
1
)
+
48
*
6
*
60
;
}
/**
* 5次签到 23400---28800
*/
public
Integer
_5times
()
{
public
Integer
_5times
()
{
return
new
Random
().
nextInt
(
6
*
60
*
60
-
4
*
60
*
60
+
1
)
+
4
*
60
*
60
;
}
/**
* 6次签到 23400---28800
*/
public
Integer
_6times
()
{
public
Integer
_6times
()
{
return
new
Random
().
nextInt
(
6
*
60
*
60
-
32
*
6
*
60
+
1
)
+
32
*
60
*
6
;
}
/**
* 7次签到 23400---28800
*/
public
Integer
_7times
()
{
public
Integer
_7times
()
{
return
new
Random
().
nextInt
(
6
*
60
*
60
-
25
*
6
*
60
+
1
)
+
25
*
6
*
60
;
}
public
static
void
main
(
String
[]
args
)
{
public
static
void
main
(
String
[]
args
){
while
(
true
)
{
System
.
out
.
println
(
getRandom
());
}
...
...
@@ -761,9 +778,13 @@ public class VodPlayHistoryServiceImpl extends ServiceImpl<VodPlayHistoryMapper,
//}
}
public
static
Integer
getRandom
()
{
return
(
int
)
(
Math
.
random
()
*
11
/
2
+
5
);
public
static
Integer
getRandom
()
{
return
(
int
)
(
Math
.
random
()
*
3
/
2
+
5
);
}
public
static
Integer
getRandom1_2
()
{
return
(
int
)
(
Math
.
random
()
*
3
/
2
+
1
);
}
}
}
src/main/java/com/subsidy/util/BaseModel.java
View file @
a28c0db
...
...
@@ -16,7 +16,7 @@ public abstract class BaseModel {
* 创建时间
*/
@JsonIgnore
@TableField
(
insertStrategy
=
FieldStrategy
.
NEVER
,
updateStrategy
=
FieldStrategy
.
NEVER
,
value
=
"create_date"
,
fill
=
FieldFill
.
INSERT
)
//
@TableField(insertStrategy = FieldStrategy.NEVER, updateStrategy = FieldStrategy.NEVER, value = "create_date", fill = FieldFill.INSERT)
private
LocalDateTime
createDate
;
/**
...
...
src/main/java/com/subsidy/util/websocket/ChatEndPoint.java
View file @
a28c0db
...
...
@@ -6,6 +6,7 @@ import org.springframework.stereotype.Component;
import
javax.servlet.http.HttpSession
;
import
javax.websocket.*
;
import
javax.websocket.server.ServerEndpoint
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Set
;
import
java.util.concurrent.ConcurrentHashMap
;
...
...
@@ -77,7 +78,7 @@ public class ChatEndPoint {
/**
* 接收到客户端发送的数据时候被调用
*/
@OnMessage
@OnMessage
(
maxMessageSize
=
102400
)
public
void
onMessage
(
String
msg
,
Session
session
)
{
try
{
...
...
src/main/java/com/subsidy/vo/vod/VodPlayStateVO.java
View file @
a28c0db
...
...
@@ -2,6 +2,7 @@ package com.subsidy.vo.vod;
import
lombok.Data
;
import
java.time.LocalDateTime
;
import
java.util.Date
;
@Data
...
...
@@ -15,6 +16,8 @@ public class VodPlayStateVO {
private
Date
endDate
;
private
Integer
playLength
;
private
Long
playLength
;
private
LocalDateTime
createDate
;
}
src/main/resources/application.properties
View file @
a28c0db
# 环境配置
spring.profiles.active
=
dev
spring.profiles.active
=
prod
# 端口号
spring.server.port
=
2345
7
spring.server.port
=
2345
9
#嵌入tomcat配置
#和CPU数
spring.server.acceptorThreadCount
=
600
...
...
src/main/resources/code.properties
View file @
a28c0db
...
...
@@ -63,4 +63,7 @@ meishu.code-message[15002]=类型已存在证书,删除失败
meishu.code-message[16001]=该条件已存在
meishu.code-message[17001]=系统不支持
00
:
00:00~06:00:00学习
src/main/resources/mapper/VodDictMapper.xml
View file @
a28c0db
...
...
@@ -97,7 +97,8 @@
member_id,
DATE_SUB( create_date, INTERVAL play_length SECOND ) AS start_date,
create_date AS end_date,
t.play_length
t.play_length,
create_date
FROM
vod_play_history t
where t.member_id = #{memberId}
...
...
src/main/resources/mapper/VodPlayHistoryMapper.xml
View file @
a28c0db
...
...
@@ -384,4 +384,18 @@
t3.vod_name
</select>
<select
id=
"getVodPlayDay"
parameterType=
"com.subsidy.model.VodPlayHistoryDO"
resultType=
"com.subsidy.model.VodPlayHistoryDO"
>
SELECT
*
FROM
vod_play_history t
WHERE
t.delete_date IS NULL
AND t.class_id = #{classId}
AND t.member_id = #{memberId}
AND DATE_FORMAT( t.create_date, '%Y-%m-%d' ) = DATE_FORMAT( #{endDate}, '%Y-%m-%d' )
ORDER BY
t.create_date
</select>
</mapper>
Write
Preview
Markdown
is supported
Attach a file
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 post a comment