FileImplService.java 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. package com.happy.service.impl;
  2. import com.happy.Model.FileInfo;
  3. import com.happy.Until.Func;
  4. import com.happy.Until.ResponseUtil;
  5. import com.happy.dao.FileInfoDao;
  6. import com.happy.dto.IPage;
  7. import com.happy.service.FileService;
  8. import net.sf.json.JSONObject;
  9. import org.apache.commons.io.FileUtils;
  10. import org.apache.struts2.ServletActionContext;
  11. import org.springframework.stereotype.Service;
  12. import javax.annotation.Resource;
  13. import javax.imageio.ImageIO;
  14. import javax.servlet.http.HttpServletRequest;
  15. import java.awt.image.BufferedImage;
  16. import java.io.File;
  17. import java.io.FileInputStream;
  18. import java.io.FileNotFoundException;
  19. import java.io.IOException;
  20. import java.util.ArrayList;
  21. import java.util.List;
  22. @Service("FileService")
  23. public class FileImplService implements FileService {
  24. @Resource
  25. public FileInfoDao fileDao;
  26. @Override
  27. public int insertFile(FileInfo file) {
  28. return fileDao.insertFile(file);
  29. }
  30. @Override
  31. public int updateFile(FileInfo file) {
  32. return fileDao.updateFile(file);
  33. }
  34. @Override
  35. public int delFile(String id) {
  36. return fileDao.delFile(id);
  37. }
  38. @Override
  39. public int delLinkFile(String linkId) {
  40. return fileDao.delLinkFile(linkId);
  41. }
  42. public int delLinkFile2(String linkId, String sqlx){
  43. return fileDao.delLinkFile2(linkId, sqlx);
  44. }
  45. @Override
  46. public FileInfo getById(String id) {
  47. return fileDao.getById(id);
  48. }
  49. @Override
  50. public IPage<FileInfo> queryPage(String sqlx, int page, int rows) {
  51. IPage<FileInfo> iPage = new IPage();
  52. List<FileInfo> fileList = fileDao.queryPage(sqlx,page,rows);
  53. int total = fileDao.queryTotal(sqlx);
  54. iPage.setPageList(fileList);
  55. iPage.setPage(page);
  56. iPage.setTotalPage( (int)Math.ceil((double)total/rows));
  57. iPage.setRows(rows);
  58. iPage.setTotal(total);
  59. return iPage;
  60. }
  61. @Override
  62. public List<FileInfo> queryList(String sqlx) {
  63. return fileDao.queryList(sqlx);
  64. }
  65. @Override
  66. public List<FileInfo> queryListByLinkId (String linkId)
  67. {
  68. if (Func.checkNull(linkId))
  69. return new ArrayList<>();
  70. StringBuilder fileSqlx = new StringBuilder("");
  71. fileSqlx.append(" and link_id = '").append(linkId).append("'");
  72. List<FileInfo> fileInfoList = queryList(fileSqlx.toString());
  73. return fileInfoList;
  74. }
  75. @Override
  76. public List<FileInfo> queryListByLinkId2 (String linkId)
  77. {
  78. if (Func.checkNull(linkId))
  79. return new ArrayList<>();
  80. StringBuilder fileSqlx = new StringBuilder("");
  81. fileSqlx.append(" and link_id = '").append(linkId).append("' and `name` like '%营业执照%' ");
  82. List<FileInfo> fileInfoList = queryList(fileSqlx.toString());
  83. return fileInfoList;
  84. }
  85. @Override
  86. public FileInfo getOen(String sqlx){
  87. List<FileInfo> list = fileDao.queryList(sqlx);
  88. if(list!=null && list.size()>0) return list.get(0);
  89. return null;
  90. }
  91. @Override
  92. public void uploadImp(List<File> fileList, HttpServletRequest request) {
  93. String filepath=request.getServletContext().getRealPath("/download/");
  94. if(fileList!=null && fileList.size()>0 && filepath!=null){
  95. //遍历file
  96. for(File file : fileList){
  97. try {
  98. File destFile = new File(filepath, file.getName());
  99. // 获取图片大小
  100. long size = file.length();
  101. // 获取图片尺寸
  102. BufferedImage sourceImg = null;
  103. sourceImg = ImageIO.read(new FileInputStream(file));
  104. System.out.println(String.format("%.1f",file.length()/1024.0));// 源图大小
  105. System.out.println(sourceImg.getWidth()); // 源图宽度
  106. System.out.println(sourceImg.getHeight()); // 源图高度
  107. // 保存图片到指定位置
  108. FileUtils.copyFile(file, destFile);
  109. // 返回图片url路径
  110. String url = "http://192.168.57.1:8080/zhotel/download/" + file.getName();
  111. } catch (IOException e) {
  112. e.printStackTrace();
  113. }
  114. }
  115. }
  116. }
  117. @Override
  118. public int batchInsertFile(List<FileInfo> fileInfoList) {
  119. int i=0;
  120. for (FileInfo fileInfo : fileInfoList) {
  121. i=fileDao.insertFile(fileInfo);
  122. }
  123. return i;
  124. }
  125. }