From 143ebce41207eb0d3a4df3b6bbd3d482e4f0a8c2 Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期四, 16 五月 2024 18:20:41 +0800 Subject: [PATCH] 学生在线学习api --- src/main/java/com/mindskip/xzs/service/OnlineStudyService.java | 15 +++++ src/main/java/com/mindskip/xzs/controller/student/OnlineStudyController.java | 34 +++++++++++ src/main/java/com/mindskip/xzs/domain/vo/StudentOnlineVO.java | 22 +++++++ src/main/java/com/mindskip/xzs/repository/OnlineStudyMapper.java | 2 src/main/resources/mapper/OnlineStudyMapper.xml | 28 +++++++++ src/main/java/com/mindskip/xzs/service/impl/OnlineStudySeerviceImpl.java | 25 +++++++- 6 files changed, 121 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/mindskip/xzs/controller/student/OnlineStudyController.java b/src/main/java/com/mindskip/xzs/controller/student/OnlineStudyController.java new file mode 100644 index 0000000..45c29d2 --- /dev/null +++ b/src/main/java/com/mindskip/xzs/controller/student/OnlineStudyController.java @@ -0,0 +1,34 @@ +package com.mindskip.xzs.controller.student; + +import com.mindskip.xzs.base.RestResponse; +import com.mindskip.xzs.domain.vo.StudentOnlineVO; +import com.mindskip.xzs.service.OnlineStudyService; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @author锛歺p + * @date锛�2024/5/16 17:50 + */ +@RestController("studentOnlineStudy") +@RequiredArgsConstructor +@RequestMapping(value = "/api/student/online/study") +public class OnlineStudyController { + + private final OnlineStudyService service; + + + @GetMapping("/byType") + public RestResponse byType(StudentOnlineVO query) { + return service.byType(query); + } + + @GetMapping("/type/list") + public RestResponse typeList() { + return service.typeList(); + } + + +} diff --git a/src/main/java/com/mindskip/xzs/domain/vo/StudentOnlineVO.java b/src/main/java/com/mindskip/xzs/domain/vo/StudentOnlineVO.java new file mode 100644 index 0000000..c0b6105 --- /dev/null +++ b/src/main/java/com/mindskip/xzs/domain/vo/StudentOnlineVO.java @@ -0,0 +1,22 @@ +package com.mindskip.xzs.domain.vo; + +import lombok.Data; + +/** + * @author锛歺p + * @date锛�2024/5/16 17:54 + */ +@Data +public class StudentOnlineVO { + + /** 绫诲埆 */ + private Integer typeId; + + /** 涓婚 */ + private String subject; + + private Integer pageNum = 1; + + private Integer pageSize = 10; + +} diff --git a/src/main/java/com/mindskip/xzs/repository/OnlineStudyMapper.java b/src/main/java/com/mindskip/xzs/repository/OnlineStudyMapper.java index 123b02f..682f496 100644 --- a/src/main/java/com/mindskip/xzs/repository/OnlineStudyMapper.java +++ b/src/main/java/com/mindskip/xzs/repository/OnlineStudyMapper.java @@ -2,6 +2,7 @@ import com.mindskip.xzs.domain.OnlineStudy; import com.mindskip.xzs.domain.vo.OnlineStudyVO; +import com.mindskip.xzs.domain.vo.StudentOnlineVO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -22,4 +23,5 @@ List<OnlineStudyVO> page(@Param("query") OnlineStudyVO query); + List<OnlineStudyVO> byType(@Param("query") StudentOnlineVO query); } diff --git a/src/main/java/com/mindskip/xzs/service/OnlineStudyService.java b/src/main/java/com/mindskip/xzs/service/OnlineStudyService.java index 2e59168..5045af5 100644 --- a/src/main/java/com/mindskip/xzs/service/OnlineStudyService.java +++ b/src/main/java/com/mindskip/xzs/service/OnlineStudyService.java @@ -2,6 +2,7 @@ import com.mindskip.xzs.base.RestResponse; import com.mindskip.xzs.domain.vo.OnlineStudyVO; +import com.mindskip.xzs.domain.vo.StudentOnlineVO; import java.util.List; @@ -22,4 +23,18 @@ RestResponse page(OnlineStudyVO query); + /** + * 瀛︾敓绔垎椤垫煡璇� + * + * @param query + * @return + */ + RestResponse byType(StudentOnlineVO query); + + /** + * 瀛︿範绫诲瀷list + * + * @return + */ + RestResponse typeList(); } diff --git a/src/main/java/com/mindskip/xzs/service/impl/OnlineStudySeerviceImpl.java b/src/main/java/com/mindskip/xzs/service/impl/OnlineStudySeerviceImpl.java index b62c392..7cb8fb0 100644 --- a/src/main/java/com/mindskip/xzs/service/impl/OnlineStudySeerviceImpl.java +++ b/src/main/java/com/mindskip/xzs/service/impl/OnlineStudySeerviceImpl.java @@ -7,10 +7,11 @@ import com.mindskip.xzs.domain.OnlineStudy; import com.mindskip.xzs.domain.question.QuestionObject; import com.mindskip.xzs.domain.vo.OnlineStudyVO; +import com.mindskip.xzs.domain.vo.StudentOnlineVO; +import com.mindskip.xzs.domain.vo.StudyTypeVO; import com.mindskip.xzs.repository.OnlineStudyMapper; +import com.mindskip.xzs.repository.StudyTypeMapper; import com.mindskip.xzs.service.OnlineStudyService; -import com.mindskip.xzs.utility.JsonUtil; -import jdk.nashorn.internal.ir.IfNode; import lombok.RequiredArgsConstructor; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; @@ -19,7 +20,6 @@ import java.util.Date; import java.util.List; import java.util.Objects; -import java.util.stream.Collectors; /** * @author锛歺p @@ -30,6 +30,7 @@ public class OnlineStudySeerviceImpl implements OnlineStudyService { private final OnlineStudyMapper mapper; + private final StudyTypeMapper studyTypeMapper; @Override public RestResponse add(OnlineStudyVO form) { @@ -70,7 +71,6 @@ @Override public RestResponse page(OnlineStudyVO query) { - PageHelper.startPage(query.getPageNum(), query.getPageSize()); PageInfo<OnlineStudyVO> page = PageHelper.startPage(query.getPageNum(), query.getPageSize()).doSelectPageInfo(() -> mapper.page(query)); page.getList().stream().forEach(item -> { @@ -79,4 +79,21 @@ }); return RestResponse.ok(page.getList()).put("total", page.getTotal()); } + + @Override + public RestResponse byType(StudentOnlineVO query) { + PageInfo<OnlineStudyVO> page = PageHelper.startPage(query.getPageNum(), query.getPageSize()).doSelectPageInfo(() -> + mapper.byType(query)); + page.getList().stream().forEach(item -> { + item.setContentUrl(JSON.parseObject(item.getContentUrlString(), OnlineStudyVO.UploadFile.class)); + item.setAttachment(JSON.parseArray(item.getAttachmentString(), OnlineStudyVO.UploadFile.class)); + }); + return RestResponse.ok(page.getList()).put("total", page.getTotal()); + } + + @Override + public RestResponse typeList() { + List<StudyTypeVO> list = studyTypeMapper.list(); + return RestResponse.ok(list); + } } diff --git a/src/main/resources/mapper/OnlineStudyMapper.xml b/src/main/resources/mapper/OnlineStudyMapper.xml index 1be4954..6ab5488 100644 --- a/src/main/resources/mapper/OnlineStudyMapper.xml +++ b/src/main/resources/mapper/OnlineStudyMapper.xml @@ -28,7 +28,33 @@ </if> </where> ORDER BY - create_time DESC + tos.create_time DESC + </select> + + <select id="byType" resultType="com.mindskip.xzs.domain.vo.OnlineStudyVO"> + SELECT + tos.id, + tos.content_type, + tos.content_url as contentUrlString, + tos.belong_type, + tos.subject, + tos.create_time, + tos.update_time, + tos.attachment as attachmentString + FROM + t_online_study tos + INNER JOIN t_study_type tst ON tst.id = tos.belong_type + <where> + AND tos.deleted = 0 + <if test="query.subject != null and query.subject != ''"> + AND tos.subject like concat('%', #{query.subject}, '%') + </if> + <if test="query.belongType != null"> + AND tst.id = #{query.belongType} + </if> + </where> + ORDER BY + tos.create_time DESC </select> <insert id="add" keyColumn="id" useGeneratedKeys="true" parameterType="com.mindskip.xzs.domain.OnlineStudy"> -- Gitblit v1.8.0