123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132 |
- package com.hssx.cloudmodel.service.impl;
- import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
- import com.hssx.cloudmodel.constant.Constant;
- import com.hssx.cloudmodel.entity.ProjectFile;
- import com.hssx.cloudmodel.entity.ProjectOperationDynamics;
- import com.hssx.cloudmodel.entity.User;
- import com.hssx.cloudmodel.entity.vo.UserVO;
- import com.hssx.cloudmodel.mapper.ProjectFileMapper;
- import com.hssx.cloudmodel.mapper.ProjectOperationDynamicsMapper;
- import com.hssx.cloudmodel.mapper.UserMapper;
- import com.hssx.cloudmodel.service.ProjectFileService;
- import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
- import com.hssx.cloudmodel.service.ProjectOperationDynamicsService;
- import com.hssx.cloudmodel.util.FileUtil;
- import com.hssx.cloudmodel.util.HttpRespMsg;
- import org.springframework.stereotype.Service;
- import org.springframework.web.multipart.MultipartFile;
- import javax.annotation.Resource;
- import java.io.File;
- import java.io.IOException;
- import java.util.List;
- import java.util.UUID;
- /**
- * <p>
- * 服务实现类
- * </p>
- *
- * @author 吴涛涛
- * @since 2019-07-30
- */
- @Service
- public class ProjectFileServiceImpl extends ServiceImpl<ProjectFileMapper, ProjectFile> implements ProjectFileService {
- @Resource
- UserMapper userMapper;
- @Resource
- ProjectFileMapper projectFileMapper;
- @Resource
- ProjectOperationDynamicsMapper projectOperationDynamicsMapper;
- @Override
- public HttpRespMsg addFile(UserVO userVO, MultipartFile file, String path) {
- HttpRespMsg msg = new HttpRespMsg();
- User user = userMapper.selectOne(new QueryWrapper<User>().eq("head_imgurl", userVO.getToken()));
- if(user != null){
- if (file != null && !file.isEmpty()) {
- ProjectFile projectFile = new ProjectFile();
- projectFile.setUploaderId(user.getId());
- projectFile.setUploader(user.getUsername());
- projectFile.setProjectId(userVO.getProjectId());
- File dir = null;
- dir = new File(path);
- // D://cloud/upload 文件上传后所存储的位置,部署到服务器上时配置服务器地址即可
- if (!dir.exists()) {
- dir.mkdirs();
- }
- String fileName = "";
- if (file != null && !file.isEmpty()) {
- fileName = file.getOriginalFilename();
- projectFile.setFileName(fileName);
- projectFile.setFileSize(FileUtil.getReadableFileSize(file.getSize()));
- System.out.println("上传文件名称" + file.getName() + ", dir = " + dir.getAbsolutePath());
- int pos = fileName.lastIndexOf(".");
- String rand = UUID.randomUUID().toString().replaceAll("-", "");
- String sufix = fileName.substring(pos);
- fileName = rand + sufix;
- projectFile.setFileType(sufix);//文件后缀
- projectFile.setUrl("/upload/"+fileName);
- File saveFile = new File(dir, fileName);
- projectFileMapper.insert(projectFile);
- try {
- saveFile.createNewFile();
- file.transferTo(saveFile);
- } catch (IOException e) {
- e.printStackTrace();
- projectFile = null;
- } catch (Exception e) {
- e.printStackTrace();
- projectFile = null;
- }
- //添加上传记录
- ProjectOperationDynamics dynamics = new ProjectOperationDynamics();
- dynamics.setContent(Constant.UPLOAD);
- dynamics.setFileName(file.getOriginalFilename());
- dynamics.setOperatorId(user.getId());
- dynamics.setOperator(user.getUsername());
- dynamics.setProjectId(userVO.getProjectId());
- projectOperationDynamicsMapper.insert(dynamics);
- }
- msg.data = projectFile;
- }
- }else{
- msg.setError("当前用户不存在或者未登录");
- }
- return msg;
- }
- @Override
- public HttpRespMsg dowloadFile(ProjectFile projectFile, String token) {
- HttpRespMsg msg = new HttpRespMsg();
- User user = userMapper.selectOne(new QueryWrapper<User>().eq("head_imgurl", token));
- //添加上传记录
- ProjectOperationDynamics dynamics = new ProjectOperationDynamics();
- dynamics.setContent(Constant.UPLOAD);
- ProjectFile file = projectFileMapper.selectById(projectFile.getId());
- dynamics.setFileName(file.getFileName());
- dynamics.setOperatorId(user.getId());
- dynamics.setOperator(user.getUsername());
- dynamics.setProjectId(projectFile.getProjectId());
- projectOperationDynamicsMapper.insert(dynamics);
- return msg;
- }
- @Override
- public HttpRespMsg getFileList(UserVO userVO) {
- HttpRespMsg msg = new HttpRespMsg();
- User user = userMapper.selectOne(new QueryWrapper<User>().eq("head_imgurl", userVO.getToken()));
- List<ProjectFile> list = projectFileMapper.selectList(new QueryWrapper<ProjectFile>().eq("project_id", userVO.getProjectId()).orderByDesc("id"));
- msg.data = list;
- return msg;
- }
- @Override
- public HttpRespMsg delFile(ProjectFile projectFile) {
- HttpRespMsg msg = new HttpRespMsg();
- msg.data = projectFileMapper.deleteById(projectFile.getId());
- return msg;
- }
- }
|