Commit c7b0581b by 284718418@qq.com

1.云盘-我空间业务代码

parent 5fb06474
......@@ -143,7 +143,13 @@ public class DiskCatalogue extends Model<DiskCatalogue> {
@TableField(exist = false)
private List<DiskCatalogue> breadcrumb;
/**
* 云空间成员表ID
*/
@ApiModelProperty(value = "云空间成员表ID")
@Transient
@TableField(exist = false)
private Integer cloudDiskUserId;
/**
* 用户类型:0.超级管理员,1.管理员,2.普通用户
*/
......
......@@ -169,6 +169,7 @@ public class DiskCatalogueController {
public Result<Object> myfile(@CurrentUser UserBean userBean, DiskCatalogueParam diskCatalogueParam) {
try {
diskCatalogueParam.setUserId(userBean.getEmpNum());
diskCatalogueParam.setOrgId(userBean.getOrgCode());
// 获取文件夹
List<DiskCatalogue> diskCatalogueList = DiskCatalogue.builder().build().selectList(new QueryWrapper<DiskCatalogue>()
.lambda().eq(DiskCatalogue::getOrgId, userBean.getOrgCode())
......@@ -177,15 +178,13 @@ public class DiskCatalogueController {
.eq(DiskCatalogue::getType, diskCatalogueParam.getType())
.eq(DiskCatalogue::getDeleteFlag, 0)
);
if(StringUtils.isEmpty(diskCatalogueParam.getParentId()) || diskCatalogueParam.getParentId() == 0){
if(StringUtils.isEmpty(diskCatalogueParam.getParentId()) || diskCatalogueParam.getParentId() == 0
&& JxglEnumInterface.DiskCatalogueType.DISK_YUN.getType().equals(diskCatalogueParam.getType())){
//空间 获取有权限的
List<DiskCatalogue> diskCatalogueList2 = DiskCatalogue.builder().build().selectList(new QueryWrapper<DiskCatalogue>()
.lambda().eq(DiskCatalogue::getOrgId, userBean.getOrgCode())
.eq(DiskCatalogue::getCreateUserId, userBean.getEmpNum())
.eq(DiskCatalogue::getParentId, diskCatalogueParam.getParentId())
.eq(DiskCatalogue::getType, diskCatalogueParam.getType())
.eq(DiskCatalogue::getDeleteFlag, 0)
);
List<DiskCatalogue> diskCatalogueList2 = diskCloudDiskUserService.getDiskCatalogueList(diskCatalogueParam);
if(!CollectionUtils.isEmpty(diskCatalogueList2)){
diskCatalogueList.addAll(diskCatalogueList2);
}
}
// 获取文件夹下所有文件
List<DiskFiles> filesList = diskFilesService.getDiskFiles(diskCatalogueParam);
......@@ -206,7 +205,7 @@ public class DiskCatalogueController {
breadcrumbDataList = DiskCatalogue.builder().build().selectList(new QueryWrapper<DiskCatalogue>()
.lambda().in(DiskCatalogue::getId,ids)
.eq(DiskCatalogue::getOrgId, userBean.getOrgCode())
.eq(DiskCatalogue::getCreateUserId, userBean.getEmpNum())
//.eq(DiskCatalogue::getCreateUserId, userBean.getEmpNum())
.eq(DiskCatalogue::getDeleteFlag, 0)
);
}
......@@ -234,4 +233,77 @@ public class DiskCatalogueController {
);
return ResultUtil.data(userattgor);
}
/**
* 云盘-退出空间
*
* @param userBean
* @return
*/
@PostMapping(value = "/sign_out/{id}")
@ApiOperation(value = "退出共享空间", httpMethod = "POST", notes = "退出共享空间")
public Result<Object> signOut(@CurrentUser UserBean userBean, @PathVariable Integer id) {
try {
DiskCloudDiskUser diskCloudDiskUser = DiskCloudDiskUser.builder().id(id).build().selectById();
if(StringUtils.isEmpty(diskCloudDiskUser)){
ResultUtil.error("操作失败,该共享空间不存在");
}
DiskCloudDiskUser entity = DiskCloudDiskUser.builder().build();
entity.setId(diskCloudDiskUser.getId());
entity.setDeleteFlag(1);
boolean flag = entity.updateById();
if(flag){
return ResultUtil.success();
}else {
return ResultUtil.error("操作失败!");
}
}catch (Exception e){
e.printStackTrace();
throw new CustomException("获取我的文件夹列表异常");
}
}
/**
* 云盘-删除文件夹以及文件
*
* @param userBean
* @return
*/
@PostMapping(value = "/edit_catalogue")
@ApiOperation(value = "删除文件夹以及文件", httpMethod = "POST", notes = "删除文件夹以及文件")
public Result<Object> editCatalogue(@CurrentUser UserBean userBean, @RequestBody DiskCatalogueDto diskCatalogueDto) {
try {
DiskCatalogue diskCatalogue = new DiskCatalogue();
DiskCatalogue catalogue = DiskCatalogue.builder().id(diskCatalogueDto.getId()).build().selectById();
if(StringUtils.isEmpty(catalogue)){
ResultUtil.error("操作失败~");
}
// 云盘逻辑删除 权限判断
if(JxglEnumInterface.DiskCatalogueType.DISK_YUN.getType().equals(diskCatalogueDto.getType()) &&
!StringUtils.isEmpty(diskCatalogueDto.getId()) && diskCatalogueDto.getId() > 0){
diskCatalogueDto.setUserId(userBean.getEmpNum());
if(!diskCloudDiskUserService.getDiskUserRole(diskCatalogueDto,DiskCatalogue.builder().id(diskCatalogueDto.getId()).build().selectById())){
return ResultUtil.error("无权限,操作失败!");
}
// 删除之前的成员 全部重新添加
DiskCloudDiskUser.builder().deleteFlag(1).build().update(new QueryWrapper<DiskCloudDiskUser>()
.lambda().eq(DiskCloudDiskUser::getOrgId, userBean.getOrgCode())
.eq(DiskCloudDiskUser::getCatalogueId, catalogue.getId())
.eq(DiskCloudDiskUser::getUserId, userBean.getEmpNum()));
}
diskCatalogue.setId(catalogue.getId());
diskCatalogue.setDeleteFlag(1);
diskCatalogue.setUpdateUserId(userBean.getEmpNum());
boolean flag = diskCatalogue.updateById();
if(flag){
return ResultUtil.success();
}else {
return ResultUtil.error("操作失败!");
}
}catch (Exception e){
e.printStackTrace();
throw new CustomException("删除文件夹以及文件异常");
}
}
}
......@@ -5,6 +5,7 @@ import cn.timer.api.bean.disk.DiskCloudDiskUser;
import cn.timer.api.bean.disk.DiskFiles;
import cn.timer.api.dto.disk.DiskCatalogueDto;
import cn.timer.api.dto.disk.DiskCatalogueParam;
import cn.timer.api.dto.disk.DiskCloudDiskUserParam;
import java.util.List;
......@@ -20,4 +21,11 @@ public interface DiskCloudDiskUserService {
* @return
*/
boolean getDiskUserRole(DiskCatalogueDto diskCatalogueDto, DiskCatalogue catalogue);
/**
* 获取空间具体权限
* @param diskCatalogueParam
* @return
*/
List<DiskCatalogue> getDiskCatalogueList(DiskCatalogueParam diskCatalogueParam);
}
......@@ -5,12 +5,15 @@ import cn.timer.api.bean.disk.DiskCloudDiskUser;
import cn.timer.api.config.enuminterface.JxglEnumInterface;
import cn.timer.api.dao.disk.DiskCloudDiskUserMapper;
import cn.timer.api.dto.disk.DiskCatalogueDto;
import cn.timer.api.dto.disk.DiskCatalogueParam;
import cn.timer.api.dto.disk.DiskCloudDiskUserParam;
import cn.timer.api.utils.ResultUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import javax.annotation.Resource;
import java.util.List;
/**
* @author wuqingjun
......@@ -38,4 +41,9 @@ public class DiskCloudDiskUserServiceImpl implements DiskCloudDiskUserService {
}
return false;
}
@Override
public List<DiskCatalogue> getDiskCatalogueList(DiskCatalogueParam diskCatalogueParam) {
return diskCloudDiskUserMapper.getDiskCatalogueList(diskCatalogueParam);
}
}
package cn.timer.api.dao.disk;
import cn.timer.api.bean.disk.DiskCatalogue;
import cn.timer.api.bean.disk.DiskCloudDiskUser;
import cn.timer.api.dto.disk.DiskCatalogueParam;
import cn.timer.api.dto.disk.DiskCloudDiskUserParam;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* 云盘-云空间成员表
*
......@@ -14,5 +20,7 @@ import org.springframework.stereotype.Repository;
*/
@Repository
public interface DiskCloudDiskUserMapper extends BaseMapper<DiskCloudDiskUser> {
List<DiskCatalogue> getDiskCatalogueList(@Param("param")DiskCatalogueParam param);
}
......@@ -48,4 +48,10 @@ public class DiskCatalogueParam implements Serializable {
*/
@ApiModelProperty(value = "用户ID", example = "0")
private Integer userId;
/**
* 当前企业id
*/
@ApiModelProperty(value = "当前企业id")
private Integer orgId;
}
package cn.timer.api.dto.disk;
import cn.timer.api.config.exception.ValidationMsg;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
* @author wuqingjun
* @email 284718418@qq.com
* @date 2021/12/31
*/
@Data
public class DiskCloudDiskUserParam implements Serializable {
private static final long serialVersionUID = -1230023773946170911L;
/**
* 资源目录表ID
*/
@ApiModelProperty(value = "资源目录表ID")
private Integer catalogueId;
/**
* 当前企业id
*/
@ApiModelProperty(value = "当前企业id")
private Integer orgId;
/**
* 用户ID
*/
@ApiModelProperty(value = "用户ID")
private Integer userId;
}
......@@ -16,4 +16,15 @@
<result property="deleteFlag" column="delete_flag"/>
</resultMap>
<select id="getDiskCatalogueList" resultType="cn.timer.api.bean.disk.DiskCatalogue">
SELECT c.*,cdu.id as cloud_disk_user_id,cdu.user_role,cdu.user_power FROM `disk_catalogue` c
LEFT JOIN disk_cloud_disk_user cdu ON c.id=cdu.catalogue_id AND c.id > 0
WHERE c.delete_flag=0 AND cdu.delete_flag = 0
AND cdu.user_id = #{param.userId}
AND cdu.org_id = #{param.orgId}
<if test="param.id != null and param.id != ''">
AND c.id = #{param.id}
</if>
</select>
</mapper>
\ No newline at end of file
......@@ -25,7 +25,7 @@
SELECT f.* FROM `disk_files` f
LEFT JOIN disk_catalogue_files cf ON f.id=cf.files_id AND cf.id > 0
WHERE f.delete_flag=0 AND cf.delete_flag = 0
AND f.create_user_id = #{param.userId} AND cf.catalogue_id=#{param.parentId}
AND cf.catalogue_id=#{param.parentId}
<if test="param.searchName != null and param.searchName != ''">
AND f.title like CONCAT('%',#{param.searchName},'%')
</if>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment