package com.simuwang.manage.service.impl; import com.simuwang.base.common.util.DateUtils; import com.simuwang.base.mapper.daq.ImageMapper; import com.simuwang.base.pojo.dos.ImageInfoDO; import com.simuwang.base.pojo.vo.ImageInfoVO; import com.simuwang.manage.service.ImageSevice; import com.simuwang.shiro.utils.UserUtils; import com.smppw.common.pojo.ResultVo; import com.smppw.common.pojo.enums.status.ResultCode; import org.apache.commons.io.FileUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; import java.io.File; import java.io.IOException; import java.io.InputStream; import java.util.Date; @Service public class ImageSeviceImpl implements ImageSevice { @Value("${email.file.path}") private String path; @Autowired private ImageMapper imageMapper; @Override public ResultVo saveImage(MultipartFile file) { path +="image/"; ResultVo vo = new ResultVo(com.smppw.common.pojo.enums.status.ResultCode.SAVE_SUCCESS.getCode()); ImageInfoDO imageInfoDO = new ImageInfoDO(); String fileName = file.getOriginalFilename(); imageInfoDO.setFileName(fileName); File dir = new File(path + DateUtils.datePath()+"/"); if(!dir.mkdirs()){ dir.mkdirs(); } String imagePath = path + DateUtils.datePath()+"/"+System.currentTimeMillis()+fileName.substring(fileName.lastIndexOf(".")); InputStream inputStream = null; File image = new File(imagePath); try { inputStream = file.getInputStream(); FileUtils.copyToFile(inputStream,image); } catch (IOException e) { throw new RuntimeException(e); } imageInfoDO.setFilePath(path); imageInfoDO.setUpdaterId(UserUtils.getLoginUser().getUserId()); imageInfoDO.setCreatorId(UserUtils.getLoginUser().getUserId()); imageInfoDO.setIsvalid(1); imageInfoDO.setCreateTime(new Date()); imageInfoDO.setUpdateTime(new Date()); imageMapper.insert(imageInfoDO); ImageInfoVO imageInfoVO = imageInfoDO.toVO(); vo.setData(imageInfoVO); return vo; } @Override public ResultVo getImageById(Integer fileId) { ResultVo vo = new ResultVo(ResultCode.SUCCESS.getCode()); ImageInfoDO imageInfoDO = imageMapper.selectById(fileId); ImageInfoVO imageInfoVO = imageInfoDO.toVO(); vo.setData(imageInfoVO); return vo; } }