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/ExamTemplatesServiceImpl.java | 73 ++++++++++++++++++++++++++++--------
1 files changed, 57 insertions(+), 16 deletions(-)
diff --git a/src/main/java/com/mindskip/xzs/service/impl/ExamTemplatesServiceImpl.java b/src/main/java/com/mindskip/xzs/service/impl/ExamTemplatesServiceImpl.java
index d06ee00..1c2a337 100644
--- a/src/main/java/com/mindskip/xzs/service/impl/ExamTemplatesServiceImpl.java
+++ b/src/main/java/com/mindskip/xzs/service/impl/ExamTemplatesServiceImpl.java
@@ -11,11 +11,19 @@
import com.mindskip.xzs.service.ExamTemplatesUserCountService;
import com.mindskip.xzs.utility.convert.ExamTemplatesClassConvert;
import com.mindskip.xzs.viewmodel.admin.exam.ExamPaperEditRequestVM;
+import com.mindskip.xzs.viewmodel.admin.exam.ExamPaperEditRequestVO;
import com.mindskip.xzs.viewmodel.admin.exam.ExamPaperTitleItemVM;
import com.mindskip.xzs.viewmodel.admin.exam.QuestionTypeVM;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.CollectionUtils;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
@@ -23,6 +31,7 @@
import java.util.stream.Collectors;
@Service
+@Slf4j
public class ExamTemplatesServiceImpl extends BaseServiceImpl<ExamTemplates> implements ExamTemplatesService {
private final ExamTemplatesMapper examTemplatesMapper;
@@ -50,8 +59,20 @@
if (model.getId() != null) {
removes(model.getId());
}
-
ExamTemplates examTemplates = ExamTemplatesClassConvert.INSTANCE.ExamPaperEditRequestVMToExamTemplates(model);
+ if (!CollectionUtils.isEmpty(model.getLimitDateTime())) {
+ SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ Date startTime = null;
+ Date endTime = null;
+ try {
+ startTime = dateFormat.parse(model.getLimitDateTime().get(0));
+ endTime = dateFormat.parse(model.getLimitDateTime().get(1));
+ } catch (Exception e) {
+ log.info(e.getMessage());
+ }
+ examTemplates.setStartTime(startTime);
+ examTemplates.setEndTime(endTime);
+ }
examTemplates.setCtime(new Date());
examTemplates.setTitleName(model.getTitleItems().get(0).getName());
examTemplates.setStatus(model.getStatus());
@@ -73,11 +94,11 @@
subjects.add(examTemplatesSubject);
}
examTemplatesSubjectMapper.saves(subjects);
- if("0".equals(model.getStatus())){
+ if ("0".equals(model.getStatus())) {
Object[] obj = Arrays.stream(model.getUserIds()).sorted().distinct().toArray();
Integer[] userIds = new Integer[obj.length];
- for(int i = 0;i<obj.length;i++) {
- userIds[i] = (Integer)obj[i];
+ for (int i = 0; i < obj.length; i++) {
+ userIds[i] = (Integer) obj[i];
}
for (Integer userId : userIds) {
ExamTemplatesUser templatesUser = new ExamTemplatesUser();
@@ -97,6 +118,12 @@
public PageInfo<ExamTemplates> gets(ExamTemplatesVO templatesVO) {
return PageHelper.startPage(templatesVO.getPageIndex(), templatesVO.getPageSize(), "id desc").doSelectPageInfo(() ->
examTemplatesMapper.gets(templatesVO));
+ }
+
+ @Override
+ public PageInfo<ExamTemplates> getByadmins(ExamTemplatesVO templatesVO) {
+ return PageHelper.startPage(templatesVO.getPageIndex(), templatesVO.getPageSize(), "id desc").doSelectPageInfo(() ->
+ examTemplatesMapper.getByadmins(templatesVO));
}
@Override
@@ -121,7 +148,7 @@
vm.setType("1");
vm.setId(null);
ExamPaper examPaper = examPaperService.savePaperFromVM(vm, user);
- ExamPaperEditRequestVM newVM = examPaperService.examPaperToVM(examPaper.getId());
+ ExamPaperEditRequestVO newVM = examPaperService.examPaperToVM(examPaper.getId());
count.setExamPaperId(examPaper.getId());
count.setUserId(user.getId());
examTemplatesUserCountService.add(count);
@@ -131,20 +158,20 @@
@Override
public Integer randomExam1(User user, Integer templatesId) throws Exception {
- ExamTemplatesUserCount count = new ExamTemplatesUserCount();
+// ExamTemplatesUserCount count = new ExamTemplatesUserCount();
ExamPaperEditRequestVM vm = restore(templatesId);
- count.setExamTemplatesId(vm.getId());
+// count.setExamTemplatesId(vm.getId());
Integer[] id = {user.getId()};
vm.setUserIds(id);
vm.setType("1");
vm.setId(null);
ExamPaper examPaper = examPaperService.savePaperFromVM(vm, user);
- ExamPaperEditRequestVM newVM = examPaperService.examPaperToVM(examPaper.getId());
- count.setExamPaperId(examPaper.getId());
- count.setUserId(user.getId());
- examTemplatesUserCountService.add(count);
- return count.getExamPaperId();
+ ExamPaperEditRequestVO newVM = examPaperService.examPaperToVM(examPaper.getId());
+// count.setExamPaperId(examPaper.getId());
+// count.setUserId(user.getId());
+// examTemplatesUserCountService.add(count);
+ return examPaper.getId();
}
@Override
@@ -152,14 +179,27 @@
removes(id);
}
- public ExamPaperEditRequestVM restore(Integer id){
- if(id == null){
+ public ExamPaperEditRequestVM restore(Integer id) {
+ if (id == null) {
ExamTemplates examTemplates = examTemplatesMapper.getTime();
id = examTemplates.getId();
}
ExamTemplates examTemplates = examTemplatesMapper.getById(id);
+
ExamPaperEditRequestVM vm = ExamTemplatesClassConvert.INSTANCE.ExamTemplatesToExamPaperEditRequestVM(examTemplates);
vm.setMenuIds(examTemplates.getMenuIds());
+
+ List<String> limitDateTime = new ArrayList<>();
+ Date startTime = examTemplates.getStartTime();
+ Date endTime = examTemplates.getEndTime();
+ if (startTime != null && endTime != null) {
+ SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ String start = dateFormat.format(startTime);
+ String end = dateFormat.format(endTime);
+ limitDateTime.add(start);
+ limitDateTime.add(end);
+ vm.setLimitDateTime(limitDateTime);
+ }
Integer[] ids = examTemplatesSubjectMapper.getTemplatesId(id)
.stream().map(ExamTemplatesSubject::getSubjectId).toArray(Integer[]::new);
vm.setSubjectId(ids);
@@ -172,7 +212,7 @@
list.add(examPaperTitleItemVM);
vm.setTitleItems(list);
vm.setAggregateSource(100);
- if("0".equals(examTemplates.getStatus())){
+ if ("0".equals(examTemplates.getStatus())) {
List<ExamTemplatesUser> byId = examTemplatesUserMapper.getById(id);
List<String> collect = byId.stream().map(ExamTemplatesUser::getUserId).collect(Collectors.toList());
Integer[] userIds = new Integer[collect.size()];
@@ -183,7 +223,8 @@
}
return vm;
}
- public void removes(Integer id){
+
+ public void removes(Integer id) {
examTemplatesMapper.removeById(id);
examTemplatesQuestionMapper.removeByTemplatesId(id);
examTemplatesSubjectMapper.removeByTemplatesId(id);
--
Gitblit v1.8.0