Commit 59fe034f by zhangxingmin

oss-v1版本

parent 68216263
package com.yd.oss.api.service; package com.yd.oss.api.service;
import com.yd.common.result.Result; import com.yd.common.result.Result;
import com.yd.oss.feign.dto.ApiRelMaterialDto;
import com.yd.oss.feign.request.ApiOssFileListRequest; import com.yd.oss.feign.request.ApiOssFileListRequest;
import com.yd.oss.feign.response.ApiOssFileListResponse; import com.yd.oss.feign.response.ApiOssFileListResponse;
import com.yd.oss.service.model.RelObjectMaterial;
import java.util.List; import java.util.List;
...@@ -10,4 +12,7 @@ public interface ApiOssFileService { ...@@ -10,4 +12,7 @@ public interface ApiOssFileService {
Result<List<ApiOssFileListResponse>> list(ApiOssFileListRequest request); Result<List<ApiOssFileListResponse>> list(ApiOssFileListRequest request);
Result del(String fileBizId); Result del(String fileBizId);
Result updateByMaterial(List<RelObjectMaterial> relObjectMaterialList,
List<ApiRelMaterialDto> materialDtoList);
} }
package com.yd.oss.api.service.impl; package com.yd.oss.api.service.impl;
import com.yd.common.enums.CommonEnum;
import com.yd.common.enums.ResultCode; import com.yd.common.enums.ResultCode;
import com.yd.common.exception.BusinessException; import com.yd.common.exception.BusinessException;
import com.yd.common.result.Result; import com.yd.common.result.Result;
import com.yd.oss.api.service.ApiOssFileService; import com.yd.oss.api.service.ApiOssFileService;
import com.yd.oss.feign.dto.ApiRelMaterialDto;
import com.yd.oss.feign.request.ApiOssFileListRequest; import com.yd.oss.feign.request.ApiOssFileListRequest;
import com.yd.oss.feign.response.ApiOssFileListResponse; import com.yd.oss.feign.response.ApiOssFileListResponse;
import com.yd.oss.service.dto.OssFileDto; import com.yd.oss.service.dto.OssFileDto;
...@@ -59,6 +61,40 @@ public class ApiOssFileServiceImpl implements ApiOssFileService { ...@@ -59,6 +61,40 @@ public class ApiOssFileServiceImpl implements ApiOssFileService {
} }
/** /**
* 更新-材料
* @param relObjectMaterialList
* @param materialDtoList
* @return
*/
@Override
public Result updateByMaterial(List<RelObjectMaterial> relObjectMaterialList,
List<ApiRelMaterialDto> materialDtoList) {
if (!CollectionUtils.isEmpty(materialDtoList)) {
for (ApiRelMaterialDto dto : materialDtoList) {
if (!CollectionUtils.isEmpty(relObjectMaterialList)) {
List<RelObjectMaterial> materials = relObjectMaterialList.stream().filter(d -> d.getMaterialBizId().equals(dto.getMaterialBizId())).collect(Collectors.toList());
if (!CollectionUtils.isEmpty(materials)) {
RelObjectMaterial relObjectMaterial = materials.get(0);
List<OssFile> ossFileList = iOssFileService.queryList(OssFileDto.builder().fileBizIdList(dto.getFileBizIdList()).build());
if (!CollectionUtils.isEmpty(ossFileList)) {
ossFileList = ossFileList.stream().map(file -> {
file.setObjectType(CommonEnum.UID_TYPE_REL_OBJECT_MATERIAL.getCode());
file.setObjectTableName(CommonEnum.UID_TYPE_REL_OBJECT_MATERIAL.getName());
file.setObjectTableName(CommonEnum.UID_TYPE_REL_OBJECT_MATERIAL.getCode());
file.setObjectBizId(relObjectMaterial.getRelObjectMaterialBizId());
return file;
}).collect(Collectors.toList());
iOssFileService.saveOrUpdateBatch(ossFileList);
}
}
}
}
}
return Result.success();
}
/**
* 校验文件元数据信息是否存在 * 校验文件元数据信息是否存在
* @param fileBizId * @param fileBizId
* @return * @return
......
...@@ -7,6 +7,7 @@ import com.yd.common.enums.ResultCode; ...@@ -7,6 +7,7 @@ import com.yd.common.enums.ResultCode;
import com.yd.common.exception.BusinessException; import com.yd.common.exception.BusinessException;
import com.yd.common.result.Result; import com.yd.common.result.Result;
import com.yd.common.utils.RandomStringGenerator; import com.yd.common.utils.RandomStringGenerator;
import com.yd.oss.api.service.ApiOssFileService;
import com.yd.oss.api.service.ApiRelObjectMaterialService; import com.yd.oss.api.service.ApiRelObjectMaterialService;
import com.yd.oss.feign.request.ApiRelObjectMaterialListAddRequest; import com.yd.oss.feign.request.ApiRelObjectMaterialListAddRequest;
import com.yd.oss.feign.request.ApiRelObjectMaterialPageRequest; import com.yd.oss.feign.request.ApiRelObjectMaterialPageRequest;
...@@ -29,6 +30,9 @@ public class ApiRelObjectMaterialServiceImpl implements ApiRelObjectMaterialServ ...@@ -29,6 +30,9 @@ public class ApiRelObjectMaterialServiceImpl implements ApiRelObjectMaterialServ
@Autowired @Autowired
private IRelObjectMaterialService iRelObjectMaterialService; private IRelObjectMaterialService iRelObjectMaterialService;
@Autowired
private ApiOssFileService apiOssFileService;
/** /**
* 分页列表查询-对象材料关系表信息 * 分页列表查询-对象材料关系表信息
* @param request * @param request
...@@ -65,15 +69,18 @@ public class ApiRelObjectMaterialServiceImpl implements ApiRelObjectMaterialServ ...@@ -65,15 +69,18 @@ public class ApiRelObjectMaterialServiceImpl implements ApiRelObjectMaterialServ
//先删后新增 //先删后新增
iRelObjectMaterialService.delByObjectBizId(request.getObjectBizId()); iRelObjectMaterialService.delByObjectBizId(request.getObjectBizId());
if (!CollectionUtils.isEmpty(request.getMaterialBizIdList())) { if (!CollectionUtils.isEmpty(request.getMaterialDtoList())) {
List<RelObjectMaterial> saveList = request.getMaterialBizIdList().stream().map(materialBizId -> { List<RelObjectMaterial> saveList = request.getMaterialDtoList().stream().map(dto -> {
RelObjectMaterial relObjectMaterial = new RelObjectMaterial(); RelObjectMaterial relObjectMaterial = new RelObjectMaterial();
BeanUtils.copyProperties(request,relObjectMaterial); BeanUtils.copyProperties(request,relObjectMaterial);
relObjectMaterial.setMaterialBizId(materialBizId); relObjectMaterial.setMaterialBizId(dto.getMaterialBizId());
relObjectMaterial.setRelObjectMaterialBizId(RandomStringGenerator.generateBizId16(CommonEnum.UID_TYPE_REL_OBJECT_MATERIAL.getCode())); relObjectMaterial.setRelObjectMaterialBizId(RandomStringGenerator.generateBizId16(CommonEnum.UID_TYPE_REL_OBJECT_MATERIAL.getCode()));
return relObjectMaterial; return relObjectMaterial;
}).collect(Collectors.toList()); }).collect(Collectors.toList());
iRelObjectMaterialService.saveOrUpdateBatch(saveList); iRelObjectMaterialService.saveOrUpdateBatch(saveList);
//更新保存文件元数据列表
apiOssFileService.updateByMaterial(saveList,request.getMaterialDtoList());
} }
return Result.success(); return Result.success();
} }
......
package com.yd.oss.feign.dto;
import lombok.Data;
import java.util.List;
@Data
public class ApiRelMaterialDto {
/**
* 材料信息表唯一业务ID
*/
private String materialBizId;
/**
* 文件元数据表唯一业务ID列表
*/
private List<String> fileBizIdList;
}
package com.yd.oss.feign.request; package com.yd.oss.feign.request;
import com.yd.oss.feign.dto.ApiRelMaterialDto;
import lombok.Data; import lombok.Data;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import java.util.List; import java.util.List;
@Data @Data
...@@ -31,7 +30,7 @@ public class ApiRelObjectMaterialListAddRequest { ...@@ -31,7 +30,7 @@ public class ApiRelObjectMaterialListAddRequest {
private String objectBizId; private String objectBizId;
/** /**
* 材料信息表唯一业务ID列表 * 材料列表
*/ */
private List<String> materialBizIdList; private List<ApiRelMaterialDto> materialDtoList;
} }
...@@ -4,6 +4,7 @@ import lombok.AllArgsConstructor; ...@@ -4,6 +4,7 @@ import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import java.util.List;
@Data @Data
@Builder @Builder
...@@ -15,4 +16,9 @@ public class OssFileDto { ...@@ -15,4 +16,9 @@ public class OssFileDto {
* 对象业务ID * 对象业务ID
*/ */
private String objectBizId; private String objectBizId;
/**
* 文件元数据表唯一业务ID列表
*/
private List<String> fileBizIdList;
} }
...@@ -14,6 +14,7 @@ import org.apache.commons.lang3.StringUtils; ...@@ -14,6 +14,7 @@ import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Primary; import org.springframework.context.annotation.Primary;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.time.LocalDateTime; import java.time.LocalDateTime;
...@@ -141,6 +142,7 @@ public class OssFileServiceImpl extends ServiceImpl<OssFileMapper, OssFile> impl ...@@ -141,6 +142,7 @@ public class OssFileServiceImpl extends ServiceImpl<OssFileMapper, OssFile> impl
public List<OssFile> queryList(OssFileDto dto) { public List<OssFile> queryList(OssFileDto dto) {
List<OssFile> list = baseMapper.selectList(new LambdaQueryWrapper<OssFile>() List<OssFile> list = baseMapper.selectList(new LambdaQueryWrapper<OssFile>()
.eq(StringUtils.isNotBlank(dto.getObjectBizId()),OssFile::getObjectBizId,dto.getObjectBizId()) .eq(StringUtils.isNotBlank(dto.getObjectBizId()),OssFile::getObjectBizId,dto.getObjectBizId())
.in(!CollectionUtils.isEmpty(dto.getFileBizIdList()),OssFile::getFileBizId,dto.getFileBizIdList())
); );
return list; return list;
} }
......
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