From d8524dc5ef974bcfacba99128d5e79a268ccdf3f Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期二, 28 十一月 2023 23:39:29 +0800
Subject: [PATCH] 随机案件时间段回显
---
src/main/java/com/mindskip/xzs/controller/admin/ExamTemplatesController.java | 2 -
src/main/java/com/mindskip/xzs/controller/student/DashboardController.java | 2 +
src/main/resources/mapper/ExamTemplatesMapper.xml | 29 +++++++++++++-
src/main/java/com/mindskip/xzs/service/impl/ExamTemplatesServiceImpl.java | 51 ++++++++++++++++++-------
src/main/java/com/mindskip/xzs/viewmodel/student/dashboard/PaperFilter.java | 4 ++
src/main/java/com/mindskip/xzs/domain/vo/ExamTemplatesVO.java | 14 ++++++-
src/main/java/com/mindskip/xzs/domain/ExamTemplates.java | 12 +++---
7 files changed, 87 insertions(+), 27 deletions(-)
diff --git a/src/main/java/com/mindskip/xzs/controller/admin/ExamTemplatesController.java b/src/main/java/com/mindskip/xzs/controller/admin/ExamTemplatesController.java
index 021b513..843762e 100644
--- a/src/main/java/com/mindskip/xzs/controller/admin/ExamTemplatesController.java
+++ b/src/main/java/com/mindskip/xzs/controller/admin/ExamTemplatesController.java
@@ -20,7 +20,6 @@
@RestController("AdminExamTemplatesController")
@RequestMapping(value = "/api/admin/exam/templates")
-@Slf4j
public class ExamTemplatesController extends BaseApiController {
private final ExamTemplatesService examTemplatesService;
@@ -33,7 +32,6 @@
@RequestMapping(value = "/edit", method = RequestMethod.POST)
public RestResponse edit(@RequestBody @Valid ExamPaperEditRequestVM model) {
- log.info("--------->鍙傛暟{}",model);
examTemplatesService.add(model);
return RestResponse.ok();
}
diff --git a/src/main/java/com/mindskip/xzs/controller/student/DashboardController.java b/src/main/java/com/mindskip/xzs/controller/student/DashboardController.java
index a011aec..3e847cc 100644
--- a/src/main/java/com/mindskip/xzs/controller/student/DashboardController.java
+++ b/src/main/java/com/mindskip/xzs/controller/student/DashboardController.java
@@ -22,6 +22,7 @@
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
+import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@@ -109,6 +110,7 @@
ExamTemplatesVO vo = new ExamTemplatesVO();
vo.setStatus("0");
vo.setUserId(user.getId());
+ vo.setNow(LocalDateTime.now());
List<ExamTemplates> gets = templatesMapper.gets(vo);
ExamTemplatesUserCountVO templatesUserCountVO = new ExamTemplatesUserCountVO();
templatesUserCountVO.setUserId(user.getId());
diff --git a/src/main/java/com/mindskip/xzs/domain/ExamTemplates.java b/src/main/java/com/mindskip/xzs/domain/ExamTemplates.java
index 0424a39..ca587ed 100644
--- a/src/main/java/com/mindskip/xzs/domain/ExamTemplates.java
+++ b/src/main/java/com/mindskip/xzs/domain/ExamTemplates.java
@@ -16,22 +16,22 @@
private String status;
private String menuIds;
private List<String> limitDateTime;
- private LocalDateTime startTime;
- private LocalDateTime endTime;
+ private Date startTime;
+ private Date endTime;
- public LocalDateTime getStartTime() {
+ public Date getStartTime() {
return startTime;
}
- public void setStartTime(LocalDateTime startTime) {
+ public void setStartTime(Date startTime) {
this.startTime = startTime;
}
- public LocalDateTime getEndTime() {
+ public Date getEndTime() {
return endTime;
}
- public void setEndTime(LocalDateTime endTime) {
+ public void setEndTime(Date endTime) {
this.endTime = endTime;
}
diff --git a/src/main/java/com/mindskip/xzs/domain/vo/ExamTemplatesVO.java b/src/main/java/com/mindskip/xzs/domain/vo/ExamTemplatesVO.java
index e36ffce..fcd6c46 100644
--- a/src/main/java/com/mindskip/xzs/domain/vo/ExamTemplatesVO.java
+++ b/src/main/java/com/mindskip/xzs/domain/vo/ExamTemplatesVO.java
@@ -5,6 +5,7 @@
import com.mindskip.xzs.domain.ExamTemplatesSubject;
import java.io.Serializable;
+import java.time.LocalDateTime;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
@@ -14,10 +15,18 @@
private Integer id;
private String name;
private Date ctime;
-
+ private LocalDateTime now;
private Integer[] subjectId;
private String status;
private Integer userId;
+
+ public LocalDateTime getNow() {
+ return now;
+ }
+
+ public void setNow(LocalDateTime now) {
+ this.now = now;
+ }
public Integer getId() {
return id;
@@ -73,8 +82,9 @@
"id=" + id +
", name='" + name + '\'' +
", ctime=" + ctime +
+ ", now=" + now +
", subjectId=" + Arrays.toString(subjectId) +
- ", status=" + status +
+ ", status='" + status + '\'' +
", userId=" + userId +
'}';
}
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 4aa2e16..d1da647 100644
--- a/src/main/java/com/mindskip/xzs/service/impl/ExamTemplatesServiceImpl.java
+++ b/src/main/java/com/mindskip/xzs/service/impl/ExamTemplatesServiceImpl.java
@@ -17,7 +17,10 @@
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;
@@ -57,17 +60,23 @@
}
ExamTemplates examTemplates = ExamTemplatesClassConvert.INSTANCE.ExamPaperEditRequestVMToExamTemplates(model);
-
- DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
- LocalDateTime startTime = LocalDateTime.parse(model.getLimitDateTime().get(0),dateTimeFormatter);
- LocalDateTime endTime = LocalDateTime.parse(model.getLimitDateTime().get(1),dateTimeFormatter);
-
+ 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());
examTemplates.setMenuIds(model.getMenuIds());
- examTemplates.setStartTime(startTime);
- examTemplates.setEndTime(endTime);
examTemplatesMapper.add(examTemplates);
List<ExamTemplatesQuestion> examTemplatesQuestions = ExamTemplatesClassConvert.INSTANCE.QuestionTypeVMListToExamTemplatesQuestionList(model.getQuestionTypeVMS())
@@ -85,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();
@@ -164,14 +173,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);
@@ -184,7 +206,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()];
@@ -195,7 +217,8 @@
}
return vm;
}
- public void removes(Integer id){
+
+ public void removes(Integer id) {
examTemplatesMapper.removeById(id);
examTemplatesQuestionMapper.removeByTemplatesId(id);
examTemplatesSubjectMapper.removeByTemplatesId(id);
diff --git a/src/main/java/com/mindskip/xzs/viewmodel/student/dashboard/PaperFilter.java b/src/main/java/com/mindskip/xzs/viewmodel/student/dashboard/PaperFilter.java
index 209a2b0..e3fb3a6 100644
--- a/src/main/java/com/mindskip/xzs/viewmodel/student/dashboard/PaperFilter.java
+++ b/src/main/java/com/mindskip/xzs/viewmodel/student/dashboard/PaperFilter.java
@@ -1,6 +1,9 @@
package com.mindskip.xzs.viewmodel.student.dashboard;
+import org.joda.time.DateTime;
+
+import java.time.LocalDateTime;
import java.util.Date;
public class PaperFilter {
@@ -11,6 +14,7 @@
private Integer subjectId;
+
public Integer getUserId() {
return userId;
}
diff --git a/src/main/resources/mapper/ExamTemplatesMapper.xml b/src/main/resources/mapper/ExamTemplatesMapper.xml
index c6a450a..3e2fda7 100644
--- a/src/main/resources/mapper/ExamTemplatesMapper.xml
+++ b/src/main/resources/mapper/ExamTemplatesMapper.xml
@@ -10,16 +10,18 @@
<result column="ctime" jdbcType="TIMESTAMP" property="ctime"/>
<result column="status" jdbcType="VARCHAR" property="status"/>
<result column="menu_ids" jdbcType="VARCHAR" property="menuIds"/>
+ <result column="start_time" jdbcType="TIMESTAMP" property="startTime"/>
+ <result column="end_time" jdbcType="TIMESTAMP" property="endTime"/>
</resultMap>
<sql id="Base_Column_List">
id
- , name, paper_type, suggest_time, title_name, ctime, status, menu_ids
+ , name, paper_type, suggest_time, title_name, ctime, status, menu_ids,start_time,end_time
</sql>
<insert id="add" parameterType="com.mindskip.xzs.domain.ExamTemplates" useGeneratedKeys="true" keyProperty="id">
- insert into t_exam_templates (name, paper_type, suggest_time, title_name, ctime, status, menu_ids)
- values (#{name}, #{paperType}, #{suggestTime}, #{titleName}, #{ctime}, #{status}, #{menuIds})
+ insert into t_exam_templates (name, paper_type, suggest_time, title_name, ctime, status, menu_ids,start_time,end_time)
+ values (#{name}, #{paperType}, #{suggestTime}, #{titleName}, #{ctime}, #{status}, #{menuIds},#{startTime},#{endTime})
</insert>
<select id="getTime" resultMap="BaseResultMap">
@@ -36,6 +38,7 @@
from t_exam_templates e
inner join t_exam_templates_user u on e.id = u.templates_id
<where>
+ paper_type != 7
<if test="status != null">
and e.status = 0
</if>
@@ -46,6 +49,26 @@
and u.user_id = #{userId}
</if>
</where>
+ union all
+ select
+ e.*
+ from t_exam_templates e
+ inner join t_exam_templates_user u on e.id = u.templates_id
+ <where>
+ paper_type = 7
+ <if test="status != null">
+ and e.status = 0
+ </if>
+ <if test="status == null">
+ and e.status is null
+ </if>
+ <if test="userId != null">
+ and u.user_id = #{userId}
+ </if>
+ <if test="now !=null">
+ and #{now} between e.start_time and e.end_time
+ </if>
+ </where>
</select>
<select id="getById" resultMap="BaseResultMap">
--
Gitblit v1.8.0