From e3fc8c41f194818e9881f25944180a492500ee3a Mon Sep 17 00:00:00 2001 From: baizonghao <1719256278@qq.com> Date: 星期五, 16 六月 2023 15:33:56 +0800 Subject: [PATCH] 视频教学 --- src/main/java/com/mindskip/xzs/domain/vo/VideoStudentVO.java | 40 ++++++ src/main/java/com/mindskip/xzs/service/impl/VideoServiceImpl.java | 59 +++++++++ src/main/java/com/mindskip/xzs/domain/vo/VideoStudentDto.java | 40 ++++++ src/main/resources/mapper/VideoMapper.xml | 35 +++++ src/main/java/com/mindskip/xzs/controller/admin/VideoController.java | 36 ++++++ src/main/java/com/mindskip/xzs/repository/VideoMapper.java | 16 ++ src/main/java/com/mindskip/xzs/domain/VideoStudent.java | 74 ++++++++++++ src/main/java/com/mindskip/xzs/service/IVideoService.java | 13 ++ 8 files changed, 313 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/mindskip/xzs/controller/admin/VideoController.java b/src/main/java/com/mindskip/xzs/controller/admin/VideoController.java new file mode 100644 index 0000000..41aa599 --- /dev/null +++ b/src/main/java/com/mindskip/xzs/controller/admin/VideoController.java @@ -0,0 +1,36 @@ +package com.mindskip.xzs.controller.admin; + +import com.mindskip.xzs.base.RestResponse; +import com.mindskip.xzs.domain.vo.VideoStudentDto; +import com.mindskip.xzs.domain.vo.VideoStudentVO; +import com.mindskip.xzs.service.IVideoService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.xml.ws.Response; + +@RestController("VideoController") +@RequestMapping(value = "/api/admin/video") +public class VideoController { + + @Autowired + private IVideoService videoService; + + @GetMapping("/clear") + public RestResponse clear(){ + videoService.clear(); + return RestResponse.ok(); + } + + @PostMapping("/add") + public RestResponse add(@RequestBody VideoStudentDto videoStudentDto){ + videoService.save(videoStudentDto); + return RestResponse.ok(); + } + + @GetMapping("/showButton/{id}") + public RestResponse showButton(@PathVariable Integer id){ + VideoStudentVO videoStudentVO = videoService.showButton(id); + return RestResponse.ok(videoStudentVO); + } +} diff --git a/src/main/java/com/mindskip/xzs/domain/VideoStudent.java b/src/main/java/com/mindskip/xzs/domain/VideoStudent.java new file mode 100644 index 0000000..31fba38 --- /dev/null +++ b/src/main/java/com/mindskip/xzs/domain/VideoStudent.java @@ -0,0 +1,74 @@ +package com.mindskip.xzs.domain; + +import java.io.Serializable; +import java.util.Date; + +public class VideoStudent implements Serializable { + private Integer id; + private String roomName; + private Integer stuId; + private Date start; + private Date end; + + public VideoStudent() { + } + + public VideoStudent(Integer id, String roomName, Integer stuId, Date start, Date end) { + this.id = id; + this.roomName = roomName; + this.stuId = stuId; + this.start = start; + this.end = end; + } + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getRoomName() { + return roomName; + } + + public void setRoomName(String roomName) { + this.roomName = roomName; + } + + public Integer getStuId() { + return stuId; + } + + public void setStuId(Integer stuId) { + this.stuId = stuId; + } + + public Date getStart() { + return start; + } + + public void setStart(Date start) { + this.start = start; + } + + public Date getEnd() { + return end; + } + + public void setEnd(Date end) { + this.end = end; + } + + @Override + public String toString() { + return "VideoStudent{" + + "id=" + id + + ", roomName='" + roomName + '\'' + + ", stuId=" + stuId + + ", start=" + start + + ", end=" + end + + '}'; + } +} diff --git a/src/main/java/com/mindskip/xzs/domain/vo/VideoStudentDto.java b/src/main/java/com/mindskip/xzs/domain/vo/VideoStudentDto.java new file mode 100644 index 0000000..b8be5d3 --- /dev/null +++ b/src/main/java/com/mindskip/xzs/domain/vo/VideoStudentDto.java @@ -0,0 +1,40 @@ +package com.mindskip.xzs.domain.vo; + +import java.util.List; + +public class VideoStudentDto { + private String roomName; + private List<Integer> stuIds; + + public VideoStudentDto() { + } + + public VideoStudentDto(String roomName, List<Integer> stuIds) { + this.roomName = roomName; + this.stuIds = stuIds; + } + + public String getRoomName() { + return roomName; + } + + public void setRoomName(String roomName) { + this.roomName = roomName; + } + + public List<Integer> getStuIds() { + return stuIds; + } + + public void setStuIds(List<Integer> stuIds) { + this.stuIds = stuIds; + } + + @Override + public String toString() { + return "VideoStudentDto{" + + "roomName='" + roomName + '\'' + + ", stuIds=" + stuIds + + '}'; + } +} diff --git a/src/main/java/com/mindskip/xzs/domain/vo/VideoStudentVO.java b/src/main/java/com/mindskip/xzs/domain/vo/VideoStudentVO.java new file mode 100644 index 0000000..dacbe01 --- /dev/null +++ b/src/main/java/com/mindskip/xzs/domain/vo/VideoStudentVO.java @@ -0,0 +1,40 @@ +package com.mindskip.xzs.domain.vo; + +import com.sun.org.apache.xpath.internal.operations.Bool; + +public class VideoStudentVO { + private Boolean flag; + private String roomName; + + public VideoStudentVO() { + } + + public VideoStudentVO(Boolean flag, String roomName) { + this.flag = flag; + this.roomName = roomName; + } + + public Boolean getFlag() { + return flag; + } + + public void setFlag(Boolean flag) { + this.flag = flag; + } + + public String getRoomName() { + return roomName; + } + + public void setRoomName(String roomName) { + this.roomName = roomName; + } + + @Override + public String toString() { + return "VideoStudentVO{" + + "flag=" + flag + + ", roomName='" + roomName + '\'' + + '}'; + } +} diff --git a/src/main/java/com/mindskip/xzs/repository/VideoMapper.java b/src/main/java/com/mindskip/xzs/repository/VideoMapper.java new file mode 100644 index 0000000..c5fcc75 --- /dev/null +++ b/src/main/java/com/mindskip/xzs/repository/VideoMapper.java @@ -0,0 +1,16 @@ +package com.mindskip.xzs.repository; + +import com.mindskip.xzs.domain.VideoStudent; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +@Mapper +public interface VideoMapper { + + List<VideoStudent> getAll(); + + void clear(); + + Integer insert (VideoStudent record); +} diff --git a/src/main/java/com/mindskip/xzs/service/IVideoService.java b/src/main/java/com/mindskip/xzs/service/IVideoService.java new file mode 100644 index 0000000..7eaec6a --- /dev/null +++ b/src/main/java/com/mindskip/xzs/service/IVideoService.java @@ -0,0 +1,13 @@ +package com.mindskip.xzs.service; + + +import com.mindskip.xzs.domain.vo.VideoStudentDto; +import com.mindskip.xzs.domain.vo.VideoStudentVO; + +public interface IVideoService{ + void save(VideoStudentDto videoStudentDto); + + void clear(); + + VideoStudentVO showButton(Integer id); +} diff --git a/src/main/java/com/mindskip/xzs/service/impl/VideoServiceImpl.java b/src/main/java/com/mindskip/xzs/service/impl/VideoServiceImpl.java new file mode 100644 index 0000000..c5f20c3 --- /dev/null +++ b/src/main/java/com/mindskip/xzs/service/impl/VideoServiceImpl.java @@ -0,0 +1,59 @@ +package com.mindskip.xzs.service.impl; + +import com.mindskip.xzs.domain.VideoStudent; +import com.mindskip.xzs.domain.vo.VideoStudentDto; +import com.mindskip.xzs.domain.vo.VideoStudentVO; +import com.mindskip.xzs.repository.VideoMapper; +import com.mindskip.xzs.service.IVideoService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Calendar; +import java.util.Date; +import java.util.List; +import java.util.function.Function; +import java.util.stream.Collectors; + +@Service +public class VideoServiceImpl implements IVideoService { + + @Autowired + private VideoMapper videoMapper; + + @Override + public void save(VideoStudentDto videoStudentVO) { + List<Integer> stuIds = videoStudentVO.getStuIds(); + for (Integer stuId : stuIds) { + VideoStudent record = new VideoStudent(); + Calendar calendar = Calendar.getInstance(); + Date start = calendar.getTime(); + calendar.add(Calendar.MINUTE, 10); // 鍔犱笂鍗佸垎閽� + Date end = calendar.getTime(); + record.setRoomName(videoStudentVO.getRoomName()); + record.setStart(start); + record.setEnd(end); + record.setStuId(stuId); + videoMapper.insert(record); + } + } + + @Override + public void clear() { + videoMapper.clear(); + } + + @Override + public VideoStudentVO showButton(Integer id) { + List<VideoStudent> all = videoMapper.getAll(); + List<Integer> collect = all.stream().map(new Function<VideoStudent, Integer>() { + @Override + public Integer apply(VideoStudent videoStudent) { + return videoStudent.getStuId(); + } + }).collect(Collectors.toList()); + VideoStudentVO videoStudentVO = new VideoStudentVO(); + videoStudentVO.setFlag(collect.contains(id)); + videoStudentVO.setRoomName(all.get(0).getRoomName()); + return videoStudentVO; + } +} diff --git a/src/main/resources/mapper/VideoMapper.xml b/src/main/resources/mapper/VideoMapper.xml new file mode 100644 index 0000000..99be44e --- /dev/null +++ b/src/main/resources/mapper/VideoMapper.xml @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.mindskip.xzs.repository.VideoMapper"> + <resultMap id="BaseResultMap" type="com.mindskip.xzs.domain.VideoStudent"> + <id column="id" jdbcType="INTEGER" property="id" /> + <result column="room_name" jdbcType="VARCHAR" property="roomName" /> + <result column="stu_id" jdbcType="VARCHAR" property="stuId" /> + <result column="start" jdbcType="TIMESTAMP" property="start" /> + <result column="end" jdbcType="TIMESTAMP" property="end" /> + </resultMap> + + <sql id="Base_Column_List"> + id, room_name, stu_id, start, end + </sql> + + <select id="getAll" resultType="com.mindskip.xzs.domain.VideoStudent"> + select + <include refid="Base_Column_List" /> + from t_video_student + </select> + + <delete id="clear"> + DELETE FROM t_video_student; + </delete> + + <insert id="insert" parameterType="com.mindskip.xzs.domain.VideoStudent" useGeneratedKeys="true" keyProperty="id"> + insert into t_video_student (id, room_name, stu_id, start, end) + values (#{id,jdbcType=INTEGER}, + #{roomName,jdbcType=VARCHAR}, + #{stuId,jdbcType=VARCHAR}, + #{start,jdbcType=TIMESTAMP}, + #{end,jdbcType=TIMESTAMP} + ) + </insert> +</mapper> -- Gitblit v1.8.0