From 0057ef145ab05b6c34802deb4ff575f975b6283a Mon Sep 17 00:00:00 2001
From: 龚焕茏 <2842157468@qq.com>
Date: 星期四, 16 五月 2024 18:19:15 +0800
Subject: [PATCH] feat:部门管理员功能权限控制
---
src/main/java/com/mindskip/xzs/service/impl/PracticeQuestionConditionServiceImpl.java | 25 +++++++++++++++++++++++--
1 files changed, 23 insertions(+), 2 deletions(-)
diff --git a/src/main/java/com/mindskip/xzs/service/impl/PracticeQuestionConditionServiceImpl.java b/src/main/java/com/mindskip/xzs/service/impl/PracticeQuestionConditionServiceImpl.java
index 31f74d9..4bd744d 100644
--- a/src/main/java/com/mindskip/xzs/service/impl/PracticeQuestionConditionServiceImpl.java
+++ b/src/main/java/com/mindskip/xzs/service/impl/PracticeQuestionConditionServiceImpl.java
@@ -7,8 +7,11 @@
import com.mindskip.xzs.service.PracticeQuestionConditionService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import java.util.ArrayList;
import java.util.Date;
+import java.util.List;
import java.util.Objects;
/**
@@ -23,18 +26,36 @@
private final WebContext webContext;
@Override
+ @Transactional(rollbackFor = Exception.class)
public void save(PracticeQuestionCondition entity) {
+ // 濡傛灉鍋氶敊浜嗭紝鍔犲叆閿欓闆�
+ if (! entity.getQuestionCondition().getRight()) {
+
+ }
PracticeQuestionCondition old = mapper.selectByPracticeId(entity.getPracticeId());
if (Objects.isNull(old)) {
old = new PracticeQuestionCondition();
old.setUserId(webContext.getCurrentUser().getId());
old.setPracticeId(entity.getPracticeId());
- old.setContent(JSON.toJSONString(entity.getQuestionConditions()));
+ ArrayList<Object> objects = new ArrayList<>(1);
+ objects.add(entity.getQuestionCondition());
+ old.setContent(JSON.toJSONString(objects));
old.setLatestTime(new Date());
mapper.save(old);
} else {
// 鏇存柊鍐呭
- mapper.updateContentById(JSON.toJSONString(entity.getQuestionConditions()), old.getId(), new Date());
+ List<PracticeQuestionCondition.QuestionFinishCondition> list = JSON.parseArray(old.getContent(), PracticeQuestionCondition.QuestionFinishCondition.class);
+ if (list.stream().anyMatch(item -> item.getQuestionId().equals(entity.getQuestionCondition().getQuestionId()))) {
+ for (PracticeQuestionCondition.QuestionFinishCondition item : list) {
+ if (item.getQuestionId().equals(entity.getQuestionCondition().getQuestionId())) {
+ item = entity.getQuestionCondition();
+ break;
+ }
+ }
+ } else {
+ list.add(entity.getQuestionCondition());
+ }
+ mapper.updateContentById(JSON.toJSONString(list), old.getId(), new Date());
}
}
--
Gitblit v1.8.0