diff --git a/ruoyi-admin/pom.xml b/ruoyi-admin/pom.xml
index d781b15..fb1098a 100644
--- a/ruoyi-admin/pom.xml
+++ b/ruoyi-admin/pom.xml
@@ -58,6 +58,12 @@
ruoyi-system
+
+ org.dromara
+ ruoyi-file
+ 5.2.0-BETA
+
+
org.dromara
ruoyi-job
diff --git a/ruoyi-admin/src/main/java/org/dromara/DromaraApplication.java b/ruoyi-admin/src/main/java/org/dromara/DromaraApplication.java
index 8ef33fe..4fb31c0 100644
--- a/ruoyi-admin/src/main/java/org/dromara/DromaraApplication.java
+++ b/ruoyi-admin/src/main/java/org/dromara/DromaraApplication.java
@@ -17,7 +17,6 @@ public class DromaraApplication {
SpringApplication application = new SpringApplication(DromaraApplication.class);
application.setApplicationStartup(new BufferingApplicationStartup(2048));
application.run(args);
- System.out.println("(♥◠‿◠)ノ゙ RuoYi-Vue-Plus启动成功 ლ(´ڡ`ლ)゙");
}
}
diff --git a/ruoyi-modules/ruoyi-file/src/main/java/org/dromara/file/controller/SysHomeBannerController.java b/ruoyi-modules/ruoyi-file/src/main/java/org/dromara/file/controller/SysHomeBannerController.java
new file mode 100644
index 0000000..03f6b1f
--- /dev/null
+++ b/ruoyi-modules/ruoyi-file/src/main/java/org/dromara/file/controller/SysHomeBannerController.java
@@ -0,0 +1,105 @@
+package org.dromara.file.controller;
+
+import java.util.List;
+
+import lombok.RequiredArgsConstructor;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.constraints.*;
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.validation.annotation.Validated;
+import org.dromara.common.idempotent.annotation.RepeatSubmit;
+import org.dromara.common.log.annotation.Log;
+import org.dromara.common.web.core.BaseController;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import org.dromara.common.core.domain.R;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import org.dromara.common.log.enums.BusinessType;
+import org.dromara.common.excel.utils.ExcelUtil;
+import org.dromara.file.domain.vo.SysHomeBannerVo;
+import org.dromara.file.domain.bo.SysHomeBannerBo;
+import org.dromara.file.service.ISysHomeBannerService;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+
+/**
+ * 门户Banner
+ *
+ * @author Lion Li
+ * @date 2024-05-28
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/home/homeBanner")
+public class SysHomeBannerController extends BaseController {
+
+ private final ISysHomeBannerService sysHomeBannerService;
+
+ /**
+ * 查询门户Banner列表
+ */
+ @SaCheckPermission("home:homeBanner:list")
+ @GetMapping("/list")
+ public TableDataInfo list(SysHomeBannerBo bo, PageQuery pageQuery) {
+ return sysHomeBannerService.queryPageList(bo, pageQuery);
+ }
+
+ /**
+ * 导出门户Banner列表
+ */
+ @SaCheckPermission("home:homeBanner:export")
+ @Log(title = "门户Banner", businessType = BusinessType.EXPORT)
+ @PostMapping("/export")
+ public void export(SysHomeBannerBo bo, HttpServletResponse response) {
+ List list = sysHomeBannerService.queryList(bo);
+ ExcelUtil.exportExcel(list, "门户Banner", SysHomeBannerVo.class, response);
+ }
+
+ /**
+ * 获取门户Banner详细信息
+ *
+ * @param bannerId 主键
+ */
+ @SaCheckPermission("home:homeBanner:query")
+ @GetMapping("/{bannerId}")
+ public R getInfo(@NotNull(message = "主键不能为空")
+ @PathVariable Long bannerId) {
+ return R.ok(sysHomeBannerService.queryById(bannerId));
+ }
+
+ /**
+ * 新增门户Banner
+ */
+ @SaCheckPermission("home:homeBanner:add")
+ @Log(title = "门户Banner", businessType = BusinessType.INSERT)
+ @RepeatSubmit()
+ @PostMapping()
+ public R add(@Validated(AddGroup.class) @RequestBody SysHomeBannerBo bo) {
+ return toAjax(sysHomeBannerService.insertByBo(bo));
+ }
+
+ /**
+ * 修改门户Banner
+ */
+ @SaCheckPermission("home:homeBanner:edit")
+ @Log(title = "门户Banner", businessType = BusinessType.UPDATE)
+ @RepeatSubmit()
+ @PutMapping()
+ public R edit(@Validated(EditGroup.class) @RequestBody SysHomeBannerBo bo) {
+ return toAjax(sysHomeBannerService.updateByBo(bo));
+ }
+
+ /**
+ * 删除门户Banner
+ *
+ * @param bannerIds 主键串
+ */
+ @SaCheckPermission("home:homeBanner:remove")
+ @Log(title = "门户Banner", businessType = BusinessType.DELETE)
+ @DeleteMapping("/{bannerIds}")
+ public R remove(@NotEmpty(message = "主键不能为空")
+ @PathVariable Long[] bannerIds) {
+ return toAjax(sysHomeBannerService.deleteWithValidByIds(List.of(bannerIds), true));
+ }
+}
diff --git a/ruoyi-modules/ruoyi-file/src/main/java/org/dromara/file/controller/SysHomeShowController.java b/ruoyi-modules/ruoyi-file/src/main/java/org/dromara/file/controller/SysHomeShowController.java
new file mode 100644
index 0000000..e3e9ece
--- /dev/null
+++ b/ruoyi-modules/ruoyi-file/src/main/java/org/dromara/file/controller/SysHomeShowController.java
@@ -0,0 +1,105 @@
+package org.dromara.file.controller;
+
+import java.util.List;
+
+import lombok.RequiredArgsConstructor;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.constraints.*;
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.validation.annotation.Validated;
+import org.dromara.common.idempotent.annotation.RepeatSubmit;
+import org.dromara.common.log.annotation.Log;
+import org.dromara.common.web.core.BaseController;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import org.dromara.common.core.domain.R;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import org.dromara.common.log.enums.BusinessType;
+import org.dromara.common.excel.utils.ExcelUtil;
+import org.dromara.file.domain.vo.SysHomeShowVo;
+import org.dromara.file.domain.bo.SysHomeShowBo;
+import org.dromara.file.service.ISysHomeShowService;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+
+/**
+ * 学校名师
+ *
+ * @author Lion Li
+ * @date 2024-05-28
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/home/homeShow")
+public class SysHomeShowController extends BaseController {
+
+ private final ISysHomeShowService sysHomeShowService;
+
+ /**
+ * 查询学校名师列表
+ */
+ @SaCheckPermission("home:homeShow:list")
+ @GetMapping("/list")
+ public TableDataInfo list(SysHomeShowBo bo, PageQuery pageQuery) {
+ return sysHomeShowService.queryPageList(bo, pageQuery);
+ }
+
+ /**
+ * 导出学校名师列表
+ */
+ @SaCheckPermission("home:homeShow:export")
+ @Log(title = "学校名师", businessType = BusinessType.EXPORT)
+ @PostMapping("/export")
+ public void export(SysHomeShowBo bo, HttpServletResponse response) {
+ List list = sysHomeShowService.queryList(bo);
+ ExcelUtil.exportExcel(list, "学校名师", SysHomeShowVo.class, response);
+ }
+
+ /**
+ * 获取学校名师详细信息
+ *
+ * @param showId 主键
+ */
+ @SaCheckPermission("home:homeShow:query")
+ @GetMapping("/{showId}")
+ public R getInfo(@NotNull(message = "主键不能为空")
+ @PathVariable Long showId) {
+ return R.ok(sysHomeShowService.queryById(showId));
+ }
+
+ /**
+ * 新增学校名师
+ */
+ @SaCheckPermission("home:homeShow:add")
+ @Log(title = "学校名师", businessType = BusinessType.INSERT)
+ @RepeatSubmit()
+ @PostMapping()
+ public R add(@Validated(AddGroup.class) @RequestBody SysHomeShowBo bo) {
+ return toAjax(sysHomeShowService.insertByBo(bo));
+ }
+
+ /**
+ * 修改学校名师
+ */
+ @SaCheckPermission("home:homeShow:edit")
+ @Log(title = "学校名师", businessType = BusinessType.UPDATE)
+ @RepeatSubmit()
+ @PutMapping()
+ public R edit(@Validated(EditGroup.class) @RequestBody SysHomeShowBo bo) {
+ return toAjax(sysHomeShowService.updateByBo(bo));
+ }
+
+ /**
+ * 删除学校名师
+ *
+ * @param showIds 主键串
+ */
+ @SaCheckPermission("home:homeShow:remove")
+ @Log(title = "学校名师", businessType = BusinessType.DELETE)
+ @DeleteMapping("/{showIds}")
+ public R remove(@NotEmpty(message = "主键不能为空")
+ @PathVariable Long[] showIds) {
+ return toAjax(sysHomeShowService.deleteWithValidByIds(List.of(showIds), true));
+ }
+}
diff --git a/ruoyi-modules/ruoyi-file/src/main/java/org/dromara/file/controller/SysHomeTrendController.java b/ruoyi-modules/ruoyi-file/src/main/java/org/dromara/file/controller/SysHomeTrendController.java
new file mode 100644
index 0000000..61899d6
--- /dev/null
+++ b/ruoyi-modules/ruoyi-file/src/main/java/org/dromara/file/controller/SysHomeTrendController.java
@@ -0,0 +1,105 @@
+package org.dromara.file.controller;
+
+import java.util.List;
+
+import lombok.RequiredArgsConstructor;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.constraints.*;
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.validation.annotation.Validated;
+import org.dromara.common.idempotent.annotation.RepeatSubmit;
+import org.dromara.common.log.annotation.Log;
+import org.dromara.common.web.core.BaseController;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import org.dromara.common.core.domain.R;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import org.dromara.common.log.enums.BusinessType;
+import org.dromara.common.excel.utils.ExcelUtil;
+import org.dromara.file.domain.vo.SysHomeTrendVo;
+import org.dromara.file.domain.bo.SysHomeTrendBo;
+import org.dromara.file.service.ISysHomeTrendService;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+
+/**
+ * 学校动态
+ *
+ * @author Lion Li
+ * @date 2024-05-28
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/home/homeTrend")
+public class SysHomeTrendController extends BaseController {
+
+ private final ISysHomeTrendService sysHomeTrendService;
+
+ /**
+ * 查询学校动态列表
+ */
+ @SaCheckPermission("home:homeTrend:list")
+ @GetMapping("/list")
+ public TableDataInfo list(SysHomeTrendBo bo, PageQuery pageQuery) {
+ return sysHomeTrendService.queryPageList(bo, pageQuery);
+ }
+
+ /**
+ * 导出学校动态列表
+ */
+ @SaCheckPermission("home:homeTrend:export")
+ @Log(title = "学校动态", businessType = BusinessType.EXPORT)
+ @PostMapping("/export")
+ public void export(SysHomeTrendBo bo, HttpServletResponse response) {
+ List list = sysHomeTrendService.queryList(bo);
+ ExcelUtil.exportExcel(list, "学校动态", SysHomeTrendVo.class, response);
+ }
+
+ /**
+ * 获取学校动态详细信息
+ *
+ * @param trendId 主键
+ */
+ @SaCheckPermission("home:homeTrend:query")
+ @GetMapping("/{trendId}")
+ public R getInfo(@NotNull(message = "主键不能为空")
+ @PathVariable Long trendId) {
+ return R.ok(sysHomeTrendService.queryById(trendId));
+ }
+
+ /**
+ * 新增学校动态
+ */
+ @SaCheckPermission("home:homeTrend:add")
+ @Log(title = "学校动态", businessType = BusinessType.INSERT)
+ @RepeatSubmit()
+ @PostMapping()
+ public R add(@Validated(AddGroup.class) @RequestBody SysHomeTrendBo bo) {
+ return toAjax(sysHomeTrendService.insertByBo(bo));
+ }
+
+ /**
+ * 修改学校动态
+ */
+ @SaCheckPermission("home:homeTrend:edit")
+ @Log(title = "学校动态", businessType = BusinessType.UPDATE)
+ @RepeatSubmit()
+ @PutMapping()
+ public R edit(@Validated(EditGroup.class) @RequestBody SysHomeTrendBo bo) {
+ return toAjax(sysHomeTrendService.updateByBo(bo));
+ }
+
+ /**
+ * 删除学校动态
+ *
+ * @param trendIds 主键串
+ */
+ @SaCheckPermission("home:homeTrend:remove")
+ @Log(title = "学校动态", businessType = BusinessType.DELETE)
+ @DeleteMapping("/{trendIds}")
+ public R remove(@NotEmpty(message = "主键不能为空")
+ @PathVariable Long[] trendIds) {
+ return toAjax(sysHomeTrendService.deleteWithValidByIds(List.of(trendIds), true));
+ }
+}
diff --git a/ruoyi-modules/ruoyi-file/src/main/java/org/dromara/file/domain/SysHomeBanner.java b/ruoyi-modules/ruoyi-file/src/main/java/org/dromara/file/domain/SysHomeBanner.java
new file mode 100644
index 0000000..a515ad1
--- /dev/null
+++ b/ruoyi-modules/ruoyi-file/src/main/java/org/dromara/file/domain/SysHomeBanner.java
@@ -0,0 +1,67 @@
+package org.dromara.file.domain;
+
+import org.dromara.common.tenant.core.TenantEntity;
+import com.baomidou.mybatisplus.annotation.*;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serial;
+
+/**
+ * 门户Banner对象 sys_home_banner
+ *
+ * @author Lion Li
+ * @date 2024-05-28
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("sys_home_banner")
+public class SysHomeBanner extends TenantEntity {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ /**
+ *
+ */
+ @TableId(value = "banner_id")
+ private Long bannerId;
+
+ /**
+ * 0:pc端轮播,1:移动端轮播
+ */
+ private Integer type;
+
+ /**
+ * 标题
+ */
+ private String title;
+
+ /**
+ * 跳转链接
+ */
+ private String url;
+
+ /**
+ * 排序
+ */
+ private Long sort;
+
+ /**
+ * 封面
+ */
+ private Long cover;
+
+ /**
+ * 0-下架,1-上架
+ */
+ private Integer status;
+
+ /**
+ * 删除标志(0代表存在 2代表删除)
+ */
+ @TableLogic
+ private String delFlag;
+
+
+}
diff --git a/ruoyi-modules/ruoyi-file/src/main/java/org/dromara/file/domain/SysHomeShow.java b/ruoyi-modules/ruoyi-file/src/main/java/org/dromara/file/domain/SysHomeShow.java
new file mode 100644
index 0000000..a6b163e
--- /dev/null
+++ b/ruoyi-modules/ruoyi-file/src/main/java/org/dromara/file/domain/SysHomeShow.java
@@ -0,0 +1,72 @@
+package org.dromara.file.domain;
+
+import org.dromara.common.tenant.core.TenantEntity;
+import com.baomidou.mybatisplus.annotation.*;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serial;
+
+/**
+ * 学校名师对象 sys_home_show
+ *
+ * @author Lion Li
+ * @date 2024-05-28
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("sys_home_show")
+public class SysHomeShow extends TenantEntity {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ /**
+ *
+ */
+ @TableId(value = "show_id")
+ private Long showId;
+
+ /**
+ * 是否外链0:否,1:是
+ */
+ private Integer type;
+
+ /**
+ * 教师名称
+ */
+ private String teacherName;
+
+ /**
+ * 年级名称
+ */
+ private String gradeName;
+
+ /**
+ * 学科名称
+ */
+ private String subjectName;
+
+ /**
+ * 排序
+ */
+ private Long sort;
+
+ /**
+ * 教师介绍
+ */
+ private String content;
+
+ /**
+ * 0-下架,1-上架
+ */
+ private Integer status;
+
+ /**
+ * 删除标志(0代表存在 2代表删除)
+ */
+ @TableLogic
+ private String delFlag;
+
+
+}
diff --git a/ruoyi-modules/ruoyi-file/src/main/java/org/dromara/file/domain/SysHomeTrend.java b/ruoyi-modules/ruoyi-file/src/main/java/org/dromara/file/domain/SysHomeTrend.java
new file mode 100644
index 0000000..5c18c47
--- /dev/null
+++ b/ruoyi-modules/ruoyi-file/src/main/java/org/dromara/file/domain/SysHomeTrend.java
@@ -0,0 +1,67 @@
+package org.dromara.file.domain;
+
+import org.dromara.common.tenant.core.TenantEntity;
+import com.baomidou.mybatisplus.annotation.*;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serial;
+
+/**
+ * 学校动态对象 sys_home_trend
+ *
+ * @author Lion Li
+ * @date 2024-05-28
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("sys_home_trend")
+public class SysHomeTrend extends TenantEntity {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ /**
+ *
+ */
+ @TableId(value = "trend_id")
+ private Long trendId;
+
+ /**
+ * 是否外链0:否,1:是
+ */
+ private Integer type;
+
+ /**
+ * 标题
+ */
+ private String title;
+
+ /**
+ * 跳转链接
+ */
+ private String url;
+
+ /**
+ * 排序
+ */
+ private Long sort;
+
+ /**
+ * 内容
+ */
+ private String content;
+
+ /**
+ * 0-下架,1-上架
+ */
+ private Integer status;
+
+ /**
+ * 删除标志(0代表存在 2代表删除)
+ */
+ @TableLogic
+ private String delFlag;
+
+
+}
diff --git a/ruoyi-modules/ruoyi-file/src/main/java/org/dromara/file/domain/SysOssResource.java b/ruoyi-modules/ruoyi-file/src/main/java/org/dromara/file/domain/SysOssResource.java
index 13790e8..d1f7152 100644
--- a/ruoyi-modules/ruoyi-file/src/main/java/org/dromara/file/domain/SysOssResource.java
+++ b/ruoyi-modules/ruoyi-file/src/main/java/org/dromara/file/domain/SysOssResource.java
@@ -24,13 +24,11 @@ public class SysOssResource extends BaseEntity {
/**
*
*/
- @TableId(value = "oss_id")
private Long ossId;
/**
*
*/
- @TableId(value = "catalog_id")
private Long catalogId;
diff --git a/ruoyi-modules/ruoyi-file/src/main/java/org/dromara/file/domain/SysOssTextbook.java b/ruoyi-modules/ruoyi-file/src/main/java/org/dromara/file/domain/SysOssTextbook.java
index afe1b6e..d2b8461 100644
--- a/ruoyi-modules/ruoyi-file/src/main/java/org/dromara/file/domain/SysOssTextbook.java
+++ b/ruoyi-modules/ruoyi-file/src/main/java/org/dromara/file/domain/SysOssTextbook.java
@@ -24,13 +24,11 @@ public class SysOssTextbook extends BaseEntity {
/**
*
*/
- @TableId(value = "oss_id")
private Long ossId;
/**
*
*/
- @TableId(value = "catalog_id")
private Long catalogId;
/**
diff --git a/ruoyi-modules/ruoyi-file/src/main/java/org/dromara/file/domain/bo/SysCatalogResourceBo.java b/ruoyi-modules/ruoyi-file/src/main/java/org/dromara/file/domain/bo/SysCatalogResourceBo.java
index f49c333..e2992f6 100644
--- a/ruoyi-modules/ruoyi-file/src/main/java/org/dromara/file/domain/bo/SysCatalogResourceBo.java
+++ b/ruoyi-modules/ruoyi-file/src/main/java/org/dromara/file/domain/bo/SysCatalogResourceBo.java
@@ -35,7 +35,6 @@ public class SysCatalogResourceBo extends BaseEntity {
/**
* 祖级列表
*/
- @NotBlank(message = "祖级列表不能为空", groups = { AddGroup.class, EditGroup.class })
private String ancestors;
/**
@@ -47,7 +46,6 @@ public class SysCatalogResourceBo extends BaseEntity {
/**
* 显示顺序
*/
- @NotNull(message = "显示顺序不能为空", groups = { AddGroup.class, EditGroup.class })
private Long orderNum;
/**
diff --git a/ruoyi-modules/ruoyi-file/src/main/java/org/dromara/file/domain/bo/SysCatalogTextbookBo.java b/ruoyi-modules/ruoyi-file/src/main/java/org/dromara/file/domain/bo/SysCatalogTextbookBo.java
index c31df78..3e5a58c 100644
--- a/ruoyi-modules/ruoyi-file/src/main/java/org/dromara/file/domain/bo/SysCatalogTextbookBo.java
+++ b/ruoyi-modules/ruoyi-file/src/main/java/org/dromara/file/domain/bo/SysCatalogTextbookBo.java
@@ -35,7 +35,6 @@ public class SysCatalogTextbookBo extends BaseEntity {
/**
* 祖级列表
*/
- @NotBlank(message = "祖级列表不能为空", groups = { AddGroup.class, EditGroup.class })
private String ancestors;
/**
@@ -47,7 +46,6 @@ public class SysCatalogTextbookBo extends BaseEntity {
/**
* 显示顺序
*/
- @NotNull(message = "显示顺序不能为空", groups = { AddGroup.class, EditGroup.class })
private Long orderNum;
/**
diff --git a/ruoyi-modules/ruoyi-file/src/main/java/org/dromara/file/domain/bo/SysHomeBannerBo.java b/ruoyi-modules/ruoyi-file/src/main/java/org/dromara/file/domain/bo/SysHomeBannerBo.java
new file mode 100644
index 0000000..b2b80a6
--- /dev/null
+++ b/ruoyi-modules/ruoyi-file/src/main/java/org/dromara/file/domain/bo/SysHomeBannerBo.java
@@ -0,0 +1,66 @@
+package org.dromara.file.domain.bo;
+
+import org.dromara.file.domain.SysHomeBanner;
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import jakarta.validation.constraints.*;
+
+/**
+ * 门户Banner业务对象 sys_home_banner
+ *
+ * @author Lion Li
+ * @date 2024-05-28
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@AutoMapper(target = SysHomeBanner.class, reverseConvertGenerate = false)
+public class SysHomeBannerBo extends BaseEntity {
+
+ /**
+ *
+ */
+ @NotNull(message = "不能为空", groups = { EditGroup.class })
+ private Long bannerId;
+
+ /**
+ * 0:pc端轮播,1:移动端轮播
+ */
+ @NotNull(message = "0:pc端轮播,1:移动端轮播不能为空", groups = { AddGroup.class, EditGroup.class })
+ private Integer type;
+
+ /**
+ * 标题
+ */
+ @NotBlank(message = "标题不能为空", groups = { AddGroup.class, EditGroup.class })
+ private String title;
+
+ /**
+ * 跳转链接
+ */
+ @NotBlank(message = "跳转链接不能为空", groups = { AddGroup.class, EditGroup.class })
+ private String url;
+
+ /**
+ * 排序
+ */
+ @NotNull(message = "排序不能为空", groups = { AddGroup.class, EditGroup.class })
+ private Long sort;
+
+ /**
+ * 封面
+ */
+ @NotNull(message = "封面不能为空", groups = { AddGroup.class, EditGroup.class })
+ private Long cover;
+
+ /**
+ * 0-下架,1-上架
+ */
+ @NotNull(message = "0-下架,1-上架不能为空", groups = { AddGroup.class, EditGroup.class })
+ private Integer status;
+
+
+}
diff --git a/ruoyi-modules/ruoyi-file/src/main/java/org/dromara/file/domain/bo/SysHomeShowBo.java b/ruoyi-modules/ruoyi-file/src/main/java/org/dromara/file/domain/bo/SysHomeShowBo.java
new file mode 100644
index 0000000..088f0ef
--- /dev/null
+++ b/ruoyi-modules/ruoyi-file/src/main/java/org/dromara/file/domain/bo/SysHomeShowBo.java
@@ -0,0 +1,72 @@
+package org.dromara.file.domain.bo;
+
+import org.dromara.file.domain.SysHomeShow;
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import jakarta.validation.constraints.*;
+
+/**
+ * 学校名师业务对象 sys_home_show
+ *
+ * @author Lion Li
+ * @date 2024-05-28
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@AutoMapper(target = SysHomeShow.class, reverseConvertGenerate = false)
+public class SysHomeShowBo extends BaseEntity {
+
+ /**
+ *
+ */
+ @NotNull(message = "不能为空", groups = { EditGroup.class })
+ private Long showId;
+
+ /**
+ * 是否外链0:否,1:是
+ */
+ @NotNull(message = "是否外链0:否,1:是不能为空", groups = { AddGroup.class, EditGroup.class })
+ private Integer type;
+
+ /**
+ * 教师名称
+ */
+ @NotBlank(message = "教师名称不能为空", groups = { AddGroup.class, EditGroup.class })
+ private String teacherName;
+
+ /**
+ * 年级名称
+ */
+ @NotBlank(message = "年级名称不能为空", groups = { AddGroup.class, EditGroup.class })
+ private String gradeName;
+
+ /**
+ * 学科名称
+ */
+ @NotBlank(message = "学科名称不能为空", groups = { AddGroup.class, EditGroup.class })
+ private String subjectName;
+
+ /**
+ * 排序
+ */
+ @NotNull(message = "排序不能为空", groups = { AddGroup.class, EditGroup.class })
+ private Long sort;
+
+ /**
+ * 教师介绍
+ */
+ @NotBlank(message = "教师介绍不能为空", groups = { AddGroup.class, EditGroup.class })
+ private String content;
+
+ /**
+ * 0-下架,1-上架
+ */
+ @NotNull(message = "0-下架,1-上架不能为空", groups = { AddGroup.class, EditGroup.class })
+ private Integer status;
+
+
+}
diff --git a/ruoyi-modules/ruoyi-file/src/main/java/org/dromara/file/domain/bo/SysHomeTrendBo.java b/ruoyi-modules/ruoyi-file/src/main/java/org/dromara/file/domain/bo/SysHomeTrendBo.java
new file mode 100644
index 0000000..5f54f5a
--- /dev/null
+++ b/ruoyi-modules/ruoyi-file/src/main/java/org/dromara/file/domain/bo/SysHomeTrendBo.java
@@ -0,0 +1,66 @@
+package org.dromara.file.domain.bo;
+
+import org.dromara.file.domain.SysHomeTrend;
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import jakarta.validation.constraints.*;
+
+/**
+ * 学校动态业务对象 sys_home_trend
+ *
+ * @author Lion Li
+ * @date 2024-05-28
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@AutoMapper(target = SysHomeTrend.class, reverseConvertGenerate = false)
+public class SysHomeTrendBo extends BaseEntity {
+
+ /**
+ *
+ */
+ @NotNull(message = "不能为空", groups = { EditGroup.class })
+ private Long trendId;
+
+ /**
+ * 是否外链0:否,1:是
+ */
+ @NotNull(message = "是否外链0:否,1:是不能为空", groups = { AddGroup.class, EditGroup.class })
+ private Integer type;
+
+ /**
+ * 标题
+ */
+ @NotBlank(message = "标题不能为空", groups = { AddGroup.class, EditGroup.class })
+ private String title;
+
+ /**
+ * 跳转链接
+ */
+ @NotBlank(message = "跳转链接不能为空", groups = { AddGroup.class, EditGroup.class })
+ private String url;
+
+ /**
+ * 排序
+ */
+ @NotNull(message = "排序不能为空", groups = { AddGroup.class, EditGroup.class })
+ private Long sort;
+
+ /**
+ * 内容
+ */
+ @NotBlank(message = "内容不能为空", groups = { AddGroup.class, EditGroup.class })
+ private String content;
+
+ /**
+ * 0-下架,1-上架
+ */
+ @NotNull(message = "0-下架,1-上架不能为空", groups = { AddGroup.class, EditGroup.class })
+ private Integer status;
+
+
+}
diff --git a/ruoyi-modules/ruoyi-file/src/main/java/org/dromara/file/domain/vo/SysHomeBannerVo.java b/ruoyi-modules/ruoyi-file/src/main/java/org/dromara/file/domain/vo/SysHomeBannerVo.java
new file mode 100644
index 0000000..126c068
--- /dev/null
+++ b/ruoyi-modules/ruoyi-file/src/main/java/org/dromara/file/domain/vo/SysHomeBannerVo.java
@@ -0,0 +1,74 @@
+package org.dromara.file.domain.vo;
+
+import org.dromara.file.domain.SysHomeBanner;
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import org.dromara.common.excel.annotation.ExcelDictFormat;
+import org.dromara.common.excel.convert.ExcelDictConvert;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.Date;
+
+
+
+/**
+ * 门户Banner视图对象 sys_home_banner
+ *
+ * @author Lion Li
+ * @date 2024-05-28
+ */
+@Data
+@ExcelIgnoreUnannotated
+@AutoMapper(target = SysHomeBanner.class)
+public class SysHomeBannerVo implements Serializable {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ /**
+ *
+ */
+ @ExcelProperty(value = "")
+ private Long bannerId;
+
+ /**
+ * 0:pc端轮播,1:移动端轮播
+ */
+ @ExcelProperty(value = "0:pc端轮播,1:移动端轮播")
+ private Integer type;
+
+ /**
+ * 标题
+ */
+ @ExcelProperty(value = "标题")
+ private String title;
+
+ /**
+ * 跳转链接
+ */
+ @ExcelProperty(value = "跳转链接")
+ private String url;
+
+ /**
+ * 排序
+ */
+ @ExcelProperty(value = "排序")
+ private Long sort;
+
+ /**
+ * 封面
+ */
+ @ExcelProperty(value = "封面")
+ private Long cover;
+
+ /**
+ * 0-下架,1-上架
+ */
+ @ExcelProperty(value = "0-下架,1-上架")
+ private Integer status;
+
+
+}
diff --git a/ruoyi-modules/ruoyi-file/src/main/java/org/dromara/file/domain/vo/SysHomeShowVo.java b/ruoyi-modules/ruoyi-file/src/main/java/org/dromara/file/domain/vo/SysHomeShowVo.java
new file mode 100644
index 0000000..11ffd5a
--- /dev/null
+++ b/ruoyi-modules/ruoyi-file/src/main/java/org/dromara/file/domain/vo/SysHomeShowVo.java
@@ -0,0 +1,80 @@
+package org.dromara.file.domain.vo;
+
+import org.dromara.file.domain.SysHomeShow;
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import org.dromara.common.excel.annotation.ExcelDictFormat;
+import org.dromara.common.excel.convert.ExcelDictConvert;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.Date;
+
+
+
+/**
+ * 学校名师视图对象 sys_home_show
+ *
+ * @author Lion Li
+ * @date 2024-05-28
+ */
+@Data
+@ExcelIgnoreUnannotated
+@AutoMapper(target = SysHomeShow.class)
+public class SysHomeShowVo implements Serializable {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ /**
+ *
+ */
+ @ExcelProperty(value = "")
+ private Long showId;
+
+ /**
+ * 是否外链0:否,1:是
+ */
+ @ExcelProperty(value = "是否外链0:否,1:是")
+ private Integer type;
+
+ /**
+ * 教师名称
+ */
+ @ExcelProperty(value = "教师名称")
+ private String teacherName;
+
+ /**
+ * 年级名称
+ */
+ @ExcelProperty(value = "年级名称")
+ private String gradeName;
+
+ /**
+ * 学科名称
+ */
+ @ExcelProperty(value = "学科名称")
+ private String subjectName;
+
+ /**
+ * 排序
+ */
+ @ExcelProperty(value = "排序")
+ private Long sort;
+
+ /**
+ * 教师介绍
+ */
+ @ExcelProperty(value = "教师介绍")
+ private String content;
+
+ /**
+ * 0-下架,1-上架
+ */
+ @ExcelProperty(value = "0-下架,1-上架")
+ private Integer status;
+
+
+}
diff --git a/ruoyi-modules/ruoyi-file/src/main/java/org/dromara/file/domain/vo/SysHomeTrendVo.java b/ruoyi-modules/ruoyi-file/src/main/java/org/dromara/file/domain/vo/SysHomeTrendVo.java
new file mode 100644
index 0000000..99e5d32
--- /dev/null
+++ b/ruoyi-modules/ruoyi-file/src/main/java/org/dromara/file/domain/vo/SysHomeTrendVo.java
@@ -0,0 +1,74 @@
+package org.dromara.file.domain.vo;
+
+import org.dromara.file.domain.SysHomeTrend;
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import org.dromara.common.excel.annotation.ExcelDictFormat;
+import org.dromara.common.excel.convert.ExcelDictConvert;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.Date;
+
+
+
+/**
+ * 学校动态视图对象 sys_home_trend
+ *
+ * @author Lion Li
+ * @date 2024-05-28
+ */
+@Data
+@ExcelIgnoreUnannotated
+@AutoMapper(target = SysHomeTrend.class)
+public class SysHomeTrendVo implements Serializable {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ /**
+ *
+ */
+ @ExcelProperty(value = "")
+ private Long trendId;
+
+ /**
+ * 是否外链0:否,1:是
+ */
+ @ExcelProperty(value = "是否外链0:否,1:是")
+ private Integer type;
+
+ /**
+ * 标题
+ */
+ @ExcelProperty(value = "标题")
+ private String title;
+
+ /**
+ * 跳转链接
+ */
+ @ExcelProperty(value = "跳转链接")
+ private String url;
+
+ /**
+ * 排序
+ */
+ @ExcelProperty(value = "排序")
+ private Long sort;
+
+ /**
+ * 内容
+ */
+ @ExcelProperty(value = "内容")
+ private String content;
+
+ /**
+ * 0-下架,1-上架
+ */
+ @ExcelProperty(value = "0-下架,1-上架")
+ private Integer status;
+
+
+}
diff --git a/ruoyi-modules/ruoyi-file/src/main/java/org/dromara/file/mapper/SysHomeBannerMapper.java b/ruoyi-modules/ruoyi-file/src/main/java/org/dromara/file/mapper/SysHomeBannerMapper.java
new file mode 100644
index 0000000..20225fe
--- /dev/null
+++ b/ruoyi-modules/ruoyi-file/src/main/java/org/dromara/file/mapper/SysHomeBannerMapper.java
@@ -0,0 +1,15 @@
+package org.dromara.file.mapper;
+
+import org.dromara.file.domain.SysHomeBanner;
+import org.dromara.file.domain.vo.SysHomeBannerVo;
+import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
+
+/**
+ * 门户BannerMapper接口
+ *
+ * @author Lion Li
+ * @date 2024-05-28
+ */
+public interface SysHomeBannerMapper extends BaseMapperPlus {
+
+}
diff --git a/ruoyi-modules/ruoyi-file/src/main/java/org/dromara/file/mapper/SysHomeShowMapper.java b/ruoyi-modules/ruoyi-file/src/main/java/org/dromara/file/mapper/SysHomeShowMapper.java
new file mode 100644
index 0000000..976eaea
--- /dev/null
+++ b/ruoyi-modules/ruoyi-file/src/main/java/org/dromara/file/mapper/SysHomeShowMapper.java
@@ -0,0 +1,15 @@
+package org.dromara.file.mapper;
+
+import org.dromara.file.domain.SysHomeShow;
+import org.dromara.file.domain.vo.SysHomeShowVo;
+import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
+
+/**
+ * 学校名师Mapper接口
+ *
+ * @author Lion Li
+ * @date 2024-05-28
+ */
+public interface SysHomeShowMapper extends BaseMapperPlus {
+
+}
diff --git a/ruoyi-modules/ruoyi-file/src/main/java/org/dromara/file/mapper/SysHomeTrendMapper.java b/ruoyi-modules/ruoyi-file/src/main/java/org/dromara/file/mapper/SysHomeTrendMapper.java
new file mode 100644
index 0000000..b9b6b48
--- /dev/null
+++ b/ruoyi-modules/ruoyi-file/src/main/java/org/dromara/file/mapper/SysHomeTrendMapper.java
@@ -0,0 +1,15 @@
+package org.dromara.file.mapper;
+
+import org.dromara.file.domain.SysHomeTrend;
+import org.dromara.file.domain.vo.SysHomeTrendVo;
+import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
+
+/**
+ * 学校动态Mapper接口
+ *
+ * @author Lion Li
+ * @date 2024-05-28
+ */
+public interface SysHomeTrendMapper extends BaseMapperPlus {
+
+}
diff --git a/ruoyi-modules/ruoyi-file/src/main/java/org/dromara/file/service/ISysHomeBannerService.java b/ruoyi-modules/ruoyi-file/src/main/java/org/dromara/file/service/ISysHomeBannerService.java
new file mode 100644
index 0000000..cd7e9d9
--- /dev/null
+++ b/ruoyi-modules/ruoyi-file/src/main/java/org/dromara/file/service/ISysHomeBannerService.java
@@ -0,0 +1,68 @@
+package org.dromara.file.service;
+
+import org.dromara.file.domain.vo.SysHomeBannerVo;
+import org.dromara.file.domain.bo.SysHomeBannerBo;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.mybatis.core.page.PageQuery;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * 门户BannerService接口
+ *
+ * @author Lion Li
+ * @date 2024-05-28
+ */
+public interface ISysHomeBannerService {
+
+ /**
+ * 查询门户Banner
+ *
+ * @param bannerId 主键
+ * @return 门户Banner
+ */
+ SysHomeBannerVo queryById(Long bannerId);
+
+ /**
+ * 分页查询门户Banner列表
+ *
+ * @param bo 查询条件
+ * @param pageQuery 分页参数
+ * @return 门户Banner分页列表
+ */
+ TableDataInfo queryPageList(SysHomeBannerBo bo, PageQuery pageQuery);
+
+ /**
+ * 查询符合条件的门户Banner列表
+ *
+ * @param bo 查询条件
+ * @return 门户Banner列表
+ */
+ List queryList(SysHomeBannerBo bo);
+
+ /**
+ * 新增门户Banner
+ *
+ * @param bo 门户Banner
+ * @return 是否新增成功
+ */
+ Boolean insertByBo(SysHomeBannerBo bo);
+
+ /**
+ * 修改门户Banner
+ *
+ * @param bo 门户Banner
+ * @return 是否修改成功
+ */
+ Boolean updateByBo(SysHomeBannerBo bo);
+
+ /**
+ * 校验并批量删除门户Banner信息
+ *
+ * @param ids 待删除的主键集合
+ * @param isValid 是否进行有效性校验
+ * @return 是否删除成功
+ */
+ Boolean deleteWithValidByIds(Collection ids, Boolean isValid);
+}
diff --git a/ruoyi-modules/ruoyi-file/src/main/java/org/dromara/file/service/ISysHomeShowService.java b/ruoyi-modules/ruoyi-file/src/main/java/org/dromara/file/service/ISysHomeShowService.java
new file mode 100644
index 0000000..34bf3aa
--- /dev/null
+++ b/ruoyi-modules/ruoyi-file/src/main/java/org/dromara/file/service/ISysHomeShowService.java
@@ -0,0 +1,68 @@
+package org.dromara.file.service;
+
+import org.dromara.file.domain.vo.SysHomeShowVo;
+import org.dromara.file.domain.bo.SysHomeShowBo;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.mybatis.core.page.PageQuery;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * 学校名师Service接口
+ *
+ * @author Lion Li
+ * @date 2024-05-28
+ */
+public interface ISysHomeShowService {
+
+ /**
+ * 查询学校名师
+ *
+ * @param showId 主键
+ * @return 学校名师
+ */
+ SysHomeShowVo queryById(Long showId);
+
+ /**
+ * 分页查询学校名师列表
+ *
+ * @param bo 查询条件
+ * @param pageQuery 分页参数
+ * @return 学校名师分页列表
+ */
+ TableDataInfo queryPageList(SysHomeShowBo bo, PageQuery pageQuery);
+
+ /**
+ * 查询符合条件的学校名师列表
+ *
+ * @param bo 查询条件
+ * @return 学校名师列表
+ */
+ List queryList(SysHomeShowBo bo);
+
+ /**
+ * 新增学校名师
+ *
+ * @param bo 学校名师
+ * @return 是否新增成功
+ */
+ Boolean insertByBo(SysHomeShowBo bo);
+
+ /**
+ * 修改学校名师
+ *
+ * @param bo 学校名师
+ * @return 是否修改成功
+ */
+ Boolean updateByBo(SysHomeShowBo bo);
+
+ /**
+ * 校验并批量删除学校名师信息
+ *
+ * @param ids 待删除的主键集合
+ * @param isValid 是否进行有效性校验
+ * @return 是否删除成功
+ */
+ Boolean deleteWithValidByIds(Collection ids, Boolean isValid);
+}
diff --git a/ruoyi-modules/ruoyi-file/src/main/java/org/dromara/file/service/ISysHomeTrendService.java b/ruoyi-modules/ruoyi-file/src/main/java/org/dromara/file/service/ISysHomeTrendService.java
new file mode 100644
index 0000000..a7182dc
--- /dev/null
+++ b/ruoyi-modules/ruoyi-file/src/main/java/org/dromara/file/service/ISysHomeTrendService.java
@@ -0,0 +1,68 @@
+package org.dromara.file.service;
+
+import org.dromara.file.domain.vo.SysHomeTrendVo;
+import org.dromara.file.domain.bo.SysHomeTrendBo;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.mybatis.core.page.PageQuery;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * 学校动态Service接口
+ *
+ * @author Lion Li
+ * @date 2024-05-28
+ */
+public interface ISysHomeTrendService {
+
+ /**
+ * 查询学校动态
+ *
+ * @param trendId 主键
+ * @return 学校动态
+ */
+ SysHomeTrendVo queryById(Long trendId);
+
+ /**
+ * 分页查询学校动态列表
+ *
+ * @param bo 查询条件
+ * @param pageQuery 分页参数
+ * @return 学校动态分页列表
+ */
+ TableDataInfo queryPageList(SysHomeTrendBo bo, PageQuery pageQuery);
+
+ /**
+ * 查询符合条件的学校动态列表
+ *
+ * @param bo 查询条件
+ * @return 学校动态列表
+ */
+ List queryList(SysHomeTrendBo bo);
+
+ /**
+ * 新增学校动态
+ *
+ * @param bo 学校动态
+ * @return 是否新增成功
+ */
+ Boolean insertByBo(SysHomeTrendBo bo);
+
+ /**
+ * 修改学校动态
+ *
+ * @param bo 学校动态
+ * @return 是否修改成功
+ */
+ Boolean updateByBo(SysHomeTrendBo bo);
+
+ /**
+ * 校验并批量删除学校动态信息
+ *
+ * @param ids 待删除的主键集合
+ * @param isValid 是否进行有效性校验
+ * @return 是否删除成功
+ */
+ Boolean deleteWithValidByIds(Collection ids, Boolean isValid);
+}
diff --git a/ruoyi-modules/ruoyi-file/src/main/java/org/dromara/file/service/impl/SysHomeBannerServiceImpl.java b/ruoyi-modules/ruoyi-file/src/main/java/org/dromara/file/service/impl/SysHomeBannerServiceImpl.java
new file mode 100644
index 0000000..64584d6
--- /dev/null
+++ b/ruoyi-modules/ruoyi-file/src/main/java/org/dromara/file/service/impl/SysHomeBannerServiceImpl.java
@@ -0,0 +1,134 @@
+package org.dromara.file.service.impl;
+
+import org.dromara.common.core.utils.MapstructUtils;
+import org.dromara.common.core.utils.StringUtils;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import lombok.RequiredArgsConstructor;
+import org.springframework.stereotype.Service;
+import org.dromara.file.domain.bo.SysHomeBannerBo;
+import org.dromara.file.domain.vo.SysHomeBannerVo;
+import org.dromara.file.domain.SysHomeBanner;
+import org.dromara.file.mapper.SysHomeBannerMapper;
+import org.dromara.file.service.ISysHomeBannerService;
+
+import java.util.List;
+import java.util.Map;
+import java.util.Collection;
+
+/**
+ * 门户BannerService业务层处理
+ *
+ * @author Lion Li
+ * @date 2024-05-28
+ */
+@RequiredArgsConstructor
+@Service
+public class SysHomeBannerServiceImpl implements ISysHomeBannerService {
+
+ private final SysHomeBannerMapper baseMapper;
+
+ /**
+ * 查询门户Banner
+ *
+ * @param bannerId 主键
+ * @return 门户Banner
+ */
+ @Override
+ public SysHomeBannerVo queryById(Long bannerId){
+ return baseMapper.selectVoById(bannerId);
+ }
+
+ /**
+ * 分页查询门户Banner列表
+ *
+ * @param bo 查询条件
+ * @param pageQuery 分页参数
+ * @return 门户Banner分页列表
+ */
+ @Override
+ public TableDataInfo queryPageList(SysHomeBannerBo bo, PageQuery pageQuery) {
+ LambdaQueryWrapper lqw = buildQueryWrapper(bo);
+ Page result = baseMapper.selectVoPage(pageQuery.build(), lqw);
+ return TableDataInfo.build(result);
+ }
+
+ /**
+ * 查询符合条件的门户Banner列表
+ *
+ * @param bo 查询条件
+ * @return 门户Banner列表
+ */
+ @Override
+ public List queryList(SysHomeBannerBo bo) {
+ LambdaQueryWrapper lqw = buildQueryWrapper(bo);
+ return baseMapper.selectVoList(lqw);
+ }
+
+ private LambdaQueryWrapper buildQueryWrapper(SysHomeBannerBo bo) {
+ Map params = bo.getParams();
+ LambdaQueryWrapper lqw = Wrappers.lambdaQuery();
+ lqw.eq(bo.getType() != null, SysHomeBanner::getType, bo.getType());
+ lqw.eq(StringUtils.isNotBlank(bo.getTitle()), SysHomeBanner::getTitle, bo.getTitle());
+ lqw.eq(StringUtils.isNotBlank(bo.getUrl()), SysHomeBanner::getUrl, bo.getUrl());
+ lqw.eq(bo.getSort() != null, SysHomeBanner::getSort, bo.getSort());
+ lqw.eq(bo.getCover() != null, SysHomeBanner::getCover, bo.getCover());
+ lqw.eq(bo.getStatus() != null, SysHomeBanner::getStatus, bo.getStatus());
+ return lqw;
+ }
+
+ /**
+ * 新增门户Banner
+ *
+ * @param bo 门户Banner
+ * @return 是否新增成功
+ */
+ @Override
+ public Boolean insertByBo(SysHomeBannerBo bo) {
+ SysHomeBanner add = MapstructUtils.convert(bo, SysHomeBanner.class);
+ validEntityBeforeSave(add);
+ boolean flag = baseMapper.insert(add) > 0;
+ if (flag) {
+ bo.setBannerId(add.getBannerId());
+ }
+ return flag;
+ }
+
+ /**
+ * 修改门户Banner
+ *
+ * @param bo 门户Banner
+ * @return 是否修改成功
+ */
+ @Override
+ public Boolean updateByBo(SysHomeBannerBo bo) {
+ SysHomeBanner update = MapstructUtils.convert(bo, SysHomeBanner.class);
+ validEntityBeforeSave(update);
+ return baseMapper.updateById(update) > 0;
+ }
+
+ /**
+ * 保存前的数据校验
+ */
+ private void validEntityBeforeSave(SysHomeBanner entity){
+ //TODO 做一些数据校验,如唯一约束
+ }
+
+ /**
+ * 校验并批量删除门户Banner信息
+ *
+ * @param ids 待删除的主键集合
+ * @param isValid 是否进行有效性校验
+ * @return 是否删除成功
+ */
+ @Override
+ public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) {
+ if(isValid){
+ //TODO 做一些业务上的校验,判断是否需要校验
+ }
+ return baseMapper.deleteBatchIds(ids) > 0;
+ }
+}
diff --git a/ruoyi-modules/ruoyi-file/src/main/java/org/dromara/file/service/impl/SysHomeShowServiceImpl.java b/ruoyi-modules/ruoyi-file/src/main/java/org/dromara/file/service/impl/SysHomeShowServiceImpl.java
new file mode 100644
index 0000000..ca81707
--- /dev/null
+++ b/ruoyi-modules/ruoyi-file/src/main/java/org/dromara/file/service/impl/SysHomeShowServiceImpl.java
@@ -0,0 +1,135 @@
+package org.dromara.file.service.impl;
+
+import org.dromara.common.core.utils.MapstructUtils;
+import org.dromara.common.core.utils.StringUtils;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import lombok.RequiredArgsConstructor;
+import org.springframework.stereotype.Service;
+import org.dromara.file.domain.bo.SysHomeShowBo;
+import org.dromara.file.domain.vo.SysHomeShowVo;
+import org.dromara.file.domain.SysHomeShow;
+import org.dromara.file.mapper.SysHomeShowMapper;
+import org.dromara.file.service.ISysHomeShowService;
+
+import java.util.List;
+import java.util.Map;
+import java.util.Collection;
+
+/**
+ * 学校名师Service业务层处理
+ *
+ * @author Lion Li
+ * @date 2024-05-28
+ */
+@RequiredArgsConstructor
+@Service
+public class SysHomeShowServiceImpl implements ISysHomeShowService {
+
+ private final SysHomeShowMapper baseMapper;
+
+ /**
+ * 查询学校名师
+ *
+ * @param showId 主键
+ * @return 学校名师
+ */
+ @Override
+ public SysHomeShowVo queryById(Long showId){
+ return baseMapper.selectVoById(showId);
+ }
+
+ /**
+ * 分页查询学校名师列表
+ *
+ * @param bo 查询条件
+ * @param pageQuery 分页参数
+ * @return 学校名师分页列表
+ */
+ @Override
+ public TableDataInfo queryPageList(SysHomeShowBo bo, PageQuery pageQuery) {
+ LambdaQueryWrapper lqw = buildQueryWrapper(bo);
+ Page result = baseMapper.selectVoPage(pageQuery.build(), lqw);
+ return TableDataInfo.build(result);
+ }
+
+ /**
+ * 查询符合条件的学校名师列表
+ *
+ * @param bo 查询条件
+ * @return 学校名师列表
+ */
+ @Override
+ public List queryList(SysHomeShowBo bo) {
+ LambdaQueryWrapper lqw = buildQueryWrapper(bo);
+ return baseMapper.selectVoList(lqw);
+ }
+
+ private LambdaQueryWrapper buildQueryWrapper(SysHomeShowBo bo) {
+ Map params = bo.getParams();
+ LambdaQueryWrapper lqw = Wrappers.lambdaQuery();
+ lqw.eq(bo.getType() != null, SysHomeShow::getType, bo.getType());
+ lqw.like(StringUtils.isNotBlank(bo.getTeacherName()), SysHomeShow::getTeacherName, bo.getTeacherName());
+ lqw.like(StringUtils.isNotBlank(bo.getGradeName()), SysHomeShow::getGradeName, bo.getGradeName());
+ lqw.like(StringUtils.isNotBlank(bo.getSubjectName()), SysHomeShow::getSubjectName, bo.getSubjectName());
+ lqw.eq(bo.getSort() != null, SysHomeShow::getSort, bo.getSort());
+ lqw.eq(StringUtils.isNotBlank(bo.getContent()), SysHomeShow::getContent, bo.getContent());
+ lqw.eq(bo.getStatus() != null, SysHomeShow::getStatus, bo.getStatus());
+ return lqw;
+ }
+
+ /**
+ * 新增学校名师
+ *
+ * @param bo 学校名师
+ * @return 是否新增成功
+ */
+ @Override
+ public Boolean insertByBo(SysHomeShowBo bo) {
+ SysHomeShow add = MapstructUtils.convert(bo, SysHomeShow.class);
+ validEntityBeforeSave(add);
+ boolean flag = baseMapper.insert(add) > 0;
+ if (flag) {
+ bo.setShowId(add.getShowId());
+ }
+ return flag;
+ }
+
+ /**
+ * 修改学校名师
+ *
+ * @param bo 学校名师
+ * @return 是否修改成功
+ */
+ @Override
+ public Boolean updateByBo(SysHomeShowBo bo) {
+ SysHomeShow update = MapstructUtils.convert(bo, SysHomeShow.class);
+ validEntityBeforeSave(update);
+ return baseMapper.updateById(update) > 0;
+ }
+
+ /**
+ * 保存前的数据校验
+ */
+ private void validEntityBeforeSave(SysHomeShow entity){
+ //TODO 做一些数据校验,如唯一约束
+ }
+
+ /**
+ * 校验并批量删除学校名师信息
+ *
+ * @param ids 待删除的主键集合
+ * @param isValid 是否进行有效性校验
+ * @return 是否删除成功
+ */
+ @Override
+ public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) {
+ if(isValid){
+ //TODO 做一些业务上的校验,判断是否需要校验
+ }
+ return baseMapper.deleteBatchIds(ids) > 0;
+ }
+}
diff --git a/ruoyi-modules/ruoyi-file/src/main/java/org/dromara/file/service/impl/SysHomeTrendServiceImpl.java b/ruoyi-modules/ruoyi-file/src/main/java/org/dromara/file/service/impl/SysHomeTrendServiceImpl.java
new file mode 100644
index 0000000..175f464
--- /dev/null
+++ b/ruoyi-modules/ruoyi-file/src/main/java/org/dromara/file/service/impl/SysHomeTrendServiceImpl.java
@@ -0,0 +1,134 @@
+package org.dromara.file.service.impl;
+
+import org.dromara.common.core.utils.MapstructUtils;
+import org.dromara.common.core.utils.StringUtils;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import lombok.RequiredArgsConstructor;
+import org.springframework.stereotype.Service;
+import org.dromara.file.domain.bo.SysHomeTrendBo;
+import org.dromara.file.domain.vo.SysHomeTrendVo;
+import org.dromara.file.domain.SysHomeTrend;
+import org.dromara.file.mapper.SysHomeTrendMapper;
+import org.dromara.file.service.ISysHomeTrendService;
+
+import java.util.List;
+import java.util.Map;
+import java.util.Collection;
+
+/**
+ * 学校动态Service业务层处理
+ *
+ * @author Lion Li
+ * @date 2024-05-28
+ */
+@RequiredArgsConstructor
+@Service
+public class SysHomeTrendServiceImpl implements ISysHomeTrendService {
+
+ private final SysHomeTrendMapper baseMapper;
+
+ /**
+ * 查询学校动态
+ *
+ * @param trendId 主键
+ * @return 学校动态
+ */
+ @Override
+ public SysHomeTrendVo queryById(Long trendId){
+ return baseMapper.selectVoById(trendId);
+ }
+
+ /**
+ * 分页查询学校动态列表
+ *
+ * @param bo 查询条件
+ * @param pageQuery 分页参数
+ * @return 学校动态分页列表
+ */
+ @Override
+ public TableDataInfo queryPageList(SysHomeTrendBo bo, PageQuery pageQuery) {
+ LambdaQueryWrapper lqw = buildQueryWrapper(bo);
+ Page result = baseMapper.selectVoPage(pageQuery.build(), lqw);
+ return TableDataInfo.build(result);
+ }
+
+ /**
+ * 查询符合条件的学校动态列表
+ *
+ * @param bo 查询条件
+ * @return 学校动态列表
+ */
+ @Override
+ public List queryList(SysHomeTrendBo bo) {
+ LambdaQueryWrapper lqw = buildQueryWrapper(bo);
+ return baseMapper.selectVoList(lqw);
+ }
+
+ private LambdaQueryWrapper buildQueryWrapper(SysHomeTrendBo bo) {
+ Map params = bo.getParams();
+ LambdaQueryWrapper lqw = Wrappers.lambdaQuery();
+ lqw.eq(bo.getType() != null, SysHomeTrend::getType, bo.getType());
+ lqw.eq(StringUtils.isNotBlank(bo.getTitle()), SysHomeTrend::getTitle, bo.getTitle());
+ lqw.eq(StringUtils.isNotBlank(bo.getUrl()), SysHomeTrend::getUrl, bo.getUrl());
+ lqw.eq(bo.getSort() != null, SysHomeTrend::getSort, bo.getSort());
+ lqw.eq(StringUtils.isNotBlank(bo.getContent()), SysHomeTrend::getContent, bo.getContent());
+ lqw.eq(bo.getStatus() != null, SysHomeTrend::getStatus, bo.getStatus());
+ return lqw;
+ }
+
+ /**
+ * 新增学校动态
+ *
+ * @param bo 学校动态
+ * @return 是否新增成功
+ */
+ @Override
+ public Boolean insertByBo(SysHomeTrendBo bo) {
+ SysHomeTrend add = MapstructUtils.convert(bo, SysHomeTrend.class);
+ validEntityBeforeSave(add);
+ boolean flag = baseMapper.insert(add) > 0;
+ if (flag) {
+ bo.setTrendId(add.getTrendId());
+ }
+ return flag;
+ }
+
+ /**
+ * 修改学校动态
+ *
+ * @param bo 学校动态
+ * @return 是否修改成功
+ */
+ @Override
+ public Boolean updateByBo(SysHomeTrendBo bo) {
+ SysHomeTrend update = MapstructUtils.convert(bo, SysHomeTrend.class);
+ validEntityBeforeSave(update);
+ return baseMapper.updateById(update) > 0;
+ }
+
+ /**
+ * 保存前的数据校验
+ */
+ private void validEntityBeforeSave(SysHomeTrend entity){
+ //TODO 做一些数据校验,如唯一约束
+ }
+
+ /**
+ * 校验并批量删除学校动态信息
+ *
+ * @param ids 待删除的主键集合
+ * @param isValid 是否进行有效性校验
+ * @return 是否删除成功
+ */
+ @Override
+ public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) {
+ if(isValid){
+ //TODO 做一些业务上的校验,判断是否需要校验
+ }
+ return baseMapper.deleteBatchIds(ids) > 0;
+ }
+}
diff --git a/ruoyi-modules/ruoyi-file/src/main/resources/mapper/file/SysHomeBannerMapper.xml b/ruoyi-modules/ruoyi-file/src/main/resources/mapper/file/SysHomeBannerMapper.xml
new file mode 100644
index 0000000..d28ca2c
--- /dev/null
+++ b/ruoyi-modules/ruoyi-file/src/main/resources/mapper/file/SysHomeBannerMapper.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
diff --git a/ruoyi-modules/ruoyi-file/src/main/resources/mapper/file/SysHomeShowMapper.xml b/ruoyi-modules/ruoyi-file/src/main/resources/mapper/file/SysHomeShowMapper.xml
new file mode 100644
index 0000000..9ddc2a5
--- /dev/null
+++ b/ruoyi-modules/ruoyi-file/src/main/resources/mapper/file/SysHomeShowMapper.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
diff --git a/ruoyi-modules/ruoyi-file/src/main/resources/mapper/file/SysHomeTrendMapper.xml b/ruoyi-modules/ruoyi-file/src/main/resources/mapper/file/SysHomeTrendMapper.xml
new file mode 100644
index 0000000..cd934db
--- /dev/null
+++ b/ruoyi-modules/ruoyi-file/src/main/resources/mapper/file/SysHomeTrendMapper.xml
@@ -0,0 +1,7 @@
+
+
+
+
+