Guo1B0 hace 1 año
padre
commit
ebf718d119

+ 39 - 14
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/controller/ClueController.java

@@ -4,6 +4,7 @@ package com.management.platform.controller;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.management.platform.entity.Clue;
 import com.management.platform.entity.SysDict;
+import com.management.platform.entity.UploadFile;
 import com.management.platform.entity.User;
 import com.management.platform.mapper.SysDictMapper;
 import com.management.platform.mapper.SysFunctionMapper;
@@ -22,6 +23,7 @@ import org.springframework.web.multipart.MultipartFile;
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServlet;
 import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -49,6 +51,7 @@ public class ClueController {
     private SysDictMapper sysDictMapper;
 
 
+    // 详情
     @RequestMapping("getDetail")
     public Object getDetail(Clue clue) {
         HttpRespMsg msg = new HttpRespMsg();
@@ -56,23 +59,45 @@ public class ClueController {
         return msg;
     }
 
+    // 导入
     @RequestMapping("exportData")
     public Object exportData(Clue clue, HttpServletRequest request) throws Exception {
-        return clueService.exportData(clue,request);
+        return clueService.exportData(clue, request);
     }
+
+    // 上传
     @RequestMapping("uploadFile")
     public Object uploadFile(Clue clue, HttpServletRequest request, MultipartFile file) throws Exception {
-        return clueService.uploadFile(clue,request,file);
+        return clueService.uploadFile(clue, request, file);
+    }
+
+    //下载
+    @RequestMapping("downFile")
+    public Object downFile(UploadFile file, HttpServletRequest request, HttpServletResponse response) throws Exception {
+        return clueService.downFile(file, request, response);
+    }
+
+    //删除
+    @RequestMapping("deleteFile")
+    public Object downFile(UploadFile file, HttpServletRequest request) throws Exception {
+        return clueService.deleteFile(file, request);
+    }
+
+    //重命名
+    @RequestMapping("reFileName")
+    public Object reFileName(UploadFile uploadFile, HttpServletRequest request) throws Exception {
+        return clueService.reFileName(uploadFile, request);
     }
 
 
+
     @RequestMapping("listClue")
     public Object list(Clue clue, HttpServletRequest request) {
         User user = userMapper.selectById(request.getHeader("Token"));
         clue.setCompanyId(user.getCompanyId());
         clue.setIsDelete(0);
         clue.setEndTime(clue.getEndTime() + " 23:59:59");
-        clue.setPageIndex((clue.getPageIndex()-1) * clue.getPageFrom() );
+        clue.setPageIndex((clue.getPageIndex() - 1) * clue.getPageFrom());
         boolean isAll = sysFunctionService.hasPriviledge(user.getRoleId(), "查看全部线索");
         boolean isNotAll = sysFunctionService.hasPriviledge(user.getRoleId(), "查看负责部门线索");
         List<Clue> list = new ArrayList<>();
@@ -84,11 +109,11 @@ public class ClueController {
         } else if (isNotAll) {
             //查看负责部门线索 找出所处部门下所有的负责人
             list = clueService.getList1(clue, user);
-            i = clueService.getTotal1(clue,user);
+            i = clueService.getTotal1(clue, user);
         } else {
             // 查看负责人为 自己 和 null的数据
             list = clueService.getList2(clue, user);
-            i = clueService.getTotal2(clue,user);
+            i = clueService.getTotal2(clue, user);
         }
         HashMap<Object, Object> map = new HashMap<>();
         map.put("data", list);
@@ -114,15 +139,15 @@ public class ClueController {
         } else if (isNotAll) {
             //查看负责部门线索 找出所处部门下所有的负责人
             list = clueService.getList1(clue, user);
-            i = clueService.getTotal1(clue,user);
+            i = clueService.getTotal1(clue, user);
         } else {
             // 查看负责人为 自己 和 null的数据
             list = clueService.getList2(clue, user);
-            i = clueService.getTotal2(clue,user);
+            i = clueService.getTotal2(clue, user);
         }
         HashMap<Object, Object> map = new HashMap<>();
         map.put("data", list);
-        map.put("total",i);
+        map.put("total", i);
         HttpRespMsg httpRespMsg = new HttpRespMsg();
         httpRespMsg.setData(map);
         return httpRespMsg;
@@ -133,7 +158,7 @@ public class ClueController {
         HttpRespMsg msg = new HttpRespMsg();
         //操作前校验
         User user = userMapper.selectById(request.getHeader("Token"));
-        if (user == null){
+        if (user == null) {
             msg.setError("获取创建人失败");
             return msg;
         }
@@ -173,7 +198,7 @@ public class ClueController {
             }
             clueService.isDelete(ids);
             msg.setMsg("操作成功");
-        }else {
+        } else {
             msg.setError("请选择线索");
 
         }
@@ -193,7 +218,7 @@ public class ClueController {
             }
             clueService.isRollback(ids);
             msg.setMsg("操作成功");
-        }else {
+        } else {
             msg.setError("请选择线索");
 
         }
@@ -202,7 +227,7 @@ public class ClueController {
 
     // 认领&转移线索
     @RequestMapping("claim")
-    public Object claim( Clue clue, HttpServletRequest request) {
+    public Object claim(Clue clue, HttpServletRequest request) {
         User user = userMapper.selectById(request.getHeader("Token"));
         HttpRespMsg msg = new HttpRespMsg();
         msg.setMsg("操作成功");
@@ -212,7 +237,7 @@ public class ClueController {
 
     //回收站内删除
     @RequestMapping("deleterDelete")
-    public Object deleterDelete( Clue clue) {
+    public Object deleterDelete(Clue clue) {
         HttpRespMsg msg = new HttpRespMsg();
         String ids1 = clue.getIds();
         List<Integer> ids = new ArrayList<>();
@@ -222,7 +247,7 @@ public class ClueController {
             }
             clueService.deleterDelete(ids);
             msg.setMsg("操作成功");
-        }else {
+        } else {
             msg.setError("请选择线索");
         }
         return msg;

+ 3 - 0
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/entity/UploadFile.java

@@ -35,6 +35,7 @@ public class UploadFile extends Model<UploadFile> {
      */
     @TableField("name")
     private String name;
+    @TableField(exist = false)
     private String userName;
 
     /**
@@ -42,6 +43,8 @@ public class UploadFile extends Model<UploadFile> {
      */
     @TableField("path")
     private String path;
+    @TableField("real_name")
+    private String realName;
 
     /**
      * 对应模块id

+ 8 - 0
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/service/ClueService.java

@@ -2,11 +2,13 @@ package com.management.platform.service;
 
 import com.management.platform.entity.Clue;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.management.platform.entity.UploadFile;
 import com.management.platform.entity.User;
 import com.management.platform.util.HttpRespMsg;
 import org.springframework.web.multipart.MultipartFile;
 
 import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.util.List;
 
 /**
@@ -44,4 +46,10 @@ public interface ClueService extends IService<Clue> {
     HttpRespMsg exportData(Clue clue, HttpServletRequest request) throws Exception;
 
     Object uploadFile(Clue clue, HttpServletRequest request, MultipartFile file);
+
+    Object reFileName(UploadFile uploadFile, HttpServletRequest request);
+
+    Object deleteFile(UploadFile file, HttpServletRequest request);
+
+    Object downFile(UploadFile file, HttpServletRequest request, HttpServletResponse response);
 }

+ 62 - 9
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/service/impl/ClueServiceImpl.java

@@ -14,7 +14,9 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.management.platform.service.SysFunctionService;
 import com.management.platform.service.UserService;
 import com.management.platform.service.WxCorpInfoService;
+import com.management.platform.util.FileUtil;
 import com.management.platform.util.HttpRespMsg;
+import com.management.platform.util.MessageUtils;
 import org.apache.poi.ss.formula.functions.T;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
@@ -23,16 +25,16 @@ import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.multipart.MultipartFile;
 
 import javax.annotation.Resource;
+import javax.servlet.ServletOutputStream;
 import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.beans.Transient;
 import java.io.File;
 import java.io.IOException;
+import java.net.URLEncoder;
 import java.time.LocalDate;
 import java.time.format.DateTimeFormatter;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.StringJoiner;
+import java.util.*;
 
 /**
  * <p>
@@ -155,19 +157,17 @@ public class ClueServiceImpl extends ServiceImpl<ClueMapper, Clue> implements Cl
     }
 
 
-
     @Override
     public Integer getTotal(Clue clue) {
         return clueMapper.getTotal(clue);
     }
 
 
-
     @Override
     public Clue getInfo(Clue clue) {
         Clue clue1 = clueMapper.selectById2Info(clue.getId());
         clue1.setClueLogList(actionLogMapper.selectByInfoList(clue1));
-        clue1.setFiles(uploadFileMapper.selectByInfoList("clue",clue1.getId()));
+        clue1.setFiles(uploadFileMapper.selectByInfoList("clue", clue1.getId()));
         List<Task> tasks = taskMapper.selectList(new QueryWrapper<Task>().in("clue_id", clue.getId()));
         for (Task task : tasks) {
             String executorId = task.getExecutorId();
@@ -238,7 +238,7 @@ public class ClueServiceImpl extends ServiceImpl<ClueMapper, Clue> implements Cl
             }
         }
 
-        updateWrapper.set("incharger_id",inchargerId);
+        updateWrapper.set("incharger_id", inchargerId);
         clueMapper.update(null, updateWrapper);
 
     }
@@ -298,14 +298,23 @@ public class ClueServiceImpl extends ServiceImpl<ClueMapper, Clue> implements Cl
                 }
                 UploadFile uf = new UploadFile();
                 uf.setName(originalFilename);
+                String realName = "";
+                int pos = originalFilename.lastIndexOf(".");
+                String suffix = originalFilename.substring(pos).toLowerCase();
+                //用uuid替换原始的文件名
+                String purFName = UUID.randomUUID().toString().replaceAll("-", "");
+                realName = purFName + suffix;
+
+
                 uf.setPath(filePath + originalFilename);
                 uf.setCode("clue");
                 uf.setItemId(clue.getId());
+                uf.setRealName(realName);
                 uf.setCreateTime(new Date());
                 uf.setCreateId(user.getId());
                 uploadFileMapper.insert(uf);
                 // 构建上传文件的目标路径
-                String filePath1 = filePath + originalFilename;
+                String filePath1 = filePath + realName;
 
                 // 在服务器上创建文件
                 File dest = new File(filePath1);
@@ -332,5 +341,49 @@ public class ClueServiceImpl extends ServiceImpl<ClueMapper, Clue> implements Cl
         }
     }
 
+    @Override
+    public Object reFileName(UploadFile uploadFile, HttpServletRequest request) {
+        return uploadFileMapper.update(null, new UpdateWrapper<UploadFile>().eq("id", uploadFile.getId()).set("name", uploadFile.getName()));
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public Object deleteFile(UploadFile file, HttpServletRequest request) {
+        HttpRespMsg msg = new HttpRespMsg();
+        try {
+            UploadFile uploadFile = uploadFileMapper.selectById(file.getId());
+            uploadFileMapper.deleteById(uploadFile.getId());
+            String realName = uploadFile.getRealName();
+            File file1 = new File(path + realName);
+            file1.delete();
+            msg.setMsg("删除成功");
+        } catch (Exception e) {
+            e.printStackTrace();
+            msg.setError("删除失败");
+        }
+        return msg;
+    }
+
+    @Override
+    public Object downFile(UploadFile file, HttpServletRequest request, HttpServletResponse response) {
+        HttpRespMsg msg = new HttpRespMsg();
+        try {
+            ServletOutputStream os = response.getOutputStream();
+            UploadFile uploadFile = uploadFileMapper.selectById(file.getId());
+
+            File uploadFile1 = new File(path + uploadFile.getRealName());
+            response.addHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(file.getName(), "UTF-8"));
+            response.setContentType("application/octet-stream");
+            // 读取文件的字节流
+            os.write(FileUtil.readFileByBytes(uploadFile1));
+            os.flush();
+
+        } catch (IOException e) {
+            msg.setError(MessageUtils.message("file.error"));
+            e.printStackTrace();
+        }
+        return msg;
+    }
+
 
 }