Kaynağa Gözat

Merge branch 'master' of http://47.100.37.243:10191/wutt/manHourHousekeeper

Min 1 yıl önce
ebeveyn
işleme
d95925b95e

+ 26 - 0
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/controller/BusinessOpportunityController.java

@@ -14,6 +14,7 @@ import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 
 import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.multipart.MultipartFile;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
@@ -178,6 +179,31 @@ public class BusinessOpportunityController {
     }
 
 
+    // 上传
+    @RequestMapping("uploadFile")
+    public Object uploadFile(BusinessItemCustom bo, HttpServletRequest request, MultipartFile file) throws Exception {
+        return bOservice.uploadFile(bo, request, file);
+    }
+
+    //下载
+    @RequestMapping("downFile")
+    public Object downFile(UploadFile file, HttpServletRequest request, HttpServletResponse response) throws Exception {
+        return bOservice.downFile(file, request, response);
+    }
+
+    //删除
+    @RequestMapping("deleteFile")
+    public Object downFile(UploadFile file, HttpServletRequest request) throws Exception {
+        return bOservice.deleteFile(file, request);
+    }
+
+    //重命名
+    @RequestMapping("reFileName")
+    public Object reFileName(UploadFile uploadFile, HttpServletRequest request) throws Exception {
+        return bOservice.reFileName(uploadFile, request);
+    }
+
+
 
 
 }

+ 28 - 1
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/controller/CustomController.java

@@ -3,6 +3,7 @@ package com.management.platform.controller;
 
 import com.management.platform.entity.Clue;
 import com.management.platform.entity.Custom;
+import com.management.platform.entity.UploadFile;
 import com.management.platform.entity.User;
 import com.management.platform.mapper.UserMapper;
 import com.management.platform.service.CustomService;
@@ -12,8 +13,10 @@ import org.springframework.beans.factory.annotation.Value;
 import org.springframework.web.bind.annotation.RequestMapping;
 
 import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.multipart.MultipartFile;
 
 import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -115,7 +118,7 @@ public class CustomController {
 
     // 认领&转移线索
     @RequestMapping("claim")
-    public Object claim( Custom custom, HttpServletRequest request) {
+    public Object claim(Custom custom, HttpServletRequest request) {
         User user = userMapper.selectById(request.getHeader("Token"));
         HttpRespMsg msg = new HttpRespMsg();
         msg.setMsg("操作成功");
@@ -123,6 +126,30 @@ public class CustomController {
         return msg;
     }
 
+    // 上传
+    @RequestMapping("uploadFile")
+    public Object uploadFile(Custom custom, HttpServletRequest request, MultipartFile file) throws Exception {
+        return customService.uploadFile(custom, request, file);
+    }
+
+    //下载
+    @RequestMapping("downFile")
+    public Object downFile(UploadFile file, HttpServletRequest request, HttpServletResponse response) throws Exception {
+        return customService.downFile(file, request, response);
+    }
+
+    //删除
+    @RequestMapping("deleteFile")
+    public Object downFile(UploadFile file, HttpServletRequest request) throws Exception {
+        return customService.deleteFile(file, request);
+    }
+
+    //重命名
+    @RequestMapping("reFileName")
+    public Object reFileName(UploadFile uploadFile, HttpServletRequest request) throws Exception {
+        return customService.reFileName(uploadFile, request);
+    }
+
 
 }
 

+ 1 - 1
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/mapper/ClueMapper.java

@@ -33,5 +33,5 @@ public interface ClueMapper extends BaseMapper<Clue> {
             "(select `name` from sys_dict where code = 'CustomLevel' and id =  customer_level_id) customerLevelValue ," +
             "(select `name` from user where id = incharger_id ) inchargerName" +
             " from clue where id = #{id}")
-    Clue selectById2Info(Integer id);
+    Clue selectById2Info(@Param("id") Integer id);
 }

+ 10 - 0
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/service/BusinessOpportunityService.java

@@ -3,8 +3,10 @@ package com.management.platform.service;
 import com.management.platform.entity.*;
 import com.baomidou.mybatisplus.extension.service.IService;
 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;
 
 /**
@@ -38,4 +40,12 @@ public interface BusinessOpportunityService extends IService<BusinessOpportunity
     Object exportData(BusinessOpportunity bo, HttpServletRequest request) throws Exception;
 
     HttpRespMsg saveProduct(BusinessOpportunity bo, User user);
+
+    Object uploadFile(BusinessItemCustom bo, HttpServletRequest request, MultipartFile file);
+
+    Object downFile(UploadFile file, HttpServletRequest request, HttpServletResponse response);
+
+    Object deleteFile(UploadFile file, HttpServletRequest request);
+
+    Object reFileName(UploadFile uploadFile, HttpServletRequest request);
 }

+ 11 - 0
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/service/CustomService.java

@@ -2,10 +2,13 @@ package com.management.platform.service;
 
 import com.management.platform.entity.Custom;
 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;
 
 /**
@@ -35,4 +38,12 @@ public interface CustomService extends IService<Custom> {
     HttpRespMsg getList(Custom custom, HttpServletRequest request);
 
     HttpRespMsg getDeleteList(Custom custom, HttpServletRequest request);
+
+    Object uploadFile(Custom custom, HttpServletRequest request, MultipartFile file);
+
+    Object downFile(UploadFile file, HttpServletRequest request, HttpServletResponse response);
+
+    Object deleteFile(UploadFile file, HttpServletRequest request);
+
+    Object reFileName(UploadFile uploadFile, HttpServletRequest request);
 }

+ 117 - 0
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/service/impl/BusinessOpportunityServiceImpl.java

@@ -11,18 +11,27 @@ import com.management.platform.mapper.*;
 import com.management.platform.service.BusinessOpportunityService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 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.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 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.io.File;
+import java.io.IOException;
 import java.math.BigDecimal;
+import java.net.URLEncoder;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
+import java.util.UUID;
 
 /**
  * <p>
@@ -224,6 +233,114 @@ public class BusinessOpportunityServiceImpl extends ServiceImpl<BusinessOpportun
         return msg;
     }
 
+    @Value(value = "${upload.file}")
+    private String filePath;
+    @Override
+    public Object uploadFile(BusinessItemCustom bo, HttpServletRequest request, MultipartFile file) {
+        User user = userMapper.selectById(request.getHeader("token"));
+        if (!file.isEmpty()) { // 检查上传的文件是否为空
+            try {
+                // 获取上传文件的原始文件名
+                String originalFilename = file.getOriginalFilename();
+
+                // 创建文件存储目录
+                File uploadDir = new File(filePath);
+                if (!uploadDir.exists()) {
+                    uploadDir.mkdirs();
+
+                }
+                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 + realName);
+                uf.setCode("business");
+                uf.setItemId(bo.getId());
+                uf.setRealName(realName);
+                uf.setCreateTime(new Date());
+                uf.setCreateId(user.getId());
+                uploadFileMapper.insert(uf);
+                // 构建上传文件的目标路径
+                String filePath1 = filePath + realName;
+
+                // 在服务器上创建文件
+                File dest = new File(filePath1);
+
+                // 将上传的文件保存到目标路径
+                file.transferTo(dest);
+
+                // 文件上传成功的响应消息
+                HttpRespMsg msg = new HttpRespMsg();
+                msg.setMsg("上传成功");
+                return msg;
+            } catch (IOException e) {
+                e.printStackTrace();
+                // 文件上传失败的响应消息
+                HttpRespMsg msg = new HttpRespMsg();
+                msg.setError("上传成功失败");
+                return msg;
+            }
+        } else {
+            // 文件为空的响应消息
+            HttpRespMsg msg = new HttpRespMsg();
+            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());
+            if (uploadFile == null ){
+                msg.setError("文件未找到");
+                return msg;
+            }
+
+            File uploadFile1 = new File(uploadFile.getPath());
+            response.addHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(uploadFile.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;
+    }
+
+    @Override
+    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 reFileName(UploadFile uploadFile, HttpServletRequest request) {
+        return uploadFileMapper.update(null, new UpdateWrapper<UploadFile>().eq("id", uploadFile.getId()).set("name", uploadFile.getName()));
+
+    }
+
     private BusinessOpportunity setNull(BusinessOpportunity bo) {
         if (bo.getPlate1() == "") {
             bo.setPlate1(null);

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

@@ -306,7 +306,7 @@ public class ClueServiceImpl extends ServiceImpl<ClueMapper, Clue> implements Cl
                 realName = purFName + suffix;
 
 
-                uf.setPath(filePath + originalFilename);
+                uf.setPath(filePath + realName);
                 uf.setCode("clue");
                 uf.setItemId(clue.getId());
                 uf.setRealName(realName);
@@ -370,9 +370,13 @@ public class ClueServiceImpl extends ServiceImpl<ClueMapper, Clue> implements Cl
         try {
             ServletOutputStream os = response.getOutputStream();
             UploadFile uploadFile = uploadFileMapper.selectById(file.getId());
+            if (uploadFile == null ){
+                msg.setError("文件未找到");
+                return msg;
+            }
 
-            File uploadFile1 = new File(path + uploadFile.getRealName());
-            response.addHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(file.getName(), "UTF-8"));
+            File uploadFile1 = new File(uploadFile.getPath());
+            response.addHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(uploadFile.getName(), "UTF-8"));
             response.setContentType("application/octet-stream");
             // 读取文件的字节流
             os.write(FileUtil.readFileByBytes(uploadFile1));

+ 117 - 4
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/service/impl/CustomServiceImpl.java

@@ -7,16 +7,22 @@ import com.management.platform.mapper.*;
 import com.management.platform.service.CustomService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.management.platform.service.SysFunctionService;
+import com.management.platform.util.FileUtil;
 import com.management.platform.util.HttpRespMsg;
+import com.management.platform.util.MessageUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.multipart.MultipartFile;
 
+import javax.servlet.ServletOutputStream;
 import javax.servlet.http.HttpServletRequest;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+import java.io.File;
+import java.io.IOException;
+import java.net.URLEncoder;
+import java.util.*;
 
 /**
  * <p>
@@ -260,6 +266,113 @@ public class CustomServiceImpl extends ServiceImpl<CustomMapper, Custom> impleme
     }
 
 
+    @Value(value = "${upload.file}")
+    private String filePath;
+    @Override
+    public Object uploadFile(Custom custom, HttpServletRequest request, MultipartFile file) {
+        User user = userMapper.selectById(request.getHeader("token"));
+        if (!file.isEmpty()) { // 检查上传的文件是否为空
+            try {
+                // 获取上传文件的原始文件名
+                String originalFilename = file.getOriginalFilename();
+
+                // 创建文件存储目录
+                File uploadDir = new File(filePath);
+                if (!uploadDir.exists()) {
+                    uploadDir.mkdirs();
+
+                }
+                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 + realName);
+                uf.setCode("custom");
+                uf.setItemId(custom.getId());
+                uf.setRealName(realName);
+                uf.setCreateTime(new Date());
+                uf.setCreateId(user.getId());
+                uploadFileMapper.insert(uf);
+                // 构建上传文件的目标路径
+                String filePath1 = filePath + realName;
+
+                // 在服务器上创建文件
+                File dest = new File(filePath1);
+
+                // 将上传的文件保存到目标路径
+                file.transferTo(dest);
+
+                // 文件上传成功的响应消息
+                HttpRespMsg msg = new HttpRespMsg();
+                msg.setMsg("上传成功");
+                return msg;
+            } catch (IOException e) {
+                e.printStackTrace();
+                // 文件上传失败的响应消息
+                HttpRespMsg msg = new HttpRespMsg();
+                msg.setError("上传成功失败");
+                return msg;
+            }
+        } else {
+            // 文件为空的响应消息
+            HttpRespMsg msg = new HttpRespMsg();
+            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());
+            if (uploadFile == null ){
+                msg.setError("文件未找到");
+                return msg;
+            }
+
+            File uploadFile1 = new File(uploadFile.getPath());
+            response.addHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(uploadFile.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;    }
+
+    @Override
+    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(uploadFile.getPath());
+            file1.delete();
+            msg.setMsg("删除成功");
+        } catch (Exception e) {
+            e.printStackTrace();
+            msg.setError("删除失败");
+        }
+        return msg;    }
+
+    @Override
+    public Object reFileName(UploadFile uploadFile, HttpServletRequest request) {
+        return uploadFileMapper.update(null, new UpdateWrapper<UploadFile>().eq("id", uploadFile.getId()).set("name", uploadFile.getName()));
+    }
+
+
     private Custom setNull(Custom clue) {
         if (clue.getPlate1() == "") {
             clue.setPlate1(null);