Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
S
school-paper-admin
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
school-paper
school-paper-admin
Commits
de41a776
Commit
de41a776
authored
Jul 25, 2023
by
郑云飞
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
新增上传图片接口,
新增答题记录接口, 新增答题记录详情接口, 修改用户信息接口修改
parent
657eaf33
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
232 additions
and
93 deletions
+232
-93
ruoyi-admin/pom.xml
+12
-8
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysProfileController.java
+32
-2
ruoyi-admin/src/main/resources/application-dev.yml
+2
-0
school-paper/src/main/java/com/ruoyi/school/paper/controller/DbBannerController.java
+58
-20
school-paper/src/main/java/com/ruoyi/school/paper/controller/DbTestPaperRecordController.java
+23
-14
school-paper/src/main/java/com/ruoyi/school/paper/controller/DbTestPaperRecordDetailController.java
+13
-15
school-paper/src/main/java/com/ruoyi/school/paper/domain/vo/DbQuestionBankTestPaperVo.java
+6
-3
school-paper/src/main/java/com/ruoyi/school/paper/domain/vo/DbTestPaperRecordVo.java
+3
-4
school-paper/src/main/java/com/ruoyi/school/paper/mapper/DbTestPaperRecordDetailMapper.java
+5
-1
school-paper/src/main/java/com/ruoyi/school/paper/mapper/DbTestPaperRecordMapper.java
+5
-1
school-paper/src/main/java/com/ruoyi/school/paper/service/IDbTestPaperRecordService.java
+5
-4
school-paper/src/main/java/com/ruoyi/school/paper/service/impl/DbTestPaperRecordDetailServiceImpl.java
+10
-10
school-paper/src/main/java/com/ruoyi/school/paper/service/impl/DbTestPaperRecordServiceImpl.java
+21
-9
school-paper/src/main/java/com/ruoyi/school/paper/service/impl/TestPaperServiceImpl.java
+8
-0
school-paper/src/main/resources/mapper/school-paper/DbTestPaperRecordDetailMapper.xml
+23
-1
school-paper/src/main/resources/mapper/school-paper/DbTestPaperRecordMapper.xml
+6
-1
No files found.
ruoyi-admin/pom.xml
View file @
de41a776
...
...
@@ -89,16 +89,20 @@
<artifactId>
spring-boot-starter-test
</artifactId>
<scope>
test
</scope>
</dependency>
<dependency>
<groupId>
org.springframework
</groupId>
<artifactId>
spring-test
</artifactId>
</dependency>
<!-- skywalking 整合 logback -->
<!-- <dependency>-->
<!-- <groupId>org.apache.skywalking</groupId>-->
<!-- <artifactId>apm-toolkit-logback-1.x</artifactId>-->
<!-- <version>${与你的agent探针版本保持一致}</version>-->
<!-- </dependency>-->
<!-- <dependency>-->
<!-- <groupId>org.apache.skywalking</groupId>-->
<!-- <artifactId>apm-toolkit-trace</artifactId>-->
<!-- <dependency>-->
<!-- <groupId>org.apache.skywalking</groupId>-->
<!-- <artifactId>apm-toolkit-logback-1.x</artifactId>-->
<!-- <version>${与你的agent探针版本保持一致}</version>-->
<!-- </dependency>-->
<!-- <dependency>-->
<!-- <groupId>org.apache.skywalking</groupId>-->
<!-- <artifactId>apm-toolkit-trace</artifactId>-->
<!-- <version>${与你的agent探针版本保持一致}</version>-->
<!-- </dependency>-->
...
...
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysProfileController.java
View file @
de41a776
package
com
.
ruoyi
.
web
.
controller
.
system
;
import
cn.dev33.satoken.secure.BCrypt
;
import
cn.hutool.core.img.ImgUtil
;
import
cn.hutool.core.io.FileUtil
;
import
cn.hutool.core.util.IdUtil
;
import
com.ruoyi.common.annotation.Log
;
import
com.ruoyi.common.constant.UserConstants
;
import
com.ruoyi.common.core.controller.BaseController
;
import
com.ruoyi.common.core.domain.R
;
import
com.ruoyi.common.core.domain.entity.SysUser
;
import
com.ruoyi.common.enums.BusinessType
;
import
com.ruoyi.common.exception.ServiceException
;
import
com.ruoyi.common.helper.LoginHelper
;
import
com.ruoyi.common.utils.StringUtils
;
import
com.ruoyi.common.utils.file.MimeTypeUtils
;
import
com.ruoyi.system.domain.SysOss
;
import
com.ruoyi.system.domain.vo.SysOssVo
;
import
com.ruoyi.system.service.ISysOssService
;
import
com.ruoyi.system.service.ISysUserService
;
import
lombok.RequiredArgsConstructor
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.http.MediaType
;
import
org.springframework.mock.web.MockMultipartFile
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.multipart.MultipartFile
;
import
javax.imageio.ImageIO
;
import
java.awt.image.BufferedImage
;
import
java.io.ByteArrayOutputStream
;
import
java.io.File
;
import
java.util.Arrays
;
import
java.util.HashMap
;
import
java.util.Map
;
...
...
@@ -39,6 +47,9 @@ public class SysProfileController extends BaseController {
private
final
ISysUserService
userService
;
private
final
ISysOssService
iSysOssService
;
@Value
(
"${document.uploadPath}"
)
private
String
uploadPath
;
/**
* 个人信息
*/
...
...
@@ -66,10 +77,29 @@ public class SysProfileController extends BaseController {
&&
UserConstants
.
NOT_UNIQUE
.
equals
(
userService
.
checkEmailUnique
(
user
)))
{
return
R
.
fail
(
"修改用户'"
+
user
.
getUserName
()
+
"'失败,邮箱账号已存在"
);
}
if
(
StringUtils
.
isNotEmpty
(
user
.
getAvatar
()))
{
//如果是微信头像,需要做下转换
BufferedImage
bufferedImage
=
ImgUtil
.
toImage
(
user
.
getAvatar
());
ByteArrayOutputStream
baos
=
new
ByteArrayOutputStream
();
try
{
ImageIO
.
write
(
bufferedImage
,
"png"
,
baos
);
MultipartFile
file
=
new
MockMultipartFile
(
"file"
,
IdUtil
.
fastSimpleUUID
()
+
".png"
,
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
,
baos
.
toByteArray
());
File
uploadDir
=
new
File
(
uploadPath
);
if
(!
uploadDir
.
exists
())
{
uploadDir
.
mkdir
();
}
File
localFile
=
new
File
(
uploadPath
+
file
.
getOriginalFilename
());
String
url
=
"https://farming.nyinhong.com/pic/"
+
file
.
getOriginalFilename
();
file
.
transferTo
(
localFile
);
user
.
setAvatar
(
url
);
}
catch
(
Exception
e
)
{
throw
new
ServiceException
(
"获取微信头像失败"
);
}
}
user
.
setUserId
(
getUserId
());
user
.
setUserName
(
null
);
user
.
setPassword
(
null
);
user
.
setAvatar
(
null
);
user
.
setDeptId
(
null
);
if
(
userService
.
updateUserProfile
(
user
)
>
0
)
{
return
R
.
ok
();
...
...
ruoyi-admin/src/main/resources/application-dev.yml
View file @
de41a776
...
...
@@ -167,3 +167,5 @@ sms:
signName
:
测试
# 腾讯专用
sdkAppId
:
document
:
uploadPath
:
/opt/school/pic/
school-paper/src/main/java/com/ruoyi/school/paper/controller/DbBannerController.java
View file @
de41a776
package
com
.
ruoyi
.
school
.
paper
.
controller
;
import
java.util.List
;
import
java.util.Arrays
;
import
lombok.RequiredArgsConstructor
;
import
javax.servlet.http.HttpServletResponse
;
import
javax.validation.constraints.*
;
import
cn.dev33.satoken.annotation.SaCheckPermission
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.validation.annotation.Validated
;
import
com.ruoyi.common.annotation.RepeatSubmit
;
import
com.ruoyi.common.annotation.Log
;
import
com.ruoyi.common.annotation.RepeatSubmit
;
import
com.ruoyi.common.core.controller.BaseController
;
import
com.ruoyi.common.core.domain.PageQuery
;
import
com.ruoyi.common.core.domain.R
;
import
com.ruoyi.common.core.page.TableDataInfo
;
import
com.ruoyi.common.core.validate.AddGroup
;
import
com.ruoyi.common.core.validate.EditGroup
;
import
com.ruoyi.common.core.validate.QueryGroup
;
import
com.ruoyi.common.enums.BusinessType
;
import
com.ruoyi.common.utils.poi.ExcelUtil
;
import
com.ruoyi.school.paper.domain.vo.DbBannerVo
;
import
com.ruoyi.school.paper.domain.bo.DbBannerBo
;
import
com.ruoyi.school.paper.domain.vo.DbBannerVo
;
import
com.ruoyi.school.paper.service.IDbBannerService
;
import
com.ruoyi.common.core.page.TableDataInfo
;
import
lombok.RequiredArgsConstructor
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.http.MediaType
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.multipart.MultipartFile
;
import
javax.servlet.http.HttpServletResponse
;
import
javax.validation.constraints.NotEmpty
;
import
javax.validation.constraints.NotNull
;
import
java.io.File
;
import
java.io.IOException
;
import
java.util.*
;
/**
* 轮播图
...
...
@@ -37,11 +40,12 @@ import com.ruoyi.common.core.page.TableDataInfo;
public
class
DbBannerController
extends
BaseController
{
private
final
IDbBannerService
iDbBannerService
;
@Value
(
"${document.uploadPath}"
)
private
String
uploadPath
;
/**
* 查询轮播图列表
*/
@SaCheckPermission
(
"school.paper:banner:list"
)
@GetMapping
(
"/list"
)
public
TableDataInfo
<
DbBannerVo
>
list
(
DbBannerBo
bo
,
PageQuery
pageQuery
)
{
return
iDbBannerService
.
queryPageList
(
bo
,
pageQuery
);
...
...
@@ -50,7 +54,6 @@ public class DbBannerController extends BaseController {
/**
* 导出轮播图列表
*/
@SaCheckPermission
(
"school.paper:banner:export"
)
@Log
(
title
=
"轮播图"
,
businessType
=
BusinessType
.
EXPORT
)
@PostMapping
(
"/export"
)
public
void
export
(
DbBannerBo
bo
,
HttpServletResponse
response
)
{
...
...
@@ -63,17 +66,15 @@ public class DbBannerController extends BaseController {
*
* @param id 主键
*/
@SaCheckPermission
(
"school.paper:banner:query"
)
@GetMapping
(
"/{id}"
)
public
R
<
DbBannerVo
>
getInfo
(
@NotNull
(
message
=
"主键不能为空"
)
@PathVariable
Long
id
)
{
@PathVariable
Long
id
)
{
return
R
.
ok
(
iDbBannerService
.
queryById
(
id
));
}
/**
* 新增轮播图
*/
@SaCheckPermission
(
"school.paper:banner:add"
)
@Log
(
title
=
"轮播图"
,
businessType
=
BusinessType
.
INSERT
)
@RepeatSubmit
()
@PostMapping
()
...
...
@@ -84,7 +85,6 @@ public class DbBannerController extends BaseController {
/**
* 修改轮播图
*/
@SaCheckPermission
(
"school.paper:banner:edit"
)
@Log
(
title
=
"轮播图"
,
businessType
=
BusinessType
.
UPDATE
)
@RepeatSubmit
()
@PutMapping
()
...
...
@@ -97,11 +97,49 @@ public class DbBannerController extends BaseController {
*
* @param ids 主键串
*/
@SaCheckPermission
(
"school.paper:banner:remove"
)
@Log
(
title
=
"轮播图"
,
businessType
=
BusinessType
.
DELETE
)
@DeleteMapping
(
"/{ids}"
)
public
R
<
Void
>
remove
(
@NotEmpty
(
message
=
"主键不能为空"
)
@PathVariable
Long
[]
ids
)
{
return
toAjax
(
iDbBannerService
.
deleteWithValidByIds
(
Arrays
.
asList
(
ids
),
true
));
}
/**
* 上传文件
*
* @param file
* @return
*/
@RequestMapping
(
value
=
"/uploadFile"
,
consumes
=
MediaType
.
MULTIPART_FORM_DATA_VALUE
,
method
=
RequestMethod
.
POST
)
public
R
upload
(
@RequestPart
(
"file"
)
MultipartFile
file
)
{
if
(!
file
.
isEmpty
())
{
String
uploadPath
=
"C:\\Users\\Administrator\\Pictures\\"
;
// 如果目录不存在则创建
File
uploadDir
=
new
File
(
uploadPath
);
if
(!
uploadDir
.
exists
())
{
uploadDir
.
mkdir
();
}
String
OriginalFilename
=
file
.
getOriginalFilename
();
//获取原文件名
String
suffixName
=
OriginalFilename
.
substring
(
OriginalFilename
.
lastIndexOf
(
"."
));
//获取文件后缀名
//重新随机生成名字
String
filename
=
UUID
.
randomUUID
().
toString
()
+
suffixName
;
File
localFile
=
new
File
(
uploadPath
+
filename
);
String
url
=
"https://farming.nyinhong.com/pic/"
+
filename
;
try
{
file
.
transferTo
(
localFile
);
//把上传的文件保存至本地
/**
* 这里应该把filename保存到数据库,供前端访问时使用
*/
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"url"
,
url
);
map
.
put
(
"originalFilename"
,
OriginalFilename
);
return
R
.
ok
(
map
);
//上传成功,返回保存的文件地址
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
return
R
.
fail
(
"上传失败"
);
}
}
else
{
return
R
.
fail
(
"文件为空"
);
}
}
}
school-paper/src/main/java/com/ruoyi/school/paper/controller/DbTestPaperRecordController.java
View file @
de41a776
package
com
.
ruoyi
.
school
.
paper
.
controller
;
import
java.util.List
;
import
java.util.Arrays
;
import
java.util.concurrent.TimeUnit
;
import
cn.dev33.satoken.annotation.SaIgnore
;
import
lombok.RequiredArgsConstructor
;
import
javax.servlet.http.HttpServletResponse
;
import
javax.validation.constraints.*
;
import
cn.dev33.satoken.annotation.SaCheckPermission
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.validation.annotation.Validated
;
import
com.ruoyi.common.annotation.RepeatSubmit
;
import
com.ruoyi.common.annotation.Log
;
import
com.ruoyi.common.annotation.RepeatSubmit
;
import
com.ruoyi.common.core.controller.BaseController
;
import
com.ruoyi.common.core.domain.PageQuery
;
import
com.ruoyi.common.core.domain.R
;
import
com.ruoyi.common.core.page.TableDataInfo
;
import
com.ruoyi.common.core.validate.AddGroup
;
import
com.ruoyi.common.core.validate.EditGroup
;
import
com.ruoyi.common.core.validate.QueryGroup
;
import
com.ruoyi.common.enums.BusinessType
;
import
com.ruoyi.common.helper.LoginHelper
;
import
com.ruoyi.common.utils.poi.ExcelUtil
;
import
com.ruoyi.school.paper.domain.vo.DbTestPaperRecordVo
;
import
com.ruoyi.school.paper.domain.bo.DbTestPaperRecordBo
;
import
com.ruoyi.school.paper.domain.vo.DbTestPaperRecordVo
;
import
com.ruoyi.school.paper.service.IDbTestPaperRecordService
;
import
com.ruoyi.common.core.page.TableDataInfo
;
import
lombok.RequiredArgsConstructor
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
import
javax.servlet.http.HttpServletResponse
;
import
javax.validation.constraints.NotEmpty
;
import
javax.validation.constraints.NotNull
;
import
java.util.Arrays
;
import
java.util.List
;
/**
* 答题记录
...
...
@@ -50,6 +49,16 @@ public class DbTestPaperRecordController extends BaseController {
}
/**
* 【小程序】查询答题记录列表
*/
@GetMapping
(
"/testPaperlist"
)
public
TableDataInfo
<
DbTestPaperRecordVo
>
testPaperlist
(
DbTestPaperRecordBo
bo
,
PageQuery
pageQuery
)
{
Long
userId
=
LoginHelper
.
getUserId
();
bo
.
setUserId
(
userId
);
return
iDbTestPaperRecordService
.
testPaperlist
(
bo
,
pageQuery
);
}
/**
* 导出答题记录列表
*/
@Log
(
title
=
"答题记录"
,
businessType
=
BusinessType
.
EXPORT
)
...
...
school-paper/src/main/java/com/ruoyi/school/paper/controller/DbTestPaperRecordDetailController.java
View file @
de41a776
package
com
.
ruoyi
.
school
.
paper
.
controller
;
import
java.util.List
;
import
java.util.Arrays
;
import
java.util.concurrent.TimeUnit
;
import
cn.dev33.satoken.annotation.SaIgnore
;
import
lombok.RequiredArgsConstructor
;
import
javax.servlet.http.HttpServletResponse
;
import
javax.validation.constraints.*
;
import
cn.dev33.satoken.annotation.SaCheckPermission
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.validation.annotation.Validated
;
import
com.ruoyi.common.annotation.RepeatSubmit
;
import
com.ruoyi.common.annotation.Log
;
import
com.ruoyi.common.annotation.RepeatSubmit
;
import
com.ruoyi.common.core.controller.BaseController
;
import
com.ruoyi.common.core.domain.PageQuery
;
import
com.ruoyi.common.core.domain.R
;
import
com.ruoyi.common.core.page.TableDataInfo
;
import
com.ruoyi.common.core.validate.AddGroup
;
import
com.ruoyi.common.core.validate.EditGroup
;
import
com.ruoyi.common.core.validate.QueryGroup
;
import
com.ruoyi.common.enums.BusinessType
;
import
com.ruoyi.common.utils.poi.ExcelUtil
;
import
com.ruoyi.school.paper.domain.vo.DbTestPaperRecordDetailVo
;
import
com.ruoyi.school.paper.domain.bo.DbTestPaperRecordDetailBo
;
import
com.ruoyi.school.paper.domain.vo.DbTestPaperRecordDetailVo
;
import
com.ruoyi.school.paper.service.IDbTestPaperRecordDetailService
;
import
com.ruoyi.common.core.page.TableDataInfo
;
import
lombok.RequiredArgsConstructor
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
import
javax.servlet.http.HttpServletResponse
;
import
javax.validation.constraints.NotEmpty
;
import
javax.validation.constraints.NotNull
;
import
java.util.Arrays
;
import
java.util.List
;
/**
* 答题记录详情
...
...
@@ -42,7 +40,7 @@ public class DbTestPaperRecordDetailController extends BaseController {
private
final
IDbTestPaperRecordDetailService
iDbTestPaperRecordDetailService
;
/**
* 查询答题记录详情列表
*
【小程序】
查询答题记录详情列表
*/
@GetMapping
(
"/list"
)
public
TableDataInfo
<
DbTestPaperRecordDetailVo
>
list
(
DbTestPaperRecordDetailBo
bo
,
PageQuery
pageQuery
)
{
...
...
school-paper/src/main/java/com/ruoyi/school/paper/domain/vo/DbQuestionBankTestPaperVo.java
View file @
de41a776
...
...
@@ -2,10 +2,7 @@ package com.ruoyi.school.paper.domain.vo;
import
com.alibaba.excel.annotation.ExcelIgnoreUnannotated
;
import
com.alibaba.excel.annotation.ExcelProperty
;
import
com.ruoyi.common.annotation.ExcelDictFormat
;
import
com.ruoyi.common.convert.ExcelDictConvert
;
import
lombok.Data
;
import
java.util.Date
;
...
...
@@ -94,6 +91,12 @@ public class DbQuestionBankTestPaperVo {
private
String
resolveVideo
;
/**
* 分数
*/
@ExcelProperty
(
value
=
"分数"
)
private
Integer
score
;
/**
* 备注
*/
@ExcelProperty
(
value
=
"备注"
)
...
...
school-paper/src/main/java/com/ruoyi/school/paper/domain/vo/DbTestPaperRecordVo.java
View file @
de41a776
...
...
@@ -2,10 +2,8 @@ package com.ruoyi.school.paper.domain.vo;
import
com.alibaba.excel.annotation.ExcelIgnoreUnannotated
;
import
com.alibaba.excel.annotation.ExcelProperty
;
import
com.ruoyi.common.annotation.ExcelDictFormat
;
import
com.ruoyi.common.convert.ExcelDictConvert
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
lombok.Data
;
import
java.util.Date
;
...
...
@@ -57,5 +55,6 @@ public class DbTestPaperRecordVo {
@ExcelProperty
(
value
=
"备注"
)
private
String
remark
;
@TableField
(
exist
=
false
)
private
String
testName
;
}
school-paper/src/main/java/com/ruoyi/school/paper/mapper/DbTestPaperRecordDetailMapper.java
View file @
de41a776
package
com
.
ruoyi
.
school
.
paper
.
mapper
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.ruoyi.common.core.mapper.BaseMapperPlus
;
import
com.ruoyi.school.paper.domain.DbTestPaperRecordDetail
;
import
com.ruoyi.school.paper.domain.bo.DbTestPaperRecordDetailBo
;
import
com.ruoyi.school.paper.domain.vo.DbTestPaperRecordDetailVo
;
import
com.ruoyi.common.core.mapper.BaseMapperPlus
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
/**
* 答题记录详情Mapper接口
...
...
@@ -14,4 +17,5 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper
public
interface
DbTestPaperRecordDetailMapper
extends
BaseMapperPlus
<
DbTestPaperRecordDetailMapper
,
DbTestPaperRecordDetail
,
DbTestPaperRecordDetailVo
>
{
Page
<
DbTestPaperRecordDetailVo
>
queryPageList
(
Page
<
Object
>
build
,
@Param
(
"bo"
)
DbTestPaperRecordDetailBo
bo
);
}
school-paper/src/main/java/com/ruoyi/school/paper/mapper/DbTestPaperRecordMapper.java
View file @
de41a776
package
com
.
ruoyi
.
school
.
paper
.
mapper
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.ruoyi.common.core.mapper.BaseMapperPlus
;
import
com.ruoyi.school.paper.domain.DbTestPaperRecord
;
import
com.ruoyi.school.paper.domain.bo.DbTestPaperRecordBo
;
import
com.ruoyi.school.paper.domain.vo.DbTestPaperRecordVo
;
import
com.ruoyi.common.core.mapper.BaseMapperPlus
;
import
org.apache.ibatis.annotations.Param
;
/**
* 答题记录Mapper接口
...
...
@@ -12,4 +15,5 @@ import com.ruoyi.common.core.mapper.BaseMapperPlus;
*/
public
interface
DbTestPaperRecordMapper
extends
BaseMapperPlus
<
DbTestPaperRecordMapper
,
DbTestPaperRecord
,
DbTestPaperRecordVo
>
{
Page
<
DbTestPaperRecordVo
>
getTestPaperlist
(
Page
<
Object
>
build
,
@Param
(
"bo"
)
DbTestPaperRecordBo
bo
);
}
school-paper/src/main/java/com/ruoyi/school/paper/service/IDbTestPaperRecordService.java
View file @
de41a776
package
com
.
ruoyi
.
school
.
paper
.
service
;
import
com.ruoyi.school.paper.domain.DbTestPaperRecord
;
import
com.ruoyi.school.paper.domain.vo.DbTestPaperRecordVo
;
import
com.ruoyi.school.paper.domain.bo.DbTestPaperRecordBo
;
import
com.ruoyi.common.core.page.TableDataInfo
;
import
com.ruoyi.common.core.domain.PageQuery
;
import
com.ruoyi.common.core.page.TableDataInfo
;
import
com.ruoyi.school.paper.domain.bo.DbTestPaperRecordBo
;
import
com.ruoyi.school.paper.domain.vo.DbTestPaperRecordVo
;
import
java.util.Collection
;
import
java.util.List
;
...
...
@@ -46,4 +45,6 @@ public interface IDbTestPaperRecordService {
* 校验并批量删除答题记录信息
*/
Boolean
deleteWithValidByIds
(
Collection
<
Long
>
ids
,
Boolean
isValid
);
TableDataInfo
<
DbTestPaperRecordVo
>
testPaperlist
(
DbTestPaperRecordBo
bo
,
PageQuery
pageQuery
);
}
school-paper/src/main/java/com/ruoyi/school/paper/service/impl/DbTestPaperRecordDetailServiceImpl.java
View file @
de41a776
package
com
.
ruoyi
.
school
.
paper
.
service
.
impl
;
import
cn.hutool.core.bean.BeanUtil
;
import
com.ruoyi.common.utils.StringUtils
;
import
com.ruoyi.common.core.page.TableDataInfo
;
import
com.ruoyi.common.core.domain.PageQuery
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
lombok.RequiredArgsConstructor
;
import
org.springframework.stereotype.Service
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.ruoyi.common.core.domain.PageQuery
;
import
com.ruoyi.common.core.page.TableDataInfo
;
import
com.ruoyi.common.utils.StringUtils
;
import
com.ruoyi.school.paper.domain.DbTestPaperRecordDetail
;
import
com.ruoyi.school.paper.domain.bo.DbTestPaperRecordDetailBo
;
import
com.ruoyi.school.paper.domain.vo.DbTestPaperRecordDetailVo
;
import
com.ruoyi.school.paper.domain.DbTestPaperRecordDetail
;
import
com.ruoyi.school.paper.mapper.DbTestPaperRecordDetailMapper
;
import
com.ruoyi.school.paper.service.IDbTestPaperRecordDetailService
;
import
lombok.RequiredArgsConstructor
;
import
org.springframework.stereotype.Service
;
import
java.util.Collection
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Collection
;
/**
* 答题记录详情Service业务层处理
...
...
@@ -44,8 +44,8 @@ public class DbTestPaperRecordDetailServiceImpl implements IDbTestPaperRecordDet
*/
@Override
public
TableDataInfo
<
DbTestPaperRecordDetailVo
>
queryPageList
(
DbTestPaperRecordDetailBo
bo
,
PageQuery
pageQuery
)
{
LambdaQueryWrapper
<
DbTestPaperRecordDetail
>
lqw
=
buildQueryWrapper
(
bo
);
Page
<
DbTestPaperRecordDetailVo
>
result
=
baseMapper
.
selectVoPage
(
pageQuery
.
build
(),
lqw
);
Page
<
DbTestPaperRecordDetailVo
>
result
=
baseMapper
.
queryPageList
(
pageQuery
.
build
(),
bo
);
return
TableDataInfo
.
build
(
result
);
}
...
...
school-paper/src/main/java/com/ruoyi/school/paper/service/impl/DbTestPaperRecordServiceImpl.java
View file @
de41a776
package
com
.
ruoyi
.
school
.
paper
.
service
.
impl
;
import
cn.hutool.core.bean.BeanUtil
;
import
com.ruoyi.common.utils.StringUtils
;
import
com.ruoyi.common.core.page.TableDataInfo
;
import
com.ruoyi.common.core.domain.PageQuery
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
lombok.RequiredArgsConstructor
;
import
org.springframework.stereotype.Service
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.ruoyi.common.core.domain.PageQuery
;
import
com.ruoyi.common.core.page.TableDataInfo
;
import
com.ruoyi.school.paper.domain.DbTestPaperRecord
;
import
com.ruoyi.school.paper.domain.bo.DbTestPaperRecordBo
;
import
com.ruoyi.school.paper.domain.vo.DbTestPaperRecordVo
;
import
com.ruoyi.school.paper.domain.DbTestPaperRecord
;
import
com.ruoyi.school.paper.mapper.DbTestPaperRecordMapper
;
import
com.ruoyi.school.paper.service.IDbTestPaperRecordService
;
import
lombok.RequiredArgsConstructor
;
import
org.springframework.stereotype.Service
;
import
java.util.Collection
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Collection
;
/**
* 答题记录Service业务层处理
...
...
@@ -104,9 +103,22 @@ public class DbTestPaperRecordServiceImpl implements IDbTestPaperRecordService {
*/
@Override
public
Boolean
deleteWithValidByIds
(
Collection
<
Long
>
ids
,
Boolean
isValid
)
{
if
(
isValid
)
{
if
(
isValid
)
{
//TODO 做一些业务上的校验,判断是否需要校验
}
return
baseMapper
.
deleteBatchIds
(
ids
)
>
0
;
}
/**
* 【小程序】查询答题记录列表
*
* @param bo
* @param pageQuery
* @return
*/
@Override
public
TableDataInfo
<
DbTestPaperRecordVo
>
testPaperlist
(
DbTestPaperRecordBo
bo
,
PageQuery
pageQuery
)
{
Page
<
DbTestPaperRecordVo
>
result
=
baseMapper
.
getTestPaperlist
(
pageQuery
.
build
(),
bo
);
return
TableDataInfo
.
build
(
result
);
}
}
school-paper/src/main/java/com/ruoyi/school/paper/service/impl/TestPaperServiceImpl.java
View file @
de41a776
...
...
@@ -2,10 +2,12 @@ package com.ruoyi.school.paper.service.impl;
import
cn.hutool.core.collection.CollUtil
;
import
com.ruoyi.common.exception.ServiceException
;
import
com.ruoyi.common.utils.StringUtils
;
import
com.ruoyi.school.paper.domain.DbTestPaperRecordDetail
;
import
com.ruoyi.school.paper.domain.bo.DbTestPaperRecordBo
;
import
com.ruoyi.school.paper.domain.bo.TestPaperAnswerBo
;
import
com.ruoyi.school.paper.domain.bo.TestPaperAnswerItemBo
;
import
com.ruoyi.school.paper.domain.vo.DbQuestionBankTestPaperVo
;
import
com.ruoyi.school.paper.domain.vo.DbTestPaperVo
;
import
com.ruoyi.school.paper.domain.vo.TestPaperVo
;
import
com.ruoyi.school.paper.domain.vo.TestQuestionsVo
;
...
...
@@ -14,6 +16,7 @@ import lombok.RequiredArgsConstructor;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.math.BigDecimal
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Objects
;
...
...
@@ -72,6 +75,11 @@ public class TestPaperServiceImpl implements ITestPaperService {
buffer
.
setRecordId
(
bo
.
getRecordId
());
buffer
.
setQuestionBankId
(
answer
.
getId
());
buffer
.
setAnswer
(
answer
.
getAnswer
());
DbQuestionBankTestPaperVo
bankTestPaperVo
=
bankTestPaperService
.
queryById
(
answer
.
getId
());
buffer
.
setCorrectAnswer
(
StringUtils
.
isNotEmpty
(
bankTestPaperVo
.
getRightAnswers
())
?
bankTestPaperVo
.
getRightAnswers
()
:
bankTestPaperVo
.
getRightAnswersPic
());
if
(
bankTestPaperVo
.
getSpecies
().
equals
(
2
))
{
buffer
.
setScore
(
answer
.
getAnswer
().
equals
(
bankTestPaperVo
.
getRightAnswers
())
?
BigDecimal
.
valueOf
(
bankTestPaperVo
.
getScore
())
:
BigDecimal
.
ZERO
);
}
insertPaperRecords
.
add
(
buffer
);
}
if
(
CollUtil
.
isNotEmpty
(
insertPaperRecords
))
{
...
...
school-paper/src/main/resources/mapper/school-paper/DbTestPaperRecordDetailMapper.xml
View file @
de41a776
...
...
@@ -19,5 +19,27 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result
property=
"updateBy"
column=
"update_by"
/>
</resultMap>
<select
id=
"queryPageList"
resultType=
"com.ruoyi.school.paper.domain.vo.DbTestPaperRecordDetailVo"
>
SELECT dqbatp.topic,
dqbatp.right_answers,
dqbatp.right_answers_pic,
dtprd.answer,
dtprd.score,
d.option_tag,
d.option_content,
m.answer goods_answer,
m.user_name
FROM db_test_paper_record_detail dtprd
LEFT JOIN db_question_bank_test_paper dqbatp ON dtprd.question_bank_id = dqbatp.id
LEFT JOIN db_question_bank_answer_test_paper d ON dtprd.question_bank_id = d.question_bank_id
LEFT JOIN (SELECT a.answer,
su.user_name,
a.question_bank_id
FROM db_test_paper_record_detail a
LEFT JOIN db_test_paper_record dtpr ON a.record_id = dtpr.id
LEFT JOIN sys_user su ON dtpr.user_id = su.user_id
WHERE a.question_bank_id = #{bo.questionBankId,jdbcType=BIGINT}
AND good = 0) m ON m.question_bank_id = dqbatp.id
WHERE dtprd.record_id = #{bo.recordId,jdbcType=BIGINT}
</select>
</mapper>
school-paper/src/main/resources/mapper/school-paper/DbTestPaperRecordMapper.xml
View file @
de41a776
...
...
@@ -17,5 +17,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result
property=
"updateBy"
column=
"update_by"
/>
</resultMap>
<select
id=
"getTestPaperlist"
resultType=
"com.ruoyi.school.paper.domain.vo.DbTestPaperRecordVo"
>
select dtpr.*,dtp.test_name
from db_test_paper_record dtpr
left join db_test_paper dtp on dtpr.test_paper_id = dtp.id
where dtpr.user_id = #{bo.userId,jdbcType=BIGINT}
</select>
</mapper>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment