新增我的空间;优化目录的新增;
This commit is contained in:
parent
239b93e421
commit
a16b942937
|
@ -0,0 +1,120 @@
|
||||||
|
package org.dromara.system.controller.file;
|
||||||
|
|
||||||
|
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||||
|
import jakarta.servlet.http.HttpServletResponse;
|
||||||
|
import jakarta.validation.constraints.NotEmpty;
|
||||||
|
import jakarta.validation.constraints.NotNull;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
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.excel.utils.ExcelUtil;
|
||||||
|
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.web.core.BaseController;
|
||||||
|
import org.dromara.system.domain.bo.SysCatalogPersonBo;
|
||||||
|
import org.dromara.system.domain.vo.SysCatalogPersonVo;
|
||||||
|
import org.dromara.system.service.ISysCatalogPersonService;
|
||||||
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 目录-我的空间
|
||||||
|
*
|
||||||
|
* @author cjw
|
||||||
|
* @date 2024-06-13
|
||||||
|
*/
|
||||||
|
@Validated
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/catalog/person")
|
||||||
|
public class SysCatalogPersonController extends BaseController {
|
||||||
|
|
||||||
|
private final ISysCatalogPersonService personService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询目录-我的空间列表
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("catalog:person:list")
|
||||||
|
@GetMapping("/list")
|
||||||
|
public R<List<SysCatalogPersonVo>> list(SysCatalogPersonBo bo) {
|
||||||
|
List<SysCatalogPersonVo> list = personService.queryList(bo);
|
||||||
|
return R.ok(list);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 导出目录-我的空间列表
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("catalog:person:export")
|
||||||
|
@Log(title = "目录-我的空间", businessType = BusinessType.EXPORT)
|
||||||
|
@PostMapping("/export")
|
||||||
|
public void export(SysCatalogPersonBo bo, HttpServletResponse response) {
|
||||||
|
List<SysCatalogPersonVo> list = personService.queryList(bo);
|
||||||
|
ExcelUtil.exportExcel(list, "目录-我的空间", SysCatalogPersonVo.class, response);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取目录-我的空间详细信息
|
||||||
|
*
|
||||||
|
* @param catalogId 主键
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("catalog:person:query")
|
||||||
|
@GetMapping("/{catalogId}")
|
||||||
|
public R<SysCatalogPersonVo> getInfo(@NotNull(message = "主键不能为空")
|
||||||
|
@PathVariable Long catalogId) {
|
||||||
|
return R.ok(personService.queryById(catalogId));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增目录-我的空间
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("catalog:person:add")
|
||||||
|
@Log(title = "目录-我的空间", businessType = BusinessType.INSERT)
|
||||||
|
@RepeatSubmit()
|
||||||
|
@PostMapping()
|
||||||
|
public R<Void> add(@Validated(AddGroup.class) @RequestBody SysCatalogPersonBo bo) {
|
||||||
|
if (!personService.checkNameUnique(bo)) {
|
||||||
|
return R.fail("新增'" + bo.getCatalogName() + "'失败,名称已存在");
|
||||||
|
}
|
||||||
|
return toAjax(personService.insertByBo(bo));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改目录-我的空间
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("catalog:person:edit")
|
||||||
|
@Log(title = "目录-我的空间", businessType = BusinessType.UPDATE)
|
||||||
|
@RepeatSubmit()
|
||||||
|
@PutMapping()
|
||||||
|
public R<Void> edit(@Validated(EditGroup.class) @RequestBody SysCatalogPersonBo bo) {
|
||||||
|
Long catalogId = bo.getCatalogId();
|
||||||
|
if (!personService.checkNameUnique(bo)) {
|
||||||
|
return R.fail("修改'" + bo.getCatalogName() + "'失败,名称已存在");
|
||||||
|
} else if (bo.getParentId().equals(catalogId)) {
|
||||||
|
return R.fail("修改'" + bo.getCatalogName() + "'失败,上级不能是自己");
|
||||||
|
}
|
||||||
|
return toAjax(personService.updateByBo(bo));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除目录-我的空间
|
||||||
|
*
|
||||||
|
* @param catalogId 主键串
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("catalog:person:remove")
|
||||||
|
@Log(title = "目录-我的空间", businessType = BusinessType.DELETE)
|
||||||
|
@DeleteMapping("/{catalogId}")
|
||||||
|
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||||
|
@PathVariable Long catalogId) {
|
||||||
|
if (personService.hasChildByCatalogId(catalogId)) {
|
||||||
|
return R.warn("存在下级,不允许删除");
|
||||||
|
}
|
||||||
|
if (personService.checkCatalogExistFile(catalogId)) {
|
||||||
|
return R.warn("存在文件,不允许删除");
|
||||||
|
}
|
||||||
|
return toAjax(personService.deleteById(catalogId));
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,106 @@
|
||||||
|
package org.dromara.system.controller.file;
|
||||||
|
|
||||||
|
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||||
|
import jakarta.servlet.http.HttpServletResponse;
|
||||||
|
import jakarta.validation.constraints.NotEmpty;
|
||||||
|
import jakarta.validation.constraints.NotNull;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
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.excel.utils.ExcelUtil;
|
||||||
|
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.mybatis.core.page.PageQuery;
|
||||||
|
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||||
|
import org.dromara.common.web.core.BaseController;
|
||||||
|
import org.dromara.system.domain.bo.SysOssPersonBo;
|
||||||
|
import org.dromara.system.domain.vo.SysOssPersonVo;
|
||||||
|
import org.dromara.system.service.ISysOssPersonService;
|
||||||
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 资源-我的空间
|
||||||
|
*
|
||||||
|
* @author cjw
|
||||||
|
* @date 2024-06-13
|
||||||
|
*/
|
||||||
|
@Validated
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/oss/person")
|
||||||
|
public class SysOssPersonController extends BaseController {
|
||||||
|
|
||||||
|
private final ISysOssPersonService sysOssPersonService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询资源-我的空间列表
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("oss:person:list")
|
||||||
|
@GetMapping("/list")
|
||||||
|
public TableDataInfo<SysOssPersonVo> list(SysOssPersonBo bo, PageQuery pageQuery) {
|
||||||
|
return sysOssPersonService.queryPageList(bo, pageQuery);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 导出资源-我的空间列表
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("oss:person:export")
|
||||||
|
@Log(title = "资源-我的空间", businessType = BusinessType.EXPORT)
|
||||||
|
@PostMapping("/export")
|
||||||
|
public void export(SysOssPersonBo bo, HttpServletResponse response) {
|
||||||
|
List<SysOssPersonVo> list = sysOssPersonService.queryList(bo);
|
||||||
|
ExcelUtil.exportExcel(list, "资源-我的空间", SysOssPersonVo.class, response);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取资源-我的空间详细信息
|
||||||
|
*
|
||||||
|
* @param id 主键
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("oss:person:query")
|
||||||
|
@GetMapping("/{id}")
|
||||||
|
public R<SysOssPersonVo> getInfo(@NotNull(message = "主键不能为空")
|
||||||
|
@PathVariable Long id) {
|
||||||
|
return R.ok(sysOssPersonService.queryById(id));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增资源-我的空间
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("oss:person:add")
|
||||||
|
@Log(title = "资源-我的空间", businessType = BusinessType.INSERT)
|
||||||
|
@RepeatSubmit()
|
||||||
|
@PostMapping()
|
||||||
|
public R<Void> add(@Validated(AddGroup.class) @RequestBody SysOssPersonBo bo) {
|
||||||
|
return toAjax(sysOssPersonService.insertByBo(bo));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改资源-我的空间
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("oss:person:edit")
|
||||||
|
@Log(title = "资源-我的空间", businessType = BusinessType.UPDATE)
|
||||||
|
@RepeatSubmit()
|
||||||
|
@PutMapping()
|
||||||
|
public R<Void> edit(@Validated(EditGroup.class) @RequestBody SysOssPersonBo bo) {
|
||||||
|
return toAjax(sysOssPersonService.updateByBo(bo));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除资源-我的空间
|
||||||
|
*
|
||||||
|
* @param ids 主键串
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("oss:person:remove")
|
||||||
|
@Log(title = "资源-我的空间", businessType = BusinessType.DELETE)
|
||||||
|
@DeleteMapping("/{ids}")
|
||||||
|
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||||
|
@PathVariable Long[] ids) {
|
||||||
|
return toAjax(sysOssPersonService.deleteWithValidByIds(List.of(ids), true));
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,56 @@
|
||||||
|
package org.dromara.system.domain;
|
||||||
|
|
||||||
|
import org.dromara.common.mybatis.core.domain.BaseEntity;
|
||||||
|
import com.baomidou.mybatisplus.annotation.*;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
|
||||||
|
import java.io.Serial;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 目录-我的空间对象 sys_catalog_person
|
||||||
|
*
|
||||||
|
* @author cjw
|
||||||
|
* @date 2024-06-13
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
@TableName("sys_catalog_person")
|
||||||
|
public class SysCatalogPerson extends BaseEntity {
|
||||||
|
|
||||||
|
@Serial
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 目录id
|
||||||
|
*/
|
||||||
|
@TableId(value = "catalog_id")
|
||||||
|
private Long catalogId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户编号
|
||||||
|
*/
|
||||||
|
private Long userId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 父目录id
|
||||||
|
*/
|
||||||
|
private Long parentId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 祖级列表
|
||||||
|
*/
|
||||||
|
private String ancestors;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 目录名称
|
||||||
|
*/
|
||||||
|
private String catalogName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 显示顺序
|
||||||
|
*/
|
||||||
|
private Long orderNum;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,51 @@
|
||||||
|
package org.dromara.system.domain;
|
||||||
|
|
||||||
|
import org.dromara.common.mybatis.core.domain.BaseEntity;
|
||||||
|
import com.baomidou.mybatisplus.annotation.*;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
|
||||||
|
import java.io.Serial;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 资源-我的空间对象 sys_oss_person
|
||||||
|
*
|
||||||
|
* @author cjw
|
||||||
|
* @date 2024-06-13
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
@TableName("sys_oss_person")
|
||||||
|
public class SysOssPerson extends BaseEntity {
|
||||||
|
|
||||||
|
@Serial
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@TableId(value = "id")
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
private Long ossId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
private Long catalogId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
private String fileName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
private String filePath;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
|
@ -35,5 +35,10 @@ public class SysOssResource extends BaseEntity {
|
||||||
*/
|
*/
|
||||||
private String fileName;
|
private String fileName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 文件路径
|
||||||
|
*/
|
||||||
|
private String filePath;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -39,5 +39,9 @@ public class SysOssTextbook extends BaseEntity {
|
||||||
*/
|
*/
|
||||||
private String fileName;
|
private String fileName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 文件路径
|
||||||
|
*/
|
||||||
|
private String filePath;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,21 @@
|
||||||
|
package org.dromara.system.domain.bo;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>TODO<p>
|
||||||
|
*
|
||||||
|
* @author cjw
|
||||||
|
* @version V1.0.0
|
||||||
|
* @date 2024/6/5 10:50
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class QueryOssBo {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 目录id
|
||||||
|
*/
|
||||||
|
private Long catalogId;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,60 @@
|
||||||
|
package org.dromara.system.domain.bo;
|
||||||
|
|
||||||
|
import org.dromara.system.domain.SysCatalogPerson;
|
||||||
|
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_catalog_person
|
||||||
|
*
|
||||||
|
* @author cjw
|
||||||
|
* @date 2024-06-13
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
@AutoMapper(target = SysCatalogPerson.class, reverseConvertGenerate = false)
|
||||||
|
public class SysCatalogPersonBo extends BaseEntity {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 目录id
|
||||||
|
*/
|
||||||
|
@NotNull(message = "目录id不能为空", groups = { EditGroup.class })
|
||||||
|
private Long catalogId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户编号
|
||||||
|
*/
|
||||||
|
@NotNull(message = "用户编号不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||||
|
private Long userId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 父目录id
|
||||||
|
*/
|
||||||
|
@NotNull(message = "父目录id不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||||
|
private Long parentId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 祖级列表
|
||||||
|
*/
|
||||||
|
@NotBlank(message = "祖级列表不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||||
|
private String ancestors;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 目录名称
|
||||||
|
*/
|
||||||
|
@NotBlank(message = "目录名称不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||||
|
private String catalogName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 显示顺序
|
||||||
|
*/
|
||||||
|
@NotNull(message = "显示顺序不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||||
|
private Long orderNum;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,54 @@
|
||||||
|
package org.dromara.system.domain.bo;
|
||||||
|
|
||||||
|
import org.dromara.system.domain.SysOssPerson;
|
||||||
|
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_oss_person
|
||||||
|
*
|
||||||
|
* @author cjw
|
||||||
|
* @date 2024-06-13
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
@AutoMapper(target = SysOssPerson.class, reverseConvertGenerate = false)
|
||||||
|
public class SysOssPersonBo extends BaseEntity {
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@NotNull(message = "不能为空", groups = { EditGroup.class })
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@NotNull(message = "不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||||
|
private Long ossId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@NotNull(message = "不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||||
|
private Long catalogId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@NotBlank(message = "不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||||
|
private String fileName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@NotBlank(message = "不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||||
|
private String filePath;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,68 @@
|
||||||
|
package org.dromara.system.domain.vo;
|
||||||
|
|
||||||
|
import org.dromara.system.domain.SysCatalogPerson;
|
||||||
|
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_catalog_person
|
||||||
|
*
|
||||||
|
* @author cjw
|
||||||
|
* @date 2024-06-13
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@ExcelIgnoreUnannotated
|
||||||
|
@AutoMapper(target = SysCatalogPerson.class)
|
||||||
|
public class SysCatalogPersonVo implements Serializable {
|
||||||
|
|
||||||
|
@Serial
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 目录id
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "目录id")
|
||||||
|
private Long catalogId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户编号
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "用户编号")
|
||||||
|
private Long userId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 父目录id
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "父目录id")
|
||||||
|
private Long parentId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 祖级列表
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "祖级列表")
|
||||||
|
private String ancestors;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 目录名称
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "目录名称")
|
||||||
|
private String catalogName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 显示顺序
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "显示顺序")
|
||||||
|
private Long orderNum;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,62 @@
|
||||||
|
package org.dromara.system.domain.vo;
|
||||||
|
|
||||||
|
import org.dromara.system.domain.SysOssPerson;
|
||||||
|
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_oss_person
|
||||||
|
*
|
||||||
|
* @author cjw
|
||||||
|
* @date 2024-06-13
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@ExcelIgnoreUnannotated
|
||||||
|
@AutoMapper(target = SysOssPerson.class)
|
||||||
|
public class SysOssPersonVo implements Serializable {
|
||||||
|
|
||||||
|
@Serial
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "")
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "")
|
||||||
|
private Long ossId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "")
|
||||||
|
private Long catalogId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "")
|
||||||
|
private String fileName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "")
|
||||||
|
private String filePath;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
|
@ -22,7 +22,7 @@ public class SysOssResourceVo implements Serializable {
|
||||||
|
|
||||||
@Serial
|
@Serial
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
private Long id;
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
@ -33,5 +33,10 @@ public class SysOssResourceVo implements Serializable {
|
||||||
*/
|
*/
|
||||||
private Long catalogId;
|
private Long catalogId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 文件名
|
||||||
|
*/
|
||||||
|
private String fileName;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,15 @@
|
||||||
|
package org.dromara.system.mapper;
|
||||||
|
|
||||||
|
import org.dromara.system.domain.SysCatalogPerson;
|
||||||
|
import org.dromara.system.domain.vo.SysCatalogPersonVo;
|
||||||
|
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 目录-我的空间Mapper接口
|
||||||
|
*
|
||||||
|
* @author cjw
|
||||||
|
* @date 2024-06-13
|
||||||
|
*/
|
||||||
|
public interface SysCatalogPersonMapper extends BaseMapperPlus<SysCatalogPerson, SysCatalogPersonVo> {
|
||||||
|
|
||||||
|
}
|
|
@ -18,4 +18,6 @@ import org.dromara.system.domain.vo.SysCatalogTextbookVo;
|
||||||
public interface SysCatalogTextbookMapper extends BaseMapperPlus<SysCatalogTextbook, SysCatalogTextbookVo> {
|
public interface SysCatalogTextbookMapper extends BaseMapperPlus<SysCatalogTextbook, SysCatalogTextbookVo> {
|
||||||
|
|
||||||
Page<SysCatalogTextbookVo> selectPageUserList(@Param("page") Page<SysCatalogTextbook> page, @Param("catalogId") Long catalogId);
|
Page<SysCatalogTextbookVo> selectPageUserList(@Param("page") Page<SysCatalogTextbook> page, @Param("catalogId") Long catalogId);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,15 @@
|
||||||
|
package org.dromara.system.mapper;
|
||||||
|
|
||||||
|
import org.dromara.system.domain.SysOssPerson;
|
||||||
|
import org.dromara.system.domain.vo.SysOssPersonVo;
|
||||||
|
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 资源-我的空间Mapper接口
|
||||||
|
*
|
||||||
|
* @author cjw
|
||||||
|
* @date 2024-06-13
|
||||||
|
*/
|
||||||
|
public interface SysOssPersonMapper extends BaseMapperPlus<SysOssPerson, SysOssPersonVo> {
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,80 @@
|
||||||
|
package org.dromara.system.service;
|
||||||
|
|
||||||
|
import org.dromara.system.domain.bo.SysCatalogPersonBo;
|
||||||
|
import org.dromara.system.domain.vo.SysCatalogPersonVo;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 目录-我的空间Service接口
|
||||||
|
*
|
||||||
|
* @author cjw
|
||||||
|
* @date 2024-06-13
|
||||||
|
*/
|
||||||
|
public interface ISysCatalogPersonService {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询目录-我的空间
|
||||||
|
*
|
||||||
|
* @param catalogId 主键
|
||||||
|
* @return 目录-我的空间
|
||||||
|
*/
|
||||||
|
SysCatalogPersonVo queryById(Long catalogId);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询符合条件的目录-我的空间列表
|
||||||
|
*
|
||||||
|
* @param bo 查询条件
|
||||||
|
* @return 目录-我的空间列表
|
||||||
|
*/
|
||||||
|
List<SysCatalogPersonVo> queryList(SysCatalogPersonBo bo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增目录-我的空间
|
||||||
|
*
|
||||||
|
* @param bo 目录-我的空间
|
||||||
|
* @return 是否新增成功
|
||||||
|
*/
|
||||||
|
Boolean insertByBo(SysCatalogPersonBo bo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改目录-我的空间
|
||||||
|
*
|
||||||
|
* @param bo 目录-我的空间
|
||||||
|
* @return 是否修改成功
|
||||||
|
*/
|
||||||
|
Boolean updateByBo(SysCatalogPersonBo bo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 校验并批量删除目录-我的空间
|
||||||
|
*
|
||||||
|
* @param catalogId 待删除的主键
|
||||||
|
* @return 是否删除成功
|
||||||
|
*/
|
||||||
|
int deleteById(Long catalogId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 校验目录名称是否唯一
|
||||||
|
*
|
||||||
|
* @param resource 目录信息
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
boolean checkNameUnique(SysCatalogPersonBo resource);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否存在子节点
|
||||||
|
*
|
||||||
|
* @param catalogId 目录ID
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
boolean hasChildByCatalogId(Long catalogId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询目录是否存在文件
|
||||||
|
*
|
||||||
|
* @param catalogId 部门ID
|
||||||
|
* @return 结果 true 存在 false 不存在
|
||||||
|
*/
|
||||||
|
boolean checkCatalogExistFile(Long catalogId);
|
||||||
|
}
|
|
@ -88,4 +88,20 @@ public interface ISysCatalogTextbookService {
|
||||||
* @return 结果 true 存在 false 不存在
|
* @return 结果 true 存在 false 不存在
|
||||||
*/
|
*/
|
||||||
boolean checkCatalogExistFile(Long catalogId);
|
boolean checkCatalogExistFile(Long catalogId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据ID查询信息
|
||||||
|
*
|
||||||
|
* @param catalogId 目录ID
|
||||||
|
* @return 目录信息
|
||||||
|
*/
|
||||||
|
SysCatalogTextbookVo selectCatalogById(Long catalogId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通过ID查询目录名称(包含自身)
|
||||||
|
*
|
||||||
|
* @param catalogId ID
|
||||||
|
* @return 目录名称串/分隔
|
||||||
|
*/
|
||||||
|
String selectCatalogNameById(Long catalogId);
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,68 @@
|
||||||
|
package org.dromara.system.service;
|
||||||
|
|
||||||
|
import org.dromara.system.domain.vo.SysOssPersonVo;
|
||||||
|
import org.dromara.system.domain.bo.SysOssPersonBo;
|
||||||
|
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 cjw
|
||||||
|
* @date 2024-06-13
|
||||||
|
*/
|
||||||
|
public interface ISysOssPersonService {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询资源-我的空间
|
||||||
|
*
|
||||||
|
* @param id 主键
|
||||||
|
* @return 资源-我的空间
|
||||||
|
*/
|
||||||
|
SysOssPersonVo queryById(Long id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分页查询资源-我的空间列表
|
||||||
|
*
|
||||||
|
* @param bo 查询条件
|
||||||
|
* @param pageQuery 分页参数
|
||||||
|
* @return 资源-我的空间分页列表
|
||||||
|
*/
|
||||||
|
TableDataInfo<SysOssPersonVo> queryPageList(SysOssPersonBo bo, PageQuery pageQuery);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询符合条件的资源-我的空间列表
|
||||||
|
*
|
||||||
|
* @param bo 查询条件
|
||||||
|
* @return 资源-我的空间列表
|
||||||
|
*/
|
||||||
|
List<SysOssPersonVo> queryList(SysOssPersonBo bo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增资源-我的空间
|
||||||
|
*
|
||||||
|
* @param bo 资源-我的空间
|
||||||
|
* @return 是否新增成功
|
||||||
|
*/
|
||||||
|
Boolean insertByBo(SysOssPersonBo bo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改资源-我的空间
|
||||||
|
*
|
||||||
|
* @param bo 资源-我的空间
|
||||||
|
* @return 是否修改成功
|
||||||
|
*/
|
||||||
|
Boolean updateByBo(SysOssPersonBo bo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 校验并批量删除资源-我的空间信息
|
||||||
|
*
|
||||||
|
* @param ids 待删除的主键集合
|
||||||
|
* @param isValid 是否进行有效性校验
|
||||||
|
* @return 是否删除成功
|
||||||
|
*/
|
||||||
|
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||||
|
}
|
|
@ -0,0 +1,173 @@
|
||||||
|
package org.dromara.system.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.collection.CollUtil;
|
||||||
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.dromara.common.core.constant.CacheNames;
|
||||||
|
import org.dromara.common.core.utils.MapstructUtils;
|
||||||
|
import org.dromara.common.core.utils.StringUtils;
|
||||||
|
import org.dromara.common.mybatis.helper.DataBaseHelper;
|
||||||
|
import org.dromara.common.redis.utils.CacheUtils;
|
||||||
|
import org.dromara.system.domain.SysCatalogPerson;
|
||||||
|
import org.dromara.system.domain.SysOssPerson;
|
||||||
|
import org.dromara.system.domain.bo.SysCatalogPersonBo;
|
||||||
|
import org.dromara.system.domain.vo.SysCatalogPersonVo;
|
||||||
|
import org.dromara.system.mapper.SysCatalogPersonMapper;
|
||||||
|
import org.dromara.system.mapper.SysOssPersonMapper;
|
||||||
|
import org.dromara.system.service.ISysCatalogPersonService;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 目录-我的空间Service业务层处理
|
||||||
|
*
|
||||||
|
* @author cjw
|
||||||
|
* @date 2024-06-13
|
||||||
|
*/
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
@Service
|
||||||
|
public class SysCatalogPersonServiceImpl implements ISysCatalogPersonService {
|
||||||
|
|
||||||
|
private final SysCatalogPersonMapper baseMapper;
|
||||||
|
|
||||||
|
private final SysOssPersonMapper ossPersonMapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询目录-我的空间
|
||||||
|
*
|
||||||
|
* @param catalogId 主键
|
||||||
|
* @return 目录-我的空间
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public SysCatalogPersonVo queryById(Long catalogId){
|
||||||
|
return baseMapper.selectVoById(catalogId);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询符合条件的目录-我的空间列表
|
||||||
|
*
|
||||||
|
* @param bo 查询条件
|
||||||
|
* @return 目录-我的空间列表
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<SysCatalogPersonVo> queryList(SysCatalogPersonBo bo) {
|
||||||
|
LambdaQueryWrapper<SysCatalogPerson> lqw = buildQueryWrapper(bo);
|
||||||
|
return baseMapper.selectVoList(lqw);
|
||||||
|
}
|
||||||
|
|
||||||
|
private LambdaQueryWrapper<SysCatalogPerson> buildQueryWrapper(SysCatalogPersonBo bo) {
|
||||||
|
Map<String, Object> params = bo.getParams();
|
||||||
|
LambdaQueryWrapper<SysCatalogPerson> lqw = Wrappers.lambdaQuery();
|
||||||
|
lqw.eq(bo.getUserId() != null, SysCatalogPerson::getUserId, bo.getUserId());
|
||||||
|
lqw.eq(bo.getParentId() != null, SysCatalogPerson::getParentId, bo.getParentId());
|
||||||
|
lqw.eq(StringUtils.isNotBlank(bo.getAncestors()), SysCatalogPerson::getAncestors, bo.getAncestors());
|
||||||
|
lqw.like(StringUtils.isNotBlank(bo.getCatalogName()), SysCatalogPerson::getCatalogName, bo.getCatalogName());
|
||||||
|
lqw.eq(bo.getOrderNum() != null, SysCatalogPerson::getOrderNum, bo.getOrderNum());
|
||||||
|
return lqw;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增目录-我的空间
|
||||||
|
*
|
||||||
|
* @param bo 目录-我的空间
|
||||||
|
* @return 是否新增成功
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Boolean insertByBo(SysCatalogPersonBo bo) {
|
||||||
|
SysCatalogPerson info = baseMapper.selectById(bo.getParentId());
|
||||||
|
SysCatalogPerson add = MapstructUtils.convert(bo, SysCatalogPerson.class);
|
||||||
|
add.setAncestors(info.getAncestors() + StringUtils.SEPARATOR + add.getParentId());
|
||||||
|
return baseMapper.insert(add) > 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改目录-我的空间
|
||||||
|
*
|
||||||
|
* @param bo 目录-我的空间
|
||||||
|
* @return 是否修改成功
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Boolean updateByBo(SysCatalogPersonBo bo) {
|
||||||
|
SysCatalogPerson update = MapstructUtils.convert(bo, SysCatalogPerson.class);
|
||||||
|
SysCatalogPerson old = baseMapper.selectById(update.getCatalogId());
|
||||||
|
if (!old.getParentId().equals(update.getParentId())) {
|
||||||
|
SysCatalogPerson newParentDept = baseMapper.selectById(update.getParentId());
|
||||||
|
if (ObjectUtil.isNotNull(newParentDept) && ObjectUtil.isNotNull(old)) {
|
||||||
|
String newAncestors = newParentDept.getAncestors() + StringUtils.SEPARATOR + newParentDept.getCatalogId();
|
||||||
|
String oldAncestors = old.getAncestors();
|
||||||
|
update.setAncestors(newAncestors);
|
||||||
|
updateDeptChildren(update.getCatalogId(), newAncestors, oldAncestors);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return baseMapper.updateById(update) > 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 保存前的数据校验
|
||||||
|
*/
|
||||||
|
private void validEntityBeforeSave(SysCatalogPerson entity){
|
||||||
|
//TODO 做一些数据校验,如唯一约束
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 校验并批量删除目录-我的空间
|
||||||
|
*
|
||||||
|
* @param catalogId 待删除的主键
|
||||||
|
* @return 是否删除成功
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public int deleteById(Long catalogId) {
|
||||||
|
return baseMapper.deleteById(catalogId);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean checkNameUnique(SysCatalogPersonBo resource) {
|
||||||
|
boolean exist = baseMapper.exists(new LambdaQueryWrapper<SysCatalogPerson>()
|
||||||
|
.eq(SysCatalogPerson::getCatalogName, resource.getCatalogName())
|
||||||
|
.eq(SysCatalogPerson::getParentId, resource.getParentId())
|
||||||
|
.ne(ObjectUtil.isNotNull(resource.getCatalogId()), SysCatalogPerson::getCatalogId, resource.getCatalogId()));
|
||||||
|
return !exist;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean hasChildByCatalogId(Long catalogId) {
|
||||||
|
return baseMapper.exists(new LambdaQueryWrapper<SysCatalogPerson>()
|
||||||
|
.eq(SysCatalogPerson::getParentId, catalogId));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean checkCatalogExistFile(Long catalogId) {
|
||||||
|
return ossPersonMapper.exists(new LambdaQueryWrapper<SysOssPerson>()
|
||||||
|
.eq(SysOssPerson::getCatalogId, catalogId));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改子元素关系
|
||||||
|
*
|
||||||
|
* @param catalogId 被修改的目录ID
|
||||||
|
* @param newAncestors 新的父ID集合
|
||||||
|
* @param oldAncestors 旧的父ID集合
|
||||||
|
*/
|
||||||
|
private void updateDeptChildren(Long catalogId, String newAncestors, String oldAncestors) {
|
||||||
|
List<SysCatalogPerson> children = baseMapper.selectList(new LambdaQueryWrapper<SysCatalogPerson>()
|
||||||
|
.apply(DataBaseHelper.findInSet(catalogId, "ancestors")));
|
||||||
|
List<SysCatalogPerson> list = new ArrayList<>();
|
||||||
|
for (SysCatalogPerson child : children) {
|
||||||
|
SysCatalogPerson resource = new SysCatalogPerson();
|
||||||
|
resource.setCatalogId(child.getCatalogId());
|
||||||
|
resource.setAncestors(child.getAncestors().replaceFirst(oldAncestors, newAncestors));
|
||||||
|
list.add(resource);
|
||||||
|
}
|
||||||
|
if (CollUtil.isNotEmpty(list)) {
|
||||||
|
if (baseMapper.updateBatchById(list)) {
|
||||||
|
list.forEach(resource -> CacheUtils.evict(CacheNames.SYS_CATALOG_RESOURCE, resource.getCatalogId()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -89,14 +89,10 @@ public class SysCatalogResourceServiceImpl implements ISysCatalogResourceService
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public Boolean insertByBo(SysCatalogResourceBo bo) {
|
public Boolean insertByBo(SysCatalogResourceBo bo) {
|
||||||
|
SysCatalogResource info = baseMapper.selectById(bo.getParentId());
|
||||||
SysCatalogResource add = MapstructUtils.convert(bo, SysCatalogResource.class);
|
SysCatalogResource add = MapstructUtils.convert(bo, SysCatalogResource.class);
|
||||||
validEntityBeforeSave(add);
|
add.setAncestors(info.getAncestors() + StringUtils.SEPARATOR + add.getParentId());
|
||||||
add.setAncestors(bo.getAncestors() + StringUtils.SEPARATOR + add.getParentId());
|
return baseMapper.insert(add) > 0;
|
||||||
boolean flag = baseMapper.insert(add) > 0;
|
|
||||||
if (flag) {
|
|
||||||
bo.setCatalogId(add.getCatalogId());
|
|
||||||
}
|
|
||||||
return flag;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
package org.dromara.system.service.impl;
|
package org.dromara.system.service.impl;
|
||||||
|
|
||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
|
import cn.hutool.core.convert.Convert;
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
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;
|
||||||
|
@ -8,6 +9,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.dromara.common.core.constant.CacheNames;
|
import org.dromara.common.core.constant.CacheNames;
|
||||||
import org.dromara.common.core.utils.MapstructUtils;
|
import org.dromara.common.core.utils.MapstructUtils;
|
||||||
|
import org.dromara.common.core.utils.SpringUtils;
|
||||||
import org.dromara.common.core.utils.StringUtils;
|
import org.dromara.common.core.utils.StringUtils;
|
||||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||||
|
@ -20,6 +22,7 @@ import org.dromara.system.domain.vo.SysCatalogTextbookVo;
|
||||||
import org.dromara.system.mapper.SysCatalogTextbookMapper;
|
import org.dromara.system.mapper.SysCatalogTextbookMapper;
|
||||||
import org.dromara.system.mapper.SysOssTextbookMapper;
|
import org.dromara.system.mapper.SysOssTextbookMapper;
|
||||||
import org.dromara.system.service.ISysCatalogTextbookService;
|
import org.dromara.system.service.ISysCatalogTextbookService;
|
||||||
|
import org.springframework.cache.annotation.Cacheable;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
@ -89,16 +92,12 @@ public class SysCatalogTextbookServiceImpl implements ISysCatalogTextbookService
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public Boolean insertByBo(SysCatalogTextbookBo bo) {
|
public Boolean insertByBo(SysCatalogTextbookBo bo) {
|
||||||
|
SysCatalogTextbook info = baseMapper.selectById(bo.getParentId());
|
||||||
SysCatalogTextbook add = MapstructUtils.convert(bo, SysCatalogTextbook.class);
|
SysCatalogTextbook add = MapstructUtils.convert(bo, SysCatalogTextbook.class);
|
||||||
validEntityBeforeSave(add);
|
add.setAncestors(info.getAncestors() + StringUtils.SEPARATOR + add.getParentId());
|
||||||
add.setAncestors(bo.getAncestors() + StringUtils.SEPARATOR + add.getParentId());
|
|
||||||
String[] split = StringUtils.split(add.getAncestors(), StringUtils.SEPARATOR);
|
String[] split = StringUtils.split(add.getAncestors(), StringUtils.SEPARATOR);
|
||||||
add.setType(split.length);
|
add.setType(split.length);
|
||||||
boolean flag = baseMapper.insert(add) > 0;
|
return baseMapper.insert(add) > 0;
|
||||||
if (flag) {
|
|
||||||
bo.setCatalogId(add.getCatalogId());
|
|
||||||
}
|
|
||||||
return flag;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -117,7 +116,7 @@ public class SysCatalogTextbookServiceImpl implements ISysCatalogTextbookService
|
||||||
String newAncestors = newParentDept.getAncestors() + StringUtils.SEPARATOR + newParentDept.getCatalogId();
|
String newAncestors = newParentDept.getAncestors() + StringUtils.SEPARATOR + newParentDept.getCatalogId();
|
||||||
String oldAncestors = old.getAncestors();
|
String oldAncestors = old.getAncestors();
|
||||||
update.setAncestors(newAncestors);
|
update.setAncestors(newAncestors);
|
||||||
updateDeptChildren(update.getCatalogId(), newAncestors, oldAncestors);
|
updateCatalogChildren(update.getCatalogId(), newAncestors, oldAncestors);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return baseMapper.updateById(update) > 0;
|
return baseMapper.updateById(update) > 0;
|
||||||
|
@ -162,6 +161,32 @@ public class SysCatalogTextbookServiceImpl implements ISysCatalogTextbookService
|
||||||
.eq(SysOssTextbook::getCatalogId, catalogId));
|
.eq(SysOssTextbook::getCatalogId, catalogId));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Cacheable(cacheNames = CacheNames.SYS_CATALOG_TEXTBOOK, key = "#catalogId")
|
||||||
|
@Override
|
||||||
|
public SysCatalogTextbookVo selectCatalogById(Long catalogId) {
|
||||||
|
return baseMapper.selectVoById(catalogId);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通过ID查询目录名称(包含自身)
|
||||||
|
*
|
||||||
|
* @param catalogId ID
|
||||||
|
* @return 目录名称串/分隔
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public String selectCatalogNameById(Long catalogId) {
|
||||||
|
List<String> list = new ArrayList<>();
|
||||||
|
SysCatalogTextbookVo vo = SpringUtils.getAopProxy(this).selectCatalogById(catalogId);
|
||||||
|
for (Long id : StringUtils.splitTo(vo.getAncestors(), Convert::toLong)) {
|
||||||
|
SysCatalogTextbookVo parentVo = SpringUtils.getAopProxy(this).selectCatalogById(id);
|
||||||
|
if (ObjectUtil.isNotNull(parentVo)) {
|
||||||
|
list.add(parentVo.getCatalogName());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
list.add(vo.getCatalogName());
|
||||||
|
return String.join(StringUtils.SLASH, list);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 修改子元素关系
|
* 修改子元素关系
|
||||||
*
|
*
|
||||||
|
@ -169,7 +194,7 @@ public class SysCatalogTextbookServiceImpl implements ISysCatalogTextbookService
|
||||||
* @param newAncestors 新的父ID集合
|
* @param newAncestors 新的父ID集合
|
||||||
* @param oldAncestors 旧的父ID集合
|
* @param oldAncestors 旧的父ID集合
|
||||||
*/
|
*/
|
||||||
private void updateDeptChildren(Long catalogId, String newAncestors, String oldAncestors) {
|
private void updateCatalogChildren(Long catalogId, String newAncestors, String oldAncestors) {
|
||||||
List<SysCatalogTextbook> children = baseMapper.selectList(new LambdaQueryWrapper<SysCatalogTextbook>()
|
List<SysCatalogTextbook> children = baseMapper.selectList(new LambdaQueryWrapper<SysCatalogTextbook>()
|
||||||
.apply(DataBaseHelper.findInSet(catalogId, "ancestors")));
|
.apply(DataBaseHelper.findInSet(catalogId, "ancestors")));
|
||||||
List<SysCatalogTextbook> list = new ArrayList<>();
|
List<SysCatalogTextbook> list = new ArrayList<>();
|
||||||
|
|
|
@ -0,0 +1,132 @@
|
||||||
|
package org.dromara.system.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.system.domain.bo.SysOssPersonBo;
|
||||||
|
import org.dromara.system.domain.vo.SysOssPersonVo;
|
||||||
|
import org.dromara.system.domain.SysOssPerson;
|
||||||
|
import org.dromara.system.mapper.SysOssPersonMapper;
|
||||||
|
import org.dromara.system.service.ISysOssPersonService;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Collection;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 资源-我的空间Service业务层处理
|
||||||
|
*
|
||||||
|
* @author cjw
|
||||||
|
* @date 2024-06-13
|
||||||
|
*/
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
@Service
|
||||||
|
public class SysOssPersonServiceImpl implements ISysOssPersonService {
|
||||||
|
|
||||||
|
private final SysOssPersonMapper baseMapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询资源-我的空间
|
||||||
|
*
|
||||||
|
* @param id 主键
|
||||||
|
* @return 资源-我的空间
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public SysOssPersonVo queryById(Long id){
|
||||||
|
return baseMapper.selectVoById(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分页查询资源-我的空间列表
|
||||||
|
*
|
||||||
|
* @param bo 查询条件
|
||||||
|
* @param pageQuery 分页参数
|
||||||
|
* @return 资源-我的空间分页列表
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public TableDataInfo<SysOssPersonVo> queryPageList(SysOssPersonBo bo, PageQuery pageQuery) {
|
||||||
|
LambdaQueryWrapper<SysOssPerson> lqw = buildQueryWrapper(bo);
|
||||||
|
Page<SysOssPersonVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||||
|
return TableDataInfo.build(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询符合条件的资源-我的空间列表
|
||||||
|
*
|
||||||
|
* @param bo 查询条件
|
||||||
|
* @return 资源-我的空间列表
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<SysOssPersonVo> queryList(SysOssPersonBo bo) {
|
||||||
|
LambdaQueryWrapper<SysOssPerson> lqw = buildQueryWrapper(bo);
|
||||||
|
return baseMapper.selectVoList(lqw);
|
||||||
|
}
|
||||||
|
|
||||||
|
private LambdaQueryWrapper<SysOssPerson> buildQueryWrapper(SysOssPersonBo bo) {
|
||||||
|
Map<String, Object> params = bo.getParams();
|
||||||
|
LambdaQueryWrapper<SysOssPerson> lqw = Wrappers.lambdaQuery();
|
||||||
|
lqw.eq(bo.getOssId() != null, SysOssPerson::getOssId, bo.getOssId());
|
||||||
|
lqw.eq(bo.getCatalogId() != null, SysOssPerson::getCatalogId, bo.getCatalogId());
|
||||||
|
lqw.like(StringUtils.isNotBlank(bo.getFileName()), SysOssPerson::getFileName, bo.getFileName());
|
||||||
|
lqw.eq(StringUtils.isNotBlank(bo.getFilePath()), SysOssPerson::getFilePath, bo.getFilePath());
|
||||||
|
return lqw;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增资源-我的空间
|
||||||
|
*
|
||||||
|
* @param bo 资源-我的空间
|
||||||
|
* @return 是否新增成功
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Boolean insertByBo(SysOssPersonBo bo) {
|
||||||
|
SysOssPerson add = MapstructUtils.convert(bo, SysOssPerson.class);
|
||||||
|
validEntityBeforeSave(add);
|
||||||
|
boolean flag = baseMapper.insert(add) > 0;
|
||||||
|
if (flag) {
|
||||||
|
bo.setId(add.getId());
|
||||||
|
}
|
||||||
|
return flag;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改资源-我的空间
|
||||||
|
*
|
||||||
|
* @param bo 资源-我的空间
|
||||||
|
* @return 是否修改成功
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Boolean updateByBo(SysOssPersonBo bo) {
|
||||||
|
SysOssPerson update = MapstructUtils.convert(bo, SysOssPerson.class);
|
||||||
|
validEntityBeforeSave(update);
|
||||||
|
return baseMapper.updateById(update) > 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 保存前的数据校验
|
||||||
|
*/
|
||||||
|
private void validEntityBeforeSave(SysOssPerson entity){
|
||||||
|
//TODO 做一些数据校验,如唯一约束
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 校验并批量删除资源-我的空间信息
|
||||||
|
*
|
||||||
|
* @param ids 待删除的主键集合
|
||||||
|
* @param isValid 是否进行有效性校验
|
||||||
|
* @return 是否删除成功
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||||
|
if(isValid){
|
||||||
|
//TODO 做一些业务上的校验,判断是否需要校验
|
||||||
|
}
|
||||||
|
return baseMapper.deleteBatchIds(ids) > 0;
|
||||||
|
}
|
||||||
|
}
|
|
@ -9,12 +9,14 @@ import org.dromara.common.core.exception.ServiceException;
|
||||||
import org.dromara.common.core.utils.MapstructUtils;
|
import org.dromara.common.core.utils.MapstructUtils;
|
||||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||||
|
import org.dromara.system.domain.SysCatalogResource;
|
||||||
import org.dromara.system.domain.SysOssResource;
|
import org.dromara.system.domain.SysOssResource;
|
||||||
import org.dromara.system.domain.bo.SysOssResourceBo;
|
import org.dromara.system.domain.bo.SysOssResourceBo;
|
||||||
import org.dromara.system.domain.vo.SysOssResourceVo;
|
import org.dromara.system.domain.vo.SysOssResourceVo;
|
||||||
|
import org.dromara.system.domain.vo.SysOssVo;
|
||||||
|
import org.dromara.system.mapper.SysCatalogResourceMapper;
|
||||||
import org.dromara.system.mapper.SysOssResourceMapper;
|
import org.dromara.system.mapper.SysOssResourceMapper;
|
||||||
import org.dromara.system.service.ISysOssResourceService;
|
import org.dromara.system.service.ISysOssResourceService;
|
||||||
import org.dromara.system.domain.vo.SysOssVo;
|
|
||||||
import org.dromara.system.service.ISysOssService;
|
import org.dromara.system.service.ISysOssService;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
@ -34,6 +36,8 @@ public class SysOssResourceServiceImpl implements ISysOssResourceService {
|
||||||
|
|
||||||
private final SysOssResourceMapper baseMapper;
|
private final SysOssResourceMapper baseMapper;
|
||||||
|
|
||||||
|
private final SysCatalogResourceMapper catalogMapper;
|
||||||
|
|
||||||
private final ISysOssService ossService;
|
private final ISysOssService ossService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -118,10 +122,11 @@ public class SysOssResourceServiceImpl implements ISysOssResourceService {
|
||||||
if (ObjectUtil.isNull(ossVo)) {
|
if (ObjectUtil.isNull(ossVo)) {
|
||||||
throw new ServiceException("资源文件不存在");
|
throw new ServiceException("资源文件不存在");
|
||||||
}
|
}
|
||||||
SysOssResource ossResource = baseMapper.selectById(entity.getCatalogId());
|
SysCatalogResource ossResource = catalogMapper.selectById(entity.getCatalogId());
|
||||||
if (ObjectUtil.isNull(ossResource)) {
|
if (ObjectUtil.isNull(ossResource)) {
|
||||||
throw new ServiceException("资源目录不存在");
|
throw new ServiceException("资源目录不存在");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -222,6 +222,7 @@ public class SysOssServiceImpl implements ISysOssService, OssService {
|
||||||
md5 = DigestUtils.md5Hex(fileInputStream);
|
md5 = DigestUtils.md5Hex(fileInputStream);
|
||||||
SysOssVo byMd5 = this.getByMd5(md5);
|
SysOssVo byMd5 = this.getByMd5(md5);
|
||||||
if (ObjectUtil.isNotNull(byMd5)) {
|
if (ObjectUtil.isNotNull(byMd5)) {
|
||||||
|
byMd5.setOriginalName(originalfileName);
|
||||||
return byMd5;
|
return byMd5;
|
||||||
}
|
}
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
|
@ -291,6 +292,5 @@ public class SysOssServiceImpl implements ISysOssService, OssService {
|
||||||
@Override
|
@Override
|
||||||
public SysOssVo getByMd5(String md5) {
|
public SysOssVo getByMd5(String md5) {
|
||||||
return baseMapper.selectVoOne(new LambdaQueryWrapper<SysOss>().eq(SysOss::getFileMd5, md5));
|
return baseMapper.selectVoOne(new LambdaQueryWrapper<SysOss>().eq(SysOss::getFileMd5, md5));
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,11 +11,13 @@ import org.dromara.common.mybatis.core.page.PageQuery;
|
||||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||||
import org.dromara.system.domain.SysOssTextbook;
|
import org.dromara.system.domain.SysOssTextbook;
|
||||||
import org.dromara.system.domain.bo.SysOssTextbookBo;
|
import org.dromara.system.domain.bo.SysOssTextbookBo;
|
||||||
|
import org.dromara.system.domain.vo.SysCatalogTextbookVo;
|
||||||
import org.dromara.system.domain.vo.SysOssTextbookVo;
|
import org.dromara.system.domain.vo.SysOssTextbookVo;
|
||||||
import org.dromara.system.mapper.SysOssTextbookMapper;
|
|
||||||
import org.dromara.system.service.ISysOssTextbookService;
|
|
||||||
import org.dromara.system.domain.vo.SysOssVo;
|
import org.dromara.system.domain.vo.SysOssVo;
|
||||||
|
import org.dromara.system.mapper.SysOssTextbookMapper;
|
||||||
|
import org.dromara.system.service.ISysCatalogTextbookService;
|
||||||
import org.dromara.system.service.ISysOssService;
|
import org.dromara.system.service.ISysOssService;
|
||||||
|
import org.dromara.system.service.ISysOssTextbookService;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
|
@ -34,6 +36,8 @@ public class SysOssTextbookServiceImpl implements ISysOssTextbookService {
|
||||||
|
|
||||||
private final SysOssTextbookMapper baseMapper;
|
private final SysOssTextbookMapper baseMapper;
|
||||||
|
|
||||||
|
private final ISysCatalogTextbookService catalogService;
|
||||||
|
|
||||||
private final ISysOssService ossService;
|
private final ISysOssService ossService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -43,7 +47,7 @@ public class SysOssTextbookServiceImpl implements ISysOssTextbookService {
|
||||||
* @return 【请填写功能名称】
|
* @return 【请填写功能名称】
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public SysOssTextbookVo queryById(Long ossId){
|
public SysOssTextbookVo queryById(Long ossId) {
|
||||||
return baseMapper.selectVoById(ossId);
|
return baseMapper.selectVoById(ossId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -89,6 +93,8 @@ public class SysOssTextbookServiceImpl implements ISysOssTextbookService {
|
||||||
@Override
|
@Override
|
||||||
public Boolean insertByBo(SysOssTextbookBo bo) {
|
public Boolean insertByBo(SysOssTextbookBo bo) {
|
||||||
SysOssTextbook add = MapstructUtils.convert(bo, SysOssTextbook.class);
|
SysOssTextbook add = MapstructUtils.convert(bo, SysOssTextbook.class);
|
||||||
|
String path = catalogService.selectCatalogNameById(add.getCatalogId());
|
||||||
|
add.setFilePath(path);
|
||||||
validEntityBeforeSave(add);
|
validEntityBeforeSave(add);
|
||||||
boolean flag = baseMapper.insert(add) > 0;
|
boolean flag = baseMapper.insert(add) > 0;
|
||||||
if (flag) {
|
if (flag) {
|
||||||
|
@ -113,12 +119,12 @@ public class SysOssTextbookServiceImpl implements ISysOssTextbookService {
|
||||||
/**
|
/**
|
||||||
* 保存前的数据校验
|
* 保存前的数据校验
|
||||||
*/
|
*/
|
||||||
private void validEntityBeforeSave(SysOssTextbook entity){
|
private void validEntityBeforeSave(SysOssTextbook entity) {
|
||||||
SysOssVo ossVo = ossService.getById(entity.getOssId());
|
SysOssVo ossVo = ossService.getById(entity.getOssId());
|
||||||
if (ObjectUtil.isNull(ossVo)) {
|
if (ObjectUtil.isNull(ossVo)) {
|
||||||
throw new ServiceException("教材文件不存在");
|
throw new ServiceException("教材文件不存在");
|
||||||
}
|
}
|
||||||
SysOssTextbook ossTextbook = baseMapper.selectById(entity.getCatalogId());
|
SysCatalogTextbookVo ossTextbook = catalogService.selectCatalogById(entity.getCatalogId());
|
||||||
if (ObjectUtil.isNull(ossTextbook)) {
|
if (ObjectUtil.isNull(ossTextbook)) {
|
||||||
throw new ServiceException("教材目录不存在");
|
throw new ServiceException("教材目录不存在");
|
||||||
}
|
}
|
||||||
|
@ -133,7 +139,7 @@ public class SysOssTextbookServiceImpl implements ISysOssTextbookService {
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||||
if(isValid){
|
if (isValid) {
|
||||||
//TODO 做一些业务上的校验,判断是否需要校验
|
//TODO 做一些业务上的校验,判断是否需要校验
|
||||||
}
|
}
|
||||||
return baseMapper.deleteBatchIds(ids) > 0;
|
return baseMapper.deleteBatchIds(ids) > 0;
|
||||||
|
|
|
@ -0,0 +1,7 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
<!DOCTYPE mapper
|
||||||
|
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="org.dromara.system.mapper.SysCatalogPersonMapper">
|
||||||
|
|
||||||
|
</mapper>
|
|
@ -0,0 +1,7 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
<!DOCTYPE mapper
|
||||||
|
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="org.dromara.system.mapper.SysOssPersonMapper">
|
||||||
|
|
||||||
|
</mapper>
|
Loading…
Reference in New Issue