代码优化

This commit is contained in:
cjw 2024-05-28 15:13:59 +08:00
parent afed932070
commit 3ff9fef182
23 changed files with 306 additions and 357 deletions

View File

@ -347,6 +347,12 @@
<artifactId>ruoyi-generator</artifactId> <artifactId>ruoyi-generator</artifactId>
<version>${revision}</version> <version>${revision}</version>
</dependency> </dependency>
<dependency>
<groupId>org.dromara</groupId>
<artifactId>ruoyi-file</artifactId>
<version>${revision}</version>
</dependency>
</dependencies> </dependencies>
</dependencyManagement> </dependencyManagement>
@ -355,7 +361,6 @@
<module>ruoyi-common</module> <module>ruoyi-common</module>
<module>ruoyi-extend</module> <module>ruoyi-extend</module>
<module>ruoyi-modules</module> <module>ruoyi-modules</module>
<module>ruoyi-modules/ruoyi-file</module>
</modules> </modules>
<packaging>pom</packaging> <packaging>pom</packaging>

View File

@ -23,20 +23,20 @@
<artifactId>mysql-connector-j</artifactId> <artifactId>mysql-connector-j</artifactId>
</dependency> </dependency>
<!-- Oracle --> <!-- Oracle -->
<dependency> <!-- <dependency>-->
<groupId>com.oracle.database.jdbc</groupId> <!-- <groupId>com.oracle.database.jdbc</groupId>-->
<artifactId>ojdbc8</artifactId> <!-- <artifactId>ojdbc8</artifactId>-->
</dependency> <!-- </dependency>-->
<!-- PostgreSql --> <!-- PostgreSql -->
<dependency> <!-- <dependency>-->
<groupId>org.postgresql</groupId> <!-- <groupId>org.postgresql</groupId>-->
<artifactId>postgresql</artifactId> <!-- <artifactId>postgresql</artifactId>-->
</dependency> <!-- </dependency>-->
<!-- SqlServer --> <!-- SqlServer -->
<dependency> <!-- <dependency>-->
<groupId>com.microsoft.sqlserver</groupId> <!-- <groupId>com.microsoft.sqlserver</groupId>-->
<artifactId>mssql-jdbc</artifactId> <!-- <artifactId>mssql-jdbc</artifactId>-->
</dependency> <!-- </dependency>-->
<dependency> <dependency>
<groupId>org.dromara</groupId> <groupId>org.dromara</groupId>
@ -61,7 +61,6 @@
<dependency> <dependency>
<groupId>org.dromara</groupId> <groupId>org.dromara</groupId>
<artifactId>ruoyi-file</artifactId> <artifactId>ruoyi-file</artifactId>
<version>5.2.0-BETA</version>
</dependency> </dependency>
<dependency> <dependency>

View File

@ -1,38 +0,0 @@
target/
!.mvn/wrapper/maven-wrapper.jar
!**/src/main/**/target/
!**/src/test/**/target/
### IntelliJ IDEA ###
.idea/modules.xml
.idea/jarRepositories.xml
.idea/compiler.xml
.idea/libraries/
*.iws
*.iml
*.ipr
### Eclipse ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
build/
!**/src/main/**/build/
!**/src/test/**/build/
### VS Code ###
.vscode/
### Mac OS ###
.DS_Store

View File

@ -10,56 +10,58 @@
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<artifactId>ruoyi-file</artifactId> <artifactId>ruoyi-file</artifactId>
<description>
校本资源模块
</description>
<dependencies>
<!-- 通用工具-->
<dependency>
<groupId>org.dromara</groupId>
<artifactId>ruoyi-common-core</artifactId>
</dependency>
<dependency>
<groupId>org.dromara</groupId>
<artifactId>ruoyi-common-mybatis</artifactId>
</dependency>
<!-- OSS功能模块 -->
<dependency>
<groupId>org.dromara</groupId>
<artifactId>ruoyi-common-oss</artifactId>
</dependency>
<dependencies> <dependency>
<!-- 通用工具--> <groupId>org.dromara</groupId>
<dependency> <artifactId>ruoyi-common-log</artifactId>
<groupId>org.dromara</groupId> </dependency>
<artifactId>ruoyi-common-core</artifactId>
</dependency>
<dependency>
<groupId>org.dromara</groupId>
<artifactId>ruoyi-common-mybatis</artifactId>
</dependency>
<!-- OSS功能模块 -->
<dependency>
<groupId>org.dromara</groupId>
<artifactId>ruoyi-common-oss</artifactId>
</dependency>
<dependency> <dependency>
<groupId>org.dromara</groupId> <groupId>org.dromara</groupId>
<artifactId>ruoyi-common-log</artifactId> <artifactId>ruoyi-common-tenant</artifactId>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.dromara</groupId> <groupId>org.dromara</groupId>
<artifactId>ruoyi-common-tenant</artifactId> <artifactId>ruoyi-common-security</artifactId>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.dromara</groupId> <groupId>org.dromara</groupId>
<artifactId>ruoyi-common-security</artifactId> <artifactId>ruoyi-common-web</artifactId>
</dependency> </dependency>
<dependency>
<groupId>org.dromara</groupId>
<artifactId>ruoyi-common-idempotent</artifactId>
</dependency>
<dependency> <dependency>
<groupId>org.dromara</groupId> <groupId>org.dromara</groupId>
<artifactId>ruoyi-common-web</artifactId> <artifactId>ruoyi-common-sensitive</artifactId>
</dependency> </dependency>
<dependency>
<groupId>org.dromara</groupId>
<artifactId>ruoyi-common-idempotent</artifactId>
</dependency>
<dependency> <dependency>
<groupId>org.dromara</groupId> <groupId>org.dromara</groupId>
<artifactId>ruoyi-common-sensitive</artifactId> <artifactId>ruoyi-common-encrypt</artifactId>
</dependency> </dependency>
</dependencies>
<dependency>
<groupId>org.dromara</groupId>
<artifactId>ruoyi-common-encrypt</artifactId>
</dependency>
</dependencies>
</project> </project>

View File

