src/main/java/com/mindskip/xzs/controller/admin/VideoController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/mindskip/xzs/domain/VideoStudent.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/mindskip/xzs/domain/vo/VideoStudentDto.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/mindskip/xzs/domain/vo/VideoStudentVO.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/mindskip/xzs/repository/VideoMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/mindskip/xzs/service/IVideoService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/mindskip/xzs/service/impl/VideoServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/mapper/VideoMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/mindskip/xzs/controller/admin/VideoController.java
New file @@ -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); } } src/main/java/com/mindskip/xzs/domain/VideoStudent.java
New file @@ -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 + '}'; } } src/main/java/com/mindskip/xzs/domain/vo/VideoStudentDto.java
New file @@ -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 + '}'; } } src/main/java/com/mindskip/xzs/domain/vo/VideoStudentVO.java
New file @@ -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 + '\'' + '}'; } } src/main/java/com/mindskip/xzs/repository/VideoMapper.java
New file @@ -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); } src/main/java/com/mindskip/xzs/service/IVideoService.java
New file @@ -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); } src/main/java/com/mindskip/xzs/service/impl/VideoServiceImpl.java
New file @@ -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; } } src/main/resources/mapper/VideoMapper.xml
New file @@ -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>