diff --git a/ruoyi-ui/src/api/benyi/microcourse.js b/ruoyi-ui/src/api/benyi/microcourse.js
new file mode 100644
index 000000000..44421114d
--- /dev/null
+++ b/ruoyi-ui/src/api/benyi/microcourse.js
@@ -0,0 +1,53 @@
+import request from '@/utils/request'
+
+// 查询微型课程列表
+export function listMicrocourse(query) {
+ return request({
+ url: '/benyi/microcourse/list',
+ method: 'get',
+ params: query
+ })
+}
+
+// 查询微型课程详细
+export function getMicrocourse(id) {
+ return request({
+ url: '/benyi/microcourse/' + id,
+ method: 'get'
+ })
+}
+
+// 新增微型课程
+export function addMicrocourse(data) {
+ return request({
+ url: '/benyi/microcourse',
+ method: 'post',
+ data: data
+ })
+}
+
+// 修改微型课程
+export function updateMicrocourse(data) {
+ return request({
+ url: '/benyi/microcourse',
+ method: 'put',
+ data: data
+ })
+}
+
+// 删除微型课程
+export function delMicrocourse(id) {
+ return request({
+ url: '/benyi/microcourse/' + id,
+ method: 'delete'
+ })
+}
+
+// 导出微型课程
+export function exportMicrocourse(query) {
+ return request({
+ url: '/system/microcourse/export',
+ method: 'get',
+ params: query
+ })
+}
\ No newline at end of file
diff --git a/ruoyi-ui/src/views/benyi/microcourse/index.vue b/ruoyi-ui/src/views/benyi/microcourse/index.vue
new file mode 100644
index 000000000..17b1deba3
--- /dev/null
+++ b/ruoyi-ui/src/views/benyi/microcourse/index.vue
@@ -0,0 +1,354 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+
+
+
+
+ 新增
+
+
+ 修改
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 修改
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ruoyi/src/main/java/com/ruoyi/project/benyi/controller/ByMicrocourseController.java b/ruoyi/src/main/java/com/ruoyi/project/benyi/controller/ByMicrocourseController.java
new file mode 100644
index 000000000..9a1de0c04
--- /dev/null
+++ b/ruoyi/src/main/java/com/ruoyi/project/benyi/controller/ByMicrocourseController.java
@@ -0,0 +1,97 @@
+package com.ruoyi.project.benyi.controller;
+
+import java.util.List;
+
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.ruoyi.framework.aspectj.lang.annotation.Log;
+import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
+import com.ruoyi.project.benyi.domain.ByMicrocourse;
+import com.ruoyi.project.benyi.service.IByMicrocourseService;
+import com.ruoyi.framework.web.controller.BaseController;
+import com.ruoyi.framework.web.domain.AjaxResult;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.framework.web.page.TableDataInfo;
+
+/**
+ * 微型课程Controller
+ *
+ * @author tsbz
+ * @date 2021-05-13
+ */
+@RestController
+@RequestMapping("/benyi/microcourse")
+public class ByMicrocourseController extends BaseController {
+ @Autowired
+ private IByMicrocourseService byMicrocourseService;
+
+ /**
+ * 查询微型课程列表
+ */
+ @PreAuthorize("@ss.hasPermi('benyi:microcourse:list')")
+ @GetMapping("/list")
+ public TableDataInfo list(ByMicrocourse byMicrocourse) {
+ startPage();
+ List list = byMicrocourseService.selectByMicrocourseList(byMicrocourse);
+ return getDataTable(list);
+ }
+
+ /**
+ * 导出微型课程列表
+ */
+ @PreAuthorize("@ss.hasPermi('benyi:microcourse:export')")
+ @Log(title = "微型课程", businessType = BusinessType.EXPORT)
+ @GetMapping("/export")
+ public AjaxResult export(ByMicrocourse byMicrocourse) {
+ List list = byMicrocourseService.selectByMicrocourseList(byMicrocourse);
+ ExcelUtil util = new ExcelUtil(ByMicrocourse.class);
+ return util.exportExcel(list, "microcourse");
+ }
+
+ /**
+ * 获取微型课程详细信息
+ */
+ @PreAuthorize("@ss.hasPermi('benyi:microcourse:query')")
+ @GetMapping(value = "/{id}")
+ public AjaxResult getInfo(@PathVariable("id") Long id) {
+ return AjaxResult.success(byMicrocourseService.selectByMicrocourseById(id));
+ }
+
+ /**
+ * 新增微型课程
+ */
+ @PreAuthorize("@ss.hasPermi('benyi:microcourse:add')")
+ @Log(title = "微型课程", businessType = BusinessType.INSERT)
+ @PostMapping
+ public AjaxResult add(@RequestBody ByMicrocourse byMicrocourse) {
+ return toAjax(byMicrocourseService.insertByMicrocourse(byMicrocourse));
+ }
+
+ /**
+ * 修改微型课程
+ */
+ @PreAuthorize("@ss.hasPermi('benyi:microcourse:edit')")
+ @Log(title = "微型课程", businessType = BusinessType.UPDATE)
+ @PutMapping
+ public AjaxResult edit(@RequestBody ByMicrocourse byMicrocourse) {
+ return toAjax(byMicrocourseService.updateByMicrocourse(byMicrocourse));
+ }
+
+ /**
+ * 删除微型课程
+ */
+ @PreAuthorize("@ss.hasPermi('benyi:microcourse:remove')")
+ @Log(title = "微型课程", businessType = BusinessType.DELETE)
+ @DeleteMapping("/{ids}")
+ public AjaxResult remove(@PathVariable Long[] ids) {
+ return toAjax(byMicrocourseService.deleteByMicrocourseByIds(ids));
+ }
+}
diff --git a/ruoyi/src/main/java/com/ruoyi/project/benyi/domain/ByMicrocourse.java b/ruoyi/src/main/java/com/ruoyi/project/benyi/domain/ByMicrocourse.java
new file mode 100644
index 000000000..6a915c52a
--- /dev/null
+++ b/ruoyi/src/main/java/com/ruoyi/project/benyi/domain/ByMicrocourse.java
@@ -0,0 +1,136 @@
+package com.ruoyi.project.benyi.domain;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.ruoyi.framework.aspectj.lang.annotation.Excel;
+import com.ruoyi.framework.web.domain.BaseEntity;
+
+/**
+ * 微型课程对象 by_microcourse
+ *
+ * @author tsbz
+ * @date 2021-05-13
+ */
+public class ByMicrocourse extends BaseEntity {
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 编号
+ */
+ private Long id;
+
+ /**
+ * 标题
+ */
+ @Excel(name = "标题")
+ private String title;
+
+ /**
+ * 作者
+ */
+ @Excel(name = "作者")
+ private String author;
+
+ /**
+ * 内容
+ */
+ @Excel(name = "内容")
+ private String contents;
+
+ /**
+ * 类型
+ */
+ @Excel(name = "类型")
+ private String type;
+
+ /**
+ * 适用范围
+ */
+ @Excel(name = "适用范围")
+ private String scpoe;
+
+ @Excel(name = "上下册")
+ private String upanddown;
+
+ @Excel(name = "序号")
+ private Long sort;
+
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ public Long getId() {
+ return id;
+ }
+
+ public void setTitle(String title) {
+ this.title = title;
+ }
+
+ public String getTitle() {
+ return title;
+ }
+
+ public void setAuthor(String author) {
+ this.author = author;
+ }
+
+ public String getAuthor() {
+ return author;
+ }
+
+ public void setContents(String contents) {
+ this.contents = contents;
+ }
+
+ public String getContents() {
+ return contents;
+ }
+
+ public void setType(String type) {
+ this.type = type;
+ }
+
+ public String getType() {
+ return type;
+ }
+
+ public void setScpoe(String scpoe) {
+ this.scpoe = scpoe;
+ }
+
+ public String getScpoe() {
+ return scpoe;
+ }
+
+ public void setUpanddown(String upanddown) {
+ this.upanddown = upanddown;
+ }
+
+ public String getUpanddown() {
+ return upanddown;
+ }
+
+ public void setSort(Long sort) {
+ this.sort = sort;
+ }
+
+ public Long getSort() {
+ return sort;
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
+ .append("id", getId())
+ .append("title", getTitle())
+ .append("author", getAuthor())
+ .append("contents", getContents())
+ .append("type", getType())
+ .append("scpoe", getScpoe())
+ .append("upanddown", getUpanddown())
+ .append("sort", getSort())
+ .append("createTime", getCreateTime())
+ .toString();
+ }
+}
diff --git a/ruoyi/src/main/java/com/ruoyi/project/benyi/mapper/ByMicrocourseMapper.java b/ruoyi/src/main/java/com/ruoyi/project/benyi/mapper/ByMicrocourseMapper.java
new file mode 100644
index 000000000..b13acc160
--- /dev/null
+++ b/ruoyi/src/main/java/com/ruoyi/project/benyi/mapper/ByMicrocourseMapper.java
@@ -0,0 +1,61 @@
+package com.ruoyi.project.benyi.mapper;
+
+import java.util.List;
+
+import com.ruoyi.project.benyi.domain.ByMicrocourse;
+
+/**
+ * 微型课程Mapper接口
+ *
+ * @author tsbz
+ * @date 2021-05-13
+ */
+public interface ByMicrocourseMapper {
+ /**
+ * 查询微型课程
+ *
+ * @param id 微型课程ID
+ * @return 微型课程
+ */
+ public ByMicrocourse selectByMicrocourseById(Long id);
+
+ /**
+ * 查询微型课程列表
+ *
+ * @param byMicrocourse 微型课程
+ * @return 微型课程集合
+ */
+ public List selectByMicrocourseList(ByMicrocourse byMicrocourse);
+
+ /**
+ * 新增微型课程
+ *
+ * @param byMicrocourse 微型课程
+ * @return 结果
+ */
+ public int insertByMicrocourse(ByMicrocourse byMicrocourse);
+
+ /**
+ * 修改微型课程
+ *
+ * @param byMicrocourse 微型课程
+ * @return 结果
+ */
+ public int updateByMicrocourse(ByMicrocourse byMicrocourse);
+
+ /**
+ * 删除微型课程
+ *
+ * @param id 微型课程ID
+ * @return 结果
+ */
+ public int deleteByMicrocourseById(Long id);
+
+ /**
+ * 批量删除微型课程
+ *
+ * @param ids 需要删除的数据ID
+ * @return 结果
+ */
+ public int deleteByMicrocourseByIds(Long[] ids);
+}
diff --git a/ruoyi/src/main/java/com/ruoyi/project/benyi/service/IByMicrocourseService.java b/ruoyi/src/main/java/com/ruoyi/project/benyi/service/IByMicrocourseService.java
new file mode 100644
index 000000000..445eecbfe
--- /dev/null
+++ b/ruoyi/src/main/java/com/ruoyi/project/benyi/service/IByMicrocourseService.java
@@ -0,0 +1,61 @@
+package com.ruoyi.project.benyi.service;
+
+import java.util.List;
+
+import com.ruoyi.project.benyi.domain.ByMicrocourse;
+
+/**
+ * 微型课程Service接口
+ *
+ * @author tsbz
+ * @date 2021-05-13
+ */
+public interface IByMicrocourseService {
+ /**
+ * 查询微型课程
+ *
+ * @param id 微型课程ID
+ * @return 微型课程
+ */
+ public ByMicrocourse selectByMicrocourseById(Long id);
+
+ /**
+ * 查询微型课程列表
+ *
+ * @param byMicrocourse 微型课程
+ * @return 微型课程集合
+ */
+ public List selectByMicrocourseList(ByMicrocourse byMicrocourse);
+
+ /**
+ * 新增微型课程
+ *
+ * @param byMicrocourse 微型课程
+ * @return 结果
+ */
+ public int insertByMicrocourse(ByMicrocourse byMicrocourse);
+
+ /**
+ * 修改微型课程
+ *
+ * @param byMicrocourse 微型课程
+ * @return 结果
+ */
+ public int updateByMicrocourse(ByMicrocourse byMicrocourse);
+
+ /**
+ * 批量删除微型课程
+ *
+ * @param ids 需要删除的微型课程ID
+ * @return 结果
+ */
+ public int deleteByMicrocourseByIds(Long[] ids);
+
+ /**
+ * 删除微型课程信息
+ *
+ * @param id 微型课程ID
+ * @return 结果
+ */
+ public int deleteByMicrocourseById(Long id);
+}
diff --git a/ruoyi/src/main/java/com/ruoyi/project/benyi/service/impl/ByMicrocourseServiceImpl.java b/ruoyi/src/main/java/com/ruoyi/project/benyi/service/impl/ByMicrocourseServiceImpl.java
new file mode 100644
index 000000000..331dcb55d
--- /dev/null
+++ b/ruoyi/src/main/java/com/ruoyi/project/benyi/service/impl/ByMicrocourseServiceImpl.java
@@ -0,0 +1,89 @@
+package com.ruoyi.project.benyi.service.impl;
+
+import java.util.List;
+
+import com.ruoyi.common.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.ruoyi.project.benyi.mapper.ByMicrocourseMapper;
+import com.ruoyi.project.benyi.domain.ByMicrocourse;
+import com.ruoyi.project.benyi.service.IByMicrocourseService;
+
+/**
+ * 微型课程Service业务层处理
+ *
+ * @author tsbz
+ * @date 2021-05-13
+ */
+@Service
+public class ByMicrocourseServiceImpl implements IByMicrocourseService {
+ @Autowired
+ private ByMicrocourseMapper byMicrocourseMapper;
+
+ /**
+ * 查询微型课程
+ *
+ * @param id 微型课程ID
+ * @return 微型课程
+ */
+ @Override
+ public ByMicrocourse selectByMicrocourseById(Long id) {
+ return byMicrocourseMapper.selectByMicrocourseById(id);
+ }
+
+ /**
+ * 查询微型课程列表
+ *
+ * @param byMicrocourse 微型课程
+ * @return 微型课程
+ */
+ @Override
+ public List selectByMicrocourseList(ByMicrocourse byMicrocourse) {
+ return byMicrocourseMapper.selectByMicrocourseList(byMicrocourse);
+ }
+
+ /**
+ * 新增微型课程
+ *
+ * @param byMicrocourse 微型课程
+ * @return 结果
+ */
+ @Override
+ public int insertByMicrocourse(ByMicrocourse byMicrocourse) {
+ byMicrocourse.setCreateTime(DateUtils.getNowDate());
+ return byMicrocourseMapper.insertByMicrocourse(byMicrocourse);
+ }
+
+ /**
+ * 修改微型课程
+ *
+ * @param byMicrocourse 微型课程
+ * @return 结果
+ */
+ @Override
+ public int updateByMicrocourse(ByMicrocourse byMicrocourse) {
+ return byMicrocourseMapper.updateByMicrocourse(byMicrocourse);
+ }
+
+ /**
+ * 批量删除微型课程
+ *
+ * @param ids 需要删除的微型课程ID
+ * @return 结果
+ */
+ @Override
+ public int deleteByMicrocourseByIds(Long[] ids) {
+ return byMicrocourseMapper.deleteByMicrocourseByIds(ids);
+ }
+
+ /**
+ * 删除微型课程信息
+ *
+ * @param id 微型课程ID
+ * @return 结果
+ */
+ @Override
+ public int deleteByMicrocourseById(Long id) {
+ return byMicrocourseMapper.deleteByMicrocourseById(id);
+ }
+}
diff --git a/ruoyi/src/main/resources/mybatis/benyi/ByMicrocourseMapper.xml b/ruoyi/src/main/resources/mybatis/benyi/ByMicrocourseMapper.xml
new file mode 100644
index 000000000..08d9ea327
--- /dev/null
+++ b/ruoyi/src/main/resources/mybatis/benyi/ByMicrocourseMapper.xml
@@ -0,0 +1,91 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ select id, title, author, contents, type, scpoe, upanddown, sort, create_time from by_microcourse
+
+
+
+
+
+
+
+ insert into by_microcourse
+
+ title,
+ author,
+ contents,
+ type,
+ scpoe,
+ upanddown,
+ sort,
+ create_time,
+
+
+ #{title},
+ #{author},
+ #{contents},
+ #{type},
+ #{scpoe},
+ #{upanddown},
+ #{sort},
+ #{createTime},
+
+
+
+
+ update by_microcourse
+
+ title = #{title},
+ author = #{author},
+ contents = #{contents},
+ type = #{type},
+ scpoe = #{scpoe},
+ upanddown = #{upanddown},
+ sort = #{sort},
+ create_time = #{createTime},
+
+ where id = #{id}
+
+
+
+ delete from by_microcourse where id = #{id}
+
+
+
+ delete from by_microcourse where id in
+
+ #{id}
+
+
+
+
\ No newline at end of file