@ -32,73 +32,78 @@ import java.util.List;
@RequestMapping("/catalog/resource") @RequestMapping("/catalog/resource")
public class SysCatalogResourceController extends BaseController { public class SysCatalogResourceController extends BaseController {
private final ISysCatalogResourceService sysCatalogResourceService; private final ISysCatalogResourceService resourceService;
/** /**
* 查询目录-专题资源列表 * 查询目录-专题资源列表
*/ */
@SaCheckPermission("resource:catalogResource:list") @SaCheckPermission("catalog:resource:list")
@GetMapping("/list") @GetMapping("/list")
public R<List<SysCatalogResourceVo>> list(SysCatalogResourceBo bo) { public R<List<SysCatalogResourceVo>> list(SysCatalogResourceBo bo) {
List<SysCatalogResourceVo> list = sysCatalogResourceService.queryList(bo); List<SysCatalogResourceVo> list = resourceService.queryList(bo);
return R.ok(list); return R.ok(list);
} }
/**
* 导出目录-专题资源列表
*/
// @SaCheckPermission("resource:catalogResource:export")
// @Log(title = "目录-专题资源", businessType = BusinessType.EXPORT)
// @PostMapping("/export")
// public void export(SysCatalogResourceBo bo, HttpServletResponse response) {
// List<SysCatalogResourceVo> list = sysCatalogResourceService.queryList(bo);
// ExcelUtil.exportExcel(list, "目录-专题资源", SysCatalogResourceVo.class, response);
// }
/** /**
* 获取目录-专题资源详细信息 * 获取目录-专题资源详细信息
* *
* @param catalogId 主键 * @param catalogId 主键
*/ */
@SaCheckPermission("resource:catalogResource:query") @SaCheckPermission("catalog:resource:query")
@GetMapping("/{catalogId}") @GetMapping("/{catalogId}")
public R<SysCatalogResourceVo> getInfo(@NotNull(message = "主键不能为空") public R<SysCatalogResourceVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long catalogId) { @PathVariable Long catalogId) {
return R.ok(sysCatalogResourceService.queryById(catalogId)); return R.ok(resourceService.queryById(catalogId));
} }
/** /**
* 新增目录-专题资源 * 新增目录-专题资源
*/ */
@SaCheckPermission("resource:catalogResource:add") @SaCheckPermission("catalog:resource:add")
@Log(title = "目录-专题资源", businessType = BusinessType.INSERT) @Log(title = "目录-专题资源", businessType = BusinessType.INSERT)
@RepeatSubmit() @RepeatSubmit()
@PostMapping() @PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody SysCatalogResourceBo bo) { public R<Void> add(@Validated(AddGroup.class) @RequestBody SysCatalogResourceBo bo) {
return toAjax(sysCatalogResourceService.insertByBo(bo)); if (!resourceService.checkNameUnique(bo)) {
return R.fail("新增'" + bo.getCatalogName() + "'失败,名称已存在");
}
return toAjax(resourceService.insertByBo(bo));
} }
/** /**
* 修改目录-专题资源 * 修改目录-专题资源
*/ */
@SaCheckPermission("resource:catalogResource:edit") @SaCheckPermission("catalog:resource:edit")
@Log(title = "目录-专题资源", businessType = BusinessType.UPDATE) @Log(title = "目录-专题资源", businessType = BusinessType.UPDATE)
@RepeatSubmit() @RepeatSubmit()
@PutMapping() @PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody SysCatalogResourceBo bo) { public R<Void> edit(@Validated(EditGroup.class) @RequestBody SysCatalogResourceBo bo) {
return toAjax(sysCatalogResourceService.updateByBo(bo)); Long catalogId = bo.getCatalogId();
if (!resourceService.checkNameUnique(bo)) {
return R.fail("修改'" + bo.getCatalogName() + "'失败,名称已存在");
} else if (bo.getParentId().equals(catalogId)) {
return R.fail("修改'" + bo.getCatalogName() + "'失败,上级不能是自己");
}
return toAjax(resourceService.updateByBo(bo));
} }
/** /**
* 删除目录-专题资源 * 删除目录-专题资源
* *
* @param catalogIds 主键串 * @param catalogId 主键
*/ */
@SaCheckPermission("resource:catalogResource:remove") @SaCheckPermission("catalog:resource:remove")
@Log(title = "目录-专题资源", businessType = BusinessType.DELETE) @Log(title = "目录-专题资源", businessType = BusinessType.DELETE)
@DeleteMapping("/{catalogIds}") @DeleteMapping("/{catalogId}")
public R<Void> remove(@NotEmpty(message = "主键不能为空") public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] catalogIds) { @PathVariable Long catalogId) {
return toAjax(sysCatalogResourceService.deleteWithValidByIds(List.of(catalogIds), true)); if (resourceService.hasChildByCatalogId(catalogId)) {
return R.warn("存在下级,不允许删除");
}
if (resourceService.checkCatalogExistFile(catalogId)) {
return R.warn("存在文件,不允许删除");
}
return toAjax(resourceService.deleteById(catalogId));
} }
} }

View File

