提交 8a344da7 authored 作者: renjiancai's avatar renjiancai

--no commit message

上级 2cc5c51a
......@@ -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";
}
......@@ -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();
}
}
/**
* @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;
}
}
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
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();
}
}
......@@ -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
......
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 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论