src/main/java/com/mindskip/xzs/controller/student/OnlineStudyController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/mindskip/xzs/domain/vo/StudentOnlineVO.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/mindskip/xzs/repository/OnlineStudyMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/mindskip/xzs/service/OnlineStudyService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/mindskip/xzs/service/impl/OnlineStudySeerviceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/mapper/OnlineStudyMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/mindskip/xzs/controller/student/OnlineStudyController.java
New file @@ -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:xp * @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(); } } src/main/java/com/mindskip/xzs/domain/vo/StudentOnlineVO.java
New file @@ -0,0 +1,22 @@ package com.mindskip.xzs.domain.vo; import lombok.Data; /** * @author:xp * @date:2024/5/16 17:54 */ @Data public class StudentOnlineVO { /** 类别 */ private Integer typeId; /** 主题 */ private String subject; private Integer pageNum = 1; private Integer pageSize = 10; } 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); } 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(); } 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:xp @@ -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); } } 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">