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 72047ffc
authored
Jul 15, 2022
by
邓敏
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch '2.7.1人脸识别版本' into websocker
2 parents
ea11f978
0f667e75
Hide whitespace changes
Inline
Side-by-side
Showing
44 changed files
with
998 additions
and
161 deletions
src/main/java/com/subsidy/common/configure/ActivityDetectionConfig.java
src/main/java/com/subsidy/common/interceptor/AuthenticationInterceptor.java
src/main/java/com/subsidy/controller/ActivityDetectionController.java
src/main/java/com/subsidy/controller/AdministerController.java
src/main/java/com/subsidy/controller/CompanyDictController.java
src/main/java/com/subsidy/controller/ImageCheckRecordController.java
src/main/java/com/subsidy/controller/MemberController.java
src/main/java/com/subsidy/dto/company/GetCompanyMembersDTO.java
src/main/java/com/subsidy/dto/detection/VerifyDTO.java
src/main/java/com/subsidy/mapper/ActivityDetectionMapper.java
src/main/java/com/subsidy/mapper/AdministerMapper.java
src/main/java/com/subsidy/mapper/CompanyDictMapper.java
src/main/java/com/subsidy/mapper/ImageCheckRecordMapper.java
src/main/java/com/subsidy/mapper/MemberMapper.java
src/main/java/com/subsidy/model/ActivityDetectionDO.java
src/main/java/com/subsidy/model/ExerciseDoneResultDO.java
src/main/java/com/subsidy/model/ImageCheckRecordDO.java
src/main/java/com/subsidy/model/MemberDO.java
src/main/java/com/subsidy/model/OprMemDictDO.java
src/main/java/com/subsidy/service/ActivityDetectionService.java
src/main/java/com/subsidy/service/AdministerService.java
src/main/java/com/subsidy/service/CompanyDictService.java
src/main/java/com/subsidy/service/ImageCheckRecordService.java
src/main/java/com/subsidy/service/MemberService.java
src/main/java/com/subsidy/service/impl/ActivityDetectionServiceImpl.java
src/main/java/com/subsidy/service/impl/AdministerServiceImpl.java
src/main/java/com/subsidy/service/impl/CompanyDictServiceImpl.java
src/main/java/com/subsidy/service/impl/ImageCheckRecordServiceImpl.java
src/main/java/com/subsidy/service/impl/MemberServiceImpl.java
src/main/java/com/subsidy/util/ExcelFormatUtils.java
src/main/java/com/subsidy/util/excel/ExcelUtil.java
src/main/java/com/subsidy/vo/administer/ImageCheckDetailVO.java
src/main/java/com/subsidy/vo/administer/MemberDetectionRecordVO.java
src/main/java/com/subsidy/vo/classdict/ClassDetailVO.java
src/main/java/com/subsidy/vo/company/GetCompanyMembersVO.java
src/main/java/com/subsidy/vo/member/CheckStatusVO.java
src/main/java/com/subsidy/vo/member/ClassSignVO.java
src/main/resources/application.properties
src/main/resources/mapper/ActivityDetectionMapper.xml
src/main/resources/mapper/AdministerMapper.xml
src/main/resources/mapper/CompanyDictMapper.xml
src/main/resources/mapper/ExerciseDoneResultMapper.xml
src/main/resources/mapper/ImageCheckRecordMapper.xml
src/main/resources/mapper/MemberMapper.xml
src/main/java/com/subsidy/common/configure/ActivityDetectionConfig.java
0 → 100644
View file @
72047ff
package
com
.
subsidy
.
common
.
configure
;
import
lombok.Data
;
import
org.springframework.boot.context.properties.ConfigurationProperties
;
import
org.springframework.context.annotation.Configuration
;
@Data
@Configuration
@ConfigurationProperties
(
prefix
=
"activity"
)
public
class
ActivityDetectionConfig
{
private
Long
captchaAppId
;
private
String
appSecretKey
;
private
Long
businessId
;
}
src/main/java/com/subsidy/common/interceptor/AuthenticationInterceptor.java
View file @
72047ff
...
@@ -62,6 +62,16 @@ public class AuthenticationInterceptor implements HandlerInterceptor {
...
@@ -62,6 +62,16 @@ public class AuthenticationInterceptor implements HandlerInterceptor {
HandlerMethod
handlerMethod
=
(
HandlerMethod
)
handler
;
HandlerMethod
handlerMethod
=
(
HandlerMethod
)
handler
;
Method
method
=
handlerMethod
.
getMethod
();
Method
method
=
handlerMethod
.
getMethod
();
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
);
}
}
LoginRequired
methodAnnotation
=
method
.
getAnnotation
(
LoginRequired
.
class
);
LoginRequired
methodAnnotation
=
method
.
getAnnotation
(
LoginRequired
.
class
);
if
(
methodAnnotation
!=
null
)
{
if
(
methodAnnotation
!=
null
)
{
String
authorization
=
request
.
getHeader
(
"Authorization"
);
String
authorization
=
request
.
getHeader
(
"Authorization"
);
...
@@ -111,15 +121,6 @@ public class AuthenticationInterceptor implements HandlerInterceptor {
...
@@ -111,15 +121,6 @@ public class AuthenticationInterceptor implements HandlerInterceptor {
}
}
throw
new
HttpException
(
1010
);
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
;
return
true
;
}
}
...
...
src/main/java/com/subsidy/controller/ActivityDetectionController.java
0 → 100644
View file @
72047ff
package
com
.
subsidy
.
controller
;
import
com.subsidy.common.ResponseData
;
import
com.subsidy.common.ResponseVO
;
import
com.subsidy.common.interceptor.TimeRequired
;
import
com.subsidy.dto.detection.VerifyDTO
;
import
com.subsidy.model.ActivityDetectionDO
;
import
com.subsidy.service.ActivityDetectionService
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
io.swagger.annotations.Api
;
import
javax.servlet.http.HttpServletRequest
;
/**
* <p>
* 活跃度检测表 前端控制器
* </p>
*
* @author DengMin
* @since 2022-07-13
*/
@RestController
@Api
(
tags
=
"活跃度检测表"
)
@RequestMapping
(
"/activityDetection"
)
public
class
ActivityDetectionController
{
@Autowired
private
ActivityDetectionService
activityDetectionService
;
@PostMapping
(
"verify"
)
@ApiOperation
(
"验证滑块 ticket randStr memberId classId"
)
@TimeRequired
public
ResponseVO
verify
(
@RequestBody
VerifyDTO
verifyDTO
,
HttpServletRequest
request
){
return
ResponseData
.
generateCreatedResponse
(
0
,
activityDetectionService
.
verify
(
verifyDTO
,
request
));
}
@PostMapping
(
"getCheckHistory"
)
@ApiOperation
(
"获取某个人某个课程的活跃度验证详情 memberId classId"
)
public
ResponseVO
getCheckHistory
(
@RequestBody
ActivityDetectionDO
activityDetectionDO
){
return
ResponseData
.
generateCreatedResponse
(
0
,
activityDetectionService
.
getCheckHistory
(
activityDetectionDO
));
}
}
src/main/java/com/subsidy/controller/AdministerController.java
View file @
72047ff
...
@@ -42,11 +42,11 @@ public class AdministerController {
...
@@ -42,11 +42,11 @@ public class AdministerController {
@Autowired
@Autowired
private
AdministerService
administerService
;
private
AdministerService
administerService
;
@GetMapping
(
"getIp"
)
//
@GetMapping("getIp")
public
String
getIp
()
throws
Exception
{
//
public String getIp()throws Exception{
InetAddress
addr
=
InetAddress
.
getLocalHost
();
//
InetAddress addr = InetAddress.getLocalHost();
return
addr
.
getHostAddress
();
//
return addr.getHostAddress();
}
//
}
@PostMapping
(
"/login"
)
@PostMapping
(
"/login"
)
@ApiOperation
(
"登录接口 accountName password"
)
@ApiOperation
(
"登录接口 accountName password"
)
...
@@ -97,8 +97,8 @@ public class AdministerController {
...
@@ -97,8 +97,8 @@ public class AdministerController {
}
}
@PostMapping
(
"classDetail"
)
@PostMapping
(
"classDetail"
)
@ApiOperation
(
"班级管理--班级成员 id 班级id userName"
)
@ApiOperation
(
"班级管理--班级成员 id 班级id userName
pageSize pageNum
"
)
//
@LoginRequired
@LoginRequired
public
ResponseVO
classDetail
(
@RequestBody
ClassDetailDTO
classDetailDTO
){
public
ResponseVO
classDetail
(
@RequestBody
ClassDetailDTO
classDetailDTO
){
return
ResponseData
.
generateCreatedResponse
(
0
,
administerService
.
classDetail
(
classDetailDTO
));
return
ResponseData
.
generateCreatedResponse
(
0
,
administerService
.
classDetail
(
classDetailDTO
));
}
}
...
@@ -112,7 +112,7 @@ public class AdministerController {
...
@@ -112,7 +112,7 @@ public class AdministerController {
}
}
@PostMapping
(
"signDetail"
)
@PostMapping
(
"signDetail"
)
@ApiOperation
(
"班级管理--注册签到 id 班级id userName"
)
@ApiOperation
(
"班级管理--注册签到 id 班级id userName
pageSize pageNum
"
)
@LoginRequired
@LoginRequired
public
ResponseVO
signDetail
(
@RequestBody
ClassDetailDTO
classDetailDTO
){
public
ResponseVO
signDetail
(
@RequestBody
ClassDetailDTO
classDetailDTO
){
return
ResponseData
.
generateCreatedResponse
(
0
,
administerService
.
signDetail
(
classDetailDTO
));
return
ResponseData
.
generateCreatedResponse
(
0
,
administerService
.
signDetail
(
classDetailDTO
));
...
@@ -127,7 +127,7 @@ public class AdministerController {
...
@@ -127,7 +127,7 @@ public class AdministerController {
}
}
@PostMapping
(
"exerciseTest"
)
@PostMapping
(
"exerciseTest"
)
@ApiOperation
(
"班级管理--测评成绩 id 班级id userName paperId"
)
@ApiOperation
(
"班级管理--测评成绩 id 班级id userName paperId
pageSize pageNum
"
)
@LoginRequired
@LoginRequired
public
ResponseVO
exerciseTest
(
@RequestBody
ClassDetailDTO
classDetailDTO
){
public
ResponseVO
exerciseTest
(
@RequestBody
ClassDetailDTO
classDetailDTO
){
return
ResponseData
.
generateCreatedResponse
(
0
,
administerService
.
exerciseTest
(
classDetailDTO
));
return
ResponseData
.
generateCreatedResponse
(
0
,
administerService
.
exerciseTest
(
classDetailDTO
));
...
@@ -212,6 +212,28 @@ public class AdministerController {
...
@@ -212,6 +212,28 @@ public class AdministerController {
return
ResponseData
.
generateCreatedResponse
(
0
,
administerService
.
memberStudy
(
memberStudyLogDTO
));
return
ResponseData
.
generateCreatedResponse
(
0
,
administerService
.
memberStudy
(
memberStudyLogDTO
));
}
}
@PostMapping
(
"memberDetectionRecord"
)
@ApiOperation
(
"获取某个班级活跃度检测记录 id userName pageSize pageNum "
)
@LoginRequired
public
ResponseVO
memberDetectionRecord
(
@RequestBody
ClassDetailDTO
classDetailDTO
){
return
ResponseData
.
generateCreatedResponse
(
0
,
administerService
.
memberDetectionRecord
(
classDetailDTO
));
}
@PostMapping
(
"exportMemberDetectionRecord"
)
@ApiOperation
(
"获取某个班级活跃度检测记录 id userName "
)
@LoginRequired
public
void
exportMemberDetectionRecord
(
@RequestBody
ClassDetailDTO
classDetailDTO
){
administerService
.
exportMemberDetectionRecord
(
classDetailDTO
);
}
@PostMapping
(
"imageCheckDetail"
)
@ApiOperation
(
"实名制验证详情 id 班级id userName pageSize pageNum"
)
@LoginRequired
public
ResponseVO
imageCheckDetail
(
@RequestBody
ClassDetailDTO
classDetailDTO
){
return
ResponseData
.
generateCreatedResponse
(
0
,
administerService
.
imageCheckDetail
(
classDetailDTO
));
}
@PostMapping
(
"exportZip"
)
@PostMapping
(
"exportZip"
)
@ApiOperation
(
"下载压缩包 id 班级id"
)
@ApiOperation
(
"下载压缩包 id 班级id"
)
@CrossOrigin
@CrossOrigin
...
@@ -235,7 +257,7 @@ public class AdministerController {
...
@@ -235,7 +257,7 @@ public class AdministerController {
}
}
@PostMapping
(
"manageMember"
)
@PostMapping
(
"manageMember"
)
@ApiOperation
(
"用户管理 {pageSize pageNum userName:名字}"
)
@ApiOperation
(
"用户管理 {pageSize pageNum userName:名字
【废弃】
}"
)
@LoginRequired
@LoginRequired
public
ResponseVO
manageMember
(
@RequestBody
ManageMemberDTO
manageMemberDTO
){
public
ResponseVO
manageMember
(
@RequestBody
ManageMemberDTO
manageMemberDTO
){
return
ResponseData
.
generateCreatedResponse
(
0
,
administerService
.
manageMember
(
manageMemberDTO
));
return
ResponseData
.
generateCreatedResponse
(
0
,
administerService
.
manageMember
(
manageMemberDTO
));
...
...
src/main/java/com/subsidy/controller/CompanyDictController.java
View file @
72047ff
...
@@ -6,7 +6,9 @@ import com.subsidy.common.ResponseVO;
...
@@ -6,7 +6,9 @@ import com.subsidy.common.ResponseVO;
import
com.subsidy.common.interceptor.LoginRequired
;
import
com.subsidy.common.interceptor.LoginRequired
;
import
com.subsidy.dto.administer.OperatorsDTO
;
import
com.subsidy.dto.administer.OperatorsDTO
;
import
com.subsidy.dto.company.AddCompanyDTO
;
import
com.subsidy.dto.company.AddCompanyDTO
;
import
com.subsidy.dto.company.GetCompanyMembersDTO
;
import
com.subsidy.model.CompanyDictDO
;
import
com.subsidy.model.CompanyDictDO
;
import
com.subsidy.model.MemberDO
;
import
com.subsidy.service.CompanyDictService
;
import
com.subsidy.service.CompanyDictService
;
import
com.subsidy.util.ConstantUtils
;
import
com.subsidy.util.ConstantUtils
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.Api
;
...
@@ -63,8 +65,16 @@ public class CompanyDictController {
...
@@ -63,8 +65,16 @@ public class CompanyDictController {
@PostMapping
(
"getAllCompany"
)
@PostMapping
(
"getAllCompany"
)
@ApiOperation
(
"获取全部企业 {companyName}"
)
@ApiOperation
(
"获取全部企业 {companyName}"
)
@LoginRequired
public
ResponseVO
getAllCompany
(
@RequestBody
CompanyDictDO
companyDictDO
){
public
ResponseVO
getAllCompany
(
@RequestBody
CompanyDictDO
companyDictDO
){
return
ResponseData
.
generateCreatedResponse
(
0
,
companyDictService
.
getAllCompany
(
companyDictDO
));
return
ResponseData
.
generateCreatedResponse
(
0
,
companyDictService
.
getAllCompany
(
companyDictDO
));
}
}
@PostMapping
(
"getCompanyMembers"
)
@ApiOperation
(
"获取公司里的成员 pageNum pageSize companyId 公司id userName 成员名称"
)
@LoginRequired
public
ResponseVO
getCompanyMembers
(
@RequestBody
GetCompanyMembersDTO
getCompanyMembersDTO
){
return
ResponseData
.
generateCreatedResponse
(
0
,
companyDictService
.
getCompanyMembers
(
getCompanyMembersDTO
));
}
}
}
src/main/java/com/subsidy/controller/ImageCheckRecordController.java
0 → 100644
View file @
72047ff
package
com
.
subsidy
.
controller
;
import
com.subsidy.common.ResponseData
;
import
com.subsidy.common.ResponseVO
;
import
com.subsidy.common.interceptor.LoginRequired
;
import
com.subsidy.model.ImageCheckRecordDO
;
import
com.subsidy.service.ImageCheckRecordService
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
io.swagger.annotations.Api
;
/**
* <p>
* 实名验证记录表 前端控制器
* </p>
*
* @author DengMin
* @since 2022-07-14
*/
@RestController
@Api
(
tags
=
"实名验证记录表"
)
@RequestMapping
(
"/imageCheckRecord"
)
public
class
ImageCheckRecordController
{
@Autowired
private
ImageCheckRecordService
imageCheckRecordService
;
@PostMapping
(
"getImageCheckHistory"
)
@ApiOperation
(
"获取某人某个班级的验证历史 memberId classId "
)
@LoginRequired
public
ResponseVO
getImageCheckHistory
(
@RequestBody
ImageCheckRecordDO
imageCheckRecordDO
){
return
ResponseData
.
generateCreatedResponse
(
0
,
imageCheckRecordService
.
getImageCheckHistory
(
imageCheckRecordDO
));
}
}
src/main/java/com/subsidy/controller/MemberController.java
View file @
72047ff
...
@@ -63,14 +63,12 @@ public class MemberController {
...
@@ -63,14 +63,12 @@ public class MemberController {
@PostMapping
(
value
=
"/login"
)
@PostMapping
(
value
=
"/login"
)
@ApiOperation
(
"手机端:登录:telephone/手机号, verifyCode/验证码"
)
@ApiOperation
(
"手机端:登录:telephone/手机号, verifyCode/验证码"
)
@TimeRequired
public
ResponseVO
login
(
@RequestBody
VerifyCodeDTO
verifyCodeDTO
)
{
public
ResponseVO
login
(
@RequestBody
VerifyCodeDTO
verifyCodeDTO
)
{
return
ResponseData
.
generateCreatedResponse
(
0
,
memberService
.
login
(
verifyCodeDTO
));
return
ResponseData
.
generateCreatedResponse
(
0
,
memberService
.
login
(
verifyCodeDTO
));
}
}
@PostMapping
(
"passwordLogin"
)
@PostMapping
(
"passwordLogin"
)
@ApiOperation
(
"手机端:密码登录 { companyId accountName password}"
)
@ApiOperation
(
"手机端:密码登录 { companyId accountName password}"
)
@TimeRequired
public
ResponseVO
passwordLogin
(
@RequestBody
PasswordLoginDTO
passwordLoginDTO
){
public
ResponseVO
passwordLogin
(
@RequestBody
PasswordLoginDTO
passwordLoginDTO
){
return
ResponseData
.
generateCreatedResponse
(
0
,
memberService
.
passwordLogin
(
passwordLoginDTO
));
return
ResponseData
.
generateCreatedResponse
(
0
,
memberService
.
passwordLogin
(
passwordLoginDTO
));
}
}
...
@@ -89,6 +87,12 @@ public class MemberController {
...
@@ -89,6 +87,12 @@ public class MemberController {
return
ResponseData
.
generateCreatedResponse
(
0
,
memberService
.
kunchiLogin
(
qingxuetangLoginDTO
));
return
ResponseData
.
generateCreatedResponse
(
0
,
memberService
.
kunchiLogin
(
qingxuetangLoginDTO
));
}
}
@PostMapping
(
"checkStatus"
)
@ApiOperation
(
"实名制验证状态 memberId"
)
@TimeRequired
public
ResponseVO
checkStatus
(
@RequestBody
MemberDO
memberDO
){
return
ResponseData
.
generateCreatedResponse
(
0
,
memberService
.
checkStatus
(
memberDO
));
}
@PostMapping
(
"updatePassword"
)
@PostMapping
(
"updatePassword"
)
@ApiOperation
(
"修改密码 {id password}"
)
@ApiOperation
(
"修改密码 {id password}"
)
...
@@ -98,10 +102,17 @@ public class MemberController {
...
@@ -98,10 +102,17 @@ public class MemberController {
return
ResponseData
.
generateCreatedResponse
(
0
,
memberService
.
updatePassword
(
memberDO
));
return
ResponseData
.
generateCreatedResponse
(
0
,
memberService
.
updatePassword
(
memberDO
));
}
}
@PostMapping
(
"studyPage"
)
@PostMapping
(
"updateCheckImage"
)
@ApiOperation
(
"[废弃]手机端:学习主页 id 学员id"
)
@ApiOperation
(
"上传采集照片 id checkImage"
)
public
ResponseVO
studyPage
(
@RequestBody
MemberDO
memberDO
){
@TimeRequired
return
ResponseData
.
generateCreatedResponse
(
0
,
memberService
.
studyPage
(
memberDO
));
public
ResponseVO
updateCheckImage
(
@RequestBody
MemberDO
memberDO
){
return
ResponseData
.
generateCreatedResponse
(
0
,
memberService
.
updateCheckImage
(
memberDO
));
}
@PostMapping
(
"removeCheckImage"
)
@ApiOperation
(
"清除采集照片 id "
)
public
ResponseVO
removeCheckImage
(
@RequestBody
MemberDO
memberDO
){
return
ResponseData
.
generateCreatedResponse
(
0
,
memberService
.
removeCheckImage
(
memberDO
));
}
}
@PostMapping
(
"myCourses"
)
@PostMapping
(
"myCourses"
)
...
...
src/main/java/com/subsidy/dto/company/GetCompanyMembersDTO.java
0 → 100644
View file @
72047ff
package
com
.
subsidy
.
dto
.
company
;
import
lombok.Data
;
@Data
public
class
GetCompanyMembersDTO
{
private
Integer
pageSize
;
private
Integer
pageNum
;
private
Long
companyId
;
private
String
userName
;
}
src/main/java/com/subsidy/dto/detection/VerifyDTO.java
0 → 100644
View file @
72047ff
package
com
.
subsidy
.
dto
.
detection
;
import
lombok.Data
;
@Data
public
class
VerifyDTO
{
private
String
ticket
;
private
String
userIp
;
private
String
randStr
;
private
Long
memberId
;
private
Long
classId
;
}
src/main/java/com/subsidy/mapper/ActivityDetectionMapper.java
0 → 100644
View file @
72047ff
package
com
.
subsidy
.
mapper
;
import
com.subsidy.model.ActivityDetectionDO
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
org.springframework.stereotype.Repository
;
/**
* <p>
* 活跃度检测表 Mapper 接口
* </p>
*
* @author DengMin
* @since 2022-07-13
*/
@Repository
public
interface
ActivityDetectionMapper
extends
BaseMapper
<
ActivityDetectionDO
>
{
}
src/main/java/com/subsidy/mapper/AdministerMapper.java
View file @
72047ff
...
@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
...
@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.subsidy.model.AdministerDO
;
import
com.subsidy.model.AdministerDO
;
import
com.subsidy.vo.administer.ExerciseTestVO
;
import
com.subsidy.vo.administer.ExerciseTestVO
;
import
com.subsidy.vo.administer.ImageCheckDetailVO
;
import
com.subsidy.vo.administer.MemberDetectionRecordVO
;
import
com.subsidy.vo.administer.PermissionsVO
;
import
com.subsidy.vo.administer.PermissionsVO
;
import
com.subsidy.vo.classdict.ClassDetailVO
;
import
com.subsidy.vo.classdict.ClassDetailVO
;
import
com.subsidy.vo.member.ClassSignVO
;
import
com.subsidy.vo.member.ClassSignVO
;
...
@@ -45,5 +47,14 @@ public interface AdministerMapper extends BaseMapper<AdministerDO> {
...
@@ -45,5 +47,14 @@ public interface AdministerMapper extends BaseMapper<AdministerDO> {
*/
*/
IPage
<
AnswerRecordVO
>
answerRecord
(
IPage
iPage
,
Long
classId
,
String
userName
);
IPage
<
AnswerRecordVO
>
answerRecord
(
IPage
iPage
,
Long
classId
,
String
userName
);
/**
* 活跃度检测
*/
IPage
<
MemberDetectionRecordVO
>
classActivityDetection
(
IPage
iPage
,
Long
classId
,
String
userName
);
/**
* 实名验证
*/
IPage
<
ImageCheckDetailVO
>
imageCheckDetail
(
IPage
iPage
,
Long
classId
,
String
userName
);
}
}
src/main/java/com/subsidy/mapper/CompanyDictMapper.java
View file @
72047ff
...
@@ -3,8 +3,10 @@ package com.subsidy.mapper;
...
@@ -3,8 +3,10 @@ package com.subsidy.mapper;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.subsidy.model.CompanyDictDO
;
import
com.subsidy.model.CompanyDictDO
;
import
com.subsidy.model.MemberDO
;
import
com.subsidy.vo.administer.OperatorsVO
;
import
com.subsidy.vo.administer.OperatorsVO
;
import
com.subsidy.vo.company.GetAllCompanyVO
;
import
com.subsidy.vo.company.GetAllCompanyVO
;
import
com.subsidy.vo.company.GetCompanyMembersVO
;
import
org.springframework.stereotype.Repository
;
import
org.springframework.stereotype.Repository
;
import
java.util.List
;
import
java.util.List
;
...
@@ -22,13 +24,20 @@ public interface CompanyDictMapper extends BaseMapper<CompanyDictDO> {
...
@@ -22,13 +24,20 @@ public interface CompanyDictMapper extends BaseMapper<CompanyDictDO> {
/**
/**
* 企业管理--查找所有主账号 、运营者
* 企业管理--查找所有主账号 、运营者
*
* @return
* @return
*/
*/
IPage
<
OperatorsVO
>
operators
(
IPage
page
,
String
companyName
,
Long
fieldId
,
Long
id
,
Integer
role
,
String
superviseName
);
IPage
<
OperatorsVO
>
operators
(
IPage
page
,
String
companyName
,
Long
fieldId
,
Long
id
,
Integer
role
,
String
superviseName
);
/**
/**
* 查找所有的公司名称
* 查找所有的公司名称
*/
*/
List
<
GetAllCompanyVO
>
getAllCompany
(
CompanyDictDO
companyDictDO
);
List
<
GetAllCompanyVO
>
getAllCompany
(
CompanyDictDO
companyDictDO
);
/**
* 查看某个公司的学生
*/
IPage
<
GetCompanyMembersVO
>
getCompanyMembers
(
IPage
page
,
Long
companyId
,
String
userName
);
}
}
src/main/java/com/subsidy/mapper/ImageCheckRecordMapper.java
0 → 100644
View file @
72047ff
package
com
.
subsidy
.
mapper
;
import
com.subsidy.model.ImageCheckRecordDO
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
org.springframework.stereotype.Repository
;
/**
* <p>
* 实名验证记录表 Mapper 接口
* </p>
*
* @author DengMin
* @since 2022-07-14
*/
@Repository
public
interface
ImageCheckRecordMapper
extends
BaseMapper
<
ImageCheckRecordDO
>
{
}
src/main/java/com/subsidy/mapper/MemberMapper.java
View file @
72047ff
...
@@ -70,4 +70,11 @@ public interface MemberMapper extends BaseMapper<MemberDO> {
...
@@ -70,4 +70,11 @@ public interface MemberMapper extends BaseMapper<MemberDO> {
List
<
MemberDO
>
getMemberListBySignInRecord
(
Long
classId
);
List
<
MemberDO
>
getMemberListBySignInRecord
(
Long
classId
);
List
<
MemberDO
>
getUnfinishedMemberList
(
Long
classId
);
List
<
MemberDO
>
getUnfinishedMemberList
(
Long
classId
);
/**
* 清除采集照片
*/
void
removeCheckImage
(
Long
id
);
}
}
src/main/java/com/subsidy/model/ActivityDetectionDO.java
0 → 100644
View file @
72047ff
package
com
.
subsidy
.
model
;
import
com.subsidy.util.BaseModel
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
/**
* <p>
* 活跃度检测表
* </p>
*
* @author DengMin
* @since 2022-07-13
*/
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
@TableName
(
"activity_detection"
)
public
class
ActivityDetectionDO
extends
BaseModel
{
private
static
final
long
serialVersionUID
=
1L
;
@TableId
(
value
=
"id"
,
type
=
IdType
.
AUTO
)
private
Long
id
;
/**
* 班级id
*/
private
Long
classId
;
/**
* 人员id
*/
private
Long
memberId
;
/**
* 成功/失败
*/
private
Integer
status
;
/**
* RequestId
*/
private
String
requestId
;
}
src/main/java/com/subsidy/model/ExerciseDoneResultDO.java
View file @
72047ff
...
@@ -66,6 +66,9 @@ public class ExerciseDoneResultDO extends BaseModel {
...
@@ -66,6 +66,9 @@ public class ExerciseDoneResultDO extends BaseModel {
*/
*/
private
String
result
;
private
String
result
;
/**
* 做题时长
*/
private
Integer
length
;
private
Integer
length
;
}
}
src/main/java/com/subsidy/model/ImageCheckRecordDO.java
0 → 100644
View file @
72047ff
package
com
.
subsidy
.
model
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.subsidy.util.BaseModel
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
/**
* <p>
* 实名验证记录表
* </p>
*
* @author DengMin
* @since 2022-07-14
*/
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
@TableName
(
"image_check_record"
)
public
class
ImageCheckRecordDO
extends
BaseModel
{
private
static
final
long
serialVersionUID
=
1L
;
@TableId
(
value
=
"id"
,
type
=
IdType
.
AUTO
)
private
Long
id
;
/**
* 班级id
*/
private
Long
classId
;
/**
* 试卷id
*/
private
Long
paperId
;
/**
* 成员id
*/
private
Long
memberId
;
private
String
requestId
;
/**
* 图片地址
*/
private
String
imageUrl
;
}
src/main/java/com/subsidy/model/MemberDO.java
View file @
72047ff
...
@@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.annotation.TableId;
...
@@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.annotation.TableId;
import
lombok.Data
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.EqualsAndHashCode
;
import
java.time.LocalDateTime
;
import
java.util.Date
;
import
java.util.Date
;
/**
/**
...
@@ -85,6 +86,16 @@ public class MemberDO extends BaseModel {
...
@@ -85,6 +86,16 @@ public class MemberDO extends BaseModel {
private
String
image
;
private
String
image
;
/**
/**
* 人脸核验--照片
*/
private
String
checkImage
;
/**
* 采集时间
*/
private
LocalDateTime
checkTime
;
/**
* 身份证号
* 身份证号
*/
*/
private
String
idCard
;
private
String
idCard
;
...
...
src/main/java/com/subsidy/model/OprMemDictDO.java
View file @
72047ff
...
@@ -37,4 +37,9 @@ public class OprMemDictDO extends BaseModel {
...
@@ -37,4 +37,9 @@ public class OprMemDictDO extends BaseModel {
*/
*/
private
Integer
result
;
private
Integer
result
;
/**
* 登录ip
*/
private
String
ipAddress
;
}
}
src/main/java/com/subsidy/service/ActivityDetectionService.java
0 → 100644
View file @
72047ff
package
com
.
subsidy
.
service
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.subsidy.dto.detection.VerifyDTO
;
import
com.subsidy.model.ActivityDetectionDO
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
javax.servlet.http.HttpServletRequest
;
import
java.util.List
;
/**
* <p>
* 活跃度检测表 服务类
* </p>
*
* @author DengMin
* @since 2022-07-13
*/
public
interface
ActivityDetectionService
extends
IService
<
ActivityDetectionDO
>
{
String
verify
(
VerifyDTO
verifyDTO
,
HttpServletRequest
request
);
IPage
<
ActivityDetectionDO
>
getCheckHistory
(
ActivityDetectionDO
activityDetectionDO
);
}
src/main/java/com/subsidy/service/AdministerService.java
View file @
72047ff
...
@@ -68,6 +68,12 @@ public interface AdministerService extends IService<AdministerDO> {
...
@@ -68,6 +68,12 @@ public interface AdministerService extends IService<AdministerDO> {
void
exportClassVodDailyInfo
(
ClassVodDailyInfoDTO
classVodDailyInfoDTO
);
void
exportClassVodDailyInfo
(
ClassVodDailyInfoDTO
classVodDailyInfoDTO
);
IPage
memberDetectionRecord
(
ClassDetailDTO
classDetailDTO
);
void
exportMemberDetectionRecord
(
ClassDetailDTO
classDetailDTO
);
IPage
<
ImageCheckDetailVO
>
imageCheckDetail
(
ClassDetailDTO
classDetailDTO
);
void
export
(
ClassDetailDTO
classDetailDTO
)
throws
Exception
;
void
export
(
ClassDetailDTO
classDetailDTO
)
throws
Exception
;
IPage
memberStudy
(
MemberStudyLogDTO
memberStudyLogDTO
);
IPage
memberStudy
(
MemberStudyLogDTO
memberStudyLogDTO
);
...
...
src/main/java/com/subsidy/service/CompanyDictService.java
View file @
72047ff
...
@@ -4,9 +4,12 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
...
@@ -4,9 +4,12 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.subsidy.dto.administer.OperatorsDTO
;
import
com.subsidy.dto.administer.OperatorsDTO
;
import
com.subsidy.dto.company.AddCompanyDTO
;
import
com.subsidy.dto.company.AddCompanyDTO
;
import
com.subsidy.dto.company.GetCompanyMembersDTO
;
import
com.subsidy.model.CompanyDictDO
;
import
com.subsidy.model.CompanyDictDO
;
import
com.subsidy.model.MemberDO
;
import
com.subsidy.vo.administer.OperatorsVO
;
import
com.subsidy.vo.administer.OperatorsVO
;
import
com.subsidy.vo.company.GetAllCompanyVO
;
import
com.subsidy.vo.company.GetAllCompanyVO
;
import
com.subsidy.vo.company.GetCompanyMembersVO
;
import
java.util.List
;
import
java.util.List
;
...
@@ -30,4 +33,6 @@ public interface CompanyDictService extends IService<CompanyDictDO> {
...
@@ -30,4 +33,6 @@ public interface CompanyDictService extends IService<CompanyDictDO> {
List
<
GetAllCompanyVO
>
getAllCompany
(
CompanyDictDO
companyDictDO
);
List
<
GetAllCompanyVO
>
getAllCompany
(
CompanyDictDO
companyDictDO
);
IPage
<
GetCompanyMembersVO
>
getCompanyMembers
(
GetCompanyMembersDTO
getCompanyMembersDTO
);
}
}
src/main/java/com/subsidy/service/ImageCheckRecordService.java
0 → 100644
View file @
72047ff
package
com
.
subsidy
.
service
;
import
com.subsidy.model.ImageCheckRecordDO
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
java.util.List
;
/**
* <p>
* 实名验证记录表 服务类
* </p>
*
* @author DengMin
* @since 2022-07-14
*/
public
interface
ImageCheckRecordService
extends
IService
<
ImageCheckRecordDO
>
{
List
<
ImageCheckRecordDO
>
getImageCheckHistory
(
ImageCheckRecordDO
imageCheckRecordDO
);
}
src/main/java/com/subsidy/service/MemberService.java
View file @
72047ff
...
@@ -39,9 +39,13 @@ public interface MemberService extends IService<MemberDO> {
...
@@ -39,9 +39,13 @@ public interface MemberService extends IService<MemberDO> {
UserRoleVO
kunchiLogin
(
QingxuetangLoginDTO
qingxuetangLoginDTO
);
UserRoleVO
kunchiLogin
(
QingxuetangLoginDTO
qingxuetangLoginDTO
);
CheckStatusVO
checkStatus
(
MemberDO
memberDO
);
String
updatePassword
(
MemberDO
memberDO
);
String
updatePassword
(
MemberDO
memberDO
);
MemberStudyPageVO
studyPage
(
MemberDO
memberDO
);
String
updateCheckImage
(
MemberDO
memberDO
);
String
removeCheckImage
(
MemberDO
memberDO
);
List
<
MyCoursesVO
>
myCourses
(
MyCoursesDTO
myCoursesDTO
);
List
<
MyCoursesVO
>
myCourses
(
MyCoursesDTO
myCoursesDTO
);
...
...
src/main/java/com/subsidy/service/impl/ActivityDetectionServiceImpl.java
0 → 100644
View file @
72047ff
package
com
.
subsidy
.
service
.
impl
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.subsidy.common.configure.ActivityDetectionConfig
;
import
com.subsidy.common.configure.VODConfig
;
import
com.subsidy.common.configure.WechatConfig
;
import
com.subsidy.dto.detection.VerifyDTO
;
import
com.subsidy.model.ActivityDetectionDO
;
import
com.subsidy.mapper.ActivityDetectionMapper
;
import
com.subsidy.service.ActivityDetectionService
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.subsidy.util.ConstantUtils
;
import
com.tencentcloudapi.captcha.v20190722.CaptchaClient
;
import
com.tencentcloudapi.captcha.v20190722.models.DescribeCaptchaResultRequest
;
import
com.tencentcloudapi.captcha.v20190722.models.DescribeCaptchaResultResponse
;
import
com.tencentcloudapi.common.Credential
;
import
com.tencentcloudapi.common.exception.TencentCloudSDKException
;
import
com.tencentcloudapi.common.profile.ClientProfile
;
import
com.tencentcloudapi.common.profile.HttpProfile
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
javax.servlet.http.HttpServletRequest
;
/**
* <p>
* 活跃度检测表 服务实现类
* </p>
*
* @author DengMin
* @since 2022-07-13
*/
@Service
public
class
ActivityDetectionServiceImpl
extends
ServiceImpl
<
ActivityDetectionMapper
,
ActivityDetectionDO
>
implements
ActivityDetectionService
{
@Autowired
private
ActivityDetectionConfig
activityDetectionConfig
;
@Autowired
private
VODConfig
vodConfig
;
public
String
verify
(
VerifyDTO
verifyDTO
,
HttpServletRequest
request
){
try
{
// 实例化一个认证对象,入参需要传入腾讯云账户secretId,secretKey,此处还需注意密钥对的保密
// 密钥可前往https://console.cloud.tencent.com/cam/capi网站进行获取
Credential
cred
=
new
Credential
(
vodConfig
.
getSecretId
(),
vodConfig
.
getSecretKey
());
// 实例化一个http选项,可选的,没有特殊需求可以跳过
HttpProfile
httpProfile
=
new
HttpProfile
();
httpProfile
.
setEndpoint
(
"captcha.tencentcloudapi.com"
);
// 实例化一个client选项,可选的,没有特殊需求可以跳过
ClientProfile
clientProfile
=
new
ClientProfile
();
clientProfile
.
setHttpProfile
(
httpProfile
);
// 实例化要请求产品的client对象,clientProfile是可选的
CaptchaClient
client
=
new
CaptchaClient
(
cred
,
""
,
clientProfile
);
// 实例化一个请求对象,每个接口都会对应一个request对象
DescribeCaptchaResultRequest
req
=
new
DescribeCaptchaResultRequest
();
req
.
setCaptchaType
(
9L
);
req
.
setTicket
(
verifyDTO
.
getTicket
());
// String ip = request.getHeader("x-forwarded-for");
String
ip
=
request
.
getHeader
(
" x-forwarded-for "
);
if
(
ip
==
null
||
ip
.
length
()
==
0
||
" unknown "
.
equalsIgnoreCase
(
ip
))
{
ip
=
request
.
getHeader
(
" Proxy-Client-IP "
);
}
if
(
ip
==
null
||
ip
.
length
()
==
0
||
" unknown "
.
equalsIgnoreCase
(
ip
))
{
ip
=
request
.
getHeader
(
" WL-Proxy-Client-IP "
);
}
if
(
ip
==
null
||
ip
.
length
()
==
0
||
" unknown "
.
equalsIgnoreCase
(
ip
))
{
ip
=
request
.
getRemoteAddr
();
}
req
.
setUserIp
(
ip
);
req
.
setRandstr
(
verifyDTO
.
getRandStr
());
req
.
setCaptchaAppId
(
activityDetectionConfig
.
getCaptchaAppId
());
req
.
setAppSecretKey
(
activityDetectionConfig
.
getAppSecretKey
());
req
.
setBusinessId
(
activityDetectionConfig
.
getBusinessId
());
// 返回的resp是一个DescribeCaptchaResultResponse的实例,与请求对象对应
DescribeCaptchaResultResponse
resp
=
client
.
DescribeCaptchaResult
(
req
);
// 输出json格式的字符串回包
System
.
out
.
println
(
DescribeCaptchaResultResponse
.
toJsonString
(
resp
));
ActivityDetectionDO
activityDetectionDO
=
new
ActivityDetectionDO
();
activityDetectionDO
.
setClassId
(
verifyDTO
.
getClassId
());
activityDetectionDO
.
setMemberId
(
verifyDTO
.
getMemberId
());
activityDetectionDO
.
setRequestId
(
resp
.
getRequestId
());
if
(
resp
.
getCaptchaCode
()==
1
){
activityDetectionDO
.
setStatus
(
1
);
this
.
baseMapper
.
insert
(
activityDetectionDO
);
return
ConstantUtils
.
SUCCESS_VERIFY
;
}
else
{
activityDetectionDO
.
setStatus
(
0
);
this
.
baseMapper
.
insert
(
activityDetectionDO
);
return
ConstantUtils
.
FAIL_VERIFY
;
}
}
catch
(
TencentCloudSDKException
e
)
{
System
.
out
.
println
(
e
.
toString
());
}
return
null
;
}
public
IPage
<
ActivityDetectionDO
>
getCheckHistory
(
ActivityDetectionDO
activityDetectionDO
){
return
null
;
}
}
src/main/java/com/subsidy/service/impl/AdministerServiceImpl.java
View file @
72047ff
...
@@ -54,19 +54,7 @@ import com.subsidy.util.JwtUtil;
...
@@ -54,19 +54,7 @@ import com.subsidy.util.JwtUtil;
import
com.subsidy.util.Localstorage
;
import
com.subsidy.util.Localstorage
;
import
com.subsidy.util.MathUtil
;
import
com.subsidy.util.MathUtil
;
import
com.subsidy.util.excel.ExcelUtil
;
import
com.subsidy.util.excel.ExcelUtil
;
import
com.subsidy.vo.administer.AdministerPermissionVO
;
import
com.subsidy.vo.administer.*
;
import
com.subsidy.vo.administer.ClassDailyInfoVO
;
import
com.subsidy.vo.administer.ClassSummaryVO
;
import
com.subsidy.vo.administer.ClassVodDailyInfoItemVO
;
import
com.subsidy.vo.administer.ClassVodInfoVO
;
import
com.subsidy.vo.administer.ExerciseTestVO
;
import
com.subsidy.vo.administer.GetMemberPapersVO
;
import
com.subsidy.vo.administer.GetPaperDetailVO
;
import
com.subsidy.vo.administer.LoginVO
;
import
com.subsidy.vo.administer.ManageMemberVO
;
import
com.subsidy.vo.administer.MemberStudyLogVO
;
import
com.subsidy.vo.administer.OperatorsVO
;
import
com.subsidy.vo.administer.PermissionsVO
;
import
com.subsidy.vo.classdict.ClassDetailVO
;
import
com.subsidy.vo.classdict.ClassDetailVO
;
import
com.subsidy.vo.done.GetMaxScoreVO
;
import
com.subsidy.vo.done.GetMaxScoreVO
;
import
com.subsidy.vo.done.TestScoreInfoVO
;
import
com.subsidy.vo.done.TestScoreInfoVO
;
...
@@ -324,8 +312,8 @@ public class AdministerServiceImpl extends ServiceImpl<AdministerMapper, Adminis
...
@@ -324,8 +312,8 @@ public class AdministerServiceImpl extends ServiceImpl<AdministerMapper, Adminis
administerPermissionVO
.
setPermissions
(
treeList
);
administerPermissionVO
.
setPermissions
(
treeList
);
//查询角色
//查询角色
RoleAdministerMappingDO
roleAdministerMappingDO
=
roleAdministerMappingMapper
.
selectOne
(
new
QueryWrapper
<
RoleAdministerMappingDO
>()
RoleAdministerMappingDO
roleAdministerMappingDO
=
roleAdministerMappingMapper
.
selectOne
(
new
QueryWrapper
<
RoleAdministerMappingDO
>()
.
lambda
()
.
lambda
()
.
eq
(
RoleAdministerMappingDO:
:
getAdministerId
,
administerDO
.
getId
()));
.
eq
(
RoleAdministerMappingDO:
:
getAdministerId
,
administerDO
.
getId
()));
administerPermissionVO
.
setRole
(
roleAdministerMappingDO
.
getRoleId
());
administerPermissionVO
.
setRole
(
roleAdministerMappingDO
.
getRoleId
());
return
administerPermissionVO
;
return
administerPermissionVO
;
}
}
...
@@ -333,7 +321,7 @@ public class AdministerServiceImpl extends ServiceImpl<AdministerMapper, Adminis
...
@@ -333,7 +321,7 @@ public class AdministerServiceImpl extends ServiceImpl<AdministerMapper, Adminis
public
IPage
<
OperatorsVO
>
operators
(
OperatorsDTO
operatorsDTO
)
{
public
IPage
<
OperatorsVO
>
operators
(
OperatorsDTO
operatorsDTO
)
{
Page
pager
=
new
Page
(
operatorsDTO
.
getPageNum
(),
operatorsDTO
.
getPageSize
());
Page
pager
=
new
Page
(
operatorsDTO
.
getPageNum
(),
operatorsDTO
.
getPageSize
());
IPage
<
OperatorsVO
>
operatorsVOIPage
=
companyDictMapper
.
operators
(
pager
,
operatorsDTO
.
getCompanyName
(),
operatorsDTO
.
getFieldId
(),
null
,
1
,
null
);
IPage
<
OperatorsVO
>
operatorsVOIPage
=
companyDictMapper
.
operators
(
pager
,
operatorsDTO
.
getCompanyName
(),
operatorsDTO
.
getFieldId
(),
null
,
1
,
null
);
List
<
OperatorsVO
>
operatorsVOS
=
operatorsVOIPage
.
getRecords
();
List
<
OperatorsVO
>
operatorsVOS
=
operatorsVOIPage
.
getRecords
();
for
(
OperatorsVO
operatorsVO
:
operatorsVOS
)
{
for
(
OperatorsVO
operatorsVO
:
operatorsVOS
)
{
...
@@ -432,7 +420,7 @@ public class AdministerServiceImpl extends ServiceImpl<AdministerMapper, Adminis
...
@@ -432,7 +420,7 @@ public class AdministerServiceImpl extends ServiceImpl<AdministerMapper, Adminis
//视频
//视频
int
i
=
0
;
int
i
=
0
;
for
(
VodDictDO
vodDictDO
:
vodDictDOS
)
{
for
(
VodDictDO
vodDictDO
:
vodDictDOS
)
{
int
totalPlayLength
=
vodPlayHistoryMapper
.
memberVodTotalLength
(
classDetailDTO
.
getId
(),
classMemberMappingDO
.
getMemberId
(),
vodDictDO
.
getId
());
int
totalPlayLength
=
vodPlayHistoryMapper
.
memberVodTotalLength
(
classDetailDTO
.
getId
(),
classMemberMappingDO
.
getMemberId
(),
vodDictDO
.
getId
());
if
(
totalPlayLength
>=
vodDictDO
.
getVodLength
())
{
if
(
totalPlayLength
>=
vodDictDO
.
getVodLength
())
{
i
++;
i
++;
}
}
...
@@ -483,7 +471,7 @@ public class AdministerServiceImpl extends ServiceImpl<AdministerMapper, Adminis
...
@@ -483,7 +471,7 @@ public class AdministerServiceImpl extends ServiceImpl<AdministerMapper, Adminis
int
playLength
=
0
;
int
playLength
=
0
;
//该成员完成了几个视频
//该成员完成了几个视频
for
(
VodDictDO
vodDictDO
:
vodDictDOS
)
{
for
(
VodDictDO
vodDictDO
:
vodDictDOS
)
{
int
totalPlayLength
=
vodPlayHistoryMapper
.
memberVodTotalLength
(
classDetailDTO
.
getId
(),
classDetailVO
.
getId
(),
vodDictDO
.
getId
());
int
totalPlayLength
=
vodPlayHistoryMapper
.
memberVodTotalLength
(
classDetailDTO
.
getId
(),
classDetailVO
.
getId
(),
vodDictDO
.
getId
());
if
(
totalPlayLength
>=
vodDictDO
.
getVodLength
())
{
if
(
totalPlayLength
>=
vodDictDO
.
getVodLength
())
{
i
++;
i
++;
}
}
...
@@ -554,7 +542,7 @@ public class AdministerServiceImpl extends ServiceImpl<AdministerMapper, Adminis
...
@@ -554,7 +542,7 @@ public class AdministerServiceImpl extends ServiceImpl<AdministerMapper, Adminis
int
playLength
=
0
;
int
playLength
=
0
;
//该成员完成了几个视频
//该成员完成了几个视频
for
(
VodDictDO
vodDictDO
:
vodDictDOS
)
{
for
(
VodDictDO
vodDictDO
:
vodDictDOS
)
{
int
totalPlayLength
=
vodPlayHistoryMapper
.
memberVodTotalLength
(
classDetailDTO
.
getId
(),
classDetailVO
.
getId
(),
vodDictDO
.
getId
());
int
totalPlayLength
=
vodPlayHistoryMapper
.
memberVodTotalLength
(
classDetailDTO
.
getId
(),
classDetailVO
.
getId
(),
vodDictDO
.
getId
());
if
(
totalPlayLength
>=
vodDictDO
.
getVodLength
())
{
if
(
totalPlayLength
>=
vodDictDO
.
getVodLength
())
{
i
++;
i
++;
}
}
...
@@ -589,9 +577,12 @@ public class AdministerServiceImpl extends ServiceImpl<AdministerMapper, Adminis
...
@@ -589,9 +577,12 @@ public class AdministerServiceImpl extends ServiceImpl<AdministerMapper, Adminis
classDetailVO
.
setScore
(
stringBuilder
.
toString
());
classDetailVO
.
setScore
(
stringBuilder
.
toString
());
//培训时长
//培训时长
小时
classDetailVO
.
setTrainingLengthStr
(
MathUtil
.
secToTime
(
playLength
));
classDetailVO
.
setTrainingLengthStr
(
MathUtil
.
secToTime
(
playLength
));
//培训时长 分钟
classDetailVO
.
setTrainingLengthMinute
(
Math
.
floorDiv
(
playLength
,
60
)
+
""
);
//答疑
//答疑
Integer
count
=
answeringQuestionMapper
.
selectCount
(
new
QueryWrapper
<
AnsweringQuestionDO
>()
Integer
count
=
answeringQuestionMapper
.
selectCount
(
new
QueryWrapper
<
AnsweringQuestionDO
>()
.
lambda
()
.
lambda
()
...
@@ -635,7 +626,7 @@ public class AdministerServiceImpl extends ServiceImpl<AdministerMapper, Adminis
...
@@ -635,7 +626,7 @@ public class AdministerServiceImpl extends ServiceImpl<AdministerMapper, Adminis
int
playLength
=
0
;
int
playLength
=
0
;
//该成员完成了几个视频
//该成员完成了几个视频
for
(
VodDictDO
vodDictDO
:
vodDictDOS
)
{
for
(
VodDictDO
vodDictDO
:
vodDictDOS
)
{
int
totalPlayLength
=
vodPlayHistoryMapper
.
memberVodTotalLength
(
classDetailDTO
.
getId
(),
classSignVO
.
getId
(),
vodDictDO
.
getId
());
int
totalPlayLength
=
vodPlayHistoryMapper
.
memberVodTotalLength
(
classDetailDTO
.
getId
(),
classSignVO
.
getId
(),
vodDictDO
.
getId
());
if
(
totalPlayLength
>=
vodDictDO
.
getVodLength
())
{
if
(
totalPlayLength
>=
vodDictDO
.
getVodLength
())
{
i
++;
i
++;
}
}
...
@@ -694,7 +685,7 @@ public class AdministerServiceImpl extends ServiceImpl<AdministerMapper, Adminis
...
@@ -694,7 +685,7 @@ public class AdministerServiceImpl extends ServiceImpl<AdministerMapper, Adminis
int
playLength
=
0
;
int
playLength
=
0
;
//该成员完成了几个视频
//该成员完成了几个视频
for
(
VodDictDO
vodDictDO
:
vodDictDOS
)
{
for
(
VodDictDO
vodDictDO
:
vodDictDOS
)
{
int
totalPlayLength
=
vodPlayHistoryMapper
.
memberVodTotalLength
(
classDetailDTO
.
getId
(),
classSignVO
.
getId
(),
vodDictDO
.
getId
());
int
totalPlayLength
=
vodPlayHistoryMapper
.
memberVodTotalLength
(
classDetailDTO
.
getId
(),
classSignVO
.
getId
(),
vodDictDO
.
getId
());
if
(
totalPlayLength
>=
vodDictDO
.
getVodLength
())
{
if
(
totalPlayLength
>=
vodDictDO
.
getVodLength
())
{
i
++;
i
++;
}
}
...
@@ -706,9 +697,12 @@ public class AdministerServiceImpl extends ServiceImpl<AdministerMapper, Adminis
...
@@ -706,9 +697,12 @@ public class AdministerServiceImpl extends ServiceImpl<AdministerMapper, Adminis
String
percent
=
MathUtil
.
getPercentAvgIndexWithPercent
(
new
BigDecimal
(
i
),
new
BigDecimal
(
vodDictDOS
.
size
()));
String
percent
=
MathUtil
.
getPercentAvgIndexWithPercent
(
new
BigDecimal
(
i
),
new
BigDecimal
(
vodDictDOS
.
size
()));
classSignVO
.
setPercent
(
percent
);
classSignVO
.
setPercent
(
percent
);
//培训时长
//培训时长
小时
classSignVO
.
setTrainingLengthStr
(
MathUtil
.
secToTime
(
playLength
));
classSignVO
.
setTrainingLengthStr
(
MathUtil
.
secToTime
(
playLength
));
//培训时长 分钟
classSignVO
.
setTrainingLengthMinute
(
Math
.
floorDiv
(
playLength
,
60
)
+
""
);
//签到
//签到
//Set<String> set = redisUtil.scan(RedisPrefixConstant.SUBSIDY_SIGN_INFO_PREFIX + classSignVO.getId() + ":classId:" + classDetailDTO.getId() + "*");
//Set<String> set = redisUtil.scan(RedisPrefixConstant.SUBSIDY_SIGN_INFO_PREFIX + classSignVO.getId() + ":classId:" + classDetailDTO.getId() + "*");
List
<
SignInRecordDO
>
signInRecordDOS
=
signInRecordMapper
.
selectList
(
new
QueryWrapper
<
SignInRecordDO
>()
List
<
SignInRecordDO
>
signInRecordDOS
=
signInRecordMapper
.
selectList
(
new
QueryWrapper
<
SignInRecordDO
>()
...
@@ -753,7 +747,7 @@ public class AdministerServiceImpl extends ServiceImpl<AdministerMapper, Adminis
...
@@ -753,7 +747,7 @@ public class AdministerServiceImpl extends ServiceImpl<AdministerMapper, Adminis
List
<
ExerciseTestVO
>
classSignVOS
=
exerciseTestVOIPage
.
getRecords
();
List
<
ExerciseTestVO
>
classSignVOS
=
exerciseTestVOIPage
.
getRecords
();
for
(
ExerciseTestVO
exerciseTestVO
:
classSignVOS
)
{
for
(
ExerciseTestVO
exerciseTestVO
:
classSignVOS
)
{
//学生测试完成情况
//学生测试完成情况
---以最后一次成绩为准
TestScoreInfoVO
testScoreInfoVO
=
exerciseDoneResultMapper
.
testScoreInfo
(
classDetailDTO
.
getPaperId
(),
exerciseTestVO
.
getId
(),
classDetailDTO
.
getId
());
TestScoreInfoVO
testScoreInfoVO
=
exerciseDoneResultMapper
.
testScoreInfo
(
classDetailDTO
.
getPaperId
(),
exerciseTestVO
.
getId
(),
classDetailDTO
.
getId
());
exerciseTestVO
.
setPaperId
(
exerciseTestVO
.
getPaperId
());
exerciseTestVO
.
setPaperId
(
exerciseTestVO
.
getPaperId
());
if
(
null
!=
testScoreInfoVO
)
{
if
(
null
!=
testScoreInfoVO
)
{
...
@@ -897,7 +891,8 @@ public class AdministerServiceImpl extends ServiceImpl<AdministerMapper, Adminis
...
@@ -897,7 +891,8 @@ public class AdministerServiceImpl extends ServiceImpl<AdministerMapper, Adminis
title
.
add
(
"序号"
);
title
.
add
(
"序号"
);
title
.
add
(
"姓名"
);
title
.
add
(
"姓名"
);
title
.
addAll
(
findDaysStr
(
classDailyInfoDTO
.
getStartDate
(),
classDailyInfoDTO
.
getEndDate
()));
title
.
addAll
(
findDaysStr
(
classDailyInfoDTO
.
getStartDate
(),
classDailyInfoDTO
.
getEndDate
()));
title
.
add
(
"合计时长"
);
title
.
add
(
"合计时长(小时)"
);
title
.
add
(
"合计时长(分钟)"
);
//获取班级成员
//获取班级成员
IPage
<
ClassDailyInfoVO
>
classDailyInfoVOIPage
=
classMemberMappingMapper
.
getClassMembersWithName
(
pager
,
classDailyInfoDTO
.
getClassId
(),
classDailyInfoDTO
.
getUserName
());
IPage
<
ClassDailyInfoVO
>
classDailyInfoVOIPage
=
classMemberMappingMapper
.
getClassMembersWithName
(
pager
,
classDailyInfoDTO
.
getClassId
(),
classDailyInfoDTO
.
getUserName
());
...
@@ -1003,7 +998,8 @@ public class AdministerServiceImpl extends ServiceImpl<AdministerMapper, Adminis
...
@@ -1003,7 +998,8 @@ public class AdministerServiceImpl extends ServiceImpl<AdministerMapper, Adminis
title
.
add
(
"序号"
);
title
.
add
(
"序号"
);
title
.
add
(
"姓名"
);
title
.
add
(
"姓名"
);
title
.
add
(
"完成率"
);
title
.
add
(
"完成率"
);
title
.
add
(
"学习时长"
);
title
.
add
(
"学习时长(小时)"
);
title
.
add
(
"学习时长(分钟)"
);
for
(
VodDictDO
vodDictDO
:
vodDictDOS
)
{
for
(
VodDictDO
vodDictDO
:
vodDictDOS
)
{
title
.
add
(
vodDictDO
.
getVodName
());
title
.
add
(
vodDictDO
.
getVodName
());
}
}
...
@@ -1027,6 +1023,22 @@ public class AdministerServiceImpl extends ServiceImpl<AdministerMapper, Adminis
...
@@ -1027,6 +1023,22 @@ public class AdministerServiceImpl extends ServiceImpl<AdministerMapper, Adminis
}
}
public
IPage
<
MemberDetectionRecordVO
>
memberDetectionRecord
(
ClassDetailDTO
classDetailDTO
)
{
Page
pager
=
new
Page
(
classDetailDTO
.
getPageNum
(),
classDetailDTO
.
getPageSize
());
return
this
.
baseMapper
.
classActivityDetection
(
pager
,
classDetailDTO
.
getId
(),
classDetailDTO
.
getUserName
());
}
public
void
exportMemberDetectionRecord
(
ClassDetailDTO
classDetailDTO
)
{
Page
pager
=
new
Page
(
1
,
-
1L
);
IPage
iPage
=
baseMapper
.
classActivityDetection
(
pager
,
classDetailDTO
.
getId
(),
classDetailDTO
.
getUserName
());
List
<
MemberDetectionRecordVO
>
memberDetectionRecordVOS
=
iPage
.
getRecords
();
//TODO
}
public
IPage
<
ImageCheckDetailVO
>
imageCheckDetail
(
ClassDetailDTO
classDetailDTO
){
Page
pager
=
new
Page
(
classDetailDTO
.
getPageNum
(),
classDetailDTO
.
getPageSize
());
return
this
.
baseMapper
.
imageCheckDetail
(
pager
,
classDetailDTO
.
getId
(),
classDetailDTO
.
getUserName
());
}
public
<
T
>
void
writeVodExcel
(
List
<
ClassDailyInfoVO
>
classDailyInfoVOS
,
HashMap
<
String
,
Integer
>
hashMap
,
List
<
String
>
title
,
HashMap
<
String
,
Integer
>
vodHashmap
)
{
public
<
T
>
void
writeVodExcel
(
List
<
ClassDailyInfoVO
>
classDailyInfoVOS
,
HashMap
<
String
,
Integer
>
hashMap
,
List
<
String
>
title
,
HashMap
<
String
,
Integer
>
vodHashmap
)
{
...
@@ -1067,12 +1079,13 @@ public class AdministerServiceImpl extends ServiceImpl<AdministerMapper, Adminis
...
@@ -1067,12 +1079,13 @@ public class AdministerServiceImpl extends ServiceImpl<AdministerMapper, Adminis
Cell
totalCell
=
r
.
createCell
(
a
.
getAndIncrement
());
Cell
totalCell
=
r
.
createCell
(
a
.
getAndIncrement
());
Cell
studyLengthCell
=
r
.
createCell
(
a
.
getAndIncrement
());
Cell
studyLengthCell
=
r
.
createCell
(
a
.
getAndIncrement
());
Cell
studyLengthCellm
=
r
.
createCell
(
a
.
getAndIncrement
());
Integer
total
=
0
;
Integer
total
=
0
;
int
studyLength
=
0
;
int
studyLength
=
0
;
for
(
String
tt
:
title
)
{
for
(
String
tt
:
title
)
{
if
(!
"姓名"
.
equals
(
tt
)
&&
!
"完成率"
.
equals
(
tt
)
&&
!
"学习时长
"
.
equals
(
tt
)
&&
!
"序号
"
.
equals
(
tt
))
{
if
(!
"姓名"
.
equals
(
tt
)
&&
!
"完成率"
.
equals
(
tt
)
&&
!
"学习时长
(小时)"
.
equals
(
tt
)
&&
!
"序号"
.
equals
(
tt
)
&&
!
"学习时长
"
.
equals
(
tt
))
{
Cell
cell1
=
r
.
createCell
(
a
.
getAndIncrement
());
Cell
cell1
=
r
.
createCell
(
a
.
getAndIncrement
());
if
(
null
!=
hashMap
)
{
if
(
null
!=
hashMap
)
{
...
@@ -1090,6 +1103,7 @@ public class AdministerServiceImpl extends ServiceImpl<AdministerMapper, Adminis
...
@@ -1090,6 +1103,7 @@ public class AdministerServiceImpl extends ServiceImpl<AdministerMapper, Adminis
}
}
}
}
studyLengthCell
.
setCellValue
(
MathUtil
.
secToTime
(
studyLength
));
studyLengthCell
.
setCellValue
(
MathUtil
.
secToTime
(
studyLength
));
studyLengthCellm
.
setCellValue
(
Math
.
floorDiv
(
studyLength
,
60
));
totalCell
.
setCellValue
(
MathUtil
.
intDivFloorPercent
(
total
,
vodHashmap
.
keySet
().
size
())
+
"%"
);
totalCell
.
setCellValue
(
MathUtil
.
intDivFloorPercent
(
total
,
vodHashmap
.
keySet
().
size
())
+
"%"
);
}
}
}
}
...
@@ -1146,7 +1160,7 @@ public class AdministerServiceImpl extends ServiceImpl<AdministerMapper, Adminis
...
@@ -1146,7 +1160,7 @@ public class AdministerServiceImpl extends ServiceImpl<AdministerMapper, Adminis
namecell
.
setCellValue
(
memberMapper
.
selectById
(
lg
).
getUserName
());
namecell
.
setCellValue
(
memberMapper
.
selectById
(
lg
).
getUserName
());
int
total
=
0
;
int
total
=
0
;
for
(
String
date
:
dates
)
{
for
(
String
date
:
dates
)
{
if
(!
date
.
equals
(
"姓名"
)
&&
!
"合计时长
"
.
equals
(
date
)
&&
!
"序号
"
.
equals
(
date
))
{
if
(!
date
.
equals
(
"姓名"
)
&&
!
"合计时长
(小时)"
.
equals
(
date
)
&&
!
"序号"
.
equals
(
date
)
&&
!
"合计时长(分钟)
"
.
equals
(
date
))
{
Cell
cell1
=
r
.
createCell
(
a
.
getAndIncrement
());
Cell
cell1
=
r
.
createCell
(
a
.
getAndIncrement
());
if
(
null
!=
hashMap1
)
{
if
(
null
!=
hashMap1
)
{
total
+=
null
==
hashMap1
.
get
(
date
)
?
0
:
hashMap1
.
get
(
date
);
total
+=
null
==
hashMap1
.
get
(
date
)
?
0
:
hashMap1
.
get
(
date
);
...
@@ -1158,6 +1172,8 @@ public class AdministerServiceImpl extends ServiceImpl<AdministerMapper, Adminis
...
@@ -1158,6 +1172,8 @@ public class AdministerServiceImpl extends ServiceImpl<AdministerMapper, Adminis
}
}
Cell
totalCell
=
r
.
createCell
(
a
.
getAndIncrement
());
Cell
totalCell
=
r
.
createCell
(
a
.
getAndIncrement
());
totalCell
.
setCellValue
(
MathUtil
.
secToTime
(
total
));
totalCell
.
setCellValue
(
MathUtil
.
secToTime
(
total
));
Cell
totalCell1
=
r
.
createCell
(
a
.
getAndIncrement
());
totalCell1
.
setCellValue
(
Math
.
floorDiv
(
total
,
60
));
}
}
}
}
...
@@ -1248,7 +1264,7 @@ public class AdministerServiceImpl extends ServiceImpl<AdministerMapper, Adminis
...
@@ -1248,7 +1264,7 @@ public class AdministerServiceImpl extends ServiceImpl<AdministerMapper, Adminis
.
lambda
()
.
lambda
()
.
eq
(
PaperDictDO:
:
getCourseId
,
classDictDO1
.
getCourseId
()));
.
eq
(
PaperDictDO:
:
getCourseId
,
classDictDO1
.
getCourseId
()));
for
(
int
i
=
0
;
i
<
paperDictDOS
.
size
()
;
i
++)
{
for
(
int
i
=
0
;
i
<
paperDictDOS
.
size
();
i
++)
{
ByteArrayOutputStream
baos2
=
new
ByteArrayOutputStream
();
ByteArrayOutputStream
baos2
=
new
ByteArrayOutputStream
();
classDetailDTO
.
setFlag
(
false
);
classDetailDTO
.
setFlag
(
false
);
classDetailDTO
.
setPaperId
(
paperDictDOS
.
get
(
i
).
getId
());
classDetailDTO
.
setPaperId
(
paperDictDOS
.
get
(
i
).
getId
());
...
@@ -1510,7 +1526,7 @@ public class AdministerServiceImpl extends ServiceImpl<AdministerMapper, Adminis
...
@@ -1510,7 +1526,7 @@ public class AdministerServiceImpl extends ServiceImpl<AdministerMapper, Adminis
sheet
.
addMergedRegion
(
cellRangeAddress21
);
sheet
.
addMergedRegion
(
cellRangeAddress21
);
setBorderStyle
(
HSSFCellStyle
.
BORDER_THIN
,
cellRangeAddress21
,
sheet
,
workbook
);
//给合并过的单元格加边框
setBorderStyle
(
HSSFCellStyle
.
BORDER_THIN
,
cellRangeAddress21
,
sheet
,
workbook
);
//给合并过的单元格加边框
CellRangeAddress
cellRangeAddress22
=
new
CellRangeAddress
(
1
,
1
,
5
,
1
1
);
CellRangeAddress
cellRangeAddress22
=
new
CellRangeAddress
(
1
,
1
,
5
,
1
2
);
sheet
.
addMergedRegion
(
cellRangeAddress22
);
sheet
.
addMergedRegion
(
cellRangeAddress22
);
setBorderStyle
(
HSSFCellStyle
.
BORDER_THIN
,
cellRangeAddress22
,
sheet
,
workbook
);
//给合并过的单元格加边框
setBorderStyle
(
HSSFCellStyle
.
BORDER_THIN
,
cellRangeAddress22
,
sheet
,
workbook
);
//给合并过的单元格加边框
...
@@ -1526,7 +1542,7 @@ public class AdministerServiceImpl extends ServiceImpl<AdministerMapper, Adminis
...
@@ -1526,7 +1542,7 @@ public class AdministerServiceImpl extends ServiceImpl<AdministerMapper, Adminis
sheet
.
addMergedRegion
(
cellRangeAddress31
);
sheet
.
addMergedRegion
(
cellRangeAddress31
);
setBorderStyle
(
HSSFCellStyle
.
BORDER_THIN
,
cellRangeAddress31
,
sheet
,
workbook
);
//给合并过的单元格加边框
setBorderStyle
(
HSSFCellStyle
.
BORDER_THIN
,
cellRangeAddress31
,
sheet
,
workbook
);
//给合并过的单元格加边框
CellRangeAddress
cellRangeAddress32
=
new
CellRangeAddress
(
2
,
2
,
5
,
1
1
);
CellRangeAddress
cellRangeAddress32
=
new
CellRangeAddress
(
2
,
2
,
5
,
1
2
);
sheet
.
addMergedRegion
(
cellRangeAddress32
);
sheet
.
addMergedRegion
(
cellRangeAddress32
);
setBorderStyle
(
HSSFCellStyle
.
BORDER_THIN
,
cellRangeAddress32
,
sheet
,
workbook
);
//给合并过的单元格加边框
setBorderStyle
(
HSSFCellStyle
.
BORDER_THIN
,
cellRangeAddress32
,
sheet
,
workbook
);
//给合并过的单元格加边框
thirdRow
.
createCell
(
0
).
setCellValue
(
thirdHead
[
0
]);
thirdRow
.
createCell
(
0
).
setCellValue
(
thirdHead
[
0
]);
...
@@ -1597,14 +1613,18 @@ public class AdministerServiceImpl extends ServiceImpl<AdministerMapper, Adminis
...
@@ -1597,14 +1613,18 @@ public class AdministerServiceImpl extends ServiceImpl<AdministerMapper, Adminis
newCell
=
dataRow
.
createCell
(
9
);
newCell
=
dataRow
.
createCell
(
9
);
newCell
.
setCellStyle
(
cellStyle
);
newCell
.
setCellStyle
(
cellStyle
);
newCell
.
setCellValue
(
classDetailVO
.
get
AskCounts
());
newCell
.
setCellValue
(
classDetailVO
.
get
TrainingLengthMinute
());
newCell
=
dataRow
.
createCell
(
10
);
newCell
=
dataRow
.
createCell
(
10
);
newCell
.
setCellStyle
(
cellStyle
);
newCell
.
setCellStyle
(
cellStyle
);
newCell
.
setCellValue
(
classDetailVO
.
get
Score
());
newCell
.
setCellValue
(
classDetailVO
.
get
AskCounts
());
newCell
=
dataRow
.
createCell
(
11
);
newCell
=
dataRow
.
createCell
(
11
);
newCell
.
setCellStyle
(
cellStyle
);
newCell
.
setCellStyle
(
cellStyle
);
newCell
.
setCellValue
(
classDetailVO
.
getScore
());
newCell
=
dataRow
.
createCell
(
12
);
newCell
.
setCellStyle
(
cellStyle
);
newCell
.
setCellValue
(
classDetailVO
.
getResult
());
newCell
.
setCellValue
(
classDetailVO
.
getResult
());
rowIndex
++;
rowIndex
++;
...
@@ -1730,7 +1750,7 @@ public class AdministerServiceImpl extends ServiceImpl<AdministerMapper, Adminis
...
@@ -1730,7 +1750,7 @@ public class AdministerServiceImpl extends ServiceImpl<AdministerMapper, Adminis
sheet
.
addMergedRegion
(
cellRangeAddress21
);
sheet
.
addMergedRegion
(
cellRangeAddress21
);
setBorderStyle
(
HSSFCellStyle
.
BORDER_THIN
,
cellRangeAddress21
,
sheet
,
workbook
);
//给合并过的单元格加边框
setBorderStyle
(
HSSFCellStyle
.
BORDER_THIN
,
cellRangeAddress21
,
sheet
,
workbook
);
//给合并过的单元格加边框
CellRangeAddress
cellRangeAddress22
=
new
CellRangeAddress
(
1
,
1
,
4
,
8
);
CellRangeAddress
cellRangeAddress22
=
new
CellRangeAddress
(
1
,
1
,
4
,
9
);
sheet
.
addMergedRegion
(
cellRangeAddress22
);
sheet
.
addMergedRegion
(
cellRangeAddress22
);
setBorderStyle
(
HSSFCellStyle
.
BORDER_THIN
,
cellRangeAddress22
,
sheet
,
workbook
);
//给合并过的单元格加边框
setBorderStyle
(
HSSFCellStyle
.
BORDER_THIN
,
cellRangeAddress22
,
sheet
,
workbook
);
//给合并过的单元格加边框
...
@@ -1746,7 +1766,7 @@ public class AdministerServiceImpl extends ServiceImpl<AdministerMapper, Adminis
...
@@ -1746,7 +1766,7 @@ public class AdministerServiceImpl extends ServiceImpl<AdministerMapper, Adminis
sheet
.
addMergedRegion
(
cellRangeAddress31
);
sheet
.
addMergedRegion
(
cellRangeAddress31
);
setBorderStyle
(
HSSFCellStyle
.
BORDER_THIN
,
cellRangeAddress31
,
sheet
,
workbook
);
//给合并过的单元格加边框
setBorderStyle
(
HSSFCellStyle
.
BORDER_THIN
,
cellRangeAddress31
,
sheet
,
workbook
);
//给合并过的单元格加边框
CellRangeAddress
cellRangeAddress32
=
new
CellRangeAddress
(
2
,
2
,
4
,
8
);
CellRangeAddress
cellRangeAddress32
=
new
CellRangeAddress
(
2
,
2
,
4
,
9
);
sheet
.
addMergedRegion
(
cellRangeAddress32
);
sheet
.
addMergedRegion
(
cellRangeAddress32
);
setBorderStyle
(
HSSFCellStyle
.
BORDER_THIN
,
cellRangeAddress32
,
sheet
,
workbook
);
//给合并过的单元格加边框
setBorderStyle
(
HSSFCellStyle
.
BORDER_THIN
,
cellRangeAddress32
,
sheet
,
workbook
);
//给合并过的单元格加边框
thirdRow
.
createCell
(
0
).
setCellValue
(
thirdHead
[
0
]);
thirdRow
.
createCell
(
0
).
setCellValue
(
thirdHead
[
0
]);
...
@@ -1802,18 +1822,22 @@ public class AdministerServiceImpl extends ServiceImpl<AdministerMapper, Adminis
...
@@ -1802,18 +1822,22 @@ public class AdministerServiceImpl extends ServiceImpl<AdministerMapper, Adminis
newCell
=
dataRow
.
createCell
(
5
);
newCell
=
dataRow
.
createCell
(
5
);
newCell
.
setCellStyle
(
cellStyle
);
newCell
.
setCellStyle
(
cellStyle
);
newCell
.
setCellValue
(
classSignVO
.
get
ClassProcess
());
newCell
.
setCellValue
(
classSignVO
.
get
TrainingLengthMinute
());
newCell
=
dataRow
.
createCell
(
6
);
newCell
=
dataRow
.
createCell
(
6
);
newCell
.
setCellStyle
(
cellStyle
);
newCell
.
setCellStyle
(
cellStyle
);
newCell
.
setCellValue
(
classSignVO
.
get
Percent
());
newCell
.
setCellValue
(
classSignVO
.
get
ClassProcess
());
newCell
=
dataRow
.
createCell
(
7
);
newCell
=
dataRow
.
createCell
(
7
);
newCell
.
setCellStyle
(
cellStyle
);
newCell
.
setCellStyle
(
cellStyle
);
newCell
.
setCellValue
(
classSignVO
.
get
SignCounts
());
newCell
.
setCellValue
(
classSignVO
.
get
Percent
());
newCell
=
dataRow
.
createCell
(
8
);
newCell
=
dataRow
.
createCell
(
8
);
newCell
.
setCellStyle
(
cellStyle
);
newCell
.
setCellStyle
(
cellStyle
);
newCell
.
setCellValue
(
classSignVO
.
getSignCounts
());
newCell
=
dataRow
.
createCell
(
9
);
newCell
.
setCellStyle
(
cellStyle
);
newCell
.
setCellValue
(
classSignVO
.
getSignInDateList
());
newCell
.
setCellValue
(
classSignVO
.
getSignInDateList
());
rowIndex
++;
rowIndex
++;
...
...
src/main/java/com/subsidy/service/impl/CompanyDictServiceImpl.java
View file @
72047ff
...
@@ -8,6 +8,7 @@ import com.subsidy.common.RedisPrefixConstant;
...
@@ -8,6 +8,7 @@ import com.subsidy.common.RedisPrefixConstant;
import
com.subsidy.common.exception.HttpException
;
import
com.subsidy.common.exception.HttpException
;
import
com.subsidy.dto.administer.OperatorsDTO
;
import
com.subsidy.dto.administer.OperatorsDTO
;
import
com.subsidy.dto.company.AddCompanyDTO
;
import
com.subsidy.dto.company.AddCompanyDTO
;
import
com.subsidy.dto.company.GetCompanyMembersDTO
;
import
com.subsidy.mapper.AdministerMapper
;
import
com.subsidy.mapper.AdministerMapper
;
import
com.subsidy.mapper.ClassHourDictMapper
;
import
com.subsidy.mapper.ClassHourDictMapper
;
import
com.subsidy.mapper.ClassTypeDictMapper
;
import
com.subsidy.mapper.ClassTypeDictMapper
;
...
@@ -19,22 +20,13 @@ import com.subsidy.mapper.JobDictMapper;
...
@@ -19,22 +20,13 @@ import com.subsidy.mapper.JobDictMapper;
import
com.subsidy.mapper.RankDictMapper
;
import
com.subsidy.mapper.RankDictMapper
;
import
com.subsidy.mapper.RoleAdministerMappingMapper
;
import
com.subsidy.mapper.RoleAdministerMappingMapper
;
import
com.subsidy.mapper.RotationImgDictMapper
;
import
com.subsidy.mapper.RotationImgDictMapper
;
import
com.subsidy.model.AdministerDO
;
import
com.subsidy.model.*
;
import
com.subsidy.model.ClassHourDictDO
;
import
com.subsidy.model.ClassTypeDictDO
;
import
com.subsidy.model.CompanyDictDO
;
import
com.subsidy.model.CompanyFieldMappingDO
;
import
com.subsidy.model.DepartmentDictDO
;
import
com.subsidy.model.FieldDictDO
;
import
com.subsidy.model.JobDictDO
;
import
com.subsidy.model.RankDictDO
;
import
com.subsidy.model.RoleAdministerMappingDO
;
import
com.subsidy.model.RotationImgDictDO
;
import
com.subsidy.service.CompanyDictService
;
import
com.subsidy.service.CompanyDictService
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.subsidy.util.ConstantUtils
;
import
com.subsidy.util.ConstantUtils
;
import
com.subsidy.vo.administer.OperatorsVO
;
import
com.subsidy.vo.administer.OperatorsVO
;
import
com.subsidy.vo.company.GetAllCompanyVO
;
import
com.subsidy.vo.company.GetAllCompanyVO
;
import
com.subsidy.vo.company.GetCompanyMembersVO
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.scheduling.annotation.Async
;
import
org.springframework.scheduling.annotation.Async
;
...
@@ -64,9 +56,6 @@ public class CompanyDictServiceImpl extends ServiceImpl<CompanyDictMapper, Compa
...
@@ -64,9 +56,6 @@ public class CompanyDictServiceImpl extends ServiceImpl<CompanyDictMapper, Compa
@Autowired
@Autowired
private
DepartmentDictMapper
departmentDictMapper
;
private
DepartmentDictMapper
departmentDictMapper
;
//@Autowired
//private RedisUtil redisUtil;
@Autowired
@Autowired
private
FieldDictMapper
fieldDictMapper
;
private
FieldDictMapper
fieldDictMapper
;
...
@@ -96,13 +85,13 @@ public class CompanyDictServiceImpl extends ServiceImpl<CompanyDictMapper, Compa
...
@@ -96,13 +85,13 @@ public class CompanyDictServiceImpl extends ServiceImpl<CompanyDictMapper, Compa
//判断该用户的角色
//判断该用户的角色
Integer
count
=
roleAdministerMappingMapper
.
selectCount
(
new
QueryWrapper
<
RoleAdministerMappingDO
>()
Integer
count
=
roleAdministerMappingMapper
.
selectCount
(
new
QueryWrapper
<
RoleAdministerMappingDO
>()
.
lambda
()
.
lambda
()
.
eq
(
RoleAdministerMappingDO:
:
getAdministerId
,
operatorsDTO
.
getId
())
.
eq
(
RoleAdministerMappingDO:
:
getAdministerId
,
operatorsDTO
.
getId
())
.
eq
(
RoleAdministerMappingDO:
:
getRoleId
,
1
));
.
eq
(
RoleAdministerMappingDO:
:
getRoleId
,
1
));
if
(
count
>
0
){
if
(
count
>
0
)
{
administerDO
.
setCompanyId
(
null
);
administerDO
.
setCompanyId
(
null
);
}
}
IPage
page
=
this
.
baseMapper
.
operators
(
pager
,
operatorsDTO
.
getCompanyName
(),
operatorsDTO
.
getFieldId
(),
administerDO
.
getCompanyId
(),
2
,
operatorsDTO
.
getSuperviseName
());
IPage
page
=
this
.
baseMapper
.
operators
(
pager
,
operatorsDTO
.
getCompanyName
(),
operatorsDTO
.
getFieldId
(),
administerDO
.
getCompanyId
(),
2
,
operatorsDTO
.
getSuperviseName
());
List
<
OperatorsVO
>
operatorsVOS
=
page
.
getRecords
();
List
<
OperatorsVO
>
operatorsVOS
=
page
.
getRecords
();
for
(
OperatorsVO
operatorsVO
:
operatorsVOS
)
{
for
(
OperatorsVO
operatorsVO
:
operatorsVOS
)
{
//查看公司所在行业
//查看公司所在行业
...
@@ -181,27 +170,27 @@ public class CompanyDictServiceImpl extends ServiceImpl<CompanyDictMapper, Compa
...
@@ -181,27 +170,27 @@ public class CompanyDictServiceImpl extends ServiceImpl<CompanyDictMapper, Compa
//初始化平台的岗位到企业的岗位
//初始化平台的岗位到企业的岗位
List
<
JobDictDO
>
jobDictDOS
=
jobDictMapper
.
selectList
(
new
QueryWrapper
<
JobDictDO
>()
List
<
JobDictDO
>
jobDictDOS
=
jobDictMapper
.
selectList
(
new
QueryWrapper
<
JobDictDO
>()
.
lambda
()
.
lambda
()
.
isNull
(
JobDictDO:
:
getCompanyId
));
.
isNull
(
JobDictDO:
:
getCompanyId
));
for
(
JobDictDO
jobDictDO
:
jobDictDOS
){
for
(
JobDictDO
jobDictDO
:
jobDictDOS
)
{
jobDictDO
.
setCompanyId
(
companyDictDO
.
getId
());
jobDictDO
.
setCompanyId
(
companyDictDO
.
getId
());
jobDictMapper
.
insert
(
jobDictDO
);
jobDictMapper
.
insert
(
jobDictDO
);
}
}
//初始化运营者的职级
//初始化运营者的职级
List
<
RankDictDO
>
rankDictDOS
=
rankDictMapper
.
selectList
(
new
QueryWrapper
<
RankDictDO
>()
List
<
RankDictDO
>
rankDictDOS
=
rankDictMapper
.
selectList
(
new
QueryWrapper
<
RankDictDO
>()
.
lambda
()
.
lambda
()
.
isNull
(
RankDictDO:
:
getCompanyId
));
.
isNull
(
RankDictDO:
:
getCompanyId
));
for
(
RankDictDO
rankDictDO
:
rankDictDOS
){
for
(
RankDictDO
rankDictDO
:
rankDictDOS
)
{
rankDictDO
.
setCompanyId
(
companyDictDO
.
getId
());
rankDictDO
.
setCompanyId
(
companyDictDO
.
getId
());
rankDictMapper
.
insert
(
rankDictDO
);
rankDictMapper
.
insert
(
rankDictDO
);
}
}
//初始化轮播图
//初始化轮播图
List
<
RotationImgDictDO
>
rotationImgDictDOS
=
rotationImgDictMapper
.
selectList
(
new
QueryWrapper
<
RotationImgDictDO
>()
List
<
RotationImgDictDO
>
rotationImgDictDOS
=
rotationImgDictMapper
.
selectList
(
new
QueryWrapper
<
RotationImgDictDO
>()
.
lambda
()
.
lambda
()
.
isNull
(
RotationImgDictDO:
:
getCompanyId
));
.
isNull
(
RotationImgDictDO:
:
getCompanyId
));
for
(
RotationImgDictDO
rotationImgDictDO
:
rotationImgDictDOS
){
for
(
RotationImgDictDO
rotationImgDictDO
:
rotationImgDictDOS
)
{
rotationImgDictDO
.
setCompanyId
(
companyDictDO
.
getId
());
rotationImgDictDO
.
setCompanyId
(
companyDictDO
.
getId
());
rotationImgDictMapper
.
insert
(
rotationImgDictDO
);
rotationImgDictMapper
.
insert
(
rotationImgDictDO
);
}
}
...
@@ -247,8 +236,8 @@ public class CompanyDictServiceImpl extends ServiceImpl<CompanyDictMapper, Compa
...
@@ -247,8 +236,8 @@ public class CompanyDictServiceImpl extends ServiceImpl<CompanyDictMapper, Compa
}
}
//查找企业管理员
//查找企业管理员
AdministerDO
administerDO
=
roleAdministerMappingMapper
.
getAdminister
(
addCompanyDTO
.
getId
());
AdministerDO
administerDO
=
roleAdministerMappingMapper
.
getAdminister
(
addCompanyDTO
.
getId
());
if
(
null
!=
administerDO
)
{
if
(
null
!=
administerDO
)
{
if
(
StringUtils
.
isNotBlank
(
addCompanyDTO
.
getAccountName
()))
{
if
(
StringUtils
.
isNotBlank
(
addCompanyDTO
.
getAccountName
()))
{
administerDO
.
setAccountName
(
addCompanyDTO
.
getAccountName
());
administerDO
.
setAccountName
(
addCompanyDTO
.
getAccountName
());
}
}
...
@@ -264,4 +253,10 @@ public class CompanyDictServiceImpl extends ServiceImpl<CompanyDictMapper, Compa
...
@@ -264,4 +253,10 @@ public class CompanyDictServiceImpl extends ServiceImpl<CompanyDictMapper, Compa
return
this
.
baseMapper
.
getAllCompany
(
companyDictDO
);
return
this
.
baseMapper
.
getAllCompany
(
companyDictDO
);
}
}
public
IPage
<
GetCompanyMembersVO
>
getCompanyMembers
(
GetCompanyMembersDTO
getCompanyMembersDTO
)
{
Page
pager
=
new
Page
(
getCompanyMembersDTO
.
getPageNum
(),
getCompanyMembersDTO
.
getPageSize
());
return
this
.
baseMapper
.
getCompanyMembers
(
pager
,
getCompanyMembersDTO
.
getCompanyId
(),
getCompanyMembersDTO
.
getUserName
());
}
}
}
src/main/java/com/subsidy/service/impl/ImageCheckRecordServiceImpl.java
0 → 100644
View file @
72047ff
package
com
.
subsidy
.
service
.
impl
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.subsidy.model.ImageCheckRecordDO
;
import
com.subsidy.mapper.ImageCheckRecordMapper
;
import
com.subsidy.service.ImageCheckRecordService
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
/**
* <p>
* 实名验证记录表 服务实现类
* </p>
*
* @author DengMin
* @since 2022-07-14
*/
@Service
public
class
ImageCheckRecordServiceImpl
extends
ServiceImpl
<
ImageCheckRecordMapper
,
ImageCheckRecordDO
>
implements
ImageCheckRecordService
{
public
List
<
ImageCheckRecordDO
>
getImageCheckHistory
(
ImageCheckRecordDO
imageCheckRecordDO
){
return
this
.
baseMapper
.
selectList
(
new
QueryWrapper
<
ImageCheckRecordDO
>()
.
lambda
()
.
eq
(
ImageCheckRecordDO:
:
getClassId
,
imageCheckRecordDO
.
getClassId
())
.
eq
(
ImageCheckRecordDO:
:
getMemberId
,
imageCheckRecordDO
.
getMemberId
())
.
orderByDesc
(
ImageCheckRecordDO:
:
getCreateDate
));
}
}
src/main/java/com/subsidy/service/impl/MemberServiceImpl.java
View file @
72047ff
...
@@ -682,49 +682,42 @@ public class MemberServiceImpl extends ServiceImpl<MemberMapper, MemberDO> imple
...
@@ -682,49 +682,42 @@ public class MemberServiceImpl extends ServiceImpl<MemberMapper, MemberDO> imple
return
userRoleVO
;
return
userRoleVO
;
}
}
public
String
updatePassword
(
MemberDO
memberDO
)
{
public
CheckStatusVO
checkStatus
(
MemberDO
memberDO
)
{
this
.
baseMapper
.
updateById
(
memberDO
);
//MemberDO memberDO1 = this.baseMapper.selectById(memberDO.getId());
//redisUtil.set(RedisPrefixConstant.SUBSIDY_COMPANY_MEMBER_PREFIX + memberDO1.getCompanyId() + ":" + memberDO.getAccountName(), memberDO);
return
ConstantUtils
.
SET_SUCCESS
;
}
public
MemberStudyPageVO
studyPage
(
MemberDO
memberDO
)
{
CheckStatusVO
checkStatusVO
=
new
CheckStatusVO
();
MemberDO
memberDO1
=
this
.
baseMapper
.
selectById
(
memberDO
.
getId
());
MemberStudyPageVO
memberStudyPageVO
=
new
MemberStudyPageVO
();
List
<
StudyPageVO
>
studyPageVOS
=
this
.
baseMapper
.
studyPage
(
memberDO
);
if
(
StringUtils
.
isEmpty
(
memberDO1
.
getCheckImage
()))
{
checkStatusVO
.
setImageStatus
(
false
);
}
else
{
checkStatusVO
.
setImageStatus
(
true
);
}
final
ExecutorService
newCachedThreadPool
=
Executors
.
newCachedThreadPool
();
if
(
memberDO1
.
getFirstLogin
()
==
1
)
{
for
(
StudyPageVO
studyPageVO
:
studyPageVOS
)
{
checkStatusVO
.
setSMSStatus
(
true
);
//查看课程下有几节课
}
else
{
List
<
VodDictDO
>
vodDictDOS
=
courseContentMapper
.
getCourseVods
(
studyPageVO
.
getId
());
checkStatusVO
.
setSMSStatus
(
false
);
studyPageVO
.
setTotalVods
(
vodDictDOS
.
size
());
newCachedThreadPool
.
submit
(()
->
studyPageTask1
(
studyPageVO
,
vodDictDOS
,
memberDO
.
getId
()));
}
}
newCachedThreadPool
.
shutdown
();
memberStudyPageVO
.
setStudyPageVOS
(
studyPageVOS
);
return
checkStatusVO
;
return
memberStudyPageVO
;
}
}
public
Future
<
StudyPageVO
>
studyPageTask1
(
StudyPageVO
studyPageVO
,
List
<
VodDictDO
>
vodDictDOS
,
Long
memberId
)
{
public
String
updatePassword
(
MemberDO
memberDO
)
{
this
.
baseMapper
.
updateById
(
memberDO
);
int
i
=
0
;
//MemberDO memberDO1 = this.baseMapper.selectById(memberDO.getId());
//redisUtil.set(RedisPrefixConstant.SUBSIDY_COMPANY_MEMBER_PREFIX + memberDO1.getCompanyId() + ":" + memberDO.getAccountName(), memberDO);
return
ConstantUtils
.
SET_SUCCESS
;
}
//该成员完成了几个视频
public
String
updateCheckImage
(
MemberDO
memberDO
)
{
for
(
VodDictDO
vodDictDO
:
vodDictDOS
)
{
memberDO
.
setCheckTime
(
LocalDateTime
.
now
());
int
completeVodOrNot
=
vodPlayHistoryMapper
.
completeVodOrNot
(
memberId
,
vodDictDO
.
getId
(),
studyPageVO
.
getClassId
());
this
.
baseMapper
.
updateById
(
memberDO
);
i
+=
completeVodOrNot
;
return
ConstantUtils
.
SET_SUCCESS
;
}
}
studyPageVO
.
setDoneVods
(
i
);
////该班级课程下有多少人
//Integer count = classMemberMappingMapper.selectCount(new QueryWrapper<ClassMemberMappingDO>()
// .lambda()
// .eq(ClassMemberMappingDO::getClassId, studyPageVO.getClassId()));
//studyPageVO.setTotalMember(count);
return
new
AsyncResult
<>(
studyPageVO
);
public
String
removeCheckImage
(
MemberDO
memberDO
)
{
this
.
baseMapper
.
removeCheckImage
(
memberDO
.
getId
());
return
ConstantUtils
.
DELETE_SUCCESS
;
}
}
public
List
<
MyCoursesVO
>
myCourses
(
MyCoursesDTO
myCoursesDTO
)
{
public
List
<
MyCoursesVO
>
myCourses
(
MyCoursesDTO
myCoursesDTO
)
{
...
...
src/main/java/com/subsidy/util/ExcelFormatUtils.java
View file @
72047ff
...
@@ -6,9 +6,9 @@ import java.util.List;
...
@@ -6,9 +6,9 @@ import java.util.List;
public
class
ExcelFormatUtils
{
public
class
ExcelFormatUtils
{
public
static
final
List
<
String
>
memberList
=
Arrays
.
asList
(
"序号"
,
"成员名称"
,
"身份证号码"
,
"性别"
,
"账号"
,
"联系方式"
,
"签到次数"
,
"课程进度"
,
"学习时长"
,
"答疑数"
,
"测试成绩"
,
"总评价"
);
public
static
final
List
<
String
>
memberList
=
Arrays
.
asList
(
"序号"
,
"成员名称"
,
"身份证号码"
,
"性别"
,
"账号"
,
"联系方式"
,
"签到次数"
,
"课程进度"
,
"学习时长
(小时)"
,
"学习时长(分钟)
"
,
"答疑数"
,
"测试成绩"
,
"总评价"
);
public
static
final
List
<
String
>
signList
=
Arrays
.
asList
(
"序号"
,
"成员名称"
,
"身份证号码"
,
"联系方式"
,
"学习时长"
,
"课程进度"
,
"完成率"
,
"签到次数"
,
"签到日期"
);
public
static
final
List
<
String
>
signList
=
Arrays
.
asList
(
"序号"
,
"成员名称"
,
"身份证号码"
,
"联系方式"
,
"学习时长
(小时)"
,
"学习时长(分钟)
"
,
"课程进度"
,
"完成率"
,
"签到次数"
,
"签到日期"
);
public
static
final
List
<
String
>
scoreList
=
Arrays
.
asList
(
"序号"
,
"成员名称"
,
"身份证号码"
,
"联系方式"
,
"测试成绩"
,
"测试次数"
,
"总评价"
);
public
static
final
List
<
String
>
scoreList
=
Arrays
.
asList
(
"序号"
,
"成员名称"
,
"身份证号码"
,
"联系方式"
,
"测试成绩"
,
"测试次数"
,
"总评价"
);
...
...
src/main/java/com/subsidy/util/excel/ExcelUtil.java
View file @
72047ff
...
@@ -466,7 +466,7 @@ public class ExcelUtil {
...
@@ -466,7 +466,7 @@ public class ExcelUtil {
sheet
.
addMergedRegion
(
cellRangeAddress21
);
sheet
.
addMergedRegion
(
cellRangeAddress21
);
setBorderStyle
(
HSSFCellStyle
.
BORDER_THIN
,
cellRangeAddress21
,
sheet
,
workbook
);
//给合并过的单元格加边框
setBorderStyle
(
HSSFCellStyle
.
BORDER_THIN
,
cellRangeAddress21
,
sheet
,
workbook
);
//给合并过的单元格加边框
CellRangeAddress
cellRangeAddress22
=
new
CellRangeAddress
(
1
,
1
,
5
,
1
1
);
CellRangeAddress
cellRangeAddress22
=
new
CellRangeAddress
(
1
,
1
,
5
,
1
2
);
sheet
.
addMergedRegion
(
cellRangeAddress22
);
sheet
.
addMergedRegion
(
cellRangeAddress22
);
setBorderStyle
(
HSSFCellStyle
.
BORDER_THIN
,
cellRangeAddress22
,
sheet
,
workbook
);
//给合并过的单元格加边框
setBorderStyle
(
HSSFCellStyle
.
BORDER_THIN
,
cellRangeAddress22
,
sheet
,
workbook
);
//给合并过的单元格加边框
...
@@ -482,7 +482,7 @@ public class ExcelUtil {
...
@@ -482,7 +482,7 @@ public class ExcelUtil {
sheet
.
addMergedRegion
(
cellRangeAddress31
);
sheet
.
addMergedRegion
(
cellRangeAddress31
);
setBorderStyle
(
HSSFCellStyle
.
BORDER_THIN
,
cellRangeAddress31
,
sheet
,
workbook
);
//给合并过的单元格加边框
setBorderStyle
(
HSSFCellStyle
.
BORDER_THIN
,
cellRangeAddress31
,
sheet
,
workbook
);
//给合并过的单元格加边框
CellRangeAddress
cellRangeAddress32
=
new
CellRangeAddress
(
2
,
2
,
5
,
1
1
);
CellRangeAddress
cellRangeAddress32
=
new
CellRangeAddress
(
2
,
2
,
5
,
1
2
);
sheet
.
addMergedRegion
(
cellRangeAddress32
);
sheet
.
addMergedRegion
(
cellRangeAddress32
);
setBorderStyle
(
HSSFCellStyle
.
BORDER_THIN
,
cellRangeAddress32
,
sheet
,
workbook
);
//给合并过的单元格加边框
setBorderStyle
(
HSSFCellStyle
.
BORDER_THIN
,
cellRangeAddress32
,
sheet
,
workbook
);
//给合并过的单元格加边框
thirdRow
.
createCell
(
0
).
setCellValue
(
thirdHead
[
0
]);
thirdRow
.
createCell
(
0
).
setCellValue
(
thirdHead
[
0
]);
...
@@ -553,14 +553,18 @@ public class ExcelUtil {
...
@@ -553,14 +553,18 @@ public class ExcelUtil {
newCell
=
dataRow
.
createCell
(
9
);
newCell
=
dataRow
.
createCell
(
9
);
newCell
.
setCellStyle
(
cellStyle
);
newCell
.
setCellStyle
(
cellStyle
);
newCell
.
setCellValue
(
classDetailVO
.
get
AskCounts
());
newCell
.
setCellValue
(
classDetailVO
.
get
TrainingLengthMinute
());
newCell
=
dataRow
.
createCell
(
10
);
newCell
=
dataRow
.
createCell
(
10
);
newCell
.
setCellStyle
(
cellStyle
);
newCell
.
setCellStyle
(
cellStyle
);
newCell
.
setCellValue
(
classDetailVO
.
get
Score
());
newCell
.
setCellValue
(
classDetailVO
.
get
AskCounts
());
newCell
=
dataRow
.
createCell
(
11
);
newCell
=
dataRow
.
createCell
(
11
);
newCell
.
setCellStyle
(
cellStyle
);
newCell
.
setCellStyle
(
cellStyle
);
newCell
.
setCellValue
(
classDetailVO
.
getScore
());
newCell
=
dataRow
.
createCell
(
12
);
newCell
.
setCellStyle
(
cellStyle
);
newCell
.
setCellValue
(
classDetailVO
.
getResult
());
newCell
.
setCellValue
(
classDetailVO
.
getResult
());
rowIndex
++;
rowIndex
++;
seq
++;
seq
++;
...
@@ -693,7 +697,7 @@ public class ExcelUtil {
...
@@ -693,7 +697,7 @@ public class ExcelUtil {
sheet
.
addMergedRegion
(
cellRangeAddress21
);
sheet
.
addMergedRegion
(
cellRangeAddress21
);
setBorderStyle
(
HSSFCellStyle
.
BORDER_THIN
,
cellRangeAddress21
,
sheet
,
workbook
);
//给合并过的单元格加边框
setBorderStyle
(
HSSFCellStyle
.
BORDER_THIN
,
cellRangeAddress21
,
sheet
,
workbook
);
//给合并过的单元格加边框
CellRangeAddress
cellRangeAddress22
=
new
CellRangeAddress
(
1
,
1
,
4
,
8
);
CellRangeAddress
cellRangeAddress22
=
new
CellRangeAddress
(
1
,
1
,
4
,
9
);
sheet
.
addMergedRegion
(
cellRangeAddress22
);
sheet
.
addMergedRegion
(
cellRangeAddress22
);
setBorderStyle
(
HSSFCellStyle
.
BORDER_THIN
,
cellRangeAddress22
,
sheet
,
workbook
);
//给合并过的单元格加边框
setBorderStyle
(
HSSFCellStyle
.
BORDER_THIN
,
cellRangeAddress22
,
sheet
,
workbook
);
//给合并过的单元格加边框
...
@@ -709,7 +713,7 @@ public class ExcelUtil {
...
@@ -709,7 +713,7 @@ public class ExcelUtil {
sheet
.
addMergedRegion
(
cellRangeAddress31
);
sheet
.
addMergedRegion
(
cellRangeAddress31
);
setBorderStyle
(
HSSFCellStyle
.
BORDER_THIN
,
cellRangeAddress31
,
sheet
,
workbook
);
//给合并过的单元格加边框
setBorderStyle
(
HSSFCellStyle
.
BORDER_THIN
,
cellRangeAddress31
,
sheet
,
workbook
);
//给合并过的单元格加边框
CellRangeAddress
cellRangeAddress32
=
new
CellRangeAddress
(
2
,
2
,
4
,
8
);
CellRangeAddress
cellRangeAddress32
=
new
CellRangeAddress
(
2
,
2
,
4
,
9
);
sheet
.
addMergedRegion
(
cellRangeAddress32
);
sheet
.
addMergedRegion
(
cellRangeAddress32
);
setBorderStyle
(
HSSFCellStyle
.
BORDER_THIN
,
cellRangeAddress32
,
sheet
,
workbook
);
//给合并过的单元格加边框
setBorderStyle
(
HSSFCellStyle
.
BORDER_THIN
,
cellRangeAddress32
,
sheet
,
workbook
);
//给合并过的单元格加边框
thirdRow
.
createCell
(
0
).
setCellValue
(
thirdHead
[
0
]);
thirdRow
.
createCell
(
0
).
setCellValue
(
thirdHead
[
0
]);
...
@@ -765,18 +769,22 @@ public class ExcelUtil {
...
@@ -765,18 +769,22 @@ public class ExcelUtil {
newCell
=
dataRow
.
createCell
(
5
);
newCell
=
dataRow
.
createCell
(
5
);
newCell
.
setCellStyle
(
cellStyle
);
newCell
.
setCellStyle
(
cellStyle
);
newCell
.
setCellValue
(
classSignVO
.
get
ClassProcess
());
newCell
.
setCellValue
(
classSignVO
.
get
TrainingLengthMinute
());
newCell
=
dataRow
.
createCell
(
6
);
newCell
=
dataRow
.
createCell
(
6
);
newCell
.
setCellStyle
(
cellStyle
);
newCell
.
setCellStyle
(
cellStyle
);
newCell
.
setCellValue
(
classSignVO
.
get
Percent
());
newCell
.
setCellValue
(
classSignVO
.
get
ClassProcess
());
newCell
=
dataRow
.
createCell
(
7
);
newCell
=
dataRow
.
createCell
(
7
);
newCell
.
setCellStyle
(
cellStyle
);
newCell
.
setCellStyle
(
cellStyle
);
newCell
.
setCellValue
(
classSignVO
.
get
SignCounts
());
newCell
.
setCellValue
(
classSignVO
.
get
Percent
());
newCell
=
dataRow
.
createCell
(
8
);
newCell
=
dataRow
.
createCell
(
8
);
newCell
.
setCellStyle
(
cellStyle
);
newCell
.
setCellStyle
(
cellStyle
);
newCell
.
setCellValue
(
classSignVO
.
getSignCounts
());
newCell
=
dataRow
.
createCell
(
9
);
newCell
.
setCellStyle
(
cellStyle
);
newCell
.
setCellValue
(
classSignVO
.
getSignInDateList
());
newCell
.
setCellValue
(
classSignVO
.
getSignInDateList
());
rowIndex
++;
rowIndex
++;
...
...
src/main/java/com/subsidy/vo/administer/ImageCheckDetailVO.java
0 → 100644
View file @
72047ff
package
com
.
subsidy
.
vo
.
administer
;
import
lombok.Data
;
@Data
public
class
ImageCheckDetailVO
{
}
src/main/java/com/subsidy/vo/administer/MemberDetectionRecordVO.java
0 → 100644
View file @
72047ff
package
com
.
subsidy
.
vo
.
administer
;
import
com.subsidy.util.excel.ExcelColumn
;
import
lombok.Data
;
@Data
public
class
MemberDetectionRecordVO
{
private
Long
id
;
@ExcelColumn
(
col
=
1
,
value
=
"成员名称"
)
private
String
userName
;
@ExcelColumn
(
col
=
2
,
value
=
"账号"
)
private
String
accountName
;
@ExcelColumn
(
col
=
3
,
value
=
"身份证号"
)
private
String
idCard
;
@ExcelColumn
(
col
=
4
,
value
=
"身份证号"
)
private
String
telephone
;
@ExcelColumn
(
col
=
5
,
value
=
"检测次数"
)
private
Integer
cnt
;
}
src/main/java/com/subsidy/vo/classdict/ClassDetailVO.java
View file @
72047ff
...
@@ -51,9 +51,11 @@ public class ClassDetailVO{
...
@@ -51,9 +51,11 @@ public class ClassDetailVO{
private
Integer
trainingLength
;
private
Integer
trainingLength
;
@ExcelColumn
(
col
=
8
,
value
=
"培训时长"
)
@ExcelColumn
(
col
=
8
,
value
=
"培训时长
(小时)
"
)
private
String
trainingLengthStr
;
private
String
trainingLengthStr
;
@ExcelColumn
(
col
=
9
,
value
=
"培训时长(分钟)"
)
private
String
trainingLengthMinute
;
/**
/**
* 作对个数
* 作对个数
...
@@ -68,13 +70,13 @@ public class ClassDetailVO{
...
@@ -68,13 +70,13 @@ public class ClassDetailVO{
/**
/**
* 评价测试
* 评价测试
*/
*/
@ExcelColumn
(
col
=
9
,
value
=
"评价测试"
)
@ExcelColumn
(
col
=
10
,
value
=
"评价测试"
)
private
String
score
;
private
String
score
;
/**
/**
* 答疑个数
* 答疑个数
*/
*/
@ExcelColumn
(
col
=
1
0
,
value
=
"答题数"
)
@ExcelColumn
(
col
=
1
1
,
value
=
"答题数"
)
private
Integer
askCounts
;
private
Integer
askCounts
;
...
...
src/main/java/com/subsidy/vo/company/GetCompanyMembersVO.java
0 → 100644
View file @
72047ff
package
com
.
subsidy
.
vo
.
company
;
import
lombok.Data
;
@Data
public
class
GetCompanyMembersVO
{
private
Long
id
;
private
String
userName
;
private
String
idCard
;
private
String
companyName
;
private
Integer
firstLogin
;
private
String
checkImage
;
private
String
checkTime
;
}
src/main/java/com/subsidy/vo/member/CheckStatusVO.java
0 → 100644
View file @
72047ff
package
com
.
subsidy
.
vo
.
member
;
import
lombok.Data
;
@Data
public
class
CheckStatusVO
{
private
Boolean
SMSStatus
;
private
Boolean
imageStatus
;
}
src/main/java/com/subsidy/vo/member/ClassSignVO.java
View file @
72047ff
...
@@ -31,17 +31,19 @@ public class ClassSignVO {
...
@@ -31,17 +31,19 @@ public class ClassSignVO {
*/
*/
private
Integer
trainingLength
;
private
Integer
trainingLength
;
@ExcelColumn
(
col
=
4
,
value
=
"培训时长"
)
@ExcelColumn
(
col
=
4
,
value
=
"培训时长
(小时)
"
)
private
String
trainingLengthStr
;
private
String
trainingLengthStr
;
@ExcelColumn
(
col
=
5
,
value
=
"培训时长(分钟)"
)
private
String
trainingLengthMinute
;
@ExcelColumn
(
col
=
5
,
value
=
"课程进度"
)
@ExcelColumn
(
col
=
6
,
value
=
"课程进度"
)
private
String
classProcess
;
private
String
classProcess
;
/**
/**
* 完成率
* 完成率
*/
*/
@ExcelColumn
(
col
=
6
,
value
=
"完成率"
)
@ExcelColumn
(
col
=
7
,
value
=
"完成率"
)
private
String
percent
;
private
String
percent
;
...
...
src/main/resources/application.properties
View file @
72047ff
...
@@ -69,3 +69,9 @@ wechat:
...
@@ -69,3 +69,9 @@ wechat:
#pro
#pro
appId
:
wx5e1ecb9c9bd33451
appId
:
wx5e1ecb9c9bd33451
appSecret
:
4f5e1abb6fb4f68f5273820b6295ec6b
appSecret
:
4f5e1abb6fb4f68f5273820b6295ec6b
#活体检测配置
activity.captchaAppId
:
2013197365
activity.appSecretKey
:
04ABoF0ZVuMje8NP84DE5Sg**
activity.businessId
:
1
\ No newline at end of file
src/main/resources/mapper/ActivityDetectionMapper.xml
0 → 100644
View file @
72047ff
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.subsidy.mapper.ActivityDetectionMapper"
>
<!-- 通用查询映射结果 -->
<resultMap
id=
"BaseResultMap"
type=
"com.subsidy.model.ActivityDetectionDO"
>
<id
column=
"id"
property=
"id"
/>
<result
column=
"create_date"
property=
"createDate"
/>
<result
column=
"update_date"
property=
"updateDate"
/>
<result
column=
"delete_date"
property=
"deleteDate"
/>
<result
column=
"class_id"
property=
"classId"
/>
<result
column=
"member_id"
property=
"memberId"
/>
<result
column=
"status"
property=
"status"
/>
</resultMap>
<!-- 通用查询结果列 -->
<sql
id=
"Base_Column_List"
>
create_date,
update_date,
delete_date,
id, class_id, member_id, status
</sql>
</mapper>
src/main/resources/mapper/AdministerMapper.xml
View file @
72047ff
...
@@ -120,4 +120,77 @@
...
@@ -120,4 +120,77 @@
</if>
</if>
</select>
</select>
<select
id=
"classActivityDetection"
resultType=
"com.subsidy.vo.administer.MemberDetectionRecordVO"
>
SELECT
t2.id,
t2.user_name,
t2.account_name,
t2.telephone,
t2.id_card,
count( t3.id ) as cnt
FROM
class_member_mapping t
LEFT JOIN member t2 ON t.member_id = t2.id
LEFT JOIN activity_detection t3 ON t.class_id = t3.class_id
AND t.member_id = t3.member_id
where t.delete_date IS NULL
AND t2.delete_date IS NULL
AND t.class_id = #{classId}
<if
test=
"userName != null and userName !=''"
>
and t2.user_name like concat('%',#{userName} ,'%')
</if>
GROUP BY
t.member_id
order by t2.id
</select>
<select
id=
"imageCheckDetail"
resultType=
"com.subsidy.vo.administer.ImageCheckDetailVO"
>
SELECT
t1.id,
t1.user_name,
t1.account_name,
t1.telephone,
t1.id_card,
cnt,
recentDate
FROM
(
SELECT
t2.id,
t2.user_name,
t2.account_name,
t2.telephone,
t2.id_card,
count( t3.id ) AS cnt
FROM
class_member_mapping t
LEFT JOIN member t2 ON t.member_id = t2.id
LEFT JOIN image_check_record t3 ON t.class_id = t3.class_id
AND t.member_id = t3.member_id
WHERE
t.delete_date IS NULL
AND t2.delete_date IS NULL
<if
test=
"userName != null and userName !=''"
>
and t2.user_name like concat('%',#{userName} ,'%')
</if>
AND t.class_id = #{classId}
GROUP BY
t.member_id
) t1
LEFT JOIN (
SELECT
t2.member_id,
t2.class_id,
max( t2.create_date ) AS recentDate
FROM
image_check_record t2
WHERE
t2.delete_date IS NULL
AND t2.class_id = #{classId}
GROUP BY
t2.member_id,
t2.class_id
) t2 ON t1.id = t2.member_id
</select>
</mapper>
</mapper>
src/main/resources/mapper/CompanyDictMapper.xml
View file @
72047ff
...
@@ -75,4 +75,24 @@
...
@@ -75,4 +75,24 @@
</if>
</if>
</select>
</select>
<select
id=
"getCompanyMembers"
resultType=
"com.subsidy.vo.company.GetCompanyMembersVO"
>
SELECT
t.id,
t.user_name,
t.id_card,
t2.company_name,
t.first_login,
t.check_image,
t.check_time
FROM
member t
LEFT JOIN company_dict t2 ON t.company_id = t2.id
WHERE
t.delete_date IS NULL
AND t2.delete_date IS NULL
and t.company_id = #{companyId}
and t.user_name like concat('%',#{userName} ,'%')
</select>
</mapper>
</mapper>
src/main/resources/mapper/ExerciseDoneResultMapper.xml
View file @
72047ff
...
@@ -119,23 +119,47 @@
...
@@ -119,23 +119,47 @@
<select
id=
"testScoreInfo"
resultType=
"com.subsidy.vo.done.TestScoreInfoVO"
>
<select
id=
"testScoreInfo"
resultType=
"com.subsidy.vo.done.TestScoreInfoVO"
>
SELECT
SELECT
t.paper_id,
t1.paper_id,
max( t.score ) AS score,
t1.score,
count( 1 ) AS cnt,
t1.result,
IF
t2.cnt
( max( t.score )>= 60, '合格', '不合格' ) AS result
FROM
FROM
exercise_done_result t
(
LEFT JOIN paper_dict t2 ON t.paper_id = t2.id
SELECT
WHERE
t.paper_id,
t.delete_date IS NULL
t.class_id,
AND t.member_id = #{memberId}
t.member_id,
AND t.paper_id = #{paperId}
t.score,
and t.class_id = #{classId}
IF
GROUP BY
( ( t.score )>= 60, '合格', '不合格' ) AS result
t.class_id,
FROM
t.paper_id,
exercise_done_result t
t.member_id
LEFT JOIN paper_dict t2 ON t.paper_id = t2.id
WHERE
t.delete_date IS NULL
AND t.member_id = #{memberId}
AND t.paper_id = #{paperId}
AND t.class_id = #{classId}
ORDER BY
t.create_date DESC
LIMIT 1
) t1
LEFT JOIN (
SELECT
t2.paper_id,
t2.class_id,
t2.member_id,
count( 1 ) AS cnt
FROM
exercise_done_result t2
WHERE
t2.delete_date IS NULL
AND t2.member_id = #{memberId}
AND t2.paper_id = #{paperId}
AND t2.class_id = #{classId}
) t2 ON t1.paper_id = t2.paper_id
AND t1.member_id = t2.member_id
AND t1.class_id = t2.class_id
</select>
</select>
<select
id=
"getClassTestPassRate"
parameterType=
"long"
resultType=
"integer"
>
<select
id=
"getClassTestPassRate"
parameterType=
"long"
resultType=
"integer"
>
...
...
src/main/resources/mapper/ImageCheckRecordMapper.xml
0 → 100644
View file @
72047ff
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.subsidy.mapper.ImageCheckRecordMapper"
>
<!-- 通用查询映射结果 -->
<resultMap
id=
"BaseResultMap"
type=
"com.subsidy.model.ImageCheckRecordDO"
>
<id
column=
"id"
property=
"id"
/>
<result
column=
"create_date"
property=
"createDate"
/>
<result
column=
"update_date"
property=
"updateDate"
/>
<result
column=
"delete_date"
property=
"deleteDate"
/>
<result
column=
"class_id"
property=
"classId"
/>
<result
column=
"paper_id"
property=
"paperId"
/>
<result
column=
"request_id"
property=
"requestId"
/>
</resultMap>
<!-- 通用查询结果列 -->
<sql
id=
"Base_Column_List"
>
create_date,
update_date,
delete_date,
id, class_id, paper_id, request_id
</sql>
</mapper>
src/main/resources/mapper/MemberMapper.xml
View file @
72047ff
...
@@ -323,4 +323,8 @@
...
@@ -323,4 +323,8 @@
AND r.ts is NULL
AND r.ts is NULL
and m.delete_date is null
and m.delete_date is null
</select>
</select>
<update
id=
"removeCheckImage"
parameterType=
"long"
>
update member set check_image = nulll where id = #{id}
</update>
</mapper>
</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