新增上传方法,根据传参清空bid下所有文件
This commit is contained in:
@ -83,12 +83,24 @@ public interface AttachmentClient {
|
|||||||
/**
|
/**
|
||||||
* 上传资源文件
|
* 上传资源文件
|
||||||
*
|
*
|
||||||
* @param bid
|
* @param businessId
|
||||||
* @param file
|
* @param filename
|
||||||
|
* @param array
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
Optional<UploadObject> upload(String businessId, String filename, byte[] array);
|
Optional<UploadObject> upload(String businessId, String filename, byte[] array);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 上传资源文件
|
||||||
|
*
|
||||||
|
* @param businessId
|
||||||
|
* @param filename
|
||||||
|
* @param array
|
||||||
|
* @param only true:清空bid下所有文件,否则根据附件名称删除
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
Optional<UploadObject> upload(String businessId, String filename, byte[] array, boolean only);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据业务id删除附件
|
* 根据业务id删除附件
|
||||||
*
|
*
|
||||||
|
@ -197,7 +197,7 @@ public class DefaultAttachmentClient implements AttachmentClient {
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public Optional<UploadObject> upload(@NotNull String businessId, @NotNull File file) {
|
public Optional<UploadObject> upload(@NotNull String businessId, @NotNull File file) {
|
||||||
removeDuplicateObject(businessId, file.getName());
|
removeDuplicateObject(businessId, file.getName(), false);
|
||||||
|
|
||||||
String res = documentCenterService.upload("ebtp-mall-cloud", businessId, fileConvertor.toMultipartFile(file));
|
String res = documentCenterService.upload("ebtp-mall-cloud", businessId, fileConvertor.toMultipartFile(file));
|
||||||
|
|
||||||
@ -214,7 +214,21 @@ public class DefaultAttachmentClient implements AttachmentClient {
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public Optional<UploadObject> upload(@NotNull String businessId, @NotNull String filename, @NotNull byte[] array) {
|
public Optional<UploadObject> upload(@NotNull String businessId, @NotNull String filename, @NotNull byte[] array) {
|
||||||
removeDuplicateObject(businessId, filename);
|
return this.upload(businessId, filename, array, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 上传资源文件
|
||||||
|
*
|
||||||
|
* @param businessId
|
||||||
|
* @param filename
|
||||||
|
* @param array
|
||||||
|
* @param only true:清空bid下所有文件,否则根据附件名称删除
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Optional<UploadObject> upload(String businessId, String filename, byte[] array, boolean only) {
|
||||||
|
removeDuplicateObject(businessId, filename, only);
|
||||||
|
|
||||||
String res = documentCenterService.upload("ebtp-mall-cloud", businessId,
|
String res = documentCenterService.upload("ebtp-mall-cloud", businessId,
|
||||||
fileConvertor.toMultipartFile(filename, array));
|
fileConvertor.toMultipartFile(filename, array));
|
||||||
@ -300,12 +314,12 @@ public class DefaultAttachmentClient implements AttachmentClient {
|
|||||||
* @param businessId
|
* @param businessId
|
||||||
* @param filename
|
* @param filename
|
||||||
*/
|
*/
|
||||||
private void removeDuplicateObject(String businessId, String filename) {
|
private void removeDuplicateObject(String businessId, String filename, boolean only) {
|
||||||
log.info("remove files {} in business: {} if exists", filename, businessId);
|
log.info("remove files {} in business: {} if exists", filename, businessId);
|
||||||
Optional<AttachmentDetail> op = findByBusinessId(Arrays.asList(businessId));
|
Optional<AttachmentDetail> op = findByBusinessId(Arrays.asList(businessId));
|
||||||
|
|
||||||
op.ifPresent(detail -> {
|
op.ifPresent(detail -> {
|
||||||
detail.get(businessId).stream().filter(obj -> obj.getFilename().equals(filename)).forEach(obj -> {
|
detail.get(businessId).stream().filter(obj -> only || obj.getFilename().equals(filename)).forEach(obj -> {
|
||||||
deleteByOid(obj.getId());
|
deleteByOid(obj.getId());
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
Reference in New Issue
Block a user