Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Y
yd-oss
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
xingmin
yd-oss
Commits
2ad1b082
Commit
2ad1b082
authored
Mar 17, 2026
by
zhangxingmin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
push
parent
8f440bf8
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
90 additions
and
9 deletions
+90
-9
yd-oss-api/src/main/java/com/yd/oss/api/controller/ApiOssFileController.java
+2
-2
yd-oss-api/src/main/java/com/yd/oss/api/service/ApiOssFileService.java
+1
-1
yd-oss-api/src/main/java/com/yd/oss/api/service/impl/ApiOssFileServiceImpl.java
+13
-4
yd-oss-feign/src/main/java/com/yd/oss/feign/client/ApiOssFileFeignClient.java
+2
-1
yd-oss-feign/src/main/java/com/yd/oss/feign/fallback/ApiOssFileFeignFallbackFactory.java
+1
-1
yd-oss-service/src/main/java/com/yd/oss/service/service/IOssProviderService.java
+2
-0
yd-oss-service/src/main/java/com/yd/oss/service/service/OssService.java
+2
-0
yd-oss-service/src/main/java/com/yd/oss/service/service/impl/AliYunOssServiceImpl.java
+59
-0
yd-oss-service/src/main/java/com/yd/oss/service/service/impl/OssProviderServiceImpl.java
+8
-0
No files found.
yd-oss-api/src/main/java/com/yd/oss/api/controller/ApiOssFileController.java
View file @
2ad1b082
...
...
@@ -43,7 +43,7 @@ public class ApiOssFileController implements ApiOssFileFeignClient {
* @return
*/
@Override
public
Result
del
(
String
fileBizId
)
{
return
apiOssFileService
.
del
(
fileBizId
);
public
Result
del
(
String
fileBizId
,
String
projectBizId
)
{
return
apiOssFileService
.
del
(
fileBizId
,
projectBizId
);
}
}
yd-oss-api/src/main/java/com/yd/oss/api/service/ApiOssFileService.java
View file @
2ad1b082
...
...
@@ -11,7 +11,7 @@ import java.util.List;
public
interface
ApiOssFileService
{
Result
<
List
<
ApiOssFileListResponse
>>
list
(
ApiOssFileListRequest
request
);
Result
del
(
String
fileBizId
);
Result
del
(
String
fileBizId
,
String
projectBizId
);
Result
updateByMaterial
(
List
<
RelObjectMaterial
>
relObjectMaterialList
,
List
<
ApiRelMaterialDto
>
materialDtoList
);
...
...
yd-oss-api/src/main/java/com/yd/oss/api/service/impl/ApiOssFileServiceImpl.java
View file @
2ad1b082
package
com
.
yd
.
oss
.
api
.
service
.
impl
;
import
com.yd.auth.core.dto.AuthUserDto
;
import
com.yd.auth.core.utils.SecurityUtil
;
import
com.yd.common.enums.CommonEnum
;
import
com.yd.common.enums.ResultCode
;
import
com.yd.common.exception.BusinessException
;
...
...
@@ -12,6 +14,7 @@ import com.yd.oss.service.dto.OssFileDto;
import
com.yd.oss.service.model.OssFile
;
import
com.yd.oss.service.model.RelObjectMaterial
;
import
com.yd.oss.service.service.IOssFileService
;
import
com.yd.oss.service.service.OssService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -28,6 +31,9 @@ public class ApiOssFileServiceImpl implements ApiOssFileService {
@Autowired
private
IOssFileService
iOssFileService
;
@Autowired
private
OssService
ossService
;
/**
* 列表查询-文件元数据信息
* @param request
...
...
@@ -45,10 +51,13 @@ public class ApiOssFileServiceImpl implements ApiOssFileService {
* @return
*/
@Override
public
Result
del
(
String
fileBizId
)
{
Result
<
OssFile
>
result
=
checkOssFileIsExist
(
fileBizId
);
OssFile
ossFile
=
result
.
getData
();
iOssFileService
.
removeById
(
ossFile
.
getId
());
public
Result
del
(
String
fileBizId
,
String
projectBizId
)
{
// 获取当前操作人
AuthUserDto
authUser
=
SecurityUtil
.
getCurrentLoginUser
();
String
operator
=
authUser
!=
null
?
authUser
.
getUsername
()
:
"system"
;
// 调用OSS服务删除文件(包含OSS删除和数据库物理删除)
ossService
.
deleteFileByBizId
(
fileBizId
,
operator
);
return
Result
.
success
();
}
...
...
yd-oss-feign/src/main/java/com/yd/oss/feign/client/ApiOssFileFeignClient.java
View file @
2ad1b082
...
...
@@ -33,6 +33,7 @@ public interface ApiOssFileFeignClient {
* @return
*/
@DeleteMapping
(
"/del"
)
Result
del
(
@NotBlank
(
message
=
"文件元数据表唯一业务ID不能为空"
)
@RequestParam
(
value
=
"fileBizId"
)
String
fileBizId
);
Result
del
(
@NotBlank
(
message
=
"文件元数据表唯一业务ID不能为空"
)
@RequestParam
(
value
=
"fileBizId"
)
String
fileBizId
,
@RequestParam
(
"projectBizId"
)
String
projectBizId
);
}
yd-oss-feign/src/main/java/com/yd/oss/feign/fallback/ApiOssFileFeignFallbackFactory.java
View file @
2ad1b082
...
...
@@ -24,7 +24,7 @@ public class ApiOssFileFeignFallbackFactory implements FallbackFactory<ApiOssFil
}
@Override
public
Result
del
(
String
fileBizId
)
{
public
Result
del
(
String
fileBizId
,
String
projectBizId
)
{
return
null
;
}
};
...
...
yd-oss-service/src/main/java/com/yd/oss/service/service/IOssProviderService.java
View file @
2ad1b082
...
...
@@ -21,6 +21,8 @@ public interface IOssProviderService extends IService<OssProvider> {
OssProvider
getProviderById
(
Long
id
);
OssProvider
getProviderByBizId
(
String
providerBizId
);
List
<
OssProvider
>
getActiveProviders
();
boolean
saveProvider
(
OssProvider
provider
);
...
...
yd-oss-service/src/main/java/com/yd/oss/service/service/OssService.java
View file @
2ad1b082
...
...
@@ -32,6 +32,8 @@ public interface OssService {
// 删除文件
boolean
deleteFile
(
String
fileKey
,
String
bucketName
,
String
operator
);
boolean
deleteFileByBizId
(
String
fileBizId
,
String
operator
);
// 删除文件(使用默认存储桶)
boolean
deleteFile
(
String
fileKey
,
String
operator
);
...
...
yd-oss-service/src/main/java/com/yd/oss/service/service/impl/AliYunOssServiceImpl.java
View file @
2ad1b082
...
...
@@ -478,6 +478,65 @@ public class AliYunOssServiceImpl implements OssService {
}
}
@Override
public
boolean
deleteFileByBizId
(
String
fileBizId
,
String
operator
)
{
long
startTime
=
System
.
currentTimeMillis
();
String
operationResult
=
"success"
;
String
errorMessage
=
null
;
OssFile
ossFile
=
null
;
try
{
// 查询文件记录
ossFile
=
ossFileService
.
queryOne
(
fileBizId
);
if
(
ossFile
==
null
)
{
throw
new
BusinessException
(
"文件不存在: "
+
fileBizId
);
}
// 根据提供商ID获取并切换提供商
OssProvider
provider
=
ossProviderService
.
getProviderByBizId
(
ossFile
.
getProviderBizId
());
if
(
provider
==
null
)
{
throw
new
BusinessException
(
"提供商不存在: "
+
ossFile
.
getProviderBizId
());
}
switchToProvider
(
provider
);
// 删除OSS文件
realOssClient
.
deleteObject
(
ossFile
.
getBucketName
(),
ossFile
.
getFileKey
());
// 物理删除数据库记录
ossFileService
.
removeById
(
ossFile
.
getId
());
// 记录成功操作日志
OssOperationLog
operationLog
=
new
OssOperationLog
();
operationLog
.
setFileBizId
(
ossFile
.
getFileBizId
());
operationLog
.
setOperationType
(
"delete"
);
operationLog
.
setOperationUser
(
operator
);
operationLog
.
setOperationResult
(
operationResult
);
operationLog
.
setErrorMessage
(
errorMessage
);
operationLog
.
setClientIp
(
IpUtil
.
getClientIp
());
operationLog
.
setCostTime
(
System
.
currentTimeMillis
()
-
startTime
);
ossFileService
.
saveOperationLog
(
operationLog
);
log
.
info
(
"文件删除成功: {}/{}"
,
ossFile
.
getBucketName
(),
ossFile
.
getFileKey
());
return
true
;
}
catch
(
Exception
e
)
{
operationResult
=
"failure"
;
errorMessage
=
e
.
getMessage
();
log
.
error
(
"删除文件失败: fileBizId={}"
,
fileBizId
,
e
);
// 记录失败操作日志
OssOperationLog
operationLog
=
new
OssOperationLog
();
operationLog
.
setFileBizId
(
ossFile
!=
null
?
ossFile
.
getFileBizId
()
:
"-1"
);
operationLog
.
setOperationType
(
"delete"
);
operationLog
.
setOperationUser
(
operator
);
operationLog
.
setOperationResult
(
operationResult
);
operationLog
.
setErrorMessage
(
errorMessage
);
operationLog
.
setClientIp
(
IpUtil
.
getClientIp
());
operationLog
.
setCostTime
(
System
.
currentTimeMillis
()
-
startTime
);
ossFileService
.
saveOperationLog
(
operationLog
);
throw
new
RuntimeException
(
"删除文件失败: "
+
fileBizId
,
e
);
}
}
/**
* 删除文件(使用默认存储桶)
* @param fileKey
...
...
yd-oss-service/src/main/java/com/yd/oss/service/service/impl/OssProviderServiceImpl.java
View file @
2ad1b082
...
...
@@ -77,6 +77,14 @@ public class OssProviderServiceImpl extends ServiceImpl<OssProviderMapper, OssPr
return
provider
;
}
@Override
public
OssProvider
getProviderByBizId
(
String
providerBizId
)
{
return
baseMapper
.
selectOne
(
new
LambdaQueryWrapper
<
OssProvider
>()
.
eq
(
OssProvider:
:
getProviderBizId
,
providerBizId
)
.
last
(
" limit 1 "
)
);
}
/**
* 获取所有激活的OSS提供商
* @return
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment