From 8fb4d22f55ea6bcc7dd24d53027145959575ce61 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期四, 16 五月 2024 11:20:16 +0800
Subject: [PATCH] 在线学习基本代码

---
 src/main/java/com/mindskip/xzs/controller/admin/OnlineStudyController.java |   44 ++++++++
 src/main/java/com/mindskip/xzs/service/OnlineStudyService.java             |   25 +++++
 src/main/java/com/mindskip/xzs/domain/vo/OnlineStudyVO.java                |   41 ++++++++
 src/main/java/com/mindskip/xzs/repository/OnlineStudyMapper.java           |   25 +++++
 src/main/java/com/mindskip/xzs/domain/OnlineStudy.java                     |   39 +++++++
 src/main/resources/mapper/OnlineStudyMapper.xml                            |   50 ++++++++++
 src/main/java/com/mindskip/xzs/service/impl/OnlineStudySeerviceImpl.java   |   47 +++++++++
 7 files changed, 271 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/mindskip/xzs/controller/admin/OnlineStudyController.java b/src/main/java/com/mindskip/xzs/controller/admin/OnlineStudyController.java
new file mode 100644
index 0000000..b589dbc
--- /dev/null
+++ b/src/main/java/com/mindskip/xzs/controller/admin/OnlineStudyController.java
@@ -0,0 +1,44 @@
+package com.mindskip.xzs.controller.admin;
+
+import com.mindskip.xzs.base.RestResponse;
+import com.mindskip.xzs.domain.vo.OnlineStudyVO;
+import com.mindskip.xzs.service.OnlineStudyService;
+import lombok.RequiredArgsConstructor;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import javax.validation.constraints.NotEmpty;
+import java.util.List;
+
+/**
+ * @author锛歺p
+ * @date锛�2024/5/16 10:58
+ */
+@RestController
+@RequiredArgsConstructor
+@RequestMapping(value = "/api/admin/online/study")
+public class OnlineStudyController {
+
+    private final OnlineStudyService service;
+
+    @PostMapping
+    public RestResponse add(@RequestBody @Validated OnlineStudyVO form) {
+        return service.add(form);
+    }
+
+    @PostMapping("/edit")
+    public RestResponse edit(@RequestBody @Validated OnlineStudyVO form) {
+        return service.update(form);
+    }
+
+    @PostMapping("/remove")
+    public RestResponse remove(@RequestBody @NotEmpty(message = "璇烽�夋嫨瑕佸垹闄ょ殑鏁版嵁") List<Integer> ids) {
+        return service.remove(ids);
+    }
+
+    @GetMapping("/page")
+    public RestResponse page(OnlineStudyVO query) {
+        return service.page(query);
+    }
+
+}
diff --git a/src/main/java/com/mindskip/xzs/domain/OnlineStudy.java b/src/main/java/com/mindskip/xzs/domain/OnlineStudy.java
new file mode 100644
index 0000000..b29cb1a
--- /dev/null
+++ b/src/main/java/com/mindskip/xzs/domain/OnlineStudy.java
@@ -0,0 +1,39 @@
+package com.mindskip.xzs.domain;
+
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 鍦ㄧ嚎瀛︿範
+ *
+ * @author锛歺p
+ * @date锛�2024/5/16 10:42
+ */
+@Data
+public class OnlineStudy {
+
+    private Integer id;
+
+    /** 鏂囦欢绫诲瀷 */
+    private String contentType;
+
+    /** 鏂囦欢鍦板潃 */
+    private String contentUrl;
+
+    /** 鎵�灞炲垎绫� */
+    private String belongType;
+
+    /** 涓婚 */
+    private String subject;
+
+    /** 闄勪欢 */
+    private String attachment;
+
+    private Date createTime;
+
+    private Date updateTime;
+
+    private Integer deleted;
+
+}
diff --git a/src/main/java/com/mindskip/xzs/domain/vo/OnlineStudyVO.java b/src/main/java/com/mindskip/xzs/domain/vo/OnlineStudyVO.java
new file mode 100644
index 0000000..ebbb906
--- /dev/null
+++ b/src/main/java/com/mindskip/xzs/domain/vo/OnlineStudyVO.java
@@ -0,0 +1,41 @@
+package com.mindskip.xzs.domain.vo;
+
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import java.util.Date;
+
+/**
+ * @author锛歺p
+ * @date锛�2024/5/16 10:45
+ */
+@Data
+public class OnlineStudyVO {
+
+    private Integer pageSize = 10;
+
+    private Integer pageNum = 1;
+
+    private Integer id;
+
+    /** 鏂囦欢绫诲瀷 */
+    @NotBlank(message = "璇烽�夋嫨鏂囦欢绫诲瀷")
+    private String contentType;
+
+    /** 鏂囦欢鍦板潃 */
+    @NotBlank(message = "璇蜂笂浼犳枃浠�")
+    private String contentUrl;
+
+    /** 鎵�灞炲垎绫� */
+    @NotBlank(message = "璇烽�夋嫨鍒嗙被")
+    private String belongType;
+
+    /** 涓婚 */
+    @NotBlank(message = "璇疯緭鍏ヤ富棰�")
+    private String subject;
+
+    private Date createTime;
+
+    private Date updateTime;
+
+}
diff --git a/src/main/java/com/mindskip/xzs/repository/OnlineStudyMapper.java b/src/main/java/com/mindskip/xzs/repository/OnlineStudyMapper.java
new file mode 100644
index 0000000..a4ee989
--- /dev/null
+++ b/src/main/java/com/mindskip/xzs/repository/OnlineStudyMapper.java
@@ -0,0 +1,25 @@
+package com.mindskip.xzs.repository;
+
+import com.mindskip.xzs.domain.OnlineStudy;
+import com.mindskip.xzs.domain.vo.OnlineStudyVO;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * @author锛歺p
+ * @date锛�2024/5/16 10:49
+ */
+@Mapper
+public interface OnlineStudyMapper {
+
+    void add(@Param("form") OnlineStudyVO form);
+
+    void update(@Param("form") OnlineStudyVO form);
+
+    void remove(@Param("ids") List<Integer> ids);
+
+    List<OnlineStudyVO> page(@Param("query") OnlineStudyVO query);
+
+}
diff --git a/src/main/java/com/mindskip/xzs/service/OnlineStudyService.java b/src/main/java/com/mindskip/xzs/service/OnlineStudyService.java
new file mode 100644
index 0000000..2e59168
--- /dev/null
+++ b/src/main/java/com/mindskip/xzs/service/OnlineStudyService.java
@@ -0,0 +1,25 @@
+package com.mindskip.xzs.service;
+
+import com.mindskip.xzs.base.RestResponse;
+import com.mindskip.xzs.domain.vo.OnlineStudyVO;
+
+import java.util.List;
+
+/**
+ * @author锛歺p
+ * @date锛�2024/5/16 10:52
+ */
+public interface OnlineStudyService {
+
+    RestResponse add(OnlineStudyVO form);
+
+
+    RestResponse update(OnlineStudyVO form);
+
+
+    RestResponse remove(List<Integer> ids);
+
+
+    RestResponse page(OnlineStudyVO query);
+
+}
diff --git a/src/main/java/com/mindskip/xzs/service/impl/OnlineStudySeerviceImpl.java b/src/main/java/com/mindskip/xzs/service/impl/OnlineStudySeerviceImpl.java
new file mode 100644
index 0000000..3af5f30
--- /dev/null
+++ b/src/main/java/com/mindskip/xzs/service/impl/OnlineStudySeerviceImpl.java
@@ -0,0 +1,47 @@
+package com.mindskip.xzs.service.impl;
+
+import com.github.pagehelper.PageHelper;
+import com.mindskip.xzs.base.RestResponse;
+import com.mindskip.xzs.domain.vo.OnlineStudyVO;
+import com.mindskip.xzs.repository.OnlineStudyMapper;
+import com.mindskip.xzs.service.OnlineStudyService;
+import lombok.RequiredArgsConstructor;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * @author锛歺p
+ * @date锛�2024/5/16 10:53
+ */
+@Service
+@RequiredArgsConstructor
+public class OnlineStudySeerviceImpl implements OnlineStudyService {
+
+    private final OnlineStudyMapper mapper;
+
+    @Override
+    public RestResponse add(OnlineStudyVO form) {
+        mapper.add(form);
+        return RestResponse.ok("娣诲姞鎴愬姛");
+    }
+
+    @Override
+    public RestResponse update(OnlineStudyVO form) {
+        mapper.update(form);
+        return RestResponse.ok("淇敼鎴愬姛");
+    }
+
+    @Override
+    public RestResponse remove(List<Integer> ids) {
+        mapper.remove(ids);
+        return RestResponse.ok("鍒犻櫎鎴愬姛");
+    }
+
+    @Override
+    public RestResponse page(OnlineStudyVO query) {
+        PageHelper.startPage(query.getPageNum(), query.getPageSize());
+        List<OnlineStudyVO> data = mapper.page(query);
+        return RestResponse.ok(data);
+    }
+}
diff --git a/src/main/resources/mapper/OnlineStudyMapper.xml b/src/main/resources/mapper/OnlineStudyMapper.xml
new file mode 100644
index 0000000..4fdadf3
--- /dev/null
+++ b/src/main/resources/mapper/OnlineStudyMapper.xml
@@ -0,0 +1,50 @@
+<?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.OnlineStudyMapper">
+
+    <select id="page" resultType="com.mindskip.xzs.domain.vo.OnlineStudyVO">
+        SELECT
+        id,content_type, content_url, belong_type, subject, create_time, update_time, attachment
+        FROM
+        t_online_study
+        <where>
+            AND deleted = 0
+            <if test="query.subject != null and query.subject != ''">
+                AND subject like concat('%', #{query.subject}, '%')
+            </if>
+        </where>
+        ORDER BY
+        create_time DESC
+    </select>
+
+    <insert id="add" keyColumn="id" useGeneratedKeys="true" parameterType="com.mindskip.xzs.domain.OnlineStudy">
+        INSERT INTO t_online_study(content_type, content_url, belong_type, subject, create_time, update_time,
+                                   attachment)
+            value (#{form.contentType}, #{form.contentUrl}, #{form.belongType}, #{form.subject}, #{form.createTime}, #{form.updateTime}, #{form.attachment})
+    </insert>
+
+    <update id="update" parameterType="com.mindskip.xzs.domain.vo.OnlineStudyVO">
+        UPDATE
+        t_online_study
+        <set>
+            <if test="form.contentType != null and form.contentType != ''">content_type = #{form.contentType},</if>
+            <if test="form.contentUrl != null and form.contentUrl != ''">content_url = #{form.contentUrl},</if>
+            <if test="form.belong_type != null and form.belong_type != ''">belong_type = #{form.belongType},</if>
+            <if test="form.belongType != null and form.belongType != ''">belong_type = #{form.belongType},</if>
+            <if test="form.subject != null and form.subject != ''">subject = #{form.subject},</if>
+            <if test="form.updateTime != null">update_time = #{form.updateTime},</if>
+            <if test="form.attachment != null and form.attachment != ''">attachment = #{form.attachment},</if>
+        </set>
+        WHERE
+        id = #{vo.id}
+    </update>
+
+    <update id="remove">
+        UPDATE t_online_study SET deleted = 1 WHERE id IN
+        <foreach collection="ids" open="(" separator="," close=")" item="id">#{id}</foreach>
+    </update>
+
+
+</mapper>

--
Gitblit v1.8.0