@ -37,30 +37,20 @@ public class SysCatalogTextbookController extends BaseController {
/** /**
* 查询目录-同步教材列表 * 查询目录-同步教材列表
*/ */
@SaCheckPermission("resource:catalogTextbook:list") @SaCheckPermission("catalog:textbook:list")
@GetMapping("/list") @GetMapping("/list")
public R<List<SysCatalogTextbookVo>> list(SysCatalogTextbookBo bo) { public R<List<SysCatalogTextbookVo>> list(SysCatalogTextbookBo bo) {
List<SysCatalogTextbookVo> list = sysCatalogTextbookService.queryList(bo); List<SysCatalogTextbookVo> list = sysCatalogTextbookService.queryList(bo);
return R.ok(list); return R.ok(list);
} }
/**
* 导出目录-同步教材列表
*/
// @SaCheckPermission("resource:catalogTextbook:export")
// @Log(title = "目录-同步教材", businessType = BusinessType.EXPORT)
// @PostMapping("/export")
// public void export(SysCatalogTextbookBo bo, HttpServletResponse response) {
// List<SysCatalogTextbookVo> list = sysCatalogTextbookService.queryList(bo);
// ExcelUtil.exportExcel(list, "目录-同步教材", SysCatalogTextbookVo.class, response);
// }
/** /**
* 获取目录-同步教材详细信息 * 获取目录-同步教材详细信息
* *
* @param catalogId 主键 * @param catalogId 主键
*/ */
@SaCheckPermission("resource:catalogTextbook:query") @SaCheckPermission("catalog:textbook:query")
@GetMapping("/{catalogId}") @GetMapping("/{catalogId}")
public R<SysCatalogTextbookVo> getInfo(@NotNull(message = "主键不能为空") public R<SysCatalogTextbookVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long catalogId) { @PathVariable Long catalogId) {
@ -70,7 +60,7 @@ public class SysCatalogTextbookController extends BaseController {
/** /**
* 新增目录-同步教材 * 新增目录-同步教材
*/ */
@SaCheckPermission("resource:catalogTextbook:add") @SaCheckPermission("catalog:textbook:add")
@Log(title = "目录-同步教材", businessType = BusinessType.INSERT) @Log(title = "目录-同步教材", businessType = BusinessType.INSERT)
@RepeatSubmit() @RepeatSubmit()
@PostMapping() @PostMapping()
@ -81,7 +71,7 @@ public class SysCatalogTextbookController extends BaseController {
/** /**
* 修改目录-同步教材 * 修改目录-同步教材
*/ */
@SaCheckPermission("resource:catalogTextbook:edit") @SaCheckPermission("catalog:textbook:edit")
@Log(title = "目录-同步教材", businessType = BusinessType.UPDATE) @Log(title = "目录-同步教材", businessType = BusinessType.UPDATE)
@RepeatSubmit() @RepeatSubmit()
@PutMapping() @PutMapping()
@ -92,13 +82,13 @@ public class SysCatalogTextbookController extends BaseController {
/** /**
* 删除目录-同步教材 * 删除目录-同步教材
* *
* @param catalogIds 主键串 * @param catalogId 主键串
*/ */
@SaCheckPermission("resource:catalogTextbook:remove") @SaCheckPermission("catalog:textbook:remove")
@Log(title = "目录-同步教材", businessType = BusinessType.DELETE) @Log(title = "目录-同步教材", businessType = BusinessType.DELETE)
@DeleteMapping("/{catalogIds}") @DeleteMapping("/{catalogId}")
public R<Void> remove(@NotEmpty(message = "主键不能为空") public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] catalogIds) { @PathVariable Long catalogId) {
return toAjax(sysCatalogTextbookService.deleteWithValidByIds(List.of(catalogIds), true)); return toAjax(sysCatalogTextbookService.deleteById(catalogId));
} }
} }

View File

@ -1,26 +1,25 @@
package org.dromara.file.controller; 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 cn.dev33.satoken.annotation.SaCheckPermission;
import org.springframework.web.bind.annotation.*; import jakarta.validation.constraints.NotEmpty;
import org.springframework.validation.annotation.Validated; import jakarta.validation.constraints.NotNull;
import org.dromara.common.idempotent.annotation.RepeatSubmit; import lombok.RequiredArgsConstructor;
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.domain.R;
import org.dromara.common.core.validate.AddGroup; import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup; import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType; import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.excel.utils.ExcelUtil; import org.dromara.common.mybatis.core.page.PageQuery;
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; import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.web.core.BaseController;
import org.dromara.file.domain.bo.SysHomeBannerBo;
import org.dromara.file.domain.vo.SysHomeBannerVo;
import org.dromara.file.service.ISysHomeBannerService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/** /**
* 门户Banner * 门户Banner
@ -31,7 +30,7 @@ import org.dromara.common.mybatis.core.page.TableDataInfo;
@Validated @Validated
@RequiredArgsConstructor @RequiredArgsConstructor
@RestController @RestController
@RequestMapping("/home/homeBanner") @RequestMapping("/home/banner")
public class SysHomeBannerController extends BaseController { public class SysHomeBannerController extends BaseController {
private final ISysHomeBannerService sysHomeBannerService; private final ISysHomeBannerService sysHomeBannerService;
@ -39,29 +38,19 @@ public class SysHomeBannerController extends BaseController {
/** /**
* 查询门户Banner列表 * 查询门户Banner列表
*/ */
@SaCheckPermission("home:homeBanner:list") @SaCheckPermission("home:banner:list")
@GetMapping("/list") @GetMapping("/list")
public TableDataInfo<SysHomeBannerVo> list(SysHomeBannerBo bo, PageQuery pageQuery) { public TableDataInfo<SysHomeBannerVo> list(SysHomeBannerBo bo, PageQuery pageQuery) {
return sysHomeBannerService.queryPageList(bo, 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<SysHomeBannerVo> list = sysHomeBannerService.queryList(bo);
ExcelUtil.exportExcel(list, "门户Banner", SysHomeBannerVo.class, response);
}
/** /**
* 获取门户Banner详细信息 * 获取门户Banner详细信息
* *
* @param bannerId 主键 * @param bannerId 主键
*/ */
@SaCheckPermission("home:homeBanner:query") @SaCheckPermission("home:banner:query")
@GetMapping("/{bannerId}") @GetMapping("/{bannerId}")
public R<SysHomeBannerVo> getInfo(@NotNull(message = "主键不能为空") public R<SysHomeBannerVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long bannerId) { @PathVariable Long bannerId) {
@ -71,7 +60,7 @@ public class SysHomeBannerController extends BaseController {
/** /**
* 新增门户Banner * 新增门户Banner
*/ */
@SaCheckPermission("home:homeBanner:add") @SaCheckPermission("home:banner:add")
@Log(title = "门户Banner", businessType = BusinessType.INSERT) @Log(title = "门户Banner", businessType = BusinessType.INSERT)
@RepeatSubmit() @RepeatSubmit()
@PostMapping() @PostMapping()
@ -82,7 +71,7 @@ public class SysHomeBannerController extends BaseController {
/** /**
* 修改门户Banner * 修改门户Banner
*/ */
@SaCheckPermission("home:homeBanner:edit") @SaCheckPermission("home:banner:edit")
@Log(title = "门户Banner", businessType = BusinessType.UPDATE) @Log(title = "门户Banner", businessType = BusinessType.UPDATE)
@RepeatSubmit() @RepeatSubmit()
@PutMapping() @PutMapping()
@ -95,7 +84,7 @@ public class SysHomeBannerController extends BaseController {
* *
* @param bannerIds 主键串 * @param bannerIds 主键串
*/ */
@SaCheckPermission("home:homeBanner:remove") @SaCheckPermission("home:banner:remove")
@Log(title = "门户Banner", businessType = BusinessType.DELETE) @Log(title = "门户Banner", businessType = BusinessType.DELETE)
@DeleteMapping("/{bannerIds}") @DeleteMapping("/{bannerIds}")
public R<Void> remove(@NotEmpty(message = "主键不能为空") public R<Void> remove(@NotEmpty(message = "主键不能为空")

View File

@ -1,26 +1,25 @@
package org.dromara.file.controller; 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 cn.dev33.satoken.annotation.SaCheckPermission;
import org.springframework.web.bind.annotation.*; import jakarta.validation.constraints.NotEmpty;
import org.springframework.validation.annotation.Validated; import jakarta.validation.constraints.NotNull;
import org.dromara.common.idempotent.annotation.RepeatSubmit; import lombok.RequiredArgsConstructor;
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.domain.R;
import org.dromara.common.core.validate.AddGroup; import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup; import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType; import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.excel.utils.ExcelUtil; import org.dromara.common.mybatis.core.page.PageQuery;
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; import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.web.core.BaseController;
import org.dromara.file.domain.bo.SysHomeShowBo;
import org.dromara.file.domain.vo.SysHomeShowVo;
import org.dromara.file.service.ISysHomeShowService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/** /**
* 学校名师 * 学校名师
@ -31,7 +30,7 @@ import org.dromara.common.mybatis.core.page.TableDataInfo;
@Validated @Validated
@RequiredArgsConstructor @RequiredArgsConstructor
@RestController @RestController
@RequestMapping("/home/homeShow") @RequestMapping("/home/show")
public class SysHomeShowController extends BaseController { public class SysHomeShowController extends BaseController {
private final ISysHomeShowService sysHomeShowService; private final ISysHomeShowService sysHomeShowService;
@ -39,29 +38,20 @@ public class SysHomeShowController extends BaseController {
/** /**
* 查询学校名师列表 * 查询学校名师列表
*/ */
@SaCheckPermission("home:homeShow:list") @SaCheckPermission("home:show:list")
@GetMapping("/list") @GetMapping("/list")
public TableDataInfo<SysHomeShowVo> list(SysHomeShowBo bo, PageQuery pageQuery) { public TableDataInfo<SysHomeShowVo> list(SysHomeShowBo bo, PageQuery pageQuery) {
return sysHomeShowService.queryPageList(bo, 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<SysHomeShowVo> list = sysHomeShowService.queryList(bo);
ExcelUtil.exportExcel(list, "学校名师", SysHomeShowVo.class, response);
}
/** /**
* 获取学校名师详细信息 * 获取学校名师详细信息
* *
* @param showId 主键 * @param showId 主键
*/ */
@SaCheckPermission("home:homeShow:query") @SaCheckPermission("home:show:query")
@GetMapping("/{showId}") @GetMapping("/{showId}")
public R<SysHomeShowVo> getInfo(@NotNull(message = "主键不能为空") public R<SysHomeShowVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long showId) { @PathVariable Long showId) {
@ -71,7 +61,7 @@ public class SysHomeShowController extends BaseController {
/** /**
* 新增学校名师 * 新增学校名师
*/ */
@SaCheckPermission("home:homeShow:add") @SaCheckPermission("home:show:add")
@Log(title = "学校名师", businessType = BusinessType.INSERT) @Log(title = "学校名师", businessType = BusinessType.INSERT)
@RepeatSubmit() @RepeatSubmit()
@PostMapping() @PostMapping()
@ -82,7 +72,7 @@ public class SysHomeShowController extends BaseController {
/** /**
* 修改学校名师 * 修改学校名师
*/ */
@SaCheckPermission("home:homeShow:edit") @SaCheckPermission("home:show:edit")
@Log(title = "学校名师", businessType = BusinessType.UPDATE) @Log(title = "学校名师", businessType = BusinessType.UPDATE)
@RepeatSubmit() @RepeatSubmit()
@PutMapping() @PutMapping()
@ -95,7 +85,7 @@ public class SysHomeShowController extends BaseController {
* *
* @param showIds 主键串 * @param showIds 主键串
*/ */
@SaCheckPermission("home:homeShow:remove") @SaCheckPermission("home:show:remove")
@Log(title = "学校名师", businessType = BusinessType.DELETE) @Log(title = "学校名师", businessType = BusinessType.DELETE)
@DeleteMapping("/{showIds}") @DeleteMapping("/{showIds}")
public R<Void> remove(@NotEmpty(message = "主键不能为空") public R<Void> remove(@NotEmpty(message = "主键不能为空")

View File

@ -1,26 +1,25 @@
package org.dromara.file.controller; 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 cn.dev33.satoken.annotation.SaCheckPermission;
import org.springframework.web.bind.annotation.*; import jakarta.validation.constraints.NotEmpty;
import org.springframework.validation.annotation.Validated; import jakarta.validation.constraints.NotNull;
import org.dromara.common.idempotent.annotation.RepeatSubmit; import lombok.RequiredArgsConstructor;
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.domain.R;
import org.dromara.common.core.validate.AddGroup; import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup; import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType; import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.excel.utils.ExcelUtil; import org.dromara.common.mybatis.core.page.PageQuery;
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; import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.web.core.BaseController;
import org.dromara.file.domain.bo.SysHomeTrendBo;
import org.dromara.file.domain.vo.SysHomeTrendVo;
import org.dromara.file.service.ISysHomeTrendService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/** /**
* 学校动态 * 学校动态
@ -31,7 +30,7 @@ import org.dromara.common.mybatis.core.page.TableDataInfo;
@Validated @Validated
@RequiredArgsConstructor @RequiredArgsConstructor
@RestController @RestController
@RequestMapping("/home/homeTrend") @RequestMapping("/home/trend")
public class SysHomeTrendController extends BaseController { public class SysHomeTrendController extends BaseController {
private final ISysHomeTrendService sysHomeTrendService; private final ISysHomeTrendService sysHomeTrendService;
@ -39,29 +38,19 @@ public class SysHomeTrendController extends BaseController {
/** /**
* 查询学校动态列表 * 查询学校动态列表
*/ */
@SaCheckPermission("home:homeTrend:list") @SaCheckPermission("home:trend:list")
@GetMapping("/list") @GetMapping("/list")
public TableDataInfo<SysHomeTrendVo> list(SysHomeTrendBo bo, PageQuery pageQuery) { public TableDataInfo<SysHomeTrendVo> list(SysHomeTrendBo bo, PageQuery pageQuery) {
return sysHomeTrendService.queryPageList(bo, 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<SysHomeTrendVo> list = sysHomeTrendService.queryList(bo);
ExcelUtil.exportExcel(list, "学校动态", SysHomeTrendVo.class, response);
}
/** /**
* 获取学校动态详细信息 * 获取学校动态详细信息
* *
* @param trendId 主键 * @param trendId 主键
*/ */
@SaCheckPermission("home:homeTrend:query") @SaCheckPermission("home:trend:query")
@GetMapping("/{trendId}") @GetMapping("/{trendId}")
public R<SysHomeTrendVo> getInfo(@NotNull(message = "主键不能为空") public R<SysHomeTrendVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long trendId) { @PathVariable Long trendId) {
@ -71,7 +60,7 @@ public class SysHomeTrendController extends BaseController {
/** /**
* 新增学校动态 * 新增学校动态
*/ */
@SaCheckPermission("home:homeTrend:add") @SaCheckPermission("home:trend:add")
@Log(title = "学校动态", businessType = BusinessType.INSERT) @Log(title = "学校动态", businessType = BusinessType.INSERT)
@RepeatSubmit() @RepeatSubmit()
@PostMapping() @PostMapping()
@ -82,7 +71,7 @@ public class SysHomeTrendController extends BaseController {
/** /**
* 修改学校动态 * 修改学校动态
*/ */
@SaCheckPermission("home:homeTrend:edit") @SaCheckPermission("home:trend:edit")
@Log(title = "学校动态", businessType = BusinessType.UPDATE) @Log(title = "学校动态", businessType = BusinessType.UPDATE)
@RepeatSubmit() @RepeatSubmit()
@PutMapping() @PutMapping()
@ -95,7 +84,7 @@ public class SysHomeTrendController extends BaseController {
* *
* @param trendIds 主键串 * @param trendIds 主键串
*/ */
@SaCheckPermission("home:homeTrend:remove") @SaCheckPermission("home:trend:remove")
@Log(title = "学校动态", businessType = BusinessType.DELETE) @Log(title = "学校动态", businessType = BusinessType.DELETE)
@DeleteMapping("/{trendIds}") @DeleteMapping("/{trendIds}")
public R<Void> remove(@NotEmpty(message = "主键不能为空") public R<Void> remove(@NotEmpty(message = "主键不能为空")

View File

@ -38,29 +38,18 @@ public class SysOssResourceController extends BaseController {
/** /**
* 查询请填写功能名称列表 * 查询请填写功能名称列表
*/ */
@SaCheckPermission("system:ossResource:list") @SaCheckPermission("file:resource:list")
@GetMapping("/list") @GetMapping("/list")
public TableDataInfo<SysOssResourceVo> list(SysOssResourceBo bo, PageQuery pageQuery) { public TableDataInfo<SysOssResourceVo> list(SysOssResourceBo bo, PageQuery pageQuery) {
return sysOssResourceService.queryPageList(bo, pageQuery); return sysOssResourceService.queryPageList(bo, pageQuery);
} }
/**
* 导出请填写功能名称列表
*/
// @SaCheckPermission("system:ossResource:export")
// @Log(title = "【请填写功能名称】", businessType = BusinessType.EXPORT)
// @PostMapping("/export")
// public void export(SysOssResourceBo bo, HttpServletResponse response) {
// List<SysOssResourceVo> list = sysOssResourceService.queryList(bo);
// ExcelUtil.exportExcel(list, "【请填写功能名称】", SysOssResourceVo.class, response);
// }
/** /**
* 获取请填写功能名称详细信息 * 获取请填写功能名称详细信息
* *
* @param ossId 主键 * @param ossId 主键
*/ */
@SaCheckPermission("system:ossResource:query") @SaCheckPermission("file:resource:query")
@GetMapping("/{ossId}") @GetMapping("/{ossId}")
public R<SysOssResourceVo> getInfo(@NotNull(message = "主键不能为空") public R<SysOssResourceVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long ossId) { @PathVariable Long ossId) {
@ -70,7 +59,7 @@ public class SysOssResourceController extends BaseController {
/** /**
* 新增请填写功能名称 * 新增请填写功能名称
*/ */
@SaCheckPermission("system:ossResource:add") @SaCheckPermission("file:resource:add")
@Log(title = "【请填写功能名称】", businessType = BusinessType.INSERT) @Log(title = "【请填写功能名称】", businessType = BusinessType.INSERT)
@RepeatSubmit() @RepeatSubmit()
@PostMapping() @PostMapping()
@ -81,7 +70,7 @@ public class SysOssResourceController extends BaseController {
/** /**
* 修改请填写功能名称 * 修改请填写功能名称
*/ */
@SaCheckPermission("system:ossResource:edit") @SaCheckPermission("file:resource:edit")
@Log(title = "【请填写功能名称】", businessType = BusinessType.UPDATE) @Log(title = "【请填写功能名称】", businessType = BusinessType.UPDATE)
@RepeatSubmit() @RepeatSubmit()
@PutMapping() @PutMapping()
@ -94,7 +83,7 @@ public class SysOssResourceController extends BaseController {
* *
* @param ossIds 主键串 * @param ossIds 主键串
*/ */
@SaCheckPermission("system:ossResource:remove") @SaCheckPermission("file:resource:remove")
@Log(title = "【请填写功能名称】", businessType = BusinessType.DELETE) @Log(title = "【请填写功能名称】", businessType = BusinessType.DELETE)
@DeleteMapping("/{ossIds}") @DeleteMapping("/{ossIds}")
public R<Void> remove(@NotEmpty(message = "主键不能为空") public R<Void> remove(@NotEmpty(message = "主键不能为空")

View File

@ -38,29 +38,19 @@ public class SysOssTextbookController extends BaseController {
/** /**
* 查询请填写功能名称列表 * 查询请填写功能名称列表
*/ */
@SaCheckPermission("system:ossTextbook:list") @SaCheckPermission("file:textbook:list")
@GetMapping("/list") @GetMapping("/list")
public TableDataInfo<SysOssTextbookVo> list(SysOssTextbookBo bo, PageQuery pageQuery) { public TableDataInfo<SysOssTextbookVo> list(SysOssTextbookBo bo, PageQuery pageQuery) {
return sysOssTextbookService.queryPageList(bo, pageQuery); return sysOssTextbookService.queryPageList(bo, pageQuery);
} }
// /**
// * 导出请填写功能名称列表
// */
// @SaCheckPermission("system:ossTextbook:export")
// @Log(title = "【请填写功能名称】", businessType = BusinessType.EXPORT)
// @PostMapping("/export")
// public void export(SysOssTextbookBo bo, HttpServletResponse response) {
// List<SysOssTextbookVo> list = sysOssTextbookService.queryList(bo);
// ExcelUtil.exportExcel(list, "【请填写功能名称】", SysOssTextbookVo.class, response);
// }
/** /**
* 获取请填写功能名称详细信息 * 获取请填写功能名称详细信息
* *
* @param ossId 主键 * @param ossId 主键
*/ */
@SaCheckPermission("system:ossTextbook:query") @SaCheckPermission("file:textbook:query")
@GetMapping("/{ossId}") @GetMapping("/{ossId}")
public R<SysOssTextbookVo> getInfo(@NotNull(message = "主键不能为空") public R<SysOssTextbookVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long ossId) { @PathVariable Long ossId) {
@ -70,7 +60,7 @@ public class SysOssTextbookController extends BaseController {
/** /**
* 新增请填写功能名称 * 新增请填写功能名称
*/ */
@SaCheckPermission("system:ossTextbook:add") @SaCheckPermission("file:textbook:add")
@Log(title = "【请填写功能名称】", businessType = BusinessType.INSERT) @Log(title = "【请填写功能名称】", businessType = BusinessType.INSERT)
@RepeatSubmit() @RepeatSubmit()
@PostMapping() @PostMapping()
@ -81,7 +71,7 @@ public class SysOssTextbookController extends BaseController {
/** /**
* 修改请填写功能名称 * 修改请填写功能名称
*/ */
@SaCheckPermission("system:ossTextbook:edit") @SaCheckPermission("file:textbook:edit")
@Log(title = "【请填写功能名称】", businessType = BusinessType.UPDATE) @Log(title = "【请填写功能名称】", businessType = BusinessType.UPDATE)
@RepeatSubmit() @RepeatSubmit()
@PutMapping() @PutMapping()
@ -94,7 +84,7 @@ public class SysOssTextbookController extends BaseController {
* *
* @param ossIds 主键串 * @param ossIds 主键串
*/ */
@SaCheckPermission("system:ossTextbook:remove") @SaCheckPermission("file:textbook:remove")
@Log(title = "【请填写功能名称】", businessType = BusinessType.DELETE) @Log(title = "【请填写功能名称】", businessType = BusinessType.DELETE)
@DeleteMapping("/{ossIds}") @DeleteMapping("/{ossIds}")
public R<Void> remove(@NotEmpty(message = "主键不能为空") public R<Void> remove(@NotEmpty(message = "主键不能为空")

View File

@ -24,7 +24,7 @@ public class SysHomeBanner extends TenantEntity {
/** /**
* *
*/ */
@TableId(value = "banner_id") @TableId(value = "banner_id",type = IdType.AUTO)
private Long bannerId; private Long bannerId;
/** /**

View File

@ -24,14 +24,9 @@ public class SysHomeShow extends TenantEntity {
/** /**
* *
*/ */
@TableId(value = "show_id") @TableId(value = "show_id",type = IdType.AUTO)
private Long showId; private Long showId;
/**
* 是否外链0:1
*/
private Integer type;
/** /**
* 教师名称 * 教师名称
*/ */

View File

@ -24,7 +24,7 @@ public class SysHomeTrend extends TenantEntity {
/** /**
* *
*/ */
@TableId(value = "trend_id") @TableId(value = "trend_id",type = IdType.AUTO)
private Long trendId; private Long trendId;
/** /**

View File

@ -1,16 +1,11 @@
package org.dromara.file.domain.vo; 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 io.github.linpeilie.annotations.AutoMapper;
import lombok.Data; import lombok.Data;
import org.dromara.file.domain.SysHomeBanner;
import java.io.Serial; import java.io.Serial;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date;
@ -21,7 +16,6 @@ import java.util.Date;
* @date 2024-05-28 * @date 2024-05-28
*/ */
@Data @Data
@ExcelIgnoreUnannotated
@AutoMapper(target = SysHomeBanner.class) @AutoMapper(target = SysHomeBanner.class)
public class SysHomeBannerVo implements Serializable { public class SysHomeBannerVo implements Serializable {
@ -29,45 +23,38 @@ public class SysHomeBannerVo implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/** /**
* * 主键
*/ */
@ExcelProperty(value = "")
private Long bannerId; private Long bannerId;
/** /**
* 0:pc端轮播1移动端轮播 * 0:pc端轮播1移动端轮播
*/ */
@ExcelProperty(value = "0:pc端轮播1移动端轮播")
private Integer type; private Integer type;
/** /**
* 标题 * 标题
*/ */
@ExcelProperty(value = "标题")
private String title; private String title;
/** /**
* 跳转链接 * 跳转链接
*/ */
@ExcelProperty(value = "跳转链接")
private String url; private String url;
/** /**
* 排序 * 排序
*/ */
@ExcelProperty(value = "排序")
private Long sort; private Long sort;
/** /**
* 封面 * 封面
*/ */
@ExcelProperty(value = "封面")
private Long cover; private Long cover;
/** /**
* 0-下架1-上架 * 0-下架1-上架
*/ */
@ExcelProperty(value = "0-下架1-上架")
private Integer status; private Integer status;

View File

@ -1,16 +1,11 @@
package org.dromara.file.domain.vo; 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 io.github.linpeilie.annotations.AutoMapper;
import lombok.Data; import lombok.Data;
import org.dromara.file.domain.SysHomeShow;
import java.io.Serial; import java.io.Serial;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date;
@ -21,7 +16,6 @@ import java.util.Date;
* @date 2024-05-28 * @date 2024-05-28
*/ */
@Data @Data
@ExcelIgnoreUnannotated
@AutoMapper(target = SysHomeShow.class) @AutoMapper(target = SysHomeShow.class)
public class SysHomeShowVo implements Serializable { public class SysHomeShowVo implements Serializable {
@ -29,51 +23,38 @@ public class SysHomeShowVo implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/** /**
* * 主键
*/ */
@ExcelProperty(value = "")
private Long showId; private Long showId;
/**
* 是否外链0:1
*/
@ExcelProperty(value = "是否外链0:否1")
private Integer type;
/** /**
* 教师名称 * 教师名称
*/ */
@ExcelProperty(value = "教师名称")
private String teacherName; private String teacherName;
/** /**
* 年级名称 * 年级名称
*/ */
@ExcelProperty(value = "年级名称")
private String gradeName; private String gradeName;
/** /**
* 学科名称 * 学科名称
*/ */
@ExcelProperty(value = "学科名称")
private String subjectName; private String subjectName;
/** /**
* 排序 * 排序
*/ */
@ExcelProperty(value = "排序")
private Long sort; private Long sort;
/** /**
* 教师介绍 * 教师介绍
*/ */
@ExcelProperty(value = "教师介绍")
private String content; private String content;
/** /**
* 0-下架1-上架 * 0-下架1-上架
*/ */
@ExcelProperty(value = "0-下架1-上架")
private Integer status; private Integer status;

View File

@ -1,16 +1,11 @@
package org.dromara.file.domain.vo; 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 io.github.linpeilie.annotations.AutoMapper;
import lombok.Data; import lombok.Data;
import org.dromara.file.domain.SysHomeTrend;
import java.io.Serial; import java.io.Serial;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date;
@ -21,7 +16,7 @@ import java.util.Date;
* @date 2024-05-28 * @date 2024-05-28
*/ */
@Data @Data
@ExcelIgnoreUnannotated
@AutoMapper(target = SysHomeTrend.class) @AutoMapper(target = SysHomeTrend.class)
public class SysHomeTrendVo implements Serializable { public class SysHomeTrendVo implements Serializable {
@ -29,45 +24,38 @@ public class SysHomeTrendVo implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/** /**
* * 主键
*/ */
@ExcelProperty(value = "")
private Long trendId; private Long trendId;
/** /**
* 是否外链0:1 * 是否外链0:1
*/ */
@ExcelProperty(value = "是否外链0:否1")
private Integer type; private Integer type;
/** /**
* 标题 * 标题
*/ */
@ExcelProperty(value = "标题")
private String title; private String title;
/** /**
* 跳转链接 * 跳转链接
*/ */
@ExcelProperty(value = "跳转链接")
private String url; private String url;
/** /**
* 排序 * 排序
*/ */
@ExcelProperty(value = "排序")
private Long sort; private Long sort;
/** /**
* 内容 * 内容
*/ */
@ExcelProperty(value = "内容")
private String content; private String content;
/** /**
* 0-下架1-上架 * 0-下架1-上架
*/ */
@ExcelProperty(value = "0-下架1-上架")
private Integer status; private Integer status;

View File

@ -4,7 +4,6 @@ package org.dromara.file.service;
import org.dromara.file.domain.bo.SysCatalogResourceBo; import org.dromara.file.domain.bo.SysCatalogResourceBo;
import org.dromara.file.domain.vo.SysCatalogResourceVo; import org.dromara.file.domain.vo.SysCatalogResourceVo;
import java.util.Collection;
import java.util.List; import java.util.List;
/** /**
@ -51,9 +50,32 @@ public interface ISysCatalogResourceService {
/** /**
* 校验并批量删除目录-专题资源信息 * 校验并批量删除目录-专题资源信息
* *
* @param ids 待删除的主键集合 * @param catalogId 待删除的主键
* @param isValid 是否进行有效性校验
* @return 是否删除成功 * @return 是否删除成功
*/ */
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid); int deleteById(Long catalogId);
/**
* 校验目录名称是否唯一
*
* @param resource 目录信息
* @return 结果
*/
boolean checkNameUnique(SysCatalogResourceBo resource);
/**
* 是否存在子节点
*
* @param catalogId 目录ID
* @return 结果
*/
boolean hasChildByCatalogId(Long catalogId);
/**
* 查询目录是否存在文件
*
* @param catalogId 部门ID
* @return 结果 true 存在 false 不存在
*/
boolean checkCatalogExistFile(Long catalogId);
} }

View File

@ -1,10 +1,10 @@
package org.dromara.file.service; package org.dromara.file.service;
import org.dromara.file.domain.bo.SysCatalogTextbookBo; import org.dromara.file.domain.bo.SysCatalogTextbookBo;
import org.dromara.file.domain.vo.SysCatalogTextbookVo; import org.dromara.file.domain.vo.SysCatalogTextbookVo;
import java.util.Collection;
import java.util.List; import java.util.List;
/** /**
@ -51,9 +51,31 @@ public interface ISysCatalogTextbookService {
/** /**
* 校验并批量删除目录-同步教材信息 * 校验并批量删除目录-同步教材信息
* *
* @param ids 待删除的主键集合 * @param catalogId 待删除的主键
* @param isValid 是否进行有效性校验
* @return 是否删除成功 * @return 是否删除成功
*/ */
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid); int deleteById(Long catalogId);
/**
* 校验目录名称是否唯一
*
* @param textbook 目录信息
* @return 结果
*/
boolean checkNameUnique(SysCatalogTextbookBo textbook);
/**
* 是否存在子节点
*
* @param catalogId 目录ID
* @return 结果
*/
boolean hasChildByCatalogId(Long catalogId);
/**
* 查询目录是否存在文件
*
* @param catalogId 部门ID
* @return 结果 true 存在 false 不存在
*/
boolean checkCatalogExistFile(Long catalogId);
} }

View File

@ -1,18 +1,20 @@
package org.dromara.file.service.impl; package org.dromara.file.service.impl;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils; import org.dromara.common.core.utils.StringUtils;
import org.dromara.file.domain.SysCatalogResource; import org.dromara.file.domain.SysCatalogResource;
import org.dromara.file.domain.SysOssResource;
import org.dromara.file.domain.bo.SysCatalogResourceBo; import org.dromara.file.domain.bo.SysCatalogResourceBo;
import org.dromara.file.domain.vo.SysCatalogResourceVo; import org.dromara.file.domain.vo.SysCatalogResourceVo;
import org.dromara.file.mapper.SysCatalogResourceMapper; import org.dromara.file.mapper.SysCatalogResourceMapper;
import org.dromara.file.mapper.SysOssResourceMapper;
import org.dromara.file.service.ISysCatalogResourceService; import org.dromara.file.service.ISysCatalogResourceService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.Collection;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -28,6 +30,8 @@ public class SysCatalogResourceServiceImpl implements ISysCatalogResourceService
private final SysCatalogResourceMapper baseMapper; private final SysCatalogResourceMapper baseMapper;
private final SysOssResourceMapper ossResourceMapper;
/** /**
* 查询目录-专题资源 * 查询目录-专题资源
* *
@ -35,7 +39,7 @@ public class SysCatalogResourceServiceImpl implements ISysCatalogResourceService
* @return 目录-专题资源 * @return 目录-专题资源
*/ */
@Override @Override
public SysCatalogResourceVo queryById(Long catalogId){ public SysCatalogResourceVo queryById(Long catalogId) {
return baseMapper.selectVoById(catalogId); return baseMapper.selectVoById(catalogId);
} }
@ -96,22 +100,39 @@ public class SysCatalogResourceServiceImpl implements ISysCatalogResourceService
/** /**
* 保存前的数据校验 * 保存前的数据校验
*/ */
private void validEntityBeforeSave(SysCatalogResource entity){ private void validEntityBeforeSave(SysCatalogResource entity) {
//TODO 做一些数据校验,如唯一约束 //TODO 做一些数据校验,如唯一约束
} }
/** /**
* 校验并批量删除目录-专题资源信息 * 校验并批量删除目录-专题资源信息
* *
* @param ids 待删除的主键集合 * @param catalogId 待删除的主键
* @param isValid 是否进行有效性校验
* @return 是否删除成功 * @return 是否删除成功
*/ */
@Override @Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) { public int deleteById(Long catalogId) {
if(isValid){ return baseMapper.deleteById(catalogId);
//TODO 做一些业务上的校验,判断是否需要校验 }
}
return baseMapper.deleteBatchIds(ids) > 0; @Override
public boolean checkNameUnique(SysCatalogResourceBo resource) {
boolean exist = baseMapper.exists(new LambdaQueryWrapper<SysCatalogResource>()
.eq(SysCatalogResource::getCatalogName, resource.getCatalogName())
.eq(SysCatalogResource::getParentId, resource.getParentId())
.ne(ObjectUtil.isNotNull(resource.getCatalogId()), SysCatalogResource::getCatalogId, resource.getCatalogId()));
return !exist;
}
@Override
public boolean hasChildByCatalogId(Long catalogId) {
return baseMapper.exists(new LambdaQueryWrapper<SysCatalogResource>()
.eq(SysCatalogResource::getParentId, catalogId));
}
@Override
public boolean checkCatalogExistFile(Long catalogId) {
return ossResourceMapper.exists(new LambdaQueryWrapper<SysOssResource>()
.eq(SysOssResource::getCatalogId, catalogId));
} }
} }

View File

@ -1,18 +1,20 @@
package org.dromara.file.service.impl; package org.dromara.file.service.impl;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils; import org.dromara.common.core.utils.StringUtils;
import org.dromara.file.domain.SysCatalogTextbook; import org.dromara.file.domain.SysCatalogTextbook;
import org.dromara.file.domain.SysOssTextbook;
import org.dromara.file.domain.bo.SysCatalogTextbookBo; import org.dromara.file.domain.bo.SysCatalogTextbookBo;
import org.dromara.file.domain.vo.SysCatalogTextbookVo; import org.dromara.file.domain.vo.SysCatalogTextbookVo;
import org.dromara.file.mapper.SysCatalogTextbookMapper; import org.dromara.file.mapper.SysCatalogTextbookMapper;
import org.dromara.file.mapper.SysOssTextbookMapper;
import org.dromara.file.service.ISysCatalogTextbookService; import org.dromara.file.service.ISysCatalogTextbookService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.Collection;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -28,6 +30,8 @@ public class SysCatalogTextbookServiceImpl implements ISysCatalogTextbookService
private final SysCatalogTextbookMapper baseMapper; private final SysCatalogTextbookMapper baseMapper;
private final SysOssTextbookMapper ossTextbookMapper;
/** /**
* 查询目录-同步教材 * 查询目录-同步教材
* *
@ -35,7 +39,7 @@ public class SysCatalogTextbookServiceImpl implements ISysCatalogTextbookService
* @return 目录-同步教材 * @return 目录-同步教材
*/ */
@Override @Override
public SysCatalogTextbookVo queryById(Long catalogId){ public SysCatalogTextbookVo queryById(Long catalogId) {
return baseMapper.selectVoById(catalogId); return baseMapper.selectVoById(catalogId);
} }
@ -96,22 +100,39 @@ public class SysCatalogTextbookServiceImpl implements ISysCatalogTextbookService
/** /**
* 保存前的数据校验 * 保存前的数据校验
*/ */
private void validEntityBeforeSave(SysCatalogTextbook entity){ private void validEntityBeforeSave(SysCatalogTextbook entity) {
//TODO 做一些数据校验,如唯一约束 //TODO 做一些数据校验,如唯一约束
} }
/** /**
* 校验并批量删除目录-同步教材信息 * 校验并批量删除目录-同步教材信息
* *
* @param ids 待删除的主键集合 * @param catalogId 待删除的主键
* @param isValid 是否进行有效性校验
* @return 是否删除成功 * @return 是否删除成功
*/ */
@Override @Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) { public int deleteById(Long catalogId) {
if(isValid){ return baseMapper.deleteById(catalogId);
//TODO 做一些业务上的校验,判断是否需要校验 }
}
return baseMapper.deleteBatchIds(ids) > 0; @Override
public boolean checkNameUnique(SysCatalogTextbookBo textbook) {
boolean exist = baseMapper.exists(new LambdaQueryWrapper<SysCatalogTextbook>()
.eq(SysCatalogTextbook::getCatalogName, textbook.getCatalogName())
.eq(SysCatalogTextbook::getParentId, textbook.getParentId())
.ne(ObjectUtil.isNotNull(textbook.getCatalogId()), SysCatalogTextbook::getCatalogId, textbook.getCatalogId()));
return !exist;
}
@Override
public boolean hasChildByCatalogId(Long catalogId) {
return baseMapper.exists(new LambdaQueryWrapper<SysCatalogTextbook>()
.eq(SysCatalogTextbook::getParentId, catalogId));
}
@Override
public boolean checkCatalogExistFile(Long catalogId) {
return ossTextbookMapper.exists(new LambdaQueryWrapper<SysOssTextbook>()
.eq(SysOssTextbook::getCatalogId, catalogId));
} }
} }

View File

@ -1,5 +1,6 @@
package org.dromara.system.domain; package org.dromara.system.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic; import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
@ -26,7 +27,7 @@ public class SysDept extends TenantEntity {
/** /**
* 部门ID * 部门ID
*/ */
@TableId(value = "dept_id") @TableId(value = "dept_id",type = IdType.AUTO)
private Long deptId; private Long deptId;
/** /**

View File

@ -1,5 +1,6 @@
package org.dromara.system.domain; package org.dromara.system.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import org.dromara.common.tenant.core.TenantEntity; import org.dromara.common.tenant.core.TenantEntity;
@ -20,7 +21,7 @@ public class SysNotice extends TenantEntity {
/** /**
* 公告ID * 公告ID
*/ */
@TableId(value = "notice_id") @TableId(value = "notice_id",type = IdType.AUTO)
private Long noticeId; private Long noticeId;
/** /**