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