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
91540eed
Commit
91540eed
authored
Jul 24, 2023
by
Wangmin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
PC端 新增根据ID查询题目,修改题目
parent
17c16e13
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
205 additions
and
42 deletions
+205
-42
ruoyi-admin/src/main/resources/application.yml
+1
-1
school-paper/src/main/java/com/ruoyi/school/paper/controller/DbQuestionBankController.java
+25
-1
school-paper/src/main/java/com/ruoyi/school/paper/controller/TestPaperController.java
+8
-1
school-paper/src/main/java/com/ruoyi/school/paper/domain/DbTestPaperRecordDetail.java
+1
-1
school-paper/src/main/java/com/ruoyi/school/paper/domain/bo/DbQuestionBankAnswerBo.java
+5
-6
school-paper/src/main/java/com/ruoyi/school/paper/domain/bo/DbQuestionBankBo.java
+9
-10
school-paper/src/main/java/com/ruoyi/school/paper/domain/bo/QuestionBankAndAnswerBo.java
+2
-4
school-paper/src/main/java/com/ruoyi/school/paper/domain/vo/DbQuestionBankAndAnswerVo.java
+26
-0
school-paper/src/main/java/com/ruoyi/school/paper/mapper/DbQuestionBankMapper.java
+10
-0
school-paper/src/main/java/com/ruoyi/school/paper/mapper/DbTestPaperRecordDetailMapper.java
+2
-0
school-paper/src/main/java/com/ruoyi/school/paper/service/IDbQuestionBankService.java
+18
-5
school-paper/src/main/java/com/ruoyi/school/paper/service/impl/DbQuestionBankServiceImpl.java
+45
-9
school-paper/src/main/java/com/ruoyi/school/paper/service/impl/DbTestPaperRecordDetailServiceImpl.java
+1
-1
school-paper/src/main/resources/mapper/school-paper/DbQuestionBankMapper.xml
+52
-3
No files found.
ruoyi-admin/src/main/resources/application.yml
View file @
91540eed
...
@@ -167,7 +167,7 @@ mybatis-plus:
...
@@ -167,7 +167,7 @@ mybatis-plus:
dbConfig
:
dbConfig
:
# 主键类型
# 主键类型
# AUTO 自增 NONE 空 INPUT 用户输入 ASSIGN_ID 雪花 ASSIGN_UUID 唯一 UUID
# AUTO 自增 NONE 空 INPUT 用户输入 ASSIGN_ID 雪花 ASSIGN_UUID 唯一 UUID
idType
:
A
SSIGN_ID
idType
:
A
UTO
# 逻辑已删除值
# 逻辑已删除值
logicDeleteValue
:
2
logicDeleteValue
:
2
# 逻辑未删除值
# 逻辑未删除值
...
...
school-paper/src/main/java/com/ruoyi/school/paper/controller/DbQuestionBankController.java
View file @
91540eed
...
@@ -13,6 +13,7 @@ import com.ruoyi.common.enums.BusinessType;
...
@@ -13,6 +13,7 @@ import com.ruoyi.common.enums.BusinessType;
import
com.ruoyi.common.utils.poi.ExcelUtil
;
import
com.ruoyi.common.utils.poi.ExcelUtil
;
import
com.ruoyi.school.paper.domain.bo.DbQuestionBankBo
;
import
com.ruoyi.school.paper.domain.bo.DbQuestionBankBo
;
import
com.ruoyi.school.paper.domain.bo.QuestionBankAndAnswerBo
;
import
com.ruoyi.school.paper.domain.bo.QuestionBankAndAnswerBo
;
import
com.ruoyi.school.paper.domain.vo.DbQuestionBankAndAnswerVo
;
import
com.ruoyi.school.paper.domain.vo.DbQuestionBankVo
;
import
com.ruoyi.school.paper.domain.vo.DbQuestionBankVo
;
import
com.ruoyi.school.paper.service.IDbQuestionBankService
;
import
com.ruoyi.school.paper.service.IDbQuestionBankService
;
import
lombok.RequiredArgsConstructor
;
import
lombok.RequiredArgsConstructor
;
...
@@ -45,7 +46,6 @@ public class DbQuestionBankController extends BaseController {
...
@@ -45,7 +46,6 @@ public class DbQuestionBankController extends BaseController {
*/
*/
@GetMapping
(
"/list"
)
@GetMapping
(
"/list"
)
public
TableDataInfo
<
DbQuestionBankVo
>
list
(
DbQuestionBankBo
bo
,
PageQuery
pageQuery
)
{
public
TableDataInfo
<
DbQuestionBankVo
>
list
(
DbQuestionBankBo
bo
,
PageQuery
pageQuery
)
{
return
iDbQuestionBankService
.
queryPageList
(
bo
,
pageQuery
);
return
iDbQuestionBankService
.
queryPageList
(
bo
,
pageQuery
);
}
}
...
@@ -70,6 +70,17 @@ public class DbQuestionBankController extends BaseController {
...
@@ -70,6 +70,17 @@ public class DbQuestionBankController extends BaseController {
}
}
/**
/**
* [PC端]获取题目详细信息
*
* @param id 题目ID
* @return 题目详细信息
*/
@GetMapping
(
"detail/{id}"
)
public
R
<
DbQuestionBankAndAnswerVo
>
getDetailInfoById
(
@NotNull
(
message
=
"主键不能为空"
)
@PathVariable
Long
id
)
{
return
R
.
ok
(
iDbQuestionBankService
.
getById
(
id
));
}
/**
* 新增题库主
* 新增题库主
*/
*/
@Log
(
title
=
"题库主"
,
businessType
=
BusinessType
.
INSERT
)
@Log
(
title
=
"题库主"
,
businessType
=
BusinessType
.
INSERT
)
...
@@ -103,6 +114,19 @@ public class DbQuestionBankController extends BaseController {
...
@@ -103,6 +114,19 @@ public class DbQuestionBankController extends BaseController {
}
}
/**
/**
* [PC端] 修改题目信息
*
* @param bo 修改信息
* @return 操作结果
*/
@Log
(
title
=
"题库"
,
businessType
=
BusinessType
.
UPDATE
)
@RepeatSubmit
()
@PutMapping
(
"/question"
)
public
R
<
Void
>
editQuestionAndAnswerRecords
(
@Validated
(
EditGroup
.
class
)
@RequestBody
QuestionBankAndAnswerBo
bo
)
{
return
toAjax
(
iDbQuestionBankService
.
updateByBo
(
bo
));
}
/**
* 删除题库主
* 删除题库主
*
*
* @param ids 主键串
* @param ids 主键串
...
...
school-paper/src/main/java/com/ruoyi/school/paper/controller/TestPaperController.java
View file @
91540eed
...
@@ -11,6 +11,7 @@ import lombok.RequiredArgsConstructor;
...
@@ -11,6 +11,7 @@ import lombok.RequiredArgsConstructor;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
import
javax.validation.constraints.NotNull
;
import
java.util.Objects
;
import
java.util.Objects
;
/**
/**
...
@@ -35,12 +36,18 @@ public class TestPaperController extends BaseController {
...
@@ -35,12 +36,18 @@ public class TestPaperController extends BaseController {
*/
*/
@Log
(
title
=
"开始考试"
,
businessType
=
BusinessType
.
OTHER
)
@Log
(
title
=
"开始考试"
,
businessType
=
BusinessType
.
OTHER
)
@GetMapping
(
"/startTest/{paperId}"
)
@GetMapping
(
"/startTest/{paperId}"
)
public
R
<
TestPaperVo
>
startTest
(
@PathVariable
(
"paperId"
)
Long
paperId
)
{
public
R
<
TestPaperVo
>
startTest
(
@
NotNull
(
message
=
"试卷ID不能为空"
)
@
PathVariable
(
"paperId"
)
Long
paperId
)
{
Long
userId
=
getUserId
();
Long
userId
=
getUserId
();
Objects
.
requireNonNull
(
userId
,
"未检查到合法账户信息"
);
Objects
.
requireNonNull
(
userId
,
"未检查到合法账户信息"
);
return
R
.
ok
(
testPaperService
.
generateTestPaper
(
userId
,
paperId
));
return
R
.
ok
(
testPaperService
.
generateTestPaper
(
userId
,
paperId
));
}
}
/**
* 交卷
*
* @param bo 试卷参数
* @return 无返回值
*/
@Log
(
title
=
"交卷"
,
businessType
=
BusinessType
.
INSERT
)
@Log
(
title
=
"交卷"
,
businessType
=
BusinessType
.
INSERT
)
@PostMapping
(
"/endTest/"
)
@PostMapping
(
"/endTest/"
)
public
R
<
Void
>
paperTestEnd
(
@RequestBody
TestPaperAnswerBo
bo
)
{
public
R
<
Void
>
paperTestEnd
(
@RequestBody
TestPaperAnswerBo
bo
)
{
...
...
school-paper/src/main/java/com/ruoyi/school/paper/domain/DbTestPaperRecordDetail.java
View file @
91540eed
...
@@ -63,6 +63,6 @@ public class DbTestPaperRecordDetail extends BaseEntity {
...
@@ -63,6 +63,6 @@ public class DbTestPaperRecordDetail extends BaseEntity {
/**
/**
* 创建时间
* 创建时间
*/
*/
private
Date
c
er
ateTime
;
private
Date
c
re
ateTime
;
}
}
school-paper/src/main/java/com/ruoyi/school/paper/domain/bo/DbQuestionBankAnswerBo.java
View file @
91540eed
package
com
.
ruoyi
.
school
.
paper
.
domain
.
bo
;
package
com
.
ruoyi
.
school
.
paper
.
domain
.
bo
;
import
com.ruoyi.common.core.domain.BaseEntity
;
import
com.ruoyi.common.core.validate.AddGroup
;
import
com.ruoyi.common.core.validate.AddGroup
;
import
com.ruoyi.common.core.validate.EditGroup
;
import
com.ruoyi.common.core.validate.EditGroup
;
import
lombok.Data
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.EqualsAndHashCode
;
import
javax.validation.constraints.*
;
import
java.util.Date
;
import
com.ruoyi.common.core.domain.BaseEntity
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotNull
;
/**
/**
* 题目答案业务对象 db_question_bank_answer
* 题目答案业务对象 db_question_bank_answer
...
@@ -48,13 +47,13 @@ public class DbQuestionBankAnswerBo extends BaseEntity {
...
@@ -48,13 +47,13 @@ public class DbQuestionBankAnswerBo extends BaseEntity {
/**
/**
* 备注
* 备注
*/
*/
@NotBlank
(
message
=
"备注不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
//
@NotBlank(message = "备注不能为空", groups = { AddGroup.class, EditGroup.class })
private
String
remark
;
private
String
remark
;
/**
/**
* 状态:0正常, 1删除
* 状态:0正常, 1删除
*/
*/
@NotNull
(
message
=
"状态:0正常, 1删除不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
//
@NotNull(message = "状态:0正常, 1删除不能为空", groups = { AddGroup.class, EditGroup.class })
private
Integer
status
;
private
Integer
status
;
...
...
school-paper/src/main/java/com/ruoyi/school/paper/domain/bo/DbQuestionBankBo.java
View file @
91540eed
package
com
.
ruoyi
.
school
.
paper
.
domain
.
bo
;
package
com
.
ruoyi
.
school
.
paper
.
domain
.
bo
;
import
com.ruoyi.common.core.domain.BaseEntity
;
import
com.ruoyi.common.core.validate.AddGroup
;
import
com.ruoyi.common.core.validate.AddGroup
;
import
com.ruoyi.common.core.validate.EditGroup
;
import
com.ruoyi.common.core.validate.EditGroup
;
import
lombok.Data
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.EqualsAndHashCode
;
import
javax.validation.constraints.*
;
import
java.util.Date
;
import
com.ruoyi.common.core.domain.BaseEntity
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotNull
;
/**
/**
* 题库主业务对象 db_question_bank
* 题库主业务对象 db_question_bank
...
@@ -48,8 +47,8 @@ public class DbQuestionBankBo extends BaseEntity {
...
@@ -48,8 +47,8 @@ public class DbQuestionBankBo extends BaseEntity {
/**
/**
* 类型:1典例精讲
* 类型:1典例精讲
*/
*/
@NotNull
(
message
=
"类型:1典例精讲不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
//
@NotNull(message = "类型:1典例精讲不能为空", groups = { AddGroup.class, EditGroup.class })
private
Integer
type
;
private
int
type
;
/**
/**
* 强度:1基础,2中等,3提高
* 强度:1基础,2中等,3提高
...
@@ -78,25 +77,25 @@ public class DbQuestionBankBo extends BaseEntity {
...
@@ -78,25 +77,25 @@ public class DbQuestionBankBo extends BaseEntity {
/**
/**
* 解答过程
* 解答过程
*/
*/
@NotBlank
(
message
=
"解答过程不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
//
@NotBlank(message = "解答过程不能为空", groups = { AddGroup.class, EditGroup.class })
private
String
resolveCourse
;
private
String
resolveCourse
;
/**
/**
* 解答视频
* 解答视频
*/
*/
@NotBlank
(
message
=
"解答视频不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
//
@NotBlank(message = "解答视频不能为空", groups = { AddGroup.class, EditGroup.class })
private
String
resolveVideo
;
private
String
resolveVideo
;
/**
/**
* 备注
* 备注
*/
*/
@NotBlank
(
message
=
"备注不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
//
@NotBlank(message = "备注不能为空", groups = { AddGroup.class, EditGroup.class })
private
String
remark
;
private
String
remark
;
/**
/**
* 状态:0正常,1删除
* 状态:0正常,1删除
*/
*/
@NotNull
(
message
=
"状态:0正常,1删除不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
//
@NotNull(message = "状态:0正常,1删除不能为空", groups = { AddGroup.class, EditGroup.class })
private
Integer
status
;
private
Integer
status
;
...
...
school-paper/src/main/java/com/ruoyi/school/paper/domain/bo/QuestionBankAndAnswerBo.java
View file @
91540eed
package
com
.
ruoyi
.
school
.
paper
.
domain
.
bo
;
package
com
.
ruoyi
.
school
.
paper
.
domain
.
bo
;
import
com.ruoyi.school.paper.domain.DbQuestionBank
;
import
com.ruoyi.school.paper.domain.DbQuestionBankAnswer
;
import
lombok.Data
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.EqualsAndHashCode
;
...
@@ -17,11 +15,11 @@ import java.util.List;
...
@@ -17,11 +15,11 @@ import java.util.List;
*/
*/
@Data
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
@EqualsAndHashCode
(
callSuper
=
true
)
public
class
QuestionBankAndAnswerBo
extends
DbQuestionBank
{
public
class
QuestionBankAndAnswerBo
extends
DbQuestionBank
Bo
{
/**
/**
* 选择题对应选项
* 选择题对应选项
*/
*/
private
List
<
DbQuestionBankAnswer
>
options
;
private
List
<
DbQuestionBankAnswer
Bo
>
options
;
}
}
school-paper/src/main/java/com/ruoyi/school/paper/domain/vo/DbQuestionBankAndAnswerVo.java
0 → 100644
View file @
91540eed
package
com
.
ruoyi
.
school
.
paper
.
domain
.
vo
;
import
com.fasterxml.jackson.annotation.JsonInclude
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
java.util.List
;
/**
* 问题详情实体类
* <p>created in 2023/7/24 10:08
*
* @author WangMin
* @version 1.0
*/
@EqualsAndHashCode
(
callSuper
=
true
)
@Data
public
class
DbQuestionBankAndAnswerVo
extends
DbQuestionBankVo
{
/**
* 选择题对应选项
*/
@JsonInclude
(
JsonInclude
.
Include
.
NON_EMPTY
)
private
List
<
DbQuestionBankAnswerVo
>
options
;
}
school-paper/src/main/java/com/ruoyi/school/paper/mapper/DbQuestionBankMapper.java
View file @
91540eed
package
com
.
ruoyi
.
school
.
paper
.
mapper
;
package
com
.
ruoyi
.
school
.
paper
.
mapper
;
import
com.ruoyi.school.paper.domain.DbQuestionBank
;
import
com.ruoyi.school.paper.domain.DbQuestionBank
;
import
com.ruoyi.school.paper.domain.vo.DbQuestionBankAndAnswerVo
;
import
com.ruoyi.school.paper.domain.vo.DbQuestionBankVo
;
import
com.ruoyi.school.paper.domain.vo.DbQuestionBankVo
;
import
com.ruoyi.common.core.mapper.BaseMapperPlus
;
import
com.ruoyi.common.core.mapper.BaseMapperPlus
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Mapper
;
import
java.io.Serializable
;
/**
/**
* 题库主Mapper接口
* 题库主Mapper接口
*
*
...
@@ -14,4 +17,11 @@ import org.apache.ibatis.annotations.Mapper;
...
@@ -14,4 +17,11 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper
@Mapper
public
interface
DbQuestionBankMapper
extends
BaseMapperPlus
<
DbQuestionBankMapper
,
DbQuestionBank
,
DbQuestionBankVo
>
{
public
interface
DbQuestionBankMapper
extends
BaseMapperPlus
<
DbQuestionBankMapper
,
DbQuestionBank
,
DbQuestionBankVo
>
{
/**
* 根据题目ID查询题目详细信息
*
* @param id 题目ID
* @return 题目详细信息
*/
DbQuestionBankAndAnswerVo
selectDetailById
(
Serializable
id
);
}
}
school-paper/src/main/java/com/ruoyi/school/paper/mapper/DbTestPaperRecordDetailMapper.java
View file @
91540eed
...
@@ -3,6 +3,7 @@ package com.ruoyi.school.paper.mapper;
...
@@ -3,6 +3,7 @@ package com.ruoyi.school.paper.mapper;
import
com.ruoyi.school.paper.domain.DbTestPaperRecordDetail
;
import
com.ruoyi.school.paper.domain.DbTestPaperRecordDetail
;
import
com.ruoyi.school.paper.domain.vo.DbTestPaperRecordDetailVo
;
import
com.ruoyi.school.paper.domain.vo.DbTestPaperRecordDetailVo
;
import
com.ruoyi.common.core.mapper.BaseMapperPlus
;
import
com.ruoyi.common.core.mapper.BaseMapperPlus
;
import
org.apache.ibatis.annotations.Mapper
;
/**
/**
* 答题记录详情Mapper接口
* 答题记录详情Mapper接口
...
@@ -10,6 +11,7 @@ import com.ruoyi.common.core.mapper.BaseMapperPlus;
...
@@ -10,6 +11,7 @@ import com.ruoyi.common.core.mapper.BaseMapperPlus;
* @author zyf
* @author zyf
* @date 2023-07-20
* @date 2023-07-20
*/
*/
@Mapper
public
interface
DbTestPaperRecordDetailMapper
extends
BaseMapperPlus
<
DbTestPaperRecordDetailMapper
,
DbTestPaperRecordDetail
,
DbTestPaperRecordDetailVo
>
{
public
interface
DbTestPaperRecordDetailMapper
extends
BaseMapperPlus
<
DbTestPaperRecordDetailMapper
,
DbTestPaperRecordDetail
,
DbTestPaperRecordDetailVo
>
{
}
}
school-paper/src/main/java/com/ruoyi/school/paper/service/IDbQuestionBankService.java
View file @
91540eed
package
com
.
ruoyi
.
school
.
paper
.
service
;
package
com
.
ruoyi
.
school
.
paper
.
service
;
import
com.ruoyi.school.paper.domain.DbQuestionBank
;
import
com.ruoyi.common.core.domain.PageQuery
;
import
com.ruoyi.common.core.page.TableDataInfo
;
import
com.ruoyi.school.paper.domain.bo.DbQuestionBankBo
;
import
com.ruoyi.school.paper.domain.bo.QuestionBankAndAnswerBo
;
import
com.ruoyi.school.paper.domain.bo.QuestionBankAndAnswerBo
;
import
com.ruoyi.school.paper.domain.vo.DbQuestionBankAndAnswerVo
;
import
com.ruoyi.school.paper.domain.vo.DbQuestionBankVo
;
import
com.ruoyi.school.paper.domain.vo.DbQuestionBankVo
;
import
com.ruoyi.school.paper.domain.bo.DbQuestionBankBo
;
import
com.ruoyi.common.core.page.TableDataInfo
;
import
com.ruoyi.common.core.domain.PageQuery
;
import
java.util.Collection
;
import
java.util.Collection
;
import
java.util.List
;
import
java.util.List
;
...
@@ -23,6 +23,15 @@ public interface IDbQuestionBankService {
...
@@ -23,6 +23,15 @@ public interface IDbQuestionBankService {
*/
*/
DbQuestionBankVo
queryById
(
Long
id
);
DbQuestionBankVo
queryById
(
Long
id
);
/**
* 查询题目详细信息
*
* @param id 题目ID
* @return 题目信息
*/
DbQuestionBankAndAnswerVo
getById
(
Long
id
);
/**
/**
* 查询题库主列表
* 查询题库主列表
*/
*/
...
@@ -38,7 +47,9 @@ public interface IDbQuestionBankService {
...
@@ -38,7 +47,9 @@ public interface IDbQuestionBankService {
*/
*/
Boolean
insertByBo
(
DbQuestionBankBo
bo
);
Boolean
insertByBo
(
DbQuestionBankBo
bo
);
/** 新增题库
/**
* 新增题库
*
* @param bo 题目参数及答案列表
* @param bo 题目参数及答案列表
* @return 操作结果
* @return 操作结果
*/
*/
...
@@ -49,6 +60,8 @@ public interface IDbQuestionBankService {
...
@@ -49,6 +60,8 @@ public interface IDbQuestionBankService {
*/
*/
Boolean
updateByBo
(
DbQuestionBankBo
bo
);
Boolean
updateByBo
(
DbQuestionBankBo
bo
);
boolean
updateByBo
(
QuestionBankAndAnswerBo
bo
);
/**
/**
* 校验并批量删除题库主信息
* 校验并批量删除题库主信息
*/
*/
...
...
school-paper/src/main/java/com/ruoyi/school/paper/service/impl/DbQuestionBankServiceImpl.java
View file @
91540eed
...
@@ -10,8 +10,10 @@ import com.ruoyi.common.core.page.TableDataInfo;
...
@@ -10,8 +10,10 @@ import com.ruoyi.common.core.page.TableDataInfo;
import
com.ruoyi.common.utils.StringUtils
;
import
com.ruoyi.common.utils.StringUtils
;
import
com.ruoyi.school.paper.domain.DbQuestionBank
;
import
com.ruoyi.school.paper.domain.DbQuestionBank
;
import
com.ruoyi.school.paper.domain.DbQuestionBankAnswer
;
import
com.ruoyi.school.paper.domain.DbQuestionBankAnswer
;
import
com.ruoyi.school.paper.domain.bo.DbQuestionBankAnswerBo
;
import
com.ruoyi.school.paper.domain.bo.DbQuestionBankBo
;
import
com.ruoyi.school.paper.domain.bo.DbQuestionBankBo
;
import
com.ruoyi.school.paper.domain.bo.QuestionBankAndAnswerBo
;
import
com.ruoyi.school.paper.domain.bo.QuestionBankAndAnswerBo
;
import
com.ruoyi.school.paper.domain.vo.DbQuestionBankAndAnswerVo
;
import
com.ruoyi.school.paper.domain.vo.DbQuestionBankVo
;
import
com.ruoyi.school.paper.domain.vo.DbQuestionBankVo
;
import
com.ruoyi.school.paper.mapper.DbQuestionBankAnswerMapper
;
import
com.ruoyi.school.paper.mapper.DbQuestionBankAnswerMapper
;
import
com.ruoyi.school.paper.mapper.DbQuestionBankMapper
;
import
com.ruoyi.school.paper.mapper.DbQuestionBankMapper
;
...
@@ -20,9 +22,7 @@ import lombok.RequiredArgsConstructor;
...
@@ -20,9 +22,7 @@ import lombok.RequiredArgsConstructor;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.util.Collection
;
import
java.util.*
;
import
java.util.List
;
import
java.util.Map
;
/**
/**
* 题库主Service业务层处理
* 题库主Service业务层处理
...
@@ -46,6 +46,11 @@ public class DbQuestionBankServiceImpl implements IDbQuestionBankService {
...
@@ -46,6 +46,11 @@ public class DbQuestionBankServiceImpl implements IDbQuestionBankService {
return
baseMapper
.
selectVoById
(
id
);
return
baseMapper
.
selectVoById
(
id
);
}
}
@Override
public
DbQuestionBankAndAnswerVo
getById
(
Long
id
)
{
return
baseMapper
.
selectDetailById
(
id
);
}
/**
/**
* 查询题库主列表
* 查询题库主列表
*/
*/
...
@@ -71,7 +76,7 @@ public class DbQuestionBankServiceImpl implements IDbQuestionBankService {
...
@@ -71,7 +76,7 @@ public class DbQuestionBankServiceImpl implements IDbQuestionBankService {
lqw
.
eq
(
bo
.
getCategoryId
()
!=
null
,
DbQuestionBank:
:
getCategoryId
,
bo
.
getCategoryId
());
lqw
.
eq
(
bo
.
getCategoryId
()
!=
null
,
DbQuestionBank:
:
getCategoryId
,
bo
.
getCategoryId
());
lqw
.
eq
(
bo
.
getSpecies
()
!=
null
,
DbQuestionBank:
:
getSpecies
,
bo
.
getSpecies
());
lqw
.
eq
(
bo
.
getSpecies
()
!=
null
,
DbQuestionBank:
:
getSpecies
,
bo
.
getSpecies
());
lqw
.
eq
(
bo
.
getPhaseId
()
!=
null
,
DbQuestionBank:
:
getPhaseId
,
bo
.
getPhaseId
());
lqw
.
eq
(
bo
.
getPhaseId
()
!=
null
,
DbQuestionBank:
:
getPhaseId
,
bo
.
getPhaseId
());
lqw
.
eq
(
bo
.
getType
()
!=
null
,
DbQuestionBank:
:
getType
,
bo
.
getType
());
lqw
.
eq
(
bo
.
getType
()
>
-
1
,
DbQuestionBank:
:
getType
,
bo
.
getType
());
lqw
.
eq
(
bo
.
getIntensity
()
!=
null
,
DbQuestionBank:
:
getIntensity
,
bo
.
getIntensity
());
lqw
.
eq
(
bo
.
getIntensity
()
!=
null
,
DbQuestionBank:
:
getIntensity
,
bo
.
getIntensity
());
lqw
.
eq
(
StringUtils
.
isNotBlank
(
bo
.
getTopic
()),
DbQuestionBank:
:
getTopic
,
bo
.
getTopic
());
lqw
.
eq
(
StringUtils
.
isNotBlank
(
bo
.
getTopic
()),
DbQuestionBank:
:
getTopic
,
bo
.
getTopic
());
lqw
.
eq
(
StringUtils
.
isNotBlank
(
bo
.
getRightAnswers
()),
DbQuestionBank:
:
getRightAnswers
,
bo
.
getRightAnswers
());
lqw
.
eq
(
StringUtils
.
isNotBlank
(
bo
.
getRightAnswers
()),
DbQuestionBank:
:
getRightAnswers
,
bo
.
getRightAnswers
());
...
@@ -112,9 +117,11 @@ public class DbQuestionBankServiceImpl implements IDbQuestionBankService {
...
@@ -112,9 +117,11 @@ public class DbQuestionBankServiceImpl implements IDbQuestionBankService {
// 若为选择题则同步插入至选项答案中
// 若为选择题则同步插入至选项答案中
boolean
answerInsertFlag
=
false
;
boolean
answerInsertFlag
=
false
;
if
(
questionInsertFlag
&&
insertRecord
.
getSpecies
()
==
2
&&
CollUtil
.
isNotEmpty
(
bo
.
getOptions
()))
{
if
(
questionInsertFlag
&&
insertRecord
.
getSpecies
()
==
2
&&
CollUtil
.
isNotEmpty
(
bo
.
getOptions
()))
{
List
<
DbQuestionBankAnswer
>
options
=
bo
.
getOptions
();
List
<
DbQuestionBankAnswer
>
options
=
new
ArrayList
<>(
bo
.
getOptions
().
size
());
for
(
DbQuestionBankAnswer
option
:
options
)
{
for
(
DbQuestionBankAnswerBo
option
:
bo
.
getOptions
())
{
option
.
setQuestionBankId
(
insertRecord
.
getId
());
DbQuestionBankAnswer
bankAnswer
=
BeanUtil
.
toBean
(
option
,
DbQuestionBankAnswer
.
class
);
bankAnswer
.
setQuestionBankId
(
insertRecord
.
getId
());
options
.
add
(
bankAnswer
);
}
}
answerInsertFlag
=
questionBankAnswerMapper
.
insertBatch
(
options
);
answerInsertFlag
=
questionBankAnswerMapper
.
insertBatch
(
options
);
}
}
...
@@ -132,10 +139,39 @@ public class DbQuestionBankServiceImpl implements IDbQuestionBankService {
...
@@ -132,10 +139,39 @@ public class DbQuestionBankServiceImpl implements IDbQuestionBankService {
}
}
/**
/**
* 修改题库
*/
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
boolean
updateByBo
(
QuestionBankAndAnswerBo
bo
)
{
DbQuestionBank
updateRecord
=
BeanUtil
.
toBean
(
bo
,
DbQuestionBank
.
class
);
validEntityBeforeSave
(
updateRecord
);
boolean
questionUpdateFlag
=
baseMapper
.
updateById
(
updateRecord
)
>
0
;
// 若为选择题则同步插入至选项答案中
boolean
answerUpdateFlag
=
false
;
if
(
questionUpdateFlag
&&
updateRecord
.
getSpecies
()
==
2
&&
CollUtil
.
isNotEmpty
(
bo
.
getOptions
()))
{
// 删除选择题旧有数据
LambdaQueryWrapper
<
DbQuestionBankAnswer
>
wrapper
=
new
LambdaQueryWrapper
<>();
Objects
.
requireNonNull
(
bo
.
getId
(),
"题目ID不能为空"
);
wrapper
.
eq
(
DbQuestionBankAnswer:
:
getQuestionBankId
,
bo
.
getId
());
questionBankAnswerMapper
.
delete
(
wrapper
);
// 插入新值
List
<
DbQuestionBankAnswer
>
options
=
new
ArrayList
<>(
bo
.
getOptions
().
size
());
for
(
DbQuestionBankAnswerBo
option
:
bo
.
getOptions
())
{
DbQuestionBankAnswer
bankAnswer
=
BeanUtil
.
toBean
(
option
,
DbQuestionBankAnswer
.
class
);
bankAnswer
.
setQuestionBankId
(
updateRecord
.
getId
());
options
.
add
(
bankAnswer
);
}
answerUpdateFlag
=
questionBankAnswerMapper
.
insertBatch
(
options
);
}
return
questionUpdateFlag
&&
answerUpdateFlag
;
}
/**
* 保存前的数据校验
* 保存前的数据校验
*/
*/
private
void
validEntityBeforeSave
(
DbQuestionBank
entity
)
{
private
void
validEntityBeforeSave
(
DbQuestionBank
entity
)
{
//TODO 做一些数据校验,如唯一约束
//
TODO 做一些数据校验,如唯一约束
}
}
/**
/**
...
@@ -144,7 +180,7 @@ public class DbQuestionBankServiceImpl implements IDbQuestionBankService {
...
@@ -144,7 +180,7 @@ public class DbQuestionBankServiceImpl implements IDbQuestionBankService {
@Override
@Override
public
Boolean
deleteWithValidByIds
(
Collection
<
Long
>
ids
,
Boolean
isValid
)
{
public
Boolean
deleteWithValidByIds
(
Collection
<
Long
>
ids
,
Boolean
isValid
)
{
if
(
isValid
)
{
if
(
isValid
)
{
//TODO 做一些业务上的校验,判断是否需要校验
//
TODO 做一些业务上的校验,判断是否需要校验
}
}
return
baseMapper
.
deleteBatchIds
(
ids
)
>
0
;
return
baseMapper
.
deleteBatchIds
(
ids
)
>
0
;
}
}
...
...
school-paper/src/main/java/com/ruoyi/school/paper/service/impl/DbTestPaperRecordDetailServiceImpl.java
View file @
91540eed
...
@@ -67,7 +67,7 @@ public class DbTestPaperRecordDetailServiceImpl implements IDbTestPaperRecordDet
...
@@ -67,7 +67,7 @@ public class DbTestPaperRecordDetailServiceImpl implements IDbTestPaperRecordDet
lqw
.
eq
(
bo
.
getScore
()
!=
null
,
DbTestPaperRecordDetail:
:
getScore
,
bo
.
getScore
());
lqw
.
eq
(
bo
.
getScore
()
!=
null
,
DbTestPaperRecordDetail:
:
getScore
,
bo
.
getScore
());
lqw
.
eq
(
bo
.
getGood
()
!=
null
,
DbTestPaperRecordDetail:
:
getGood
,
bo
.
getGood
());
lqw
.
eq
(
bo
.
getGood
()
!=
null
,
DbTestPaperRecordDetail:
:
getGood
,
bo
.
getGood
());
lqw
.
eq
(
bo
.
getStatus
()
!=
null
,
DbTestPaperRecordDetail:
:
getStatus
,
bo
.
getStatus
());
lqw
.
eq
(
bo
.
getStatus
()
!=
null
,
DbTestPaperRecordDetail:
:
getStatus
,
bo
.
getStatus
());
lqw
.
eq
(
bo
.
getCerateTime
()
!=
null
,
DbTestPaperRecordDetail:
:
getC
er
ateTime
,
bo
.
getCerateTime
());
lqw
.
eq
(
bo
.
getCerateTime
()
!=
null
,
DbTestPaperRecordDetail:
:
getC
re
ateTime
,
bo
.
getCerateTime
());
return
lqw
;
return
lqw
;
}
}
...
...
school-paper/src/main/resources/mapper/school-paper/DbQuestionBankMapper.xml
View file @
91540eed
<?xml version="1.0" encoding="UTF-8" ?>
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.ruoyi.school.paper.mapper.DbQuestionBankMapper"
>
<mapper
namespace=
"com.ruoyi.school.paper.mapper.DbQuestionBankMapper"
>
<resultMap
type=
"com.ruoyi.school.paper.domain.DbQuestionBank"
id=
"DbQuestionBankResult
"
>
<resultMap
id=
"DbQuestionBankResult"
type=
"com.ruoyi.school.paper.domain.DbQuestionBank
"
>
<result
property=
"id"
column=
"id"
/>
<result
property=
"id"
column=
"id"
/>
<result
property=
"categoryId"
column=
"category_id"
/>
<result
property=
"categoryId"
column=
"category_id"
/>
<result
property=
"species"
column=
"species"
/>
<result
property=
"species"
column=
"species"
/>
...
@@ -24,5 +24,54 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
...
@@ -24,5 +24,54 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result
property=
"updateBy"
column=
"update_by"
/>
<result
property=
"updateBy"
column=
"update_by"
/>
</resultMap>
</resultMap>
<resultMap
id=
"QuestionBankDetail"
type=
"com.ruoyi.school.paper.domain.vo.DbQuestionBankAndAnswerVo"
>
<id
property=
"id"
column=
"id"
/>
<result
property=
"categoryId"
column=
"category_id"
/>
<result
property=
"species"
column=
"species"
/>
<result
property=
"phaseId"
column=
"phase_id"
/>
<result
property=
"type"
column=
"type"
/>
<result
property=
"intensity"
column=
"intensity"
/>
<result
property=
"topic"
column=
"topic"
/>
<result
property=
"rightAnswers"
column=
"right_answers"
/>
<result
property=
"rightAnswersPic"
column=
"right_answers_pic"
/>
<result
property=
"resolveCourse"
column=
"resolve_course"
/>
<result
property=
"resolveVideo"
column=
"resolve_video"
/>
<result
property=
"remark"
column=
"remark"
/>
<result
property=
"status"
column=
"status"
/>
<collection
property=
"options"
ofType=
"com.ruoyi.school.paper.domain.vo.DbQuestionBankAnswerVo"
>
<id
property=
"id"
column=
"a_id"
/>
<result
property=
"questionBankId"
column=
"question_bank_id"
/>
<result
property=
"optionTag"
column=
"option_tag"
/>
<result
property=
"optionContent"
column=
"option_content"
/>
<result
property=
"remark"
column=
"a_remark"
/>
<result
property=
"status"
column=
"a_status"
/>
</collection>
</resultMap>
<select
id=
"selectDetailById"
resultMap=
"QuestionBankDetail"
>
select bank.id,
bank.category_id,
bank.species,
bank.phase_id,
bank.type,
bank.intensity,
bank.topic,
bank.right_answers,
bank.right_answers_pic,
bank.resolve_course,
bank.resolve_video,
bank.remark,
bank.status,
answer.id as a_id,
answer.question_bank_id,
answer.option_tag,
answer.option_content,
answer.remark as a_remark,
answer.status as a_status
from db_question_bank as bank
left join db_question_bank_answer as answer on bank.species = 2 and answer.question_bank_id = bank.id
where bank.id = #{id}
</select>
</mapper>
</mapper>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment