Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
C
chnmuseum-party
Project
Project
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
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
liqin
chnmuseum-party
Commits
bedcbc13
Commit
bedcbc13
authored
Mar 25, 2021
by
liqin
💬
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
bug fixed
parent
1563cc20
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
288 additions
and
105 deletions
+288
-105
FastDFSUtils.java
...cn/wisenergy/chnmuseum/party/common/dfs/FastDFSUtils.java
+3
-3
CopyrightOwnerTypeEnum.java
.../chnmuseum/party/common/enums/CopyrightOwnerTypeEnum.java
+12
-0
AudioVo.java
.../java/cn/wisenergy/chnmuseum/party/common/vo/AudioVo.java
+4
-0
VideoVo.java
.../java/cn/wisenergy/chnmuseum/party/common/vo/VideoVo.java
+4
-0
Asset.java
src/main/java/cn/wisenergy/chnmuseum/party/model/Asset.java
+7
-12
CopyrightOwner.java
...va/cn/wisenergy/chnmuseum/party/model/CopyrightOwner.java
+1
-1
ExhibitionBoard.java
...a/cn/wisenergy/chnmuseum/party/model/ExhibitionBoard.java
+25
-15
LearningContent.java
...a/cn/wisenergy/chnmuseum/party/model/LearningContent.java
+6
-11
AssetController.java
...nergy/chnmuseum/party/web/controller/AssetController.java
+26
-11
AssetTypeController.java
...y/chnmuseum/party/web/controller/AssetTypeController.java
+7
-4
CopyrightOwnerController.java
...museum/party/web/controller/CopyrightOwnerController.java
+11
-8
ExhibitionBoardCatController.java
...um/party/web/controller/ExhibitionBoardCatController.java
+8
-5
ExhibitionBoardController.java
...useum/party/web/controller/ExhibitionBoardController.java
+107
-25
FileUploadController.java
.../chnmuseum/party/web/controller/FileUploadController.java
+67
-10
No files found.
src/main/java/cn/wisenergy/chnmuseum/party/common/dfs/FastDFSUtils.java
View file @
bedcbc13
package
cn
.
wisenergy
.
chnmuseum
.
party
.
common
.
dfs
;
import
cn.wisenergy.chnmuseum.party.common.mvc.InterfaceException
;
import
cn.wisenergy.chnmuseum.party.common.util.CopyStreamUtils
;
import
cn.wisenergy.chnmuseum.party.common.util.FileTypeUtil
;
import
cn.wisenergy.chnmuseum.party.common.util.FileUtil
;
import
cn.wisenergy.chnmuseum.party.common.util.*
;
import
com.github.tobato.fastdfs.domain.fdfs.FileInfo
;
import
com.github.tobato.fastdfs.domain.fdfs.MetaData
;
import
com.github.tobato.fastdfs.domain.fdfs.StorePath
;
...
...
@@ -25,6 +23,7 @@ import java.io.ByteArrayInputStream;
import
java.io.ByteArrayOutputStream
;
import
java.io.IOException
;
import
java.io.InputStream
;
import
java.time.LocalDateTime
;
import
java.util.HashMap
;
import
java.util.HashSet
;
import
java.util.Map
;
...
...
@@ -59,6 +58,7 @@ public class FastDFSUtils {
metaDataSet
.
add
(
new
MetaData
(
"fileName"
,
fileName
));
metaDataSet
.
add
(
new
MetaData
(
"fileSize"
,
size
+
""
));
metaDataSet
.
add
(
new
MetaData
(
"fileExtName"
,
FilenameUtils
.
getExtension
(
fileName
)));
metaDataSet
.
add
(
new
MetaData
(
"updateTime"
,
TimeUtils
.
format
(
LocalDateTime
.
now
(),
TimeUtils
.
FORMAT_ONE
)));
final
StorePath
storePath
=
storageClient
.
uploadFile
(
inputStream
,
size
,
FilenameUtils
.
getExtension
(
fileName
),
metaDataSet
);
return
dfsFileAccessBasePath
+
"/"
+
storePath
.
getFullPath
();
}
...
...
src/main/java/cn/wisenergy/chnmuseum/party/common/enums/CopyrightOwnerTypeEnum.java
View file @
bedcbc13
package
cn
.
wisenergy
.
chnmuseum
.
party
.
common
.
enums
;
import
java.util.Arrays
;
import
java.util.stream.Collectors
;
/**
* 版权方类型枚举
*/
...
...
@@ -7,6 +10,8 @@ public enum CopyrightOwnerTypeEnum {
ASSET
(
1
,
"视频"
),
EXHIBITION_BOARD
(
2
,
"展板"
);
public
String
name
;
public
static
String
names
;
// 错误编码
private
Integer
code
;
...
...
@@ -18,6 +23,13 @@ public enum CopyrightOwnerTypeEnum {
this
.
type
=
type
;
}
public
static
String
getName
()
{
if
(
names
==
null
)
{
names
=
Arrays
.
stream
(
CopyrightOwnerTypeEnum
.
values
()).
map
(
Enum:
:
name
).
collect
(
Collectors
.
joining
(
","
));
}
return
names
;
}
public
Integer
getCode
()
{
return
code
;
}
...
...
src/main/java/cn/wisenergy/chnmuseum/party/common/vo/AudioVo.java
View file @
bedcbc13
...
...
@@ -15,10 +15,14 @@ public class AudioVo {
private
String
fileExtName
;
private
String
fileType
;
private
Long
fileSize
;
private
String
fileUrl
;
private
String
language
;
private
String
updateTime
;
}
src/main/java/cn/wisenergy/chnmuseum/party/common/vo/VideoVo.java
View file @
bedcbc13
...
...
@@ -15,12 +15,16 @@ public class VideoVo {
private
String
fileExtName
;
private
String
fileType
;
private
Long
fileSize
;
private
String
fileUrl
;
private
String
language
;
private
String
updateTime
;
private
String
md5
;
}
...
...
src/main/java/cn/wisenergy/chnmuseum/party/model/Asset.java
View file @
bedcbc13
...
...
@@ -62,18 +62,13 @@ public class Asset implements Serializable {
@NotBlank
(
message
=
"下载链接不能为空"
,
groups
=
{
Add
.
class
,
Update
.
class
})
private
String
videoUrl
;
@ApiModelProperty
(
"新增审核状态"
)
@TableField
(
"audit_status_add"
)
@NotBlank
(
message
=
"新增审核状态不能为空"
,
groups
=
{
Add
.
class
,
Update
.
class
})
private
String
auditStatusAdd
;
@ApiModelProperty
(
"修改审核状态"
)
@TableField
(
"audit_status_edit"
)
private
String
auditStatusEdit
;
@ApiModelProperty
(
"删除审核状态"
)
@TableField
(
"audit_status_delete"
)
private
String
auditStatusDelete
;
@ApiModelProperty
(
"审核状态"
)
@TableField
(
"audit_status"
)
private
String
auditStatus
;
@ApiModelProperty
(
"是否上架"
)
@TableField
(
"is_published"
)
private
Boolean
published
;
@ApiModelProperty
(
"创建日期"
)
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
...
...
src/main/java/cn/wisenergy/chnmuseum/party/model/CopyrightOwner.java
View file @
bedcbc13
...
...
@@ -45,7 +45,7 @@ public class CopyrightOwner implements Serializable {
@NotBlank
(
message
=
"版权方名称不能为空"
,
groups
=
{
Add
.
class
,
Update
.
class
})
private
String
name
;
@ApiModelProperty
(
"版权方类型
"
)
@ApiModelProperty
(
value
=
"版权方类型"
,
allowableValues
=
"ASSET, EXHIBITION_BOARD
"
)
@TableField
(
"owner_type"
)
@NotBlank
(
message
=
"版权方类型不能为空"
,
groups
=
{
Add
.
class
,
Update
.
class
})
private
String
ownerType
;
...
...
src/main/java/cn/wisenergy/chnmuseum/party/model/ExhibitionBoard.java
View file @
bedcbc13
...
...
@@ -12,6 +12,7 @@ import javax.validation.constraints.NotBlank;
import
javax.validation.constraints.NotNull
;
import
java.io.Serializable
;
import
java.time.LocalDateTime
;
import
java.util.List
;
/**
* <p>
...
...
@@ -44,7 +45,7 @@ public class ExhibitionBoard implements Serializable {
private
String
name
;
@ApiModelProperty
(
"展板版权方ID"
)
@TableField
(
"board_copyright_owner_id"
)
@TableField
(
value
=
"board_copyright_owner_id"
,
updateStrategy
=
FieldStrategy
.
IGNORED
)
private
String
boardCopyrightOwnerId
;
@ApiModelProperty
(
"展板分类ID"
)
...
...
@@ -67,7 +68,7 @@ public class ExhibitionBoard implements Serializable {
private
String
introduction
;
@ApiModelProperty
(
"视频版权方ID"
)
@TableField
(
"asset_copyright_owner_id"
)
@TableField
(
value
=
"asset_copyright_owner_id"
,
updateStrategy
=
FieldStrategy
.
IGNORED
)
private
String
assetCopyrightOwnerId
;
@ApiModelProperty
(
"视频类别ID"
)
...
...
@@ -81,7 +82,6 @@ public class ExhibitionBoard implements Serializable {
@ApiModelProperty
(
"导览音频URL"
)
@TableField
(
"guide_audio_url"
)
@NotBlank
(
message
=
"导览音频URL不能为空"
,
groups
=
{
Add
.
class
,
Update
.
class
})
private
String
guideAudioUrl
;
@ApiModelProperty
(
"参考资料文件夹"
)
...
...
@@ -91,21 +91,15 @@ public class ExhibitionBoard implements Serializable {
@ApiModelProperty
(
"参考资料URL"
)
@TableField
(
"ref_material_url"
)
@NotBlank
(
message
=
"参考资料URL不能为空"
,
groups
=
{
Add
.
class
,
Update
.
class
})
private
String
refMaterialUrl
;
@ApiModelProperty
(
"新增审核状态"
)
@TableField
(
"audit_status_add"
)
@NotBlank
(
message
=
"新增审核状态不能为空"
,
groups
=
{
Add
.
class
,
Update
.
class
})
private
String
auditStatusAdd
;
@ApiModelProperty
(
"审核状态"
)
@TableField
(
"audit_status"
)
private
String
auditStatus
;
@ApiModelProperty
(
"修改审核状态"
)
@TableField
(
"audit_status_edit"
)
private
String
auditStatusEdit
;
@ApiModelProperty
(
"删除审核状态"
)
@TableField
(
"audit_status_delete"
)
private
String
auditStatusDelete
;
@ApiModelProperty
(
"是否上架"
)
@TableField
(
"is_published"
)
private
Boolean
published
;
@ApiModelProperty
(
"创建日期"
)
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
...
...
@@ -115,4 +109,20 @@ public class ExhibitionBoard implements Serializable {
@TableField
(
value
=
"update_time"
,
fill
=
FieldFill
.
INSERT_UPDATE
)
private
LocalDateTime
updateTime
;
@ApiModelProperty
(
"展板版权方名称"
)
@TableField
(
exist
=
false
)
private
String
boardCopyrightOwnerName
;
@ApiModelProperty
(
"展板分类名称"
)
@TableField
(
exist
=
false
)
private
String
exhibitionBoardCatName
;
@ApiModelProperty
(
"音频URL列表"
)
@TableField
(
exist
=
false
)
private
List
<
String
>
audioUrlList
;
@ApiModelProperty
(
"参考资料URL列表"
)
@TableField
(
exist
=
false
)
private
List
<
String
>
materialUrlList
;
}
src/main/java/cn/wisenergy/chnmuseum/party/model/LearningContent.java
View file @
bedcbc13
...
...
@@ -58,18 +58,13 @@ public class LearningContent implements Serializable {
@NotBlank
(
message
=
"学习项目ID不能为空"
,
groups
=
{
Add
.
class
,
Update
.
class
})
private
String
learningProjectId
;
@ApiModelProperty
(
"新增审核状态"
)
@TableField
(
"audit_status_add"
)
@NotBlank
(
message
=
"新增审核状态不能为空"
,
groups
=
{
Add
.
class
,
Update
.
class
})
private
String
auditStatusAdd
;
@ApiModelProperty
(
"审核状态"
)
@TableField
(
"audit_status"
)
private
String
auditStatus
;
@ApiModelProperty
(
"修改审核状态"
)
@TableField
(
"audit_status_edit"
)
private
String
auditStatusEdit
;
@ApiModelProperty
(
"删除审核状态"
)
@TableField
(
"audit_status_delete"
)
private
String
auditStatusDelete
;
@ApiModelProperty
(
"是否上架"
)
@TableField
(
"is_published"
)
private
Boolean
published
;
@ApiModelProperty
(
"排序顺序"
)
@TableField
(
"sortorder"
)
...
...
src/main/java/cn/wisenergy/chnmuseum/party/web/controller/AssetController.java
View file @
bedcbc13
...
...
@@ -2,6 +2,7 @@ package cn.wisenergy.chnmuseum.party.web.controller;
import
cn.wisenergy.chnmuseum.party.common.dfs.FastDFSUtils
;
import
cn.wisenergy.chnmuseum.party.common.enums.AuditStatusEnum
;
import
cn.wisenergy.chnmuseum.party.common.enums.FileTypeEnum
;
import
cn.wisenergy.chnmuseum.party.common.validator.groups.Add
;
import
cn.wisenergy.chnmuseum.party.common.validator.groups.Update
;
import
cn.wisenergy.chnmuseum.party.common.vo.GenericPageParam
;
...
...
@@ -67,18 +68,24 @@ public class AssetController extends BaseController {
final
List
<
String
>
videoUrlList
=
asset
.
getVideoUrlList
();
for
(
String
videoUrl
:
videoUrlList
)
{
// 原始文件名
final
Set
<
MetaData
>
metaData
=
FastDFSUtils
.
getFileMetaData
(
videoUrl
);
String
fileName
=
metaData
.
stream
().
filter
(
x
->
"fileName"
.
equals
(
x
.
getName
())).
map
(
MetaData:
:
getValue
).
findFirst
().
get
();
Long
fileSize
=
metaData
.
stream
().
filter
(
x
->
"fileSize"
.
equals
(
x
.
getName
())).
map
(
MetaData:
:
getValue
).
map
(
Long:
:
parseLong
).
findFirst
().
get
();
String
fileExtName
=
metaData
.
stream
().
filter
(
x
->
"fileExtName"
.
equals
(
x
.
getName
())).
map
(
MetaData:
:
getValue
).
findFirst
().
get
();
String
updateTime
=
metaData
.
stream
().
filter
(
x
->
"updateTime"
.
equals
(
x
.
getName
())).
map
(
MetaData:
:
getValue
).
findFirst
().
get
();
String
md5
=
metaData
.
stream
().
filter
(
x
->
"MD5"
.
equals
(
x
.
getName
())).
map
(
MetaData:
:
getValue
).
findFirst
().
get
();
filesMetadata
.
add
(
VideoVo
.
builder
().
fileName
(
fileName
)
filesMetadata
.
add
(
VideoVo
.
builder
()
.
fileName
(
fileName
)
.
fileType
(
FileTypeEnum
.
VIDEO
.
name
())
.
fileExtName
(
fileExtName
)
.
fileSize
(
fileSize
).
fileUrl
(
videoUrl
).
md5
(
md5
).
build
());
.
fileSize
(
fileSize
)
.
fileUrl
(
videoUrl
)
.
updateTime
(
updateTime
)
.
md5
(
md5
).
build
());
}
asset
.
setVideoUrl
(
JSONObject
.
toJSONString
(
filesMetadata
));
asset
.
setAuditStatusAdd
(
AuditStatusEnum
.
TBC
.
name
());
asset
.
setAuditStatus
(
AuditStatusEnum
.
TBC
.
name
());
asset
.
setPublished
(
false
);
// 保存业务节点信息
boolean
result
=
assetService
.
save
(
asset
);
// 返回操作结果
...
...
@@ -99,13 +106,20 @@ public class AssetController extends BaseController {
String
fileName
=
metaData
.
stream
().
filter
(
x
->
"fileName"
.
equals
(
x
.
getName
())).
map
(
MetaData:
:
getValue
).
findFirst
().
get
();
Long
fileSize
=
metaData
.
stream
().
filter
(
x
->
"fileSize"
.
equals
(
x
.
getName
())).
map
(
MetaData:
:
getValue
).
map
(
Long:
:
parseLong
).
findFirst
().
get
();
String
fileExtName
=
metaData
.
stream
().
filter
(
x
->
"fileExtName"
.
equals
(
x
.
getName
())).
map
(
MetaData:
:
getValue
).
findFirst
().
get
();
String
updateTime
=
metaData
.
stream
().
filter
(
x
->
"updateTime"
.
equals
(
x
.
getName
())).
map
(
MetaData:
:
getValue
).
findFirst
().
get
();
String
md5
=
metaData
.
stream
().
filter
(
x
->
"MD5"
.
equals
(
x
.
getName
())).
map
(
MetaData:
:
getValue
).
findFirst
().
get
();
filesMetadata
.
add
(
VideoVo
.
builder
().
fileName
(
fileName
)
filesMetadata
.
add
(
VideoVo
.
builder
()
.
fileName
(
fileName
)
.
fileType
(
FileTypeEnum
.
VIDEO
.
name
())
.
fileExtName
(
fileExtName
)
.
fileSize
(
fileSize
).
fileUrl
(
videoUrl
).
md5
(
md5
).
build
());
.
fileSize
(
fileSize
)
.
fileUrl
(
videoUrl
)
.
updateTime
(
updateTime
)
.
md5
(
md5
).
build
());
}
asset
.
setVideoUrl
(
JSONObject
.
toJSONString
(
filesMetadata
));
asset
.
setAuditStatusAdd
(
AuditStatusEnum
.
TBC
.
name
());
asset
.
setAuditStatus
(
AuditStatusEnum
.
TBC
.
name
());
asset
.
setPublished
(
false
);
boolean
flag
=
assetService
.
updateById
(
asset
);
if
(
flag
)
{
return
getSuccessResult
();
...
...
@@ -138,6 +152,8 @@ public class AssetController extends BaseController {
@ApiImplicitParam
(
name
=
"id"
,
value
=
"标识ID"
,
paramType
=
"path"
,
dataType
=
"String"
)
})
public
Map
<
String
,
Object
>
deleteAsset
(
@PathVariable
(
"id"
)
String
id
)
{
// asset.setAuditStatus(AuditStatusEnum.TBC.name());
// asset.setPublished(false);
boolean
result
=
assetService
.
removeById
(
id
);
if
(
result
)
{
return
getSuccessResult
();
...
...
@@ -152,7 +168,7 @@ public class AssetController extends BaseController {
@ApiImplicitParam
(
name
=
"auditStatus"
,
value
=
"审核状态"
,
paramType
=
"query"
,
dataType
=
"String"
)
})
public
Map
<
String
,
Object
>
getAssetList
(
@RequestParam
(
value
=
"auditStatus"
,
defaultValue
=
"APPROVED_FINAL"
,
required
=
false
)
AuditStatusEnum
auditStatus
)
{
List
<
Asset
>
assetList
=
assetService
.
list
(
Wrappers
.<
Asset
>
lambdaQuery
().
eq
(
Asset:
:
getAuditStatus
Add
,
auditStatus
.
name
()
));
List
<
Asset
>
assetList
=
assetService
.
list
(
Wrappers
.<
Asset
>
lambdaQuery
().
eq
(
Asset:
:
getAuditStatus
,
auditStatus
.
name
()).
eq
(
Asset:
:
getPublished
,
true
));
return
getResult
(
assetList
);
}
...
...
@@ -193,9 +209,8 @@ public class AssetController extends BaseController {
queryWrapper
.
select
(
Asset:
:
getId
,
Asset:
:
getName
,
Asset:
:
getAuditStatusAdd
,
Asset:
:
getAuditStatusEdit
,
Asset:
:
getAuditStatusDelete
,
Asset:
:
getAuditStatus
,
Asset:
:
getPublished
,
Asset:
:
getAssetTypeId
,
Asset:
:
getAssetCopyrightOwnerId
,
Asset:
:
getCreateTime
,
...
...
src/main/java/cn/wisenergy/chnmuseum/party/web/controller/AssetTypeController.java
View file @
bedcbc13
...
...
@@ -26,6 +26,7 @@ import org.springframework.web.bind.annotation.*;
import
javax.annotation.Resource
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Set
;
import
java.util.stream.Collectors
;
/**
...
...
@@ -137,10 +138,12 @@ public class AssetTypeController extends BaseController {
LambdaQueryWrapper
<
Asset
>
lambdaQueryWrapper
=
Wrappers
.<
Asset
>
lambdaQuery
().
eq
(
Asset:
:
getAssetTypeId
,
assetType
.
getId
());
lambdaQueryWrapper
=
lambdaQueryWrapper
.
select
(
Asset:
:
getId
).
select
(
Asset:
:
getAssetCopyrightOwnerId
);
List
<
Asset
>
assetList
=
this
.
assetService
.
list
(
lambdaQueryWrapper
);
final
List
<
String
>
assetCopyrightOwnerIdList
=
assetList
.
stream
().
map
(
Asset:
:
getAssetCopyrightOwnerId
).
collect
(
Collectors
.
toList
());
List
<
CopyrightOwner
>
copyrightOwnerList
=
this
.
copyrightOwnerService
.
listByIds
(
assetCopyrightOwnerIdList
);
String
copyrightOwnerName
=
copyrightOwnerList
.
stream
().
map
(
CopyrightOwner:
:
getName
).
collect
(
Collectors
.
joining
(
"、"
));
assetType
.
setCopyrightOwnerName
(
copyrightOwnerName
);
if
(!
assetList
.
isEmpty
())
{
final
Set
<
String
>
assetCopyrightOwnerIdList
=
assetList
.
stream
().
map
(
Asset:
:
getAssetCopyrightOwnerId
).
collect
(
Collectors
.
toSet
());
List
<
CopyrightOwner
>
copyrightOwnerList
=
this
.
copyrightOwnerService
.
listByIds
(
assetCopyrightOwnerIdList
);
String
copyrightOwnerName
=
copyrightOwnerList
.
stream
().
map
(
CopyrightOwner:
:
getName
).
collect
(
Collectors
.
joining
(
"、"
));
assetType
.
setCopyrightOwnerName
(
copyrightOwnerName
);
}
}
return
getResult
(
page
);
}
...
...
src/main/java/cn/wisenergy/chnmuseum/party/web/controller/CopyrightOwnerController.java
View file @
bedcbc13
...
...
@@ -26,6 +26,7 @@ import javax.annotation.Resource;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Set
;
import
java.util.stream.Collectors
;
/**
...
...
@@ -60,8 +61,10 @@ public class CopyrightOwnerController extends BaseController {
@PostMapping
(
"/save"
)
@RequiresPermissions
(
"copyright:owner:save"
)
@ApiOperation
(
value
=
"添加版权方"
,
notes
=
"添加版权方"
)
public
Map
<
String
,
Object
>
saveCopyrightOwner
(
@Validated
(
value
=
{
Add
.
class
})
CopyrightOwner
copyrightOwner
,
@RequestParam
(
"copyrightOwnerType"
)
CopyrightOwnerTypeEnum
copyrightOwnerTypeEnum
)
{
copyrightOwner
.
setOwnerType
(
copyrightOwnerTypeEnum
.
name
());
public
Map
<
String
,
Object
>
saveCopyrightOwner
(
@Validated
(
value
=
{
Add
.
class
})
CopyrightOwner
copyrightOwner
//, @RequestParam("copyrightOwnerType") CopyrightOwnerTypeEnum copyrightOwnerTypeEnum
)
{
//copyrightOwner.setOwnerType(copyrightOwnerTypeEnum.name());
// 保存业务节点信息
boolean
result
=
copyrightOwnerService
.
save
(
copyrightOwner
);
...
...
@@ -189,16 +192,16 @@ public class CopyrightOwnerController extends BaseController {
Page
<
CopyrightOwner
>
page
=
this
.
copyrightOwnerService
.
page
(
getPage
(),
queryWrapper
);
for
(
CopyrightOwner
copyrightOwner
:
page
.
getRecords
())
{
if
(
CopyrightOwnerTypeEnum
.
ASSET
.
name
().
equals
(
genericPageParam
.
getOwnerType
()))
{
final
List
<
CopyrightOwnerAssetType
>
CopyrightOwnerAssetTypeList
=
this
.
copyrightOwnerAssetTypeService
.
list
(
Wrappers
.<
CopyrightOwnerAssetType
>
lambdaQuery
().
eq
(
CopyrightOwnerAssetType:
:
getCopyrightOwnerId
,
copyrightOwner
.
getId
()));
final
List
<
String
>
idList
=
CopyrightOwnerAssetTypeList
.
stream
().
map
(
CopyrightOwnerAssetType:
:
getAssetTypeId
).
collect
(
Collectors
.
toLis
t
());
List
<
CopyrightOwnerAssetType
>
CopyrightOwnerAssetTypeList
=
this
.
copyrightOwnerAssetTypeService
.
list
(
Wrappers
.<
CopyrightOwnerAssetType
>
lambdaQuery
().
eq
(
CopyrightOwnerAssetType:
:
getCopyrightOwnerId
,
copyrightOwner
.
getId
()));
Set
<
String
>
idList
=
CopyrightOwnerAssetTypeList
.
stream
().
map
(
CopyrightOwnerAssetType:
:
getAssetTypeId
).
collect
(
Collectors
.
toSe
t
());
List
<
AssetType
>
assetTypeList
=
this
.
assetTypeService
.
listByIds
(
idList
);
final
String
assetTypeNameList
=
assetTypeList
.
stream
().
map
(
AssetType:
:
getName
).
collect
(
Collectors
.
joining
(
"、"
));
String
assetTypeNameList
=
assetTypeList
.
stream
().
map
(
AssetType:
:
getName
).
collect
(
Collectors
.
joining
(
"、"
));
copyrightOwner
.
setAssetTypeNames
(
assetTypeNameList
);
}
else
if
(
CopyrightOwnerTypeEnum
.
EXHIBITION_BOARD
.
name
().
equals
(
genericPageParam
.
getOwnerType
()))
{
LambdaQueryWrapper
<
ExhibitionBoard
>
lambdaQueryWrapper
=
Wrappers
.<
ExhibitionBoard
>
lambdaQuery
().
eq
(
ExhibitionBoard:
:
getBoardCopyrightOwnerId
,
copyrightOwner
.
getId
());
final
List
<
ExhibitionBoard
>
exhibitionBoardList
=
this
.
exhibitionBoardService
.
list
(
lambdaQueryWrapper
);
final
List
<
String
>
assetTypeIdList
=
exhibitionBoardList
.
stream
().
map
(
ExhibitionBoard:
:
getAssetTypeId
).
collect
(
Collectors
.
toLis
t
());
final
List
<
AssetType
>
assetTypeList
=
this
.
assetTypeService
.
listByIds
(
assetTypeIdList
);
List
<
ExhibitionBoard
>
exhibitionBoardList
=
this
.
exhibitionBoardService
.
list
(
lambdaQueryWrapper
);
Set
<
String
>
assetTypeIdList
=
exhibitionBoardList
.
stream
().
map
(
ExhibitionBoard:
:
getAssetTypeId
).
collect
(
Collectors
.
toSe
t
());
List
<
AssetType
>
assetTypeList
=
this
.
assetTypeService
.
listByIds
(
assetTypeIdList
);
String
assetTypeNames
=
assetTypeList
.
stream
().
map
(
AssetType:
:
getName
).
collect
(
Collectors
.
joining
(
"、"
));
copyrightOwner
.
setAssetTypeNames
(
assetTypeNames
);
}
...
...
src/main/java/cn/wisenergy/chnmuseum/party/web/controller/ExhibitionBoardCatController.java
View file @
bedcbc13
...
...
@@ -29,6 +29,7 @@ import javax.annotation.Resource;
import
javax.validation.constraints.NotNull
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Set
;
import
java.util.stream.Collectors
;
/**
...
...
@@ -166,12 +167,14 @@ public class ExhibitionBoardCatController extends BaseController {
ExhibitionBoardCat:
:
getUpdateTime
);
Page
<
ExhibitionBoardCat
>
page
=
this
.
exhibitionBoardCatService
.
page
(
getPage
(),
queryWrapper
);
for
(
ExhibitionBoardCat
exhibitionBoardCat
:
page
.
getRecords
())
{
LambdaQueryWrapper
<
ExhibitionBoard
>
lambdaQueryWrapper
=
Wrappers
.<
ExhibitionBoard
>
lambdaQuery
().
le
(
ExhibitionBoard:
:
getExhibitionBoardCatId
,
exhibitionBoardCat
.
getId
());
LambdaQueryWrapper
<
ExhibitionBoard
>
lambdaQueryWrapper
=
Wrappers
.<
ExhibitionBoard
>
lambdaQuery
().
eq
(
ExhibitionBoard:
:
getExhibitionBoardCatId
,
exhibitionBoardCat
.
getId
());
List
<
ExhibitionBoard
>
exhibitionBoardList
=
this
.
exhibitionBoardService
.
list
(
lambdaQueryWrapper
);
List
<
String
>
boardCopyrightOwnerIdList
=
exhibitionBoardList
.
stream
().
map
(
ExhibitionBoard:
:
getBoardCopyrightOwnerId
).
collect
(
Collectors
.
toList
());
List
<
CopyrightOwner
>
copyrightOwnerList
=
this
.
copyrightOwnerService
.
listByIds
(
boardCopyrightOwnerIdList
);
String
copyrightOwnerNames
=
copyrightOwnerList
.
stream
().
map
(
CopyrightOwner:
:
getName
).
collect
(
Collectors
.
joining
(
"、"
));
exhibitionBoardCat
.
setCopyrightOwnerNames
(
copyrightOwnerNames
);
if
(!
exhibitionBoardList
.
isEmpty
())
{
Set
<
String
>
boardCopyrightOwnerIdList
=
exhibitionBoardList
.
stream
().
map
(
ExhibitionBoard:
:
getBoardCopyrightOwnerId
).
collect
(
Collectors
.
toSet
());
List
<
CopyrightOwner
>
copyrightOwnerList
=
this
.
copyrightOwnerService
.
listByIds
(
boardCopyrightOwnerIdList
);
String
copyrightOwnerNames
=
copyrightOwnerList
.
stream
().
map
(
CopyrightOwner:
:
getName
).
collect
(
Collectors
.
joining
(
"、"
));
exhibitionBoardCat
.
setCopyrightOwnerNames
(
copyrightOwnerNames
);
}
}
return
getResult
(
page
);
}
...
...
src/main/java/cn/wisenergy/chnmuseum/party/web/controller/ExhibitionBoardController.java
View file @
bedcbc13
package
cn
.
wisenergy
.
chnmuseum
.
party
.
web
.
controller
;
import
cn.wisenergy.chnmuseum.party.common.dfs.FastDFSUtils
;
import
cn.wisenergy.chnmuseum.party.common.enums.AuditStatusEnum
;
import
cn.wisenergy.chnmuseum.party.common.enums.FileTypeEnum
;
import
cn.wisenergy.chnmuseum.party.common.validator.groups.Add
;
import
cn.wisenergy.chnmuseum.party.common.validator.groups.Update
;
import
cn.wisenergy.chnmuseum.party.common.vo.AudioVo
;
import
cn.wisenergy.chnmuseum.party.common.vo.GenericPageParam
;
import
cn.wisenergy.chnmuseum.party.model.ExhibitionBoard
;
import
cn.wisenergy.chnmuseum.party.service.CopyrightOwnerService
;
import
cn.wisenergy.chnmuseum.party.service.ExhibitionBoardCatService
;
import
cn.wisenergy.chnmuseum.party.service.ExhibitionBoardService
;
import
cn.wisenergy.chnmuseum.party.web.controller.base.BaseController
;
import
com.alibaba.fastjson.JSONObject
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.github.tobato.fastdfs.domain.fdfs.MetaData
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiImplicitParam
;
import
io.swagger.annotations.ApiImplicitParams
;
...
...
@@ -23,8 +30,10 @@ import org.springframework.web.bind.annotation.*;
import
javax.annotation.Resource
;
import
javax.validation.constraints.NotNull
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Set
;
/**
* <pre>
...
...
@@ -42,26 +51,55 @@ public class ExhibitionBoardController extends BaseController {
@Resource
private
ExhibitionBoardService
exhibitionBoardService
;
@PostMapping
(
"/batchSave"
)
@RequiresPermissions
(
"exhibition:board:batch:save"
)
@ApiOperation
(
value
=
"批量添加展板"
,
notes
=
"批量添加展板"
)
public
Map
<
String
,
Object
>
batchSaveExhibitionBoard
(
@Validated
(
value
=
{
Add
.
class
})
List
<
ExhibitionBoard
>
exhibitionBoardList
)
{
// 保存业务节点信息
boolean
result
=
exhibitionBoardService
.
saveBatch
(
exhibitionBoardList
);
// 返回操作结果
if
(
result
)
{
return
getSuccessResult
();
}
else
{
// 保存失败
return
getFailResult
();
}
}
@Resource
private
ExhibitionBoardCatService
exhibitionBoardCatService
;
@Resource
private
CopyrightOwnerService
copyrightOwnerService
;
@PostMapping
(
"/save"
)
@RequiresPermissions
(
"exhibition:board:save"
)
@ApiOperation
(
value
=
"添加展板"
,
notes
=
"添加展板"
)
public
Map
<
String
,
Object
>
saveExhibitionBoard
(
@Validated
(
value
=
{
Add
.
class
})
ExhibitionBoard
exhibitionBoard
)
{
final
List
<
AudioVo
>
filesMetadata
=
new
ArrayList
<>(
exhibitionBoard
.
getAudioUrlList
().
size
());
final
List
<
String
>
audioUrlList
=
exhibitionBoard
.
getAudioUrlList
();
for
(
String
audioUrl
:
audioUrlList
)
{
final
Set
<
MetaData
>
metaData
=
FastDFSUtils
.
getFileMetaData
(
audioUrl
);
String
fileName
=
metaData
.
stream
().
filter
(
x
->
"fileName"
.
equals
(
x
.
getName
())).
map
(
MetaData:
:
getValue
).
findFirst
().
get
();
Long
fileSize
=
metaData
.
stream
().
filter
(
x
->
"fileSize"
.
equals
(
x
.
getName
())).
map
(
MetaData:
:
getValue
).
map
(
Long:
:
parseLong
).
findFirst
().
get
();
String
fileExtName
=
metaData
.
stream
().
filter
(
x
->
"fileExtName"
.
equals
(
x
.
getName
())).
map
(
MetaData:
:
getValue
).
findFirst
().
get
();
String
updateTime
=
metaData
.
stream
().
filter
(
x
->
"updateTime"
.
equals
(
x
.
getName
())).
map
(
MetaData:
:
getValue
).
findFirst
().
get
();
filesMetadata
.
add
(
AudioVo
.
builder
()
.
fileName
(
fileName
)
.
fileType
(
FileTypeEnum
.
AUDIO
.
name
())
.
fileExtName
(
fileExtName
)
.
fileSize
(
fileSize
)
.
fileUrl
(
audioUrl
)
.
updateTime
(
updateTime
)
.
build
());
}
exhibitionBoard
.
setGuideAudioUrl
(
JSONObject
.
toJSONString
(
audioUrlList
));
final
List
<
String
>
materialUrlList
=
exhibitionBoard
.
getMaterialUrlList
();
for
(
String
materialUrl
:
materialUrlList
)
{
// 原始文件名
final
Set
<
MetaData
>
metaData
=
FastDFSUtils
.
getFileMetaData
(
materialUrl
);
String
fileName
=
metaData
.
stream
().
filter
(
x
->
"fileName"
.
equals
(
x
.
getName
())).
map
(
MetaData:
:
getValue
).
findFirst
().
get
();
Long
fileSize
=
metaData
.
stream
().
filter
(
x
->
"fileSize"
.
equals
(
x
.
getName
())).
map
(
MetaData:
:
getValue
).
map
(
Long:
:
parseLong
).
findFirst
().
get
();
String
fileExtName
=
metaData
.
stream
().
filter
(
x
->
"fileExtName"
.
equals
(
x
.
getName
())).
map
(
MetaData:
:
getValue
).
findFirst
().
get
();
String
updateTime
=
metaData
.
stream
().
filter
(
x
->
"updateTime"
.
equals
(
x
.
getName
())).
map
(
MetaData:
:
getValue
).
findFirst
().
get
();
filesMetadata
.
add
(
AudioVo
.
builder
()
.
fileName
(
fileName
)
.
fileType
(
FileTypeEnum
.
DATUM
.
name
())
.
fileExtName
(
fileExtName
)
.
fileSize
(
fileSize
)
.
fileUrl
(
materialUrl
)
.
updateTime
(
updateTime
)
.
build
());
}
exhibitionBoard
.
setRefMaterialUrl
(
JSONObject
.
toJSONString
(
materialUrlList
));
exhibitionBoard
.
setAuditStatus
(
AuditStatusEnum
.
TBC
.
name
());
exhibitionBoard
.
setPublished
(
false
);
// 保存业务节点信息
boolean
result
=
exhibitionBoardService
.
save
(
exhibitionBoard
);
// 返回操作结果
...
...
@@ -77,6 +115,46 @@ public class ExhibitionBoardController extends BaseController {
@RequiresPermissions
(
"exhibition:board:update"
)
@ApiOperation
(
value
=
"修改展板信息"
,
notes
=
"修改展板信息"
)
public
Map
<
String
,
Object
>
updateExhibitionBoard
(
@Validated
(
value
=
{
Update
.
class
})
ExhibitionBoard
exhibitionBoard
)
{
final
List
<
AudioVo
>
filesMetadata
=
new
ArrayList
<>(
exhibitionBoard
.
getAudioUrlList
().
size
());
final
List
<
String
>
audioUrlList
=
exhibitionBoard
.
getAudioUrlList
();
for
(
String
audioUrl
:
audioUrlList
)
{
final
Set
<
MetaData
>
metaData
=
FastDFSUtils
.
getFileMetaData
(
audioUrl
);
String
fileName
=
metaData
.
stream
().
filter
(
x
->
"fileName"
.
equals
(
x
.
getName
())).
map
(
MetaData:
:
getValue
).
findFirst
().
get
();
Long
fileSize
=
metaData
.
stream
().
filter
(
x
->
"fileSize"
.
equals
(
x
.
getName
())).
map
(
MetaData:
:
getValue
).
map
(
Long:
:
parseLong
).
findFirst
().
get
();
String
fileExtName
=
metaData
.
stream
().
filter
(
x
->
"fileExtName"
.
equals
(
x
.
getName
())).
map
(
MetaData:
:
getValue
).
findFirst
().
get
();
String
updateTime
=
metaData
.
stream
().
filter
(
x
->
"updateTime"
.
equals
(
x
.
getName
())).
map
(
MetaData:
:
getValue
).
findFirst
().
get
();
filesMetadata
.
add
(
AudioVo
.
builder
()
.
fileName
(
fileName
)
.
fileType
(
FileTypeEnum
.
AUDIO
.
name
())
.
fileExtName
(
fileExtName
)
.
fileSize
(
fileSize
)
.
fileUrl
(
audioUrl
)
.
updateTime
(
updateTime
)
.
build
());
}
exhibitionBoard
.
setGuideAudioUrl
(
JSONObject
.
toJSONString
(
audioUrlList
));
final
List
<
String
>
materialUrlList
=
exhibitionBoard
.
getMaterialUrlList
();
for
(
String
materialUrl
:
materialUrlList
)
{
// 原始文件名
final
Set
<
MetaData
>
metaData
=
FastDFSUtils
.
getFileMetaData
(
materialUrl
);
String
fileName
=
metaData
.
stream
().
filter
(
x
->
"fileName"
.
equals
(
x
.
getName
())).
map
(
MetaData:
:
getValue
).
findFirst
().
get
();
Long
fileSize
=
metaData
.
stream
().
filter
(
x
->
"fileSize"
.
equals
(
x
.
getName
())).
map
(
MetaData:
:
getValue
).
map
(
Long:
:
parseLong
).
findFirst
().
get
();
String
fileExtName
=
metaData
.
stream
().
filter
(
x
->
"fileExtName"
.
equals
(
x
.
getName
())).
map
(
MetaData:
:
getValue
).
findFirst
().
get
();
String
updateTime
=
metaData
.
stream
().
filter
(
x
->
"updateTime"
.
equals
(
x
.
getName
())).
map
(
MetaData:
:
getValue
).
findFirst
().
get
();
filesMetadata
.
add
(
AudioVo
.
builder
()
.
fileName
(
fileName
)
.
fileType
(
FileTypeEnum
.
DATUM
.
name
())
.
fileExtName
(
fileExtName
)
.
fileSize
(
fileSize
)
.
fileUrl
(
materialUrl
)
.
updateTime
(
updateTime
)
.
build
());
}
exhibitionBoard
.
setRefMaterialUrl
(
JSONObject
.
toJSONString
(
materialUrlList
));
exhibitionBoard
.
setAuditStatus
(
AuditStatusEnum
.
TBC
.
name
());
exhibitionBoard
.
setPublished
(
false
);
boolean
flag
=
exhibitionBoardService
.
updateById
(
exhibitionBoard
);
if
(
flag
)
{
return
getSuccessResult
();
...
...
@@ -122,8 +200,8 @@ public class ExhibitionBoardController extends BaseController {
@ApiImplicitParams
(
value
=
{
@ApiImplicitParam
(
name
=
"auditStatus"
,
value
=
"审核状态"
,
paramType
=
"query"
,
dataType
=
"String"
)
})
public
Map
<
String
,
Object
>
getExhibitionBoardList
(
@RequestParam
(
value
=
"auditStatus"
,
defaultValue
=
"APPROVED"
,
required
=
false
)
AuditStatusEnum
auditStatus
)
{
List
<
ExhibitionBoard
>
exhibitionBoardList
=
exhibitionBoardService
.
list
(
Wrappers
.<
ExhibitionBoard
>
lambdaQuery
().
eq
(
ExhibitionBoard:
:
getAuditStatus
Add
,
auditStatus
.
name
()
));
public
Map
<
String
,
Object
>
getExhibitionBoardList
(
@RequestParam
(
value
=
"auditStatus"
,
defaultValue
=
"APPROVED
_FINAL
"
,
required
=
false
)
AuditStatusEnum
auditStatus
)
{
List
<
ExhibitionBoard
>
exhibitionBoardList
=
exhibitionBoardService
.
list
(
Wrappers
.<
ExhibitionBoard
>
lambdaQuery
().
eq
(
ExhibitionBoard:
:
getAuditStatus
,
auditStatus
.
name
()).
eq
(
ExhibitionBoard:
:
getPublished
,
true
));
return
getResult
(
exhibitionBoardList
);
}
...
...
@@ -159,18 +237,22 @@ public class ExhibitionBoardController extends BaseController {
queryWrapper
.
select
(
ExhibitionBoard:
:
getId
,
ExhibitionBoard:
:
getName
,
ExhibitionBoard:
:
getAuditStatusAdd
,
ExhibitionBoard:
:
getAuditStatusEdit
,
ExhibitionBoard:
:
getAuditStatusDelete
,
ExhibitionBoard:
:
getAuditStatus
,
ExhibitionBoard:
:
getPublished
,
ExhibitionBoard:
:
getAssetCopyrightOwnerId
,
ExhibitionBoard:
:
getExhibitionBoardCatId
,
ExhibitionBoard:
:
getCreateTime
,
ExhibitionBoard:
:
getUpdateTime
);
Page
<
ExhibitionBoard
>
page
=
this
.
exhibitionBoardService
.
page
(
getPage
(),
queryWrapper
);
for
(
ExhibitionBoard
exhibitionBoard
:
page
.
getRecords
())
{
if
(
exhibitionBoard
.
getAssetCopyrightOwnerId
()
!=
null
)
{
String
name
=
this
.
copyrightOwnerService
.
getById
(
exhibitionBoard
.
getAssetCopyrightOwnerId
()).
getName
();
exhibitionBoard
.
setBoardCopyrightOwnerName
(
name
);
}
if
(
exhibitionBoard
.
getExhibitionBoardCatId
()
!=
null
)
{
String
name
=
this
.
exhibitionBoardCatService
.
getById
(
exhibitionBoard
.
getExhibitionBoardCatId
()).
getName
();
exhibitionBoard
.
setExhibitionBoardCatName
(
name
);
}
}
return
getResult
(
page
);
}
...
...
src/main/java/cn/wisenergy/chnmuseum/party/web/controller/FileUploadController.java
View file @
bedcbc13
...
...
@@ -42,16 +42,10 @@ import java.util.Objects;
@Api
(
tags
=
{
"文件上传接口"
})
public
class
FileUploadController
{
// 允许上传的格式
private
static
final
String
[]
IMAGE_TYPE
=
new
String
[]{
"JPG"
,
"JPEG"
,
"PNG"
,
"BMP"
,
"WBMP"
};
// 允许上传的格式
private
static
final
String
[]
AUDIO_TYPE
=
new
String
[]{
"MP3"
,
"WAV"
,
"WMA"
,
"AAC"
,
"FLAC"
,
"APE"
};
private
static
final
String
[]
VIDEO_TYPE
=
new
String
[]{
"MP4"
,
"FLV"
};
// 允许上传的格式
private
static
final
String
[]
DOC_TYPE
=
new
String
[]{
"PDF"
,
"DOC"
,
"DOCX"
,
"XLS"
,
"XLSX"
,
"PPT"
,
"PPTX"
};
// 允许上传的格式
private
static
final
String
[]
DATUM_TYPE
=
ArrayUtil
.
addAll
(
DOC_TYPE
,
IMAGE_TYPE
,
VIDEO_TYPE
);
// @RequestMapping(value = "/upload", method = RequestMethod.POST)
...
...
@@ -187,6 +181,69 @@ public class FileUploadController {
return
ResponseEntity
.
status
(
HttpStatus
.
CREATED
).
body
(
imageUploadResult
);
}
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"file"
,
value
=
"音频文件"
,
paramType
=
"form"
,
dataType
=
"__file"
,
collectionFormat
=
"array"
,
allowMultiple
=
true
)
})
@PostMapping
(
value
=
"/audio/upload"
,
headers
=
"content-type=multipart/form-data"
,
consumes
=
MediaType
.
MULTIPART_FORM_DATA_VALUE
)
@RequiresPermissions
(
"audio:upload"
)
@ApiOperation
(
value
=
"多音频上传"
,
notes
=
"多音频上传"
)
public
ResponseEntity
<
BatchUploadResVO
>
uploadAudio
(
@RequestPart
(
value
=
"file"
,
required
=
false
)
MultipartFile
[]
files
)
throws
IOException
{
if
(
files
.
length
==
0
)
{
throw
new
InterfaceException
(
RESPONSE_CODE_ENUM
.
REQUEST_PARAMS_ERROR
.
getCode
(),
"没有文件可供上传"
);
}
final
boolean
existChineseAudio
=
Arrays
.
stream
(
files
).
anyMatch
(
s
->
Objects
.
requireNonNull
(
s
.
getOriginalFilename
()).
contains
(
"汉语"
));
if
(!
existChineseAudio
)
{
throw
new
InterfaceException
(
RESPONSE_CODE_ENUM
.
REQUEST_PARAMS_ERROR
.
getCode
(),
"必须包含汉语音频"
);
}
int
successCount
=
0
;
int
failureCount
=
0
;
List
<
BatchUploadResVO
.
HandleResult
>
handleList
=
new
ArrayList
<>();
List
<
String
>
videoUrlList
=
new
ArrayList
<>();
for
(
MultipartFile
file
:
files
)
{
// 当前维度表下线结果
BatchUploadResVO
.
HandleResult
handleResult
=
new
BatchUploadResVO
.
HandleResult
();
// 原始文件名
String
originalFilename
=
file
.
getOriginalFilename
();
if
(
StringUtils
.
isBlank
(
originalFilename
))
{
handleResult
.
setFileName
(
""
);
handleResult
.
setFileType
(
FileTypeEnum
.
AUDIO
.
getName
());
handleResult
.
setFileUrl
(
""
);
handleResult
.
setHandleResult
(
HANDLE_STATUS_ENUM
.
FAILURE
.
getName
());
handleResult
.
setDescription
(
"文件名为空"
);
failureCount
++;
continue
;
}
handleResult
.
setFileName
(
originalFilename
);
handleResult
.
setFileType
(
FileTypeEnum
.
AUDIO
.
getName
());
handleResult
.
setHandleResult
(
HANDLE_STATUS_ENUM
.
SUCCESS
.
getName
());
boolean
anyMatch
=
Arrays
.
stream
(
AUDIO_TYPE
).
anyMatch
(
s
->
Objects
.
equals
(
s
,
FilenameUtils
.
getExtension
(
originalFilename
).
toUpperCase
()));
if
(
anyMatch
)
{
String
url
=
FastDFSUtils
.
uploadFile
(
file
.
getInputStream
(),
file
.
getSize
(),
originalFilename
);
handleResult
.
setFileUrl
(
url
);
handleResult
.
setDescription
(
"操作成功"
);
videoUrlList
.
add
(
url
);
successCount
++;
}
else
{
handleResult
.
setFileUrl
(
""
);
handleResult
.
setDescription
(
"文件格式不支持"
);
failureCount
++;
}
// 设置处理的业务表信息
handleList
.
add
(
handleResult
);
}
BatchUploadResVO
batchUploadResVO
=
new
BatchUploadResVO
();
batchUploadResVO
.
setFailureCount
(
failureCount
);
batchUploadResVO
.
setSuccessCount
(
successCount
);
batchUploadResVO
.
setTotal
(
files
.
length
);
batchUploadResVO
.
setHandleList
(
handleList
);
batchUploadResVO
.
setUrlList
(
videoUrlList
);
return
ResponseEntity
.
status
(
HttpStatus
.
CREATED
).
body
(
batchUploadResVO
);
}
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"file"
,
value
=
"视频文件"
,
paramType
=
"form"
,
dataType
=
"__file"
,
collectionFormat
=
"array"
,
allowMultiple
=
true
)
})
...
...
@@ -194,12 +251,12 @@ public class FileUploadController {
@RequiresPermissions
(
"video:upload"
)
@ApiOperation
(
value
=
"多视频上传"
,
notes
=
"多视频上传"
)
public
ResponseEntity
<
BatchUploadResVO
>
uploadVideo
(
@RequestPart
(
value
=
"file"
,
required
=
false
)
MultipartFile
[]
files
)
throws
IOException
{
if
(
files
.
length
==
0
)
{
if
(
files
==
null
||
files
.
length
==
0
)
{
throw
new
InterfaceException
(
RESPONSE_CODE_ENUM
.
REQUEST_PARAMS_ERROR
.
getCode
(),
"没有文件可供上传"
);
}
final
boolean
matchChinese
=
Arrays
.
stream
(
files
).
anyMatch
(
s
->
Objects
.
requireNonNull
(
s
.
getOriginalFilename
()).
contains
(
"
中文
"
));
final
boolean
matchChinese
=
Arrays
.
stream
(
files
).
anyMatch
(
s
->
Objects
.
requireNonNull
(
s
.
getOriginalFilename
()).
contains
(
"
汉语
"
));
if
(!
matchChinese
)
{
throw
new
InterfaceException
(
RESPONSE_CODE_ENUM
.
REQUEST_PARAMS_ERROR
.
getCode
(),
"必须包含
中文
视频"
);
throw
new
InterfaceException
(
RESPONSE_CODE_ENUM
.
REQUEST_PARAMS_ERROR
.
getCode
(),
"必须包含
汉语
视频"
);
}
int
successCount
=
0
;
...
...
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