Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
N
nrgl
Project
Project
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
Graph
比较
统计图
议题
0
议题
0
列表
看板
标记
Milestones
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
注册表
注册表
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
svn
nrgl
Commits
8a344da7
提交
8a344da7
authored
5月 30, 2019
作者:
renjiancai
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
--no commit message
上级
2cc5c51a
隐藏空白字符变更
内嵌
并排
正在显示
7 个修改的文件
包含
304 行增加
和
4 行删除
+304
-4
ResourceRequestPath.java
.../com/zrqx/core/constant/resource/ResourceRequestPath.java
+2
-0
FileController.java
...rc/main/java/com/zrqx/file/controller/FileController.java
+27
-0
FileUtil.java
com.zrqx.file/src/main/java/com/zrqx/file/util/FileUtil.java
+128
-0
FileInfoClient.java
...java/com/zrqx/resource/bg/client/file/FileInfoClient.java
+23
-0
FileInfoClientHystric.java
...m/zrqx/resource/bg/client/file/FileInfoClientHystric.java
+27
-0
SysuserClientHystric.java
...zrqx/resource/bg/client/sysuser/SysuserClientHystric.java
+1
-1
RecycleBinSerivceImpl.java
...resource/bg/service/recycleBin/RecycleBinSerivceImpl.java
+96
-3
没有找到文件。
com.zrqx.core/src/main/java/com/zrqx/core/constant/resource/ResourceRequestPath.java
浏览文件 @
8a344da7
...
...
@@ -95,4 +95,6 @@ public class ResourceRequestPath extends BaseRequestPath {
public
static
final
String
TYPE
=
"/type"
;
/**下载类型*/
public
static
final
String
DOWNLOAD
=
"/download"
;
/**远程调用*/
public
static
final
String
CLIENT
=
"/client"
;
}
com.zrqx.file/src/main/java/com/zrqx/file/controller/FileController.java
浏览文件 @
8a344da7
...
...
@@ -36,6 +36,7 @@ import org.springframework.http.HttpStatus;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PathVariable
;
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.RequestMethod
;
...
...
@@ -55,6 +56,7 @@ import com.zrqx.core.util.UUIDUtil;
import
com.zrqx.core.util.download.DownloadUtil
;
import
com.zrqx.core.util.zip.ZipUtil
;
import
com.zrqx.file.service.FileService
;
import
com.zrqx.file.util.FileUtil
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
...
...
@@ -98,6 +100,15 @@ public class FileController {
@RequestMapping
(
value
=
"/upload/info"
,
method
=
RequestMethod
.
POST
)
public
FileInfo
upload
(
@RequestParam
(
"file"
)
MultipartFile
file
)
{
FileInfo
entity
=
service
.
uploadFile
(
file
);
File
newfile
=
new
File
(
rootPath
+
entity
.
getPath
()
+
"/"
+
entity
.
getFileName
()
+
entity
.
getSuffixName
());
Encoder
encoder
=
new
Encoder
();
try
{
MultimediaInfo
mInfo
=
encoder
.
getInfo
(
newfile
);
long
ls
=
mInfo
.
getDuration
();
entity
.
setTime
(
ls
);
}
catch
(
Exception
e
)
{
throw
new
BaseException
(
"无法获取视频时长!"
);
}
if
(!
service
.
insert
(
entity
))
{
throw
new
BaseException
(
"上传失败!"
);
}
...
...
@@ -576,4 +587,20 @@ public class FileController {
List
<
FileInfo
>
fileList
=
service
.
selectByCriteria
();
return
CallBack
.
success
(
fileList
);
}
@ApiOperation
(
value
=
"远程调用删除文件"
)
@PostMapping
(
"/client/FileName/deleteFile"
)
public
CallBack
<
Boolean
>
deleteFileName
(
List
<
String
>
fileName
)
{
if
(
fileName
.
size
()>
0
){
for
(
String
str
:
fileName
)
{
service
.
createCriteria
().
andEqualTo
(
"fileName"
,
str
);
FileInfo
entity
=
new
FileInfo
();
entity
.
setFileName
(
str
);
String
filePath
=
rootPath
+
entity
.
getPath
()
+
"/"
+
entity
.
getOriginalFileName
();
FileUtil
.
delAllFile
(
rootPath
+
filePath
.
substring
(
0
,
filePath
.
lastIndexOf
(
"/"
)));
service
.
delete
(
entity
);
}
}
return
CallBack
.
success
();
}
}
com.zrqx.file/src/main/java/com/zrqx/file/util/FileUtil.java
0 → 100644
浏览文件 @
8a344da7
/**
* @Title: FileUtile.java
* @Package com.zdy.cms.util
* @Description: TODO(用一句话描述该文件做什么)
* @author 郝鹏
* @date 2013-7-18 下午1:42:52
* @version V5.0
*/
package
com
.
zrqx
.
file
.
util
;
import
java.awt.Dimension
;
import
java.awt.Image
;
import
java.awt.image.BufferedImage
;
import
java.io.BufferedReader
;
import
java.io.BufferedWriter
;
import
java.io.File
;
import
java.io.FileInputStream
;
import
java.io.FileNotFoundException
;
import
java.io.FileOutputStream
;
import
java.io.IOException
;
import
java.io.InputStream
;
import
java.io.InputStreamReader
;
import
java.io.OutputStream
;
import
java.io.OutputStreamWriter
;
import
java.io.PrintWriter
;
import
java.io.RandomAccessFile
;
import
java.net.MalformedURLException
;
import
java.net.URL
;
import
java.net.URLConnection
;
import
java.nio.MappedByteBuffer
;
import
java.nio.channels.FileChannel
;
import
java.text.NumberFormat
;
import
java.text.SimpleDateFormat
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Properties
;
import
java.util.Random
;
import
java.util.Set
;
import
java.util.zip.ZipEntry
;
import
java.util.zip.ZipOutputStream
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.swing.text.Document
;
import
org.apache.commons.io.FileUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.poi.sl.usermodel.SlideShow
;
import
org.springframework.web.context.ContextLoaderListener
;
import
org.springframework.web.multipart.MultipartFile
;
import
com.sun.image.codec.jpeg.JPEGCodec
;
import
com.sun.image.codec.jpeg.JPEGImageEncoder
;
/**
* @ClassName: FileUtile
* @Description: TODO(文件操作工具包)
* @author 郝鹏
* @date 2013-7-18 下午1:42:52
*
*/
public
class
FileUtil
{
/*
*//**
* 将字符串保存到指定的文件中
*
* @Title: createFile
* @Description: TODO(这里用一句话描述这个方法的作用)
* @param fileContent
* @param fileName
* @return void 返回类型
* @author 郝鹏
* @date 2013-7-18 下午1:44:23
*/
/*
* public static void createFile(String fileContent, String fileName) { try
* { File file = new File(fileName); if (!file.exists()) {
* file.getParentFile().mkdirs(); } PrintWriter out = new PrintWriter(file,
* "UTF-8"); out.write(fileContent); out.close(); } catch
* (FileNotFoundException e) { e.printStackTrace(); } catch
* (UnsupportedEncodingException e) { e.printStackTrace(); } }
*/
// 清空文件夹以及文件夹里面的所有文件
public
static
void
delFolder
(
String
folderPath
)
{
try
{
delAllFile
(
folderPath
);
// 删除完里面所有内容
String
filePath
=
folderPath
;
filePath
=
filePath
.
toString
();
java
.
io
.
File
myFilePath
=
new
java
.
io
.
File
(
filePath
);
myFilePath
.
delete
();
// 删除空文件夹
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
}
// 删除指定文件夹下所有文件
public
static
boolean
delAllFile
(
String
path
)
{
boolean
flag
=
false
;
File
file
=
new
File
(
path
);
if
(!
file
.
exists
())
{
return
flag
;
}
if
(!
file
.
isDirectory
())
{
return
flag
;
}
String
[]
tempList
=
file
.
list
();
File
temp
=
null
;
for
(
int
i
=
0
;
i
<
tempList
.
length
;
i
++)
{
if
(
path
.
endsWith
(
File
.
separator
))
{
temp
=
new
File
(
path
+
tempList
[
i
]);
}
else
{
temp
=
new
File
(
path
+
File
.
separator
+
tempList
[
i
]);
}
if
(
temp
.
isFile
())
{
temp
.
delete
();
}
if
(
temp
.
isDirectory
())
{
delAllFile
(
path
+
"/"
+
tempList
[
i
]);
// 先删除文件夹里面的文件
delFolder
(
path
+
"/"
+
tempList
[
i
]);
// 再删除空文件夹
flag
=
true
;
}
}
return
flag
;
}
}
com.zrqx.resource/src/main/java/com/zrqx/resource/bg/client/file/FileInfoClient.java
0 → 100644
浏览文件 @
8a344da7
package
com
.
zrqx
.
resource
.
bg
.
client
.
file
;
import
java.util.List
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.cloud.netflix.feign.FeignClient
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
com.zrqx.core.constant.BaseRequestPath
;
import
com.zrqx.core.constant.resource.ResourceRequestPath
;
import
com.zrqx.core.util.CallBack
;
@FeignClient
(
name
=
"fileInfo"
,
fallback
=
FileInfoClientHystric
.
class
)
public
interface
FileInfoClient
{
@ApiOperation
(
value
=
"远程接收批量删除file文件"
,
notes
=
"远程接收批量删除file文件"
)
@PostMapping
(
value
=
"/file/client/FileName/deleteFile"
)
public
CallBack
<
Boolean
>
deleteFileName
(
List
<
String
>
fileName
);
}
\ No newline at end of file
com.zrqx.resource/src/main/java/com/zrqx/resource/bg/client/file/FileInfoClientHystric.java
0 → 100644
浏览文件 @
8a344da7
package
com
.
zrqx
.
resource
.
bg
.
client
.
file
;
import
java.util.List
;
import
org.apache.log4j.Logger
;
import
org.springframework.stereotype.Component
;
import
com.zrqx.core.util.CallBack
;
/**
* @author Tujide.lv
*
*/
@Component
public
class
FileInfoClientHystric
implements
FileInfoClient
{
private
static
final
Logger
log
=
Logger
.
getLogger
(
FileInfoClientHystric
.
class
);
@Override
public
CallBack
<
Boolean
>
deleteFileName
(
List
<
String
>
fileName
)
{
// TODO Auto-generated method stub
return
CallBack
.
fail
();
}
}
com.zrqx.resource/src/main/java/com/zrqx/resource/bg/client/sysuser/SysuserClientHystric.java
浏览文件 @
8a344da7
...
...
@@ -15,7 +15,7 @@ public class SysuserClientHystric implements SysuserClient{
private
static
final
Logger
log
=
Logger
.
getLogger
(
SysuserClientHystric
.
class
);
/**
* @see com.zrqx.
order
.client.SysuserClient#saveLog(com.zrqx.core.model.sysuser.log.Log)
* @see com.zrqx.
FileInfoClient
.client.SysuserClient#saveLog(com.zrqx.core.model.sysuser.log.Log)
* @param log
* @return
* @author ray
...
...
com.zrqx.resource/src/main/java/com/zrqx/resource/bg/service/recycleBin/RecycleBinSerivceImpl.java
浏览文件 @
8a344da7
package
com
.
zrqx
.
resource
.
bg
.
service
.
recycleBin
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.List
;
...
...
@@ -16,6 +17,7 @@ import com.zrqx.core.model.resource.animationlibrary.AnimationGoods;
import
com.zrqx.core.model.resource.animationlibrary.AnimationLibrary
;
import
com.zrqx.core.model.resource.articlelibrary.ArticleGoods
;
import
com.zrqx.core.model.resource.articlelibrary.ArticleLibrary
;
import
com.zrqx.core.model.resource.articlelibrary.ChapterLibrary
;
import
com.zrqx.core.model.resource.audiolibrary.AudioGoods
;
import
com.zrqx.core.model.resource.audiolibrary.AudioLibrary
;
import
com.zrqx.core.model.resource.authorLibrary.AuthorLibrary
;
...
...
@@ -51,12 +53,14 @@ import com.zrqx.core.service.BaseServiceImpl;
import
com.zrqx.core.util.PageInfo
;
import
com.zrqx.core.util.PageParam
;
import
com.zrqx.core.vo.resource.recycleBin.ResourceRecycleBinListVO
;
import
com.zrqx.resource.bg.client.file.FileInfoClient
;
import
com.zrqx.resource.bg.mapper.achievementLibrary.AchievementGoodsMapper
;
import
com.zrqx.resource.bg.mapper.achievementLibrary.AchievementLibraryMapper
;
import
com.zrqx.resource.bg.mapper.animationlibrary.AnimationGoodsMapper
;
import
com.zrqx.resource.bg.mapper.animationlibrary.AnimationLibraryMapper
;
import
com.zrqx.resource.bg.mapper.articlelibrary.ArticleGoodsMapper
;
import
com.zrqx.resource.bg.mapper.articlelibrary.ArticleLibraryMapper
;
import
com.zrqx.resource.bg.mapper.articlelibrary.ChapterLibraryMapper
;
import
com.zrqx.resource.bg.mapper.audiolibrary.AudioGoodsMapper
;
import
com.zrqx.resource.bg.mapper.audiolibrary.AudioLibraryMapper
;
import
com.zrqx.resource.bg.mapper.authorLibrary.AuthorLibraryMapper
;
...
...
@@ -177,10 +181,13 @@ public class RecycleBinSerivceImpl extends BaseServiceImpl<RecycleBin,Integer> i
@Autowired
private
ResourceRelationMapper
resourceRelationMapper
;
@Autowired
private
ClassifyRelationMapper
classifyMapper
;
@Autowired
private
LabelRelationMapper
labelMapper
;
@Autowired
private
ClassifyRelationMapper
classifyMapper
;
private
ChapterLibraryMapper
chapterMapper
;
@Autowired
private
FileInfoClient
fileInfoClient
;
@Override
public
BaseMapper
<
RecycleBin
>
getMapper
()
{
...
...
@@ -267,6 +274,14 @@ public class RecycleBinSerivceImpl extends BaseServiceImpl<RecycleBin,Integer> i
entity
.
setId
(
bin
.
getObjectId
());
entity
.
setIsDelete
(
0
);
bookMapper
.
updateByPrimaryKeySelective
(
entity
);
ArticleLibrary
article
=
new
ArticleLibrary
();
article
.
setBookId
(
bin
.
getObjectId
());
article
.
setIsDelete
(
0
);
articleLibraryMapper
.
updateByPrimaryKeySelective
(
article
);
ImageLibrary
image
=
new
ImageLibrary
();
image
.
setBookId
(
bin
.
getObjectId
());
image
.
setIsDelete
(
0
);
imageLibraryMapper
.
updateByPrimaryKeySelective
(
image
);
}
else
if
(
bin
.
getResourceType
().
equals
(
2
)){
//文章库
//还原内容
ArticleLibrary
entity
=
new
ArticleLibrary
();
...
...
@@ -364,11 +379,18 @@ public class RecycleBinSerivceImpl extends BaseServiceImpl<RecycleBin,Integer> i
//图书内容
Book
book
=
new
Book
();
book
.
setId
(
bin
.
getObjectId
());
bookMapper
.
deleteByPrimaryKey
(
book
);
//电子文件
Ebook
ebook
=
new
Ebook
();
ebook
.
setBookId
(
bin
.
getObjectId
());
List
<
String
>
fileName1
=
new
ArrayList
<
String
>();
List
<
Ebook
>
list2
=
ebookMapper
.
select
(
ebook
);
for
(
Ebook
ebook2
:
list2
)
{
fileName1
.
add
(
ebook2
.
getFileName
());
}
//删除file
fileInfoClient
.
deleteFileName
(
fileName1
);
ebookMapper
.
delete
(
ebook
);
bookMapper
.
deleteByPrimaryKey
(
book
);
//商品信息
BookGoods
goods
=
new
BookGoods
();
goods
.
setObjectId
(
bin
.
getObjectId
());
...
...
@@ -377,6 +399,38 @@ public class RecycleBinSerivceImpl extends BaseServiceImpl<RecycleBin,Integer> i
BookGoodsAlbum
album
=
new
BookGoodsAlbum
();
album
.
setBookId
(
bin
.
getObjectId
());
bookGoodsAlbumMapper
.
delete
(
album
);
//删除文章
ArticleLibrary
article
=
new
ArticleLibrary
();
article
.
setBookId
(
bin
.
getObjectId
());
List
<
ArticleLibrary
>
select
=
articleLibraryMapper
.
select
(
article
);
for
(
ArticleLibrary
articleLibrary
:
select
)
{
//商品信息
ArticleGoods
articleGoods
=
new
ArticleGoods
();
goods
.
setObjectId
(
articleLibrary
.
getId
());
articlegoodsMapper
.
delete
(
articleGoods
);
}
articleLibraryMapper
.
delete
(
article
);
//删除章节
ChapterLibrary
chapter
=
new
ChapterLibrary
();
chapter
.
setBookid
(
bin
.
getObjectId
());
chapterMapper
.
delete
(
chapter
);
//删除图片
ImageLibrary
ima
=
new
ImageLibrary
();
ima
.
setBookId
(
bin
.
getObjectId
());
//删除file
List
<
String
>
fileName
=
new
ArrayList
<
String
>();
List
<
ImageLibrary
>
listImage
=
imageLibraryMapper
.
select
(
ima
);
for
(
ImageLibrary
imageLibrary
:
listImage
)
{
fileName
.
add
(
imageLibrary
.
getImage
());
//删除商品信息
ImageGoods
imageGoods
=
new
ImageGoods
();
imageGoods
.
setObjectId
(
imageLibrary
.
getId
());
imageGoodsMapper
.
delete
(
imageGoods
);
}
fileInfoClient
.
deleteFileName
(
fileName
);
imageLibraryMapper
.
delete
(
ima
);
}
else
if
(
bin
.
getResourceType
().
equals
(
2
)){
//文章库
//资源
ArticleLibrary
article
=
new
ArticleLibrary
();
...
...
@@ -412,11 +466,25 @@ public class RecycleBinSerivceImpl extends BaseServiceImpl<RecycleBin,Integer> i
//删除商品信息
ImageGoods
goods
=
new
ImageGoods
();
goods
.
setObjectId
(
bin
.
getObjectId
());
//删除file
List
<
String
>
fileName
=
new
ArrayList
<
String
>();
List
<
ImageLibrary
>
listImage
=
imageLibraryMapper
.
select
(
ima
);
for
(
ImageLibrary
imageLibrary
:
listImage
)
{
fileName
.
add
(
imageLibrary
.
getImage
());
}
fileInfoClient
.
deleteFileName
(
fileName
);
imageGoodsMapper
.
delete
(
goods
);
}
else
if
(
bin
.
getResourceType
().
equals
(
6
)){
//视频库
//删除内容
VideoLibrary
viLibrary
=
new
VideoLibrary
();
viLibrary
.
setId
(
bin
.
getObjectId
());
List
<
String
>
fileName
=
new
ArrayList
<
String
>();
List
<
VideoLibrary
>
list2
=
videoLibraryMapper
.
select
(
viLibrary
);
for
(
VideoLibrary
video
:
list2
)
{
fileName
.
add
(
video
.
getVideo
());
}
fileInfoClient
.
deleteFileName
(
fileName
);
videoLibraryMapper
.
deleteByPrimaryKey
(
viLibrary
);
//删除商品信息
VideoGoods
goods
=
new
VideoGoods
();
...
...
@@ -426,6 +494,13 @@ public class RecycleBinSerivceImpl extends BaseServiceImpl<RecycleBin,Integer> i
//删除内容
AudioLibrary
library
=
new
AudioLibrary
();
library
.
setId
(
bin
.
getObjectId
());
//删除file
List
<
String
>
fileName
=
new
ArrayList
<
String
>();
List
<
AudioLibrary
>
listAudio
=
audioLibraryMapper
.
select
(
library
);
for
(
AudioLibrary
audioLibrary
:
listAudio
)
{
fileName
.
add
(
audioLibrary
.
getAudio
());
}
fileInfoClient
.
deleteFileName
(
fileName
);
audioLibraryMapper
.
deleteByPrimaryKey
(
library
);
//删除商品信息
AudioGoods
goods
=
new
AudioGoods
();
...
...
@@ -435,6 +510,12 @@ public class RecycleBinSerivceImpl extends BaseServiceImpl<RecycleBin,Integer> i
//删除内容
AnimationLibrary
library
=
new
AnimationLibrary
();
library
.
setId
(
bin
.
getObjectId
());
List
<
String
>
fileName
=
new
ArrayList
<
String
>();
List
<
AnimationLibrary
>
list2
=
animationLibraryMapper
.
select
(
library
);
for
(
AnimationLibrary
animationLibrary
:
list2
)
{
fileName
.
add
(
animationLibrary
.
getAnimation
());
}
fileInfoClient
.
deleteFileName
(
fileName
);
animationLibraryMapper
.
deleteByPrimaryKey
(
library
);
//删除商品信息
AnimationGoods
goods
=
new
AnimationGoods
();
...
...
@@ -444,6 +525,12 @@ public class RecycleBinSerivceImpl extends BaseServiceImpl<RecycleBin,Integer> i
//删除内容
CoursewareLibrary
library
=
new
CoursewareLibrary
();
library
.
setId
(
bin
.
getObjectId
());
List
<
String
>
fileName
=
new
ArrayList
<
String
>();
List
<
CoursewareLibrary
>
list2
=
coursewareLibraryMapper
.
select
(
library
);
for
(
CoursewareLibrary
courseware
:
list2
)
{
fileName
.
add
(
courseware
.
getCourseware
());
}
fileInfoClient
.
deleteFileName
(
fileName
);
coursewareLibraryMapper
.
deleteByPrimaryKey
(
library
);
//删除商品信息
CoursewareGoods
goods
=
new
CoursewareGoods
();
...
...
@@ -498,6 +585,12 @@ public class RecycleBinSerivceImpl extends BaseServiceImpl<RecycleBin,Integer> i
//删除内容
PdfLibrary
library
=
new
PdfLibrary
();
library
.
setId
(
bin
.
getObjectId
());
List
<
String
>
fileName
=
new
ArrayList
<
String
>();
List
<
PdfLibrary
>
list2
=
pdfLibraryMapper
.
select
(
library
);
for
(
PdfLibrary
pdf
:
list2
)
{
fileName
.
add
(
pdf
.
getPdf
());
}
fileInfoClient
.
deleteFileName
(
fileName
);
pdfLibraryMapper
.
deleteByPrimaryKey
(
library
);
//删除商品信息
PdfGoods
goods
=
new
PdfGoods
();
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论