Commit 59fe034f by zhangxingmin

oss-v1版本

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