Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
F
file-service
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Container Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
SuperHive
back-end
file-service
Commits
e8956856
Commit
e8956856
authored
Apr 14, 2020
by
huangcb
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
新增文件删除功能接口
parent
6e65d505
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
115 additions
and
7 deletions
+115
-7
DeleteController.java
...eight/file/module/delete/controller/DeleteController.java
+40
-0
DownloadController.java
...t/file/module/download/controller/DownloadController.java
+2
-2
UploadController.java
...eight/file/module/upload/controller/UploadController.java
+2
-1
FileMetaDao.java
...a/com/esv/freight/file/module/upload/dao/FileMetaDao.java
+9
-1
FileForm.java
...ava/com/esv/freight/file/module/upload/form/FileForm.java
+8
-3
FileMetaService.java
...v/freight/file/module/upload/service/FileMetaService.java
+9
-0
FileMetaServiceImpl.java
.../file/module/upload/service/impl/FileMetaServiceImpl.java
+38
-0
FileMetaDao.xml
src/main/resources/mapper/upload/FileMetaDao.xml
+7
-0
No files found.
src/main/java/com/esv/freight/file/module/delete/controller/DeleteController.java
0 → 100644
View file @
e8956856
package
com
.
esv
.
freight
.
file
.
module
.
delete
.
controller
;
import
com.esv.freight.file.common.exception.EException
;
import
com.esv.freight.file.common.response.EResponse
;
import
com.esv.freight.file.common.validator.groups.ValidatorDelete
;
import
com.esv.freight.file.module.upload.form.FileForm
;
import
com.esv.freight.file.module.upload.service.FileMetaService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
/**
* @description: 文件删除Controller
* @project: freight-file-service
* @name: com.esv.freight.file.module.delete.controller.DeleteController
* @author: 黄朝斌
* @email: huangchaobin@esvtek.com
* @createTime: 2020/04/14 19:37
* @version:1.0
*/
@Slf4j
@RestController
@RequestMapping
(
"/delete"
)
public
class
DeleteController
{
private
FileMetaService
fileMetaService
;
public
DeleteController
(
FileMetaService
fileMetaService
)
{
this
.
fileMetaService
=
fileMetaService
;
}
@PostMapping
(
"/single"
)
public
EResponse
deleteSingleFile
(
@RequestBody
@Validated
(
ValidatorDelete
.
class
)
FileForm
fileForm
)
throws
EException
{
fileMetaService
.
deleteFile
(
fileForm
);
return
EResponse
.
ok
();
}
}
src/main/java/com/esv/freight/file/module/download/DownloadController.java
→
src/main/java/com/esv/freight/file/module/download/
controller/
DownloadController.java
View file @
e8956856
package
com
.
esv
.
freight
.
file
.
module
.
download
;
package
com
.
esv
.
freight
.
file
.
module
.
download
.
controller
;
import
com.esv.freight.file.module.upload.service.FileMetaService
;
import
com.esv.freight.file.module.upload.service.FileMetaService
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
...
@@ -13,7 +13,7 @@ import javax.servlet.http.HttpServletResponse;
...
@@ -13,7 +13,7 @@ import javax.servlet.http.HttpServletResponse;
/**
/**
* @description: 文件下载Controller
* @description: 文件下载Controller
* @project: freight-file-service
* @project: freight-file-service
* @name: com.esv.freight.file.module.download.DownloadController
* @name: com.esv.freight.file.module.download.
controller.
DownloadController
* @author: 黄朝斌
* @author: 黄朝斌
* @email: huangchaobin@esvtek.com
* @email: huangchaobin@esvtek.com
* @createTime: 2020/04/14 17:06
* @createTime: 2020/04/14 17:06
...
...
src/main/java/com/esv/freight/file/module/upload/controller/UploadController.java
View file @
e8956856
...
@@ -3,6 +3,7 @@ package com.esv.freight.file.module.upload.controller;
...
@@ -3,6 +3,7 @@ package com.esv.freight.file.module.upload.controller;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
import
com.esv.freight.file.common.exception.EException
;
import
com.esv.freight.file.common.exception.EException
;
import
com.esv.freight.file.common.response.EResponse
;
import
com.esv.freight.file.common.response.EResponse
;
import
com.esv.freight.file.common.validator.groups.ValidatorInsert
;
import
com.esv.freight.file.module.upload.form.FileForm
;
import
com.esv.freight.file.module.upload.form.FileForm
;
import
com.esv.freight.file.module.upload.service.FileMetaService
;
import
com.esv.freight.file.module.upload.service.FileMetaService
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
...
@@ -50,7 +51,7 @@ public class UploadController {
...
@@ -50,7 +51,7 @@ public class UploadController {
* createTime 2020/04/14 15:09
* createTime 2020/04/14 15:09
**/
**/
@PostMapping
(
"/single"
)
@PostMapping
(
"/single"
)
public
EResponse
uploadSingleFile
(
@RequestBody
@Validated
FileForm
fileForm
)
throws
EException
{
public
EResponse
uploadSingleFile
(
@RequestBody
@Validated
(
ValidatorInsert
.
class
)
FileForm
fileForm
)
throws
EException
{
// 校验文件类型及大小
// 校验文件类型及大小
checkFile
(
fileForm
);
checkFile
(
fileForm
);
...
...
src/main/java/com/esv/freight/file/module/upload/dao/FileMetaDao.java
View file @
e8956856
...
@@ -13,5 +13,13 @@ import org.apache.ibatis.annotations.Mapper;
...
@@ -13,5 +13,13 @@ import org.apache.ibatis.annotations.Mapper;
*/
*/
@Mapper
@Mapper
public
interface
FileMetaDao
extends
BaseMapper
<
FileMetaEntity
>
{
public
interface
FileMetaDao
extends
BaseMapper
<
FileMetaEntity
>
{
/**
* description 逻辑删除记录
* param [fileMetaEntity]
* return int
* author Administrator
* createTime 2020/04/14 20:05
**/
int
logicDelete
(
FileMetaEntity
fileMetaEntity
);
}
}
src/main/java/com/esv/freight/file/module/upload/form/FileForm.java
View file @
e8956856
package
com
.
esv
.
freight
.
file
.
module
.
upload
.
form
;
package
com
.
esv
.
freight
.
file
.
module
.
upload
.
form
;
import
com.esv.freight.file.common.validator.groups.ValidatorDelete
;
import
com.esv.freight.file.common.validator.groups.ValidatorInsert
;
import
com.esv.freight.file.common.validator.groups.ValidatorInsert
;
import
lombok.Data
;
import
lombok.Data
;
import
org.hibernate.validator.constraints.Length
;
import
org.hibernate.validator.constraints.Length
;
...
@@ -18,14 +19,18 @@ import javax.validation.constraints.NotBlank;
...
@@ -18,14 +19,18 @@ import javax.validation.constraints.NotBlank;
@Data
@Data
public
class
FileForm
{
public
class
FileForm
{
@Length
(
max
=
2
,
message
=
"参数
文件类型
长度不合法"
,
groups
=
{
ValidatorInsert
.
class
})
@Length
(
max
=
2
,
message
=
"参数
fileType
长度不合法"
,
groups
=
{
ValidatorInsert
.
class
})
@NotBlank
(
message
=
"参数
文件类型
不能为空"
,
groups
=
{
ValidatorInsert
.
class
})
@NotBlank
(
message
=
"参数
fileType
不能为空"
,
groups
=
{
ValidatorInsert
.
class
})
private
String
fileType
;
private
String
fileType
;
@NotBlank
(
message
=
"参数fileData不能为空"
,
groups
=
{
ValidatorInsert
.
class
})
@NotBlank
(
message
=
"参数fileData不能为空"
,
groups
=
{
ValidatorInsert
.
class
})
private
String
fileData
;
private
String
fileData
;
@Length
(
max
=
50
,
message
=
"参数
文件类型
长度不合法"
,
groups
=
{
ValidatorInsert
.
class
})
@Length
(
max
=
50
,
message
=
"参数
fileName
长度不合法"
,
groups
=
{
ValidatorInsert
.
class
})
@NotBlank
(
message
=
"参数fileName不能为空"
,
groups
=
{
ValidatorInsert
.
class
})
@NotBlank
(
message
=
"参数fileName不能为空"
,
groups
=
{
ValidatorInsert
.
class
})
private
String
fileName
;
private
String
fileName
;
@Length
(
max
=
64
,
message
=
"参数id长度不合法"
,
groups
=
{
ValidatorDelete
.
class
})
@NotBlank
(
message
=
"参数id不能为空"
,
groups
=
{
ValidatorDelete
.
class
})
private
String
id
;
}
}
src/main/java/com/esv/freight/file/module/upload/service/FileMetaService.java
View file @
e8956856
...
@@ -35,5 +35,14 @@ public interface FileMetaService extends IService<FileMetaEntity> {
...
@@ -35,5 +35,14 @@ public interface FileMetaService extends IService<FileMetaEntity> {
**/
**/
void
directDownload
(
String
id
,
HttpServletResponse
response
);
void
directDownload
(
String
id
,
HttpServletResponse
response
);
/**
* description 文件删除
* param [fileForm]
* return void
* author Administrator
* createTime 2020/04/14 19:43
**/
void
deleteFile
(
FileForm
fileForm
)
throws
EException
;
}
}
src/main/java/com/esv/freight/file/module/upload/service/impl/FileMetaServiceImpl.java
View file @
e8956856
...
@@ -2,6 +2,7 @@ package com.esv.freight.file.module.upload.service.impl;
...
@@ -2,6 +2,7 @@ package com.esv.freight.file.module.upload.service.impl;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.esv.freight.file.common.constants.DbDeletedEnum
;
import
com.esv.freight.file.common.exception.EException
;
import
com.esv.freight.file.common.exception.EException
;
import
com.esv.freight.file.common.util.AESSecretUtils
;
import
com.esv.freight.file.common.util.AESSecretUtils
;
import
com.esv.freight.file.module.upload.dao.FileMetaDao
;
import
com.esv.freight.file.module.upload.dao.FileMetaDao
;
...
@@ -36,6 +37,7 @@ import java.io.IOException;
...
@@ -36,6 +37,7 @@ import java.io.IOException;
import
java.io.InputStream
;
import
java.io.InputStream
;
import
java.io.OutputStream
;
import
java.io.OutputStream
;
import
java.util.Base64
;
import
java.util.Base64
;
import
java.util.Date
;
@Service
(
"fileMetaService"
)
@Service
(
"fileMetaService"
)
...
@@ -187,6 +189,42 @@ public class FileMetaServiceImpl extends ServiceImpl<FileMetaDao, FileMetaEntity
...
@@ -187,6 +189,42 @@ public class FileMetaServiceImpl extends ServiceImpl<FileMetaDao, FileMetaEntity
}
}
}
}
@Override
public
void
deleteFile
(
FileForm
fileForm
)
throws
EException
{
// 校验文件是否存在
String
fileId
=
fileForm
.
getId
();
FileMetaEntity
queryEntity
=
new
FileMetaEntity
();
queryEntity
.
setFileId
(
fileId
);
QueryWrapper
<
FileMetaEntity
>
queryWrapper
=
new
QueryWrapper
<>();
queryWrapper
.
setEntity
(
queryEntity
);
FileMetaEntity
fileMetaEntity
=
this
.
getOne
(
queryWrapper
);
if
(
null
==
fileMetaEntity
)
{
throw
new
EException
(
1001
,
"文件不存在"
);
}
// 逻辑删除MySQL记录
FileMetaEntity
updateEntity
=
new
FileMetaEntity
();
updateEntity
.
setDeleted
(
DbDeletedEnum
.
YES
.
getCode
());
updateEntity
.
setDeleteTime
(
new
Date
());
updateEntity
.
setFileId
(
fileId
);
// FileMetaEntity updateWrapperEntity = new FileMetaEntity();
// updateWrapperEntity.setDeleted(DbDeletedEnum.NO.getCode());
// QueryWrapper<FileMetaEntity> updateWrapper = new QueryWrapper<>(updateWrapperEntity);
// int flag = this.baseMapper.update(updateEntity, updateWrapper);
int
flag
=
this
.
baseMapper
.
logicDelete
(
updateEntity
);
if
(
0
==
flag
)
{
throw
new
EException
(
"文件删除失败"
);
}
else
{
// 不论MongoDB是否删除,都认为删除请求成功
try
{
deleteMongoFile
(
fileId
);
}
catch
(
Exception
e
)
{
log
.
error
(
"删除文件数据时发生错误,文件id={}"
,
fileId
);
log
.
error
(
e
.
getMessage
(),
e
);
}
}
}
/**
/**
* description 删除MongoDB文件
* description 删除MongoDB文件
* param [id]
* param [id]
...
...
src/main/resources/mapper/upload/FileMetaDao.xml
View file @
e8956856
...
@@ -17,5 +17,12 @@
...
@@ -17,5 +17,12 @@
<result
property=
"deleteTime"
column=
"delete_time"
/>
<result
property=
"deleteTime"
column=
"delete_time"
/>
</resultMap>
</resultMap>
<update
id=
"logicDelete"
parameterType=
"com.esv.freight.file.module.upload.entity.FileMetaEntity"
>
update base_file_meta
set deleted = #{deleted},
delete_time = #{deleteTime}
where file_id = #{fileId}
and deleted = false
</update>
</mapper>
</mapper>
\ No newline at end of file
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