From 98c671f4f083260e135664453e857cb8e8c276d2 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期一, 13 五月 2024 12:02:33 +0800
Subject: [PATCH] 视频分类接口
---
src/main/java/com/mindskip/xzs/repository/StudyTypeMapper.java | 28 ++++
src/main/resources/mapper/StudyTypeMapper.xml | 44 +++++++
src/main/java/com/mindskip/xzs/domain/vo/BaseVO.java | 16 ++
src/main/java/com/mindskip/xzs/domain/vo/StudyTypeVO.java | 26 ++++
src/main/java/com/mindskip/xzs/controller/admin/StudyTypeController.java | 46 +++++++
src/main/java/com/mindskip/xzs/domain/StudyType.java | 28 ++++
src/main/java/com/mindskip/xzs/service/impl/StudyTypeServiceImpl.java | 62 ++++++++++
src/main/java/com/mindskip/xzs/service/StudyTypeService.java | 51 ++++++++
8 files changed, 301 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/mindskip/xzs/controller/admin/StudyTypeController.java b/src/main/java/com/mindskip/xzs/controller/admin/StudyTypeController.java
new file mode 100644
index 0000000..0539fbe
--- /dev/null
+++ b/src/main/java/com/mindskip/xzs/controller/admin/StudyTypeController.java
@@ -0,0 +1,46 @@
+package com.mindskip.xzs.controller.admin;
+
+import com.mindskip.xzs.base.RestResponse;
+import com.mindskip.xzs.domain.vo.StudyTypeVO;
+import com.mindskip.xzs.service.StudyTypeService;
+import lombok.RequiredArgsConstructor;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * @author锛歺p
+ * @date锛�2024/5/13 10:25
+ */
+@RestController
+@RequiredArgsConstructor
+@RequestMapping(value = "/api/admin/study/type")
+public class StudyTypeController {
+
+ private final StudyTypeService studyTypeService;
+
+ @GetMapping("/page")
+ public RestResponse page(StudyTypeVO query) {
+ return studyTypeService.page(query);
+ }
+
+ @PostMapping
+ public RestResponse add(@Validated StudyTypeVO query) {
+ return studyTypeService.add(query);
+ }
+
+ @PostMapping("/edit")
+ public RestResponse update(@Validated StudyTypeVO query) {
+ return studyTypeService.update(query);
+ }
+
+ @PostMapping("/remove/{id}")
+ public RestResponse remove(@PathVariable("id") Integer id) {
+ return studyTypeService.remove(id);
+ }
+
+ @PostMapping("/list")
+ public RestResponse list() {
+ return studyTypeService.list();
+ }
+
+}
diff --git a/src/main/java/com/mindskip/xzs/domain/StudyType.java b/src/main/java/com/mindskip/xzs/domain/StudyType.java
new file mode 100644
index 0000000..fa866b2
--- /dev/null
+++ b/src/main/java/com/mindskip/xzs/domain/StudyType.java
@@ -0,0 +1,28 @@
+package com.mindskip.xzs.domain;
+
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 鍦ㄧ嚎瀛︿範鍒嗙被
+ *
+ * @author锛歺p
+ * @date锛�2024/5/13 10:19
+ */
+@Data
+public class StudyType {
+
+ private Integer id;
+
+ /** 鍒嗙被鍚� */
+ private String typeName;
+
+ /** 鎺掑簭鍊� */
+ private Integer orderNum;
+
+ private Integer deleted;
+
+ private Date createTime;
+
+}
diff --git a/src/main/java/com/mindskip/xzs/domain/vo/BaseVO.java b/src/main/java/com/mindskip/xzs/domain/vo/BaseVO.java
new file mode 100644
index 0000000..abe68e9
--- /dev/null
+++ b/src/main/java/com/mindskip/xzs/domain/vo/BaseVO.java
@@ -0,0 +1,16 @@
+package com.mindskip.xzs.domain.vo;
+
+import lombok.Data;
+
+/**
+ * @author锛歺p
+ * @date锛�2024/5/13 10:35
+ */
+@Data
+public class BaseVO {
+
+ private Integer pageNum = 1;
+
+ private Integer pageSize = 10;
+
+}
diff --git a/src/main/java/com/mindskip/xzs/domain/vo/StudyTypeVO.java b/src/main/java/com/mindskip/xzs/domain/vo/StudyTypeVO.java
new file mode 100644
index 0000000..155a3f0
--- /dev/null
+++ b/src/main/java/com/mindskip/xzs/domain/vo/StudyTypeVO.java
@@ -0,0 +1,26 @@
+package com.mindskip.xzs.domain.vo;
+
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.util.Date;
+
+/**
+ * @author锛歺p
+ * @date锛�2024/5/13 10:21
+ */
+@Data
+public class StudyTypeVO extends BaseVO {
+
+ private Integer id;
+
+ @NotBlank(message = "璇疯緭鍏ョ被鍨嬪悕瀛�")
+ private String typeName;
+
+ @NotNull(message = "璇疯緭鍏ユ帓搴忓��")
+ private Integer orderNum;
+
+ private Date createTime;
+
+}
diff --git a/src/main/java/com/mindskip/xzs/repository/StudyTypeMapper.java b/src/main/java/com/mindskip/xzs/repository/StudyTypeMapper.java
new file mode 100644
index 0000000..7cb044a
--- /dev/null
+++ b/src/main/java/com/mindskip/xzs/repository/StudyTypeMapper.java
@@ -0,0 +1,28 @@
+package com.mindskip.xzs.repository;
+
+import com.mindskip.xzs.domain.StudyType;
+import com.mindskip.xzs.domain.vo.StudyTypeVO;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * @author锛歺p
+ * @date锛�2024/5/13 10:23
+ */
+@Mapper
+public interface StudyTypeMapper {
+
+
+ List<StudyTypeVO> page(@Param("query") StudyTypeVO query);
+
+
+ void add(@Param("entity") StudyType studyType);
+
+ void update(@Param("vo") StudyTypeVO vo);
+
+ void remove(Integer id);
+
+ List<StudyTypeVO> list();
+}
diff --git a/src/main/java/com/mindskip/xzs/service/StudyTypeService.java b/src/main/java/com/mindskip/xzs/service/StudyTypeService.java
new file mode 100644
index 0000000..2cc9613
--- /dev/null
+++ b/src/main/java/com/mindskip/xzs/service/StudyTypeService.java
@@ -0,0 +1,51 @@
+package com.mindskip.xzs.service;
+
+import com.mindskip.xzs.base.RestResponse;
+import com.mindskip.xzs.domain.vo.StudyTypeVO;
+
+/**
+ * @author锛歺p
+ * @date锛�2024/5/13 10:24
+ */
+public interface StudyTypeService {
+
+
+ /**
+ * 鍒嗛〉
+ *
+ * @param query
+ * @return
+ */
+ RestResponse page(StudyTypeVO query);
+
+ /**
+ * 娣诲姞
+ *
+ * @param vo
+ * @return
+ */
+ RestResponse add(StudyTypeVO vo);
+
+ /**
+ * 淇敼
+ *
+ * @param query
+ * @return
+ */
+ RestResponse update(StudyTypeVO query);
+
+ /**
+ * 鍒犻櫎
+ *
+ * @param id
+ * @return
+ */
+ RestResponse remove(Integer id);
+
+ /**
+ * 涓嬫媺鍒楄〃
+ *
+ * @return
+ */
+ RestResponse list();
+}
diff --git a/src/main/java/com/mindskip/xzs/service/impl/StudyTypeServiceImpl.java b/src/main/java/com/mindskip/xzs/service/impl/StudyTypeServiceImpl.java
new file mode 100644
index 0000000..ff842f8
--- /dev/null
+++ b/src/main/java/com/mindskip/xzs/service/impl/StudyTypeServiceImpl.java
@@ -0,0 +1,62 @@
+package com.mindskip.xzs.service.impl;
+
+import com.github.pagehelper.PageHelper;
+import com.mindskip.xzs.base.RestResponse;
+import com.mindskip.xzs.domain.StudyType;
+import com.mindskip.xzs.domain.vo.StudyTypeVO;
+import com.mindskip.xzs.repository.StudyTypeMapper;
+import com.mindskip.xzs.service.StudyTypeService;
+import lombok.RequiredArgsConstructor;
+import org.springframework.stereotype.Service;
+
+import java.util.Date;
+import java.util.List;
+import java.util.Objects;
+
+/**
+ * @author锛歺p
+ * @date锛�2024/5/13 10:24
+ */
+@Service
+@RequiredArgsConstructor
+public class StudyTypeServiceImpl implements StudyTypeService {
+
+ private final StudyTypeMapper mapper;
+
+ @Override
+ public RestResponse page(StudyTypeVO query) {
+ PageHelper.startPage(query.getPageNum(), query.getPageSize());
+ return RestResponse.ok(mapper.page(query));
+ }
+
+ @Override
+ public RestResponse add(StudyTypeVO vo) {
+ StudyType studyType = new StudyType();
+ studyType.setTypeName(vo.getTypeName());
+ studyType.setOrderNum(vo.getOrderNum());
+ studyType.setCreateTime(new Date());
+ mapper.add(studyType);
+ return RestResponse.ok("娣诲姞鎴愬姛");
+ }
+
+ @Override
+ public RestResponse update(StudyTypeVO query) {
+ if (Objects.isNull(query.getId())) {
+ throw new RuntimeException("璇烽�夋嫨瑕佷慨鏀瑰緱鏁版嵁");
+ }
+ mapper.update(query);
+ return RestResponse.ok("淇敼鎴愬姛");
+ }
+
+ @Override
+ public RestResponse remove(Integer id) {
+ mapper.remove(id);
+ return RestResponse.ok("鍒犻櫎鎴愬姛");
+ }
+
+ @Override
+ public RestResponse list() {
+ List<StudyTypeVO> data = mapper.list();
+ return RestResponse.ok(data);
+ }
+}
diff --git a/src/main/resources/mapper/StudyTypeMapper.xml b/src/main/resources/mapper/StudyTypeMapper.xml
new file mode 100644
index 0000000..d0d4856
--- /dev/null
+++ b/src/main/resources/mapper/StudyTypeMapper.xml
@@ -0,0 +1,44 @@
+<?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.StudyTypeMapper">
+
+
+ <select id="page" resultType="com.mindskip.xzs.domain.vo.StudyTypeVO">
+ SELECT
+ id,type_name, create_time, order_num
+ FROM
+ t_study_type
+ <where>
+ AND deleted = 0
+ <if test="query.typeName != null and query.typeName != ''">
+ AND type_name like concat('%', #{query.typeName}, '%')
+ </if>
+ </where>
+ ORDER BY
+ order_num ASC
+ </select>
+
+ <insert id="add" keyColumn="id" useGeneratedKeys="true" parameterType="com.mindskip.xzs.domain.StudyType">
+ INSERT INTO t_study_type(type_name, order_num, create_time) value (#{entity.typeName}, #{entity.orderNum}, #{entity.createTime})
+ </insert>
+
+ <update id="update" parameterType="com.mindskip.xzs.domain.vo.StudyTypeVO">
+ UPDATE t_study_type SET type_name = #{vo.typeName}, order_num = #{vo.orderNum} WHERE id = #{vo.id}
+ </update>
+
+ <update id="remove">
+ UPDATE t_study_type SET deleted = 1 WHERE id = #{id}
+ </update>
+
+ <select id="list" resultType="com.mindskip.xzs.domain.vo.StudyTypeVO">
+ SELECT
+ id,type_name, create_time, order_num
+ FROM
+ t_study_type
+ WHERE
+ deleted = 0
+ </select>
+
+</mapper>
--
Gitblit v1.8.0