fuliqi
2023-11-28 d8524dc5ef974bcfacba99128d5e79a268ccdf3f
随机案件时间段回显
7个文件已修改
114 ■■■■ 已修改文件
src/main/java/com/mindskip/xzs/controller/admin/ExamTemplatesController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/mindskip/xzs/controller/student/DashboardController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/mindskip/xzs/domain/ExamTemplates.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/mindskip/xzs/domain/vo/ExamTemplatesVO.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/mindskip/xzs/service/impl/ExamTemplatesServiceImpl.java 51 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/mindskip/xzs/viewmodel/student/dashboard/PaperFilter.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/ExamTemplatesMapper.xml 29 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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();
    }
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());
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;
    }
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 +
                '}';
    }
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);
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;
    }
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">