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
befb0951
Commit
befb0951
authored
Jul 24, 2023
by
郑云飞
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
题库存到redis缓存中
parent
d226227a
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
22 additions
and
22 deletions
+22
-22
school-paper/src/main/java/com/ruoyi/school/paper/service/impl/DbQuestionBankServiceImpl.java
+22
-22
No files found.
school-paper/src/main/java/com/ruoyi/school/paper/service/impl/DbQuestionBankServiceImpl.java
View file @
befb0951
...
...
@@ -147,15 +147,7 @@ public class DbQuestionBankServiceImpl implements IDbQuestionBankService {
public
Boolean
updateByBo
(
DbQuestionBankBo
bo
)
{
DbQuestionBank
update
=
BeanUtil
.
toBean
(
bo
,
DbQuestionBank
.
class
);
validEntityBeforeSave
(
update
);
boolean
upd
=
baseMapper
.
updateById
(
update
)
>
0
;
if
(
upd
)
{
// 将新增的题目添加到redis题库缓存中
List
<
DbQuestionBank
>
questionBanks
=
JsonUtils
.
parseArray
(
RedisUtils
.
getCacheObject
(
DEFAULT_QUESTIOBN_BANK_KEY
),
DbQuestionBank
.
class
);
questionBanks
.
removeIf
(
dbQuestionBank
->
dbQuestionBank
.
getId
().
equals
(
update
.
getId
()));
questionBanks
.
add
(
update
);
RedisUtils
.
setCacheObject
(
DEFAULT_QUESTIOBN_BANK_KEY
,
JsonUtils
.
toJsonString
(
questionBanks
));
}
return
false
;
return
baseMapper
.
updateById
(
update
)
>
0
;
}
/**
...
...
@@ -169,20 +161,28 @@ public class DbQuestionBankServiceImpl implements IDbQuestionBankService {
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
);
if
(
questionUpdateFlag
)
{
// 将新增的题目添加到redis题库缓存中
List
<
DbQuestionBank
>
questionBanks
=
JsonUtils
.
parseArray
(
RedisUtils
.
getCacheObject
(
DEFAULT_QUESTIOBN_BANK_KEY
),
DbQuestionBank
.
class
);
questionBanks
.
removeIf
(
dbQuestionBank
->
dbQuestionBank
.
getId
().
equals
(
updateRecord
.
getId
()));
questionBanks
.
add
(
updateRecord
);
RedisUtils
.
setCacheObject
(
DEFAULT_QUESTIOBN_BANK_KEY
,
JsonUtils
.
toJsonString
(
questionBanks
));
if
(
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
);
}
answerUpdateFlag
=
questionBankAnswerMapper
.
insertBatch
(
options
);
}
return
questionUpdateFlag
&&
answerUpdateFlag
;
}
...
...
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