资源上传同级目录校验;我的空间相关接口;

This commit is contained in:
cjw 2024-06-18 16:38:35 +08:00
parent 245350d233
commit 506a7a2dc8
17 changed files with 168 additions and 50 deletions

View File

@ -143,6 +143,7 @@ tenant:
- sys_oss_config - sys_oss_config
- sys_oss_resource - sys_oss_resource
- sys_oss_textbook - sys_oss_textbook
- sys_oss_person
# MyBatisPlus配置 # MyBatisPlus配置
# https://baomidou.com/config/ # https://baomidou.com/config/

View File

@ -78,5 +78,6 @@ public interface CacheNames {
String SYS_CATALOG_TEXTBOOK = "sys_catalog_textbook#30d"; String SYS_CATALOG_TEXTBOOK = "sys_catalog_textbook#30d";
String SYS_CATALOG_RESOURCE = "sys_catalog_resource#30d"; String SYS_CATALOG_RESOURCE = "sys_catalog_resource#30d";
String SYS_CATALOG_PERSON = "sys_catalog_person#30d";
} }

View File

@ -76,6 +76,9 @@ public class SysCatalogTextbookController extends BaseController {
@RepeatSubmit() @RepeatSubmit()
@PostMapping() @PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody SysCatalogTextbookBo bo) { public R<Void> add(@Validated(AddGroup.class) @RequestBody SysCatalogTextbookBo bo) {
if (!textbookService.checkNameUnique(bo)) {
return R.fail("新增'" + bo.getCatalogName() + "'失败,名称已存在");
}
return toAjax(textbookService.insertByBo(bo)); return toAjax(textbookService.insertByBo(bo));
} }
@ -87,6 +90,12 @@ public class SysCatalogTextbookController extends BaseController {
@RepeatSubmit() @RepeatSubmit()
@PutMapping() @PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody SysCatalogTextbookBo bo) { public R<Void> edit(@Validated(EditGroup.class) @RequestBody SysCatalogTextbookBo bo) {
Long catalogId = bo.getCatalogId();
if (!textbookService.checkNameUnique(bo)) {
return R.fail("修改'" + bo.getCatalogName() + "'失败,名称已存在");
} else if (bo.getParentId().equals(catalogId)) {
return R.fail("修改'" + bo.getCatalogName() + "'失败,上级不能是自己");
}
return toAjax(textbookService.updateByBo(bo)); return toAjax(textbookService.updateByBo(bo));
} }
@ -100,6 +109,12 @@ public class SysCatalogTextbookController extends BaseController {
@DeleteMapping("/{catalogId}") @DeleteMapping("/{catalogId}")
public R<Void> remove(@NotEmpty(message = "主键不能为空") public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long catalogId) { @PathVariable Long catalogId) {
if (textbookService.hasChildByCatalogId(catalogId)) {
return R.warn("存在下级,不允许删除");
}
if (textbookService.checkCatalogExistFile(catalogId)) {
return R.warn("存在文件,不允许删除");
}
return toAjax(textbookService.deleteById(catalogId)); return toAjax(textbookService.deleteById(catalogId));
} }
} }

View File

@ -40,8 +40,8 @@ public class SysOssPersonController extends BaseController {
/** /**
* 查询资源-我的空间列表 * 查询资源-我的空间列表
*/ */
@SaCheckPermission("oss:person:list") @SaCheckPermission("oss:person:pageList")
@GetMapping("/list") @GetMapping("/pageList")
public TableDataInfo<SysOssPersonVo> list(SysOssPersonBo bo, PageQuery pageQuery) { public TableDataInfo<SysOssPersonVo> list(SysOssPersonBo bo, PageQuery pageQuery) {
return sysOssPersonService.queryPageList(bo, pageQuery); return sysOssPersonService.queryPageList(bo, pageQuery);
} }

View File

@ -28,11 +28,6 @@ public class SysCatalogPerson extends TenantEntity {
@TableId(value = "catalog_id") @TableId(value = "catalog_id")
private Long catalogId; private Long catalogId;
/**
* 用户编号
*/
private Long userId;
/** /**
* 父目录id * 父目录id
*/ */

View File

@ -26,12 +26,6 @@ public class SysCatalogPersonBo extends BaseEntity {
@NotNull(message = "目录id不能为空", groups = { EditGroup.class }) @NotNull(message = "目录id不能为空", groups = { EditGroup.class })
private Long catalogId; private Long catalogId;
/**
* 用户编号
*/
@NotNull(message = "用户编号不能为空", groups = { AddGroup.class, EditGroup.class })
private Long userId;
/** /**
* 父目录id * 父目录id
*/ */

View File

@ -1,8 +1,13 @@
package org.dromara.system.mapper; package org.dromara.system.mapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
import org.dromara.system.domain.SysOssPerson; import org.dromara.system.domain.SysOssPerson;
import org.dromara.system.domain.vo.SysOssPersonVo; import org.dromara.system.domain.vo.SysOssPersonVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/** /**
* 资源-我的空间Mapper接口 * 资源-我的空间Mapper接口
@ -10,6 +15,10 @@ import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
* @author cjw * @author cjw
* @date 2024-06-13 * @date 2024-06-13
*/ */
@Mapper
public interface SysOssPersonMapper extends BaseMapperPlus<SysOssPerson, SysOssPersonVo> { public interface SysOssPersonMapper extends BaseMapperPlus<SysOssPerson, SysOssPersonVo> {
Page<SysOssPersonVo> selectPageList(@Param("page") Page<SysOssPerson> page,
@Param(Constants.WRAPPER) Wrapper<SysOssPerson> queryWrapper);
} }

View File

@ -25,7 +25,7 @@ public interface SysOssResourceMapper extends BaseMapperPlus<SysOssResource, Sys
@Param(Constants.WRAPPER) Wrapper<SysOssResource> queryWrapper); @Param(Constants.WRAPPER) Wrapper<SysOssResource> queryWrapper);
@DataPermission({ @DataPermission({
@DataColumn(key = "userName", value = "create_by") @DataColumn(key = "userName", value = "r.create_by")
}) })
Page<SysOssResourceVo> selectPageAwaitList(@Param("page") Page<SysOssTextbook> page, Page<SysOssResourceVo> selectPageAwaitList(@Param("page") Page<SysOssTextbook> page,
@Param(Constants.WRAPPER) Wrapper<SysOssTextbook> queryWrapper); @Param(Constants.WRAPPER) Wrapper<SysOssTextbook> queryWrapper);

View File

@ -23,7 +23,7 @@ public interface SysOssTextbookMapper extends BaseMapperPlus<SysOssTextbook, Sys
Page<SysOssTextbookVo> selectPageList(@Param("page") Page<SysOssTextbook> page, Page<SysOssTextbookVo> selectPageList(@Param("page") Page<SysOssTextbook> page,
@Param(Constants.WRAPPER) Wrapper<SysOssTextbook> queryWrapper); @Param(Constants.WRAPPER) Wrapper<SysOssTextbook> queryWrapper);
@DataPermission({ @DataPermission({
@DataColumn(key = "userName", value = "create_by") @DataColumn(key = "userName", value = "ot.create_by")
}) })
Page<SysOssTextbookVo> selectPageAwaitList(@Param("page") Page<SysOssTextbook> page, Page<SysOssTextbookVo> selectPageAwaitList(@Param("page") Page<SysOssTextbook> page,
@Param(Constants.WRAPPER) Wrapper<SysOssTextbook> queryWrapper); @Param(Constants.WRAPPER) Wrapper<SysOssTextbook> queryWrapper);

View File

@ -1,5 +1,7 @@
package org.dromara.system.service; package org.dromara.system.service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import org.dromara.system.domain.SysCatalogPerson;
import org.dromara.system.domain.bo.SysCatalogPersonBo; import org.dromara.system.domain.bo.SysCatalogPersonBo;
import org.dromara.system.domain.vo.SysCatalogPersonVo; import org.dromara.system.domain.vo.SysCatalogPersonVo;
@ -77,4 +79,22 @@ public interface ISysCatalogPersonService {
* @return 结果 true 存在 false 不存在 * @return 结果 true 存在 false 不存在
*/ */
boolean checkCatalogExistFile(Long catalogId); boolean checkCatalogExistFile(Long catalogId);
/**
* 根据ID查询信息
*
* @param catalogId 目录ID
* @return 目录信息
*/
SysCatalogPersonVo selectCatalogById(Long catalogId);
/**
* 通过ID查询目录名称(包含自身)
*
* @param catalogId ID
* @return 目录名称串/分隔
*/
String selectCatalogNameById(Long catalogId);
List<SysCatalogPerson> selectList(Wrapper<SysCatalogPerson> queryWrapper);
} }

View File

@ -67,6 +67,7 @@ public interface ISysCatalogTextbookService {
* @return 是否删除成功 * @return 是否删除成功
*/ */
int deleteById(Long catalogId); int deleteById(Long catalogId);
/** /**
* 校验目录名称是否唯一 * 校验目录名称是否唯一
* *

View File

@ -1,12 +1,15 @@
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.Wrapper;
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.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.helper.DataBaseHelper; import org.dromara.common.mybatis.helper.DataBaseHelper;
import org.dromara.common.redis.utils.CacheUtils; import org.dromara.common.redis.utils.CacheUtils;
@ -18,6 +21,7 @@ import org.dromara.system.domain.vo.SysCatalogPersonVo;
import org.dromara.system.mapper.SysCatalogPersonMapper; import org.dromara.system.mapper.SysCatalogPersonMapper;
import org.dromara.system.mapper.SysOssPersonMapper; import org.dromara.system.mapper.SysOssPersonMapper;
import org.dromara.system.service.ISysCatalogPersonService; import org.dromara.system.service.ISysCatalogPersonService;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList; import java.util.ArrayList;
@ -58,7 +62,7 @@ public class SysCatalogPersonServiceImpl implements ISysCatalogPersonService {
*/ */
@Override @Override
public List<SysCatalogPersonVo> queryList(SysCatalogPersonBo bo) { public List<SysCatalogPersonVo> queryList(SysCatalogPersonBo bo) {
bo.setUserId(LoginHelper.getUserId()); bo.setCreateBy(LoginHelper.getUserId());
LambdaQueryWrapper<SysCatalogPerson> lqw = buildQueryWrapper(bo); LambdaQueryWrapper<SysCatalogPerson> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw); return baseMapper.selectVoList(lqw);
} }
@ -66,11 +70,11 @@ public class SysCatalogPersonServiceImpl implements ISysCatalogPersonService {
private LambdaQueryWrapper<SysCatalogPerson> buildQueryWrapper(SysCatalogPersonBo bo) { private LambdaQueryWrapper<SysCatalogPerson> buildQueryWrapper(SysCatalogPersonBo bo) {
Map<String, Object> params = bo.getParams(); Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<SysCatalogPerson> lqw = Wrappers.lambdaQuery(); 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(bo.getParentId() != null, SysCatalogPerson::getParentId, bo.getParentId());
lqw.eq(StringUtils.isNotBlank(bo.getAncestors()), SysCatalogPerson::getAncestors, bo.getAncestors()); lqw.eq(StringUtils.isNotBlank(bo.getAncestors()), SysCatalogPerson::getAncestors, bo.getAncestors());
lqw.like(StringUtils.isNotBlank(bo.getCatalogName()), SysCatalogPerson::getCatalogName, bo.getCatalogName()); lqw.like(StringUtils.isNotBlank(bo.getCatalogName()), SysCatalogPerson::getCatalogName, bo.getCatalogName());
lqw.eq(bo.getOrderNum() != null, SysCatalogPerson::getOrderNum, bo.getOrderNum()); lqw.eq(bo.getOrderNum() != null, SysCatalogPerson::getOrderNum, bo.getOrderNum());
lqw.eq(SysCatalogPerson::getCreateBy, bo.getCreateBy());
return lqw; return lqw;
} }
@ -82,11 +86,9 @@ public class SysCatalogPersonServiceImpl implements ISysCatalogPersonService {
*/ */
@Override @Override
public Boolean insertByBo(SysCatalogPersonBo bo) { public Boolean insertByBo(SysCatalogPersonBo bo) {
Long userId = LoginHelper.getUserId();
SysCatalogPerson info = baseMapper.selectById(bo.getParentId()); SysCatalogPerson info = baseMapper.selectById(bo.getParentId());
SysCatalogPerson add = MapstructUtils.convert(bo, SysCatalogPerson.class); SysCatalogPerson add = MapstructUtils.convert(bo, SysCatalogPerson.class);
add.setAncestors(info.getAncestors() + StringUtils.SEPARATOR + add.getParentId()); add.setAncestors(info.getAncestors() + StringUtils.SEPARATOR + add.getParentId());
add.setUserId(userId);
return baseMapper.insert(add) > 0; return baseMapper.insert(add) > 0;
} }
@ -151,6 +153,31 @@ public class SysCatalogPersonServiceImpl implements ISysCatalogPersonService {
.eq(SysOssPerson::getCatalogId, catalogId)); .eq(SysOssPerson::getCatalogId, catalogId));
} }
@Cacheable(cacheNames = CacheNames.SYS_CATALOG_PERSON, key = "#catalogId")
@Override
public SysCatalogPersonVo selectCatalogById(Long catalogId) {
return baseMapper.selectVoById(catalogId);
}
@Override
public String selectCatalogNameById(Long catalogId) {
List<String> list = new ArrayList<>();
SysCatalogPersonVo vo = SpringUtils.getAopProxy(this).selectCatalogById(catalogId);
for (Long id : StringUtils.splitTo(vo.getAncestors(), Convert::toLong)) {
SysCatalogPersonVo parentVo = SpringUtils.getAopProxy(this).selectCatalogById(id);
if (ObjectUtil.isNotNull(parentVo)) {
list.add(parentVo.getCatalogName());
}
}
list.add(vo.getCatalogName());
return String.join(StringUtils.SLASH, list);
}
@Override
public List<SysCatalogPerson> selectList(Wrapper<SysCatalogPerson> queryWrapper) {
return baseMapper.selectList(queryWrapper);
}
/** /**
* 修改子元素关系 * 修改子元素关系
* *

View File

@ -110,9 +110,9 @@ public class SysCatalogTextbookServiceImpl implements ISysCatalogTextbookService
@Override @Override
public Boolean updateByBo(SysCatalogTextbookBo bo) { public Boolean updateByBo(SysCatalogTextbookBo bo) {
SysCatalogTextbook update = MapstructUtils.convert(bo, SysCatalogTextbook.class); SysCatalogTextbook update = MapstructUtils.convert(bo, SysCatalogTextbook.class);
SysCatalogTextbook old = baseMapper.selectById(update.getCatalogId()); SysCatalogTextbookVo old = SpringUtils.getAopProxy(this).selectCatalogById(update.getCatalogId());
if (!old.getParentId().equals(update.getParentId())) { if (!old.getParentId().equals(update.getParentId())) {
SysCatalogTextbook newParentDept = baseMapper.selectById(update.getParentId()); SysCatalogTextbookVo newParentDept = SpringUtils.getAopProxy(this).selectCatalogById(update.getParentId());
if (ObjectUtil.isNotNull(newParentDept) && ObjectUtil.isNotNull(old)) { if (ObjectUtil.isNotNull(newParentDept) && ObjectUtil.isNotNull(old)) {
String newAncestors = newParentDept.getAncestors() + StringUtils.SEPARATOR + newParentDept.getCatalogId(); String newAncestors = newParentDept.getAncestors() + StringUtils.SEPARATOR + newParentDept.getCatalogId();
String oldAncestors = old.getAncestors(); String oldAncestors = old.getAncestors();

View File

@ -1,23 +1,33 @@
package org.dromara.system.service.impl; package org.dromara.system.service.impl;
import org.dromara.common.core.utils.MapstructUtils; import cn.hutool.core.util.ObjectUtil;
import org.dromara.common.core.utils.StringUtils; import com.baomidou.mybatisplus.core.conditions.Wrapper;
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.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service; import org.dromara.common.core.exception.ServiceException;
import org.dromara.system.domain.bo.SysOssPersonBo; import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.system.domain.vo.SysOssPersonVo; import org.dromara.common.core.utils.StreamUtils;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.helper.DataBaseHelper;
import org.dromara.common.satoken.utils.LoginHelper;
import org.dromara.system.domain.SysCatalogPerson;
import org.dromara.system.domain.SysOssPerson; import org.dromara.system.domain.SysOssPerson;
import org.dromara.system.domain.bo.SysOssPersonBo;
import org.dromara.system.domain.vo.SysCatalogPersonVo;
import org.dromara.system.domain.vo.SysOssPersonVo;
import org.dromara.system.domain.vo.SysOssVo;
import org.dromara.system.mapper.SysOssPersonMapper; import org.dromara.system.mapper.SysOssPersonMapper;
import org.dromara.system.service.ISysCatalogPersonService;
import org.dromara.system.service.ISysOssPersonService; import org.dromara.system.service.ISysOssPersonService;
import org.dromara.system.service.ISysOssService;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
import java.util.Collection; import java.util.Collection;
import java.util.List;
/** /**
* 资源-我的空间Service业务层处理 * 资源-我的空间Service业务层处理
@ -31,6 +41,10 @@ public class SysOssPersonServiceImpl implements ISysOssPersonService {
private final SysOssPersonMapper baseMapper; private final SysOssPersonMapper baseMapper;
private final ISysCatalogPersonService catalogService;
private final ISysOssService ossService;
/** /**
* 查询资源-我的空间 * 查询资源-我的空间
* *
@ -38,7 +52,7 @@ public class SysOssPersonServiceImpl implements ISysOssPersonService {
* @return 资源-我的空间 * @return 资源-我的空间
*/ */
@Override @Override
public SysOssPersonVo queryById(Long id){ public SysOssPersonVo queryById(Long id) {
return baseMapper.selectVoById(id); return baseMapper.selectVoById(id);
} }
@ -51,8 +65,8 @@ public class SysOssPersonServiceImpl implements ISysOssPersonService {
*/ */
@Override @Override
public TableDataInfo<SysOssPersonVo> queryPageList(SysOssPersonBo bo, PageQuery pageQuery) { public TableDataInfo<SysOssPersonVo> queryPageList(SysOssPersonBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<SysOssPerson> lqw = buildQueryWrapper(bo); bo.setCreateBy(LoginHelper.getUserId());
Page<SysOssPersonVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw); Page<SysOssPersonVo> result = baseMapper.selectPageList(pageQuery.build(), this.buildQueryWrapper(bo));
return TableDataInfo.build(result); return TableDataInfo.build(result);
} }
@ -64,18 +78,21 @@ public class SysOssPersonServiceImpl implements ISysOssPersonService {
*/ */
@Override @Override
public List<SysOssPersonVo> queryList(SysOssPersonBo bo) { public List<SysOssPersonVo> queryList(SysOssPersonBo bo) {
LambdaQueryWrapper<SysOssPerson> lqw = buildQueryWrapper(bo); return baseMapper.selectVoList(this.buildQueryWrapper(bo));
return baseMapper.selectVoList(lqw);
} }
private LambdaQueryWrapper<SysOssPerson> buildQueryWrapper(SysOssPersonBo bo) { private Wrapper<SysOssPerson> buildQueryWrapper(SysOssPersonBo bo) {
Map<String, Object> params = bo.getParams(); QueryWrapper<SysOssPerson> wrapper = Wrappers.query();
LambdaQueryWrapper<SysOssPerson> lqw = Wrappers.lambdaQuery(); wrapper.eq("op.create_by", bo.getCreateBy())
lqw.eq(bo.getOssId() != null, SysOssPerson::getOssId, bo.getOssId()); .and(ObjectUtil.isNotNull(bo.getCatalogId()), w -> {
lqw.eq(bo.getCatalogId() != null, SysOssPerson::getCatalogId, bo.getCatalogId()); List<SysCatalogPerson> list = catalogService.selectList(new LambdaQueryWrapper<SysCatalogPerson>()
lqw.like(StringUtils.isNotBlank(bo.getFileName()), SysOssPerson::getFileName, bo.getFileName()); .select(SysCatalogPerson::getCatalogId)
lqw.eq(StringUtils.isNotBlank(bo.getFilePath()), SysOssPerson::getFilePath, bo.getFilePath()); .apply(DataBaseHelper.findInSet(bo.getCatalogId(), "ancestors")));
return lqw; List<Long> ids = StreamUtils.toList(list, SysCatalogPerson::getCatalogId);
ids.add(bo.getCatalogId());
w.in("op.catalog_id", ids);
});
return wrapper;
} }
/** /**
@ -111,8 +128,15 @@ public class SysOssPersonServiceImpl implements ISysOssPersonService {
/** /**
* 保存前的数据校验 * 保存前的数据校验
*/ */
private void validEntityBeforeSave(SysOssPerson entity){ private void validEntityBeforeSave(SysOssPerson entity) {
//TODO 做一些数据校验,如唯一约束 SysOssVo ossVo = ossService.getById(entity.getOssId());
if (ObjectUtil.isNull(ossVo)) {
throw new ServiceException("文件不存在");
}
SysCatalogPersonVo ossResource = catalogService.selectCatalogById(entity.getCatalogId());
if (ObjectUtil.isNull(ossResource)) {
throw new ServiceException("空间目录不存在");
}
} }
/** /**
@ -124,7 +148,7 @@ public class SysOssPersonServiceImpl implements ISysOssPersonService {
*/ */
@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;
@ -132,11 +156,30 @@ public class SysOssPersonServiceImpl implements ISysOssPersonService {
@Override @Override
public Boolean copyByBo(SysOssPersonBo bo) { public Boolean copyByBo(SysOssPersonBo bo) {
return null; SysOssPerson copy = processDate(bo);
validEntityBeforeSave(copy);
return baseMapper.insert(copy) > 0;
} }
@Override @Override
public Boolean moveByBo(SysOssPersonBo bo) { public Boolean moveByBo(SysOssPersonBo bo) {
return null; SysOssPerson move = processDate(bo);
baseMapper.insert(move);
validEntityBeforeSave(move);
return baseMapper.deleteById(bo.getId()) > 0;
}
private SysOssPerson processDate(SysOssPersonBo bo) {
SysOssPerson ossPerson = baseMapper.selectById(bo.getId());
if (ossPerson.getCatalogId().equals(bo.getCatalogId())) {
throw new ServiceException("同目录下不能复制或移动");
}
SysOssPerson date = new SysOssPerson();
date.setOssId(ossPerson.getOssId());
String path = catalogService.selectCatalogNameById(bo.getCatalogId());
date.setCatalogId(bo.getCatalogId());
date.setFileName(ossPerson.getFileName());
date.setFilePath(path);
return date;
} }
} }

View File

@ -191,6 +191,9 @@ public class SysOssResourceServiceImpl implements ISysOssResourceService {
private SysOssResource processDate(SysOssResourceBo bo) { private SysOssResource processDate(SysOssResourceBo bo) {
SysOssResource ossResource = baseMapper.selectById(bo.getId()); SysOssResource ossResource = baseMapper.selectById(bo.getId());
if (ossResource.getCatalogId().equals(bo.getCatalogId())) {
throw new ServiceException("同目录下不能复制或移动");
}
SysOssResource date = new SysOssResource(); SysOssResource date = new SysOssResource();
date.setOssId(ossResource.getOssId()); date.setOssId(ossResource.getOssId());
String path = catalogService.selectCatalogNameById(bo.getCatalogId()); String path = catalogService.selectCatalogNameById(bo.getCatalogId());

View File

@ -190,6 +190,9 @@ public class SysOssTextbookServiceImpl implements ISysOssTextbookService {
private SysOssTextbook processDate(SysOssTextbookBo bo) { private SysOssTextbook processDate(SysOssTextbookBo bo) {
SysOssTextbook ossTextbook = baseMapper.selectById(bo.getId()); SysOssTextbook ossTextbook = baseMapper.selectById(bo.getId());
if (ossTextbook.getCatalogId().equals(bo.getCatalogId())) {
throw new ServiceException("同目录下不能复制或移动");
}
SysOssTextbook date = new SysOssTextbook(); SysOssTextbook date = new SysOssTextbook();
date.setOssId(ossTextbook.getOssId()); date.setOssId(ossTextbook.getOssId());
String path = catalogService.selectCatalogNameById(bo.getCatalogId()); String path = catalogService.selectCatalogNameById(bo.getCatalogId());

View File

@ -4,4 +4,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.dromara.system.mapper.SysOssPersonMapper"> <mapper namespace="org.dromara.system.mapper.SysOssPersonMapper">
<select id="selectPageList" resultType="org.dromara.system.domain.vo.SysOssPersonVo">
select op.*, o.file_suffix, o.volume
from sys_oss_person op
left join sys_oss o on o.oss_id = op.oss_id
${ew.getCustomSqlSegment}
</select>
</mapper> </mapper>