ImageSeviceImpl.java 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. package com.simuwang.manage.service.impl;
  2. import com.simuwang.base.common.util.DateUtils;
  3. import com.simuwang.base.mapper.daq.ImageMapper;
  4. import com.simuwang.base.pojo.dos.ImageInfoDO;
  5. import com.simuwang.base.pojo.vo.ImageInfoVO;
  6. import com.simuwang.manage.service.ImageSevice;
  7. import com.simuwang.shiro.utils.UserUtils;
  8. import com.smppw.common.pojo.ResultVo;
  9. import com.smppw.common.pojo.enums.status.ResultCode;
  10. import org.apache.commons.io.FileUtils;
  11. import org.springframework.beans.factory.annotation.Autowired;
  12. import org.springframework.beans.factory.annotation.Value;
  13. import org.springframework.stereotype.Service;
  14. import org.springframework.web.multipart.MultipartFile;
  15. import java.io.File;
  16. import java.io.IOException;
  17. import java.io.InputStream;
  18. import java.util.Date;
  19. @Service
  20. public class ImageSeviceImpl implements ImageSevice {
  21. @Value("${email.file.path}")
  22. private String path;
  23. @Autowired
  24. private ImageMapper imageMapper;
  25. @Override
  26. public ResultVo saveImage(MultipartFile file) {
  27. path +="image/";
  28. ResultVo vo = new ResultVo(com.smppw.common.pojo.enums.status.ResultCode.SAVE_SUCCESS.getCode());
  29. ImageInfoDO imageInfoDO = new ImageInfoDO();
  30. String fileName = file.getOriginalFilename();
  31. imageInfoDO.setFileName(fileName);
  32. File dir = new File(path + DateUtils.datePath()+"/");
  33. if(!dir.mkdirs()){
  34. dir.mkdirs();
  35. }
  36. String imagePath = path + DateUtils.datePath()+"/"+System.currentTimeMillis()+fileName.substring(fileName.lastIndexOf("."));
  37. InputStream inputStream = null;
  38. File image = new File(imagePath);
  39. try {
  40. inputStream = file.getInputStream();
  41. FileUtils.copyToFile(inputStream,image);
  42. } catch (IOException e) {
  43. throw new RuntimeException(e);
  44. }
  45. imageInfoDO.setFilePath(path);
  46. imageInfoDO.setUpdaterId(UserUtils.getLoginUser().getUserId());
  47. imageInfoDO.setCreatorId(UserUtils.getLoginUser().getUserId());
  48. imageInfoDO.setIsvalid(1);
  49. imageInfoDO.setCreateTime(new Date());
  50. imageInfoDO.setUpdateTime(new Date());
  51. imageMapper.insert(imageInfoDO);
  52. ImageInfoVO imageInfoVO = imageInfoDO.toVO();
  53. vo.setData(imageInfoVO);
  54. return vo;
  55. }
  56. @Override
  57. public ResultVo getImageById(Integer fileId) {
  58. ResultVo vo = new ResultVo(ResultCode.SUCCESS.getCode());
  59. ImageInfoDO imageInfoDO = imageMapper.selectById(fileId);
  60. ImageInfoVO imageInfoVO = imageInfoDO.toVO();
  61. vo.setData(imageInfoVO);
  62. return vo;
  63. }
  64. }