记得上下班打卡 | git大法好,push需谨慎
Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
liquidnet-bus-v1
Project
Project
Details
Activity
Releases
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
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
董敬伟
liquidnet-bus-v1
Commits
ea655e42
Commit
ea655e42
authored
Jul 12, 2021
by
jiangxiulong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
上传增加记录
parent
f9261b37
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
161 additions
and
10 deletions
+161
-10
UploadVo.java
...iquidnet/service/kylin/dto/vo/basicServices/UploadVo.java
+3
-1
FilesUtils.java
...main/java/com/liquidnet/commons/lang/util/FilesUtils.java
+37
-6
PlatformOssFiles.java
.../com/liquidnet/service/kylin/entity/PlatformOssFiles.java
+47
-0
PlatformOssFilesMapper.java
...iquidnet/service/kylin/mapper/PlatformOssFilesMapper.java
+16
-0
db_kylin_structure.sql
.../liquidnet-service-kylin-impl/docu/db_kylin_structure.sql
+20
-0
AlOssController.java
...ce/platform/controller/basicServices/AlOssController.java
+38
-3
No files found.
liquidnet-bus-api/liquidnet-service-kylin-api/src/main/java/com/liquidnet/service/kylin/dto/vo/basicServices/UploadVo.java
View file @
ea655e42
...
...
@@ -20,6 +20,8 @@ import java.io.Serializable;
public
class
UploadVo
implements
Serializable
{
@ApiModelProperty
(
value
=
"上传后的地址"
)
private
String
uploadPath
;
private
String
ossPath
;
private
String
contentType
;
private
Integer
size
;
}
liquidnet-bus-common/liquidnet-common-base/src/main/java/com/liquidnet/commons/lang/util/FilesUtils.java
View file @
ea655e42
...
...
@@ -2,10 +2,9 @@ package com.liquidnet.commons.lang.util;
import
org.springframework.web.multipart.MultipartFile
;
import
java.io.FileOutputStream
;
import
java.io.InputStream
;
import
java.io.OutputStream
;
import
java.io.File
;
import
java.io.*
;
import
java.math.BigInteger
;
import
java.security.MessageDigest
;
/**
* aloss 上传MultipartFile to File
...
...
@@ -56,8 +55,40 @@ public class FilesUtils {
*/
public
static
void
delteTempFile
(
File
file
)
{
if
(
file
!=
null
)
{
File
del
=
new
File
(
file
.
toURI
());
del
.
delete
();
file
.
delete
();
}
}
/**
* 获取文件的md5值
* @param file 文件
* @return 返回文件的md5值字符串
*/
public
static
String
getFileMD5
(
File
file
)
{
if
(!
file
.
isFile
())
{
return
null
;
}
MessageDigest
digest
=
null
;
FileInputStream
in
=
null
;
byte
buffer
[]
=
new
byte
[
8192
];
int
len
;
try
{
digest
=
MessageDigest
.
getInstance
(
"MD5"
);
in
=
new
FileInputStream
(
file
);
while
((
len
=
in
.
read
(
buffer
))
!=
-
1
)
{
digest
.
update
(
buffer
,
0
,
len
);
}
BigInteger
bigInt
=
new
BigInteger
(
1
,
digest
.
digest
());
return
bigInt
.
toString
(
16
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
return
null
;
}
finally
{
try
{
in
.
close
();
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
}
}
...
...
liquidnet-bus-do/liquidnet-service-kylin-do/src/main/java/com/liquidnet/service/kylin/entity/PlatformOssFiles.java
0 → 100644
View file @
ea655e42
package
com
.
liquidnet
.
service
.
kylin
.
entity
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
java.io.Serializable
;
/**
* <p>
* OSS上传 模型
* </p>
*
* @author jiangxiulong
* @since 2021-07-12
*/
@Data
@EqualsAndHashCode
(
callSuper
=
false
)
public
class
PlatformOssFiles
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
@TableId
(
value
=
"mid"
,
type
=
IdType
.
AUTO
)
private
Integer
mid
;
private
String
ossFilesId
;
private
String
fileName
;
private
String
ossPath
;
private
String
contentType
;
private
Integer
size
;
private
String
md5str
;
private
String
uploaderUid
;
private
String
uploaderName
;
/**
* 创建时间
*/
private
String
createdAt
;
/**
* 修改时间
*/
private
String
updatedAt
;
}
liquidnet-bus-do/liquidnet-service-kylin-do/src/main/java/com/liquidnet/service/kylin/mapper/PlatformOssFilesMapper.java
0 → 100644
View file @
ea655e42
package
com
.
liquidnet
.
service
.
kylin
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.liquidnet.service.kylin.entity.PlatformOssFiles
;
/**
* <p>
* OSS上传 Mapper 接口 处理数据库
* </p>
*
* @author jiangxiulong
* @since 2021-07-12
*/
public
interface
PlatformOssFilesMapper
extends
BaseMapper
<
PlatformOssFiles
>
{
}
liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-impl/docu/db_kylin_structure.sql
View file @
ea655e42
...
...
@@ -960,3 +960,23 @@ CREATE TABLE `kylin_zhengzai_app_versions`
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
utf8mb4
COLLATE
utf8mb4_unicode_ci
COMMENT
'正在现场app版本控制'
;
drop
TABLE
if
exists
`platform_oss_files`
;
create
table
platform_oss_files
(
`mid`
int
(
11
)
unsigned
NOT
NULL
AUTO_INCREMENT
,
`oss_files_id`
varchar
(
255
)
NOT
NULL
DEFAULT
''
COMMENT
'oss_files_id'
,
`file_name`
varchar
(
255
)
NOT
NULL
DEFAULT
''
COMMENT
'源文件名称'
,
`content_type`
varchar
(
255
)
NOT
NULL
DEFAULT
''
COMMENT
'文件类型'
,
`size`
int
NOT
NULL
DEFAULT
0
COMMENT
'文件大小'
,
`md5str`
varchar
(
255
)
NOT
NULL
DEFAULT
''
COMMENT
'md5值判断文件是否相同'
,
`oss_path`
varchar
(
255
)
NOT
NULL
DEFAULT
''
COMMENT
'文件地址(阿里oss)'
,
`uploader_uid`
varchar
(
255
)
NOT
NULL
DEFAULT
''
COMMENT
'上传人id'
,
`uploader_name`
varchar
(
255
)
NOT
NULL
DEFAULT
''
COMMENT
'上传人姓名'
,
`created_at`
timestamp
NULL
DEFAULT
NULL
,
`updated_at`
timestamp
NULL
DEFAULT
NULL
,
KEY
`kylin_oss_files_id_index`
(
`oss_files_id`
),
PRIMARY
KEY
(
`mid`
)
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
utf8mb4
COLLATE
utf8mb4_unicode_ci
COMMENT
'阿里云OSS上传记录'
;
liquidnet-bus-service/liquidnet-service-platform/liquidnet-service-platform-impl/src/main/java/com/liquidnet/service/platform/controller/basicServices/AlOssController.java
View file @
ea655e42
...
...
@@ -3,20 +3,26 @@ package com.liquidnet.service.platform.controller.basicServices;
import
com.aliyun.oss.OSS
;
import
com.aliyun.oss.OSSClientBuilder
;
import
com.aliyun.oss.model.PutObjectRequest
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.liquidnet.commons.lang.util.DateUtil
;
import
com.liquidnet.commons.lang.util.FilesUtils
;
import
com.liquidnet.commons.lang.util.IDGenerator
;
import
com.liquidnet.service.kylin.dto.vo.basicServices.UploadVo
;
import
com.liquidnet.service.kylin.entity.PlatformOssFiles
;
import
com.liquidnet.service.kylin.mapper.PlatformOssFilesMapper
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiImplicitParam
;
import
io.swagger.annotations.ApiImplicitParams
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.core.io.Resource
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.multipart.MultipartFile
;
import
java.io.File
;
import
java.sql.Wrapper
;
import
java.time.LocalDateTime
;
import
java.util.HashMap
;
import
java.util.UUID
;
/**
...
...
@@ -40,6 +46,9 @@ public class AlOssController {
@Value
(
"${liquidnet.al-oss.accessKeySecret}"
)
private
String
accessKeySecret
;
@Autowired
private
PlatformOssFilesMapper
platformOssFilesMapper
;
@PostMapping
(
"/upload"
)
@ApiOperation
(
"阿里云上传"
)
@ApiImplicitParams
({
...
...
@@ -57,6 +66,17 @@ public class AlOssController {
return
null
;
}
// file md5
String
fileMD5
=
FilesUtils
.
getFileMD5
(
file
);
PlatformOssFiles
platformOssFiles
=
platformOssFilesMapper
.
selectOne
(
Wrappers
.
lambdaQuery
(
PlatformOssFiles
.
class
).
eq
(
PlatformOssFiles:
:
getMd5str
,
fileMD5
));
if
(
null
!=
platformOssFiles
)
{
UploadVo
uploadVo
=
new
UploadVo
();
uploadVo
.
setOssPath
(
platformOssFiles
.
getOssPath
());
uploadVo
.
setSize
(
platformOssFiles
.
getSize
());
uploadVo
.
setContentType
(
platformOssFiles
.
getContentType
());
return
uploadVo
;
}
String
filename
=
files
.
getResource
().
getFilename
();
// time.jpeg
//这里文件名用了uuid 防止重复,可以根据自己的需要来写
String
uploadName
=
UUID
.
randomUUID
()
+
filename
.
substring
(
filename
.
lastIndexOf
(
"."
));
// 078a77e0-cf80-481b-824c-5935247cff15.jpeg
...
...
@@ -70,10 +90,25 @@ public class AlOssController {
ossClient
.
putObject
(
putObjectRequest
);
ossClient
.
shutdown
();
file
.
delete
();
FilesUtils
.
delteTempFile
(
file
);
// 删除临时文件
// 入库
PlatformOssFiles
platformOssFilesDate
=
new
PlatformOssFiles
();
String
ossFilesId
=
IDGenerator
.
nextSnowId
();
platformOssFilesDate
.
setOssFilesId
(
ossFilesId
);
platformOssFilesDate
.
setOssPath
(
uploadpath
);
platformOssFilesDate
.
setFileName
(
filename
);
platformOssFilesDate
.
setContentType
(
files
.
getContentType
());
platformOssFilesDate
.
setSize
((
int
)
files
.
getSize
());
platformOssFilesDate
.
setMd5str
(
fileMD5
);
platformOssFilesDate
.
setCreatedAt
(
DateUtil
.
getNowTime
());
platformOssFilesMapper
.
insert
(
platformOssFilesDate
);
// 返回值
UploadVo
uploadVo
=
new
UploadVo
();
uploadVo
.
setUploadPath
(
uploadpath
);
uploadVo
.
setOssPath
(
platformOssFilesDate
.
getOssPath
());
uploadVo
.
setSize
(
platformOssFilesDate
.
getSize
());
uploadVo
.
setContentType
(
platformOssFilesDate
.
getContentType
());
return
uploadVo
;
}
}
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