Bläddra i källkod

Merge remote-tracking branch 'origin/master'

lichaoliu 4 år sedan
förälder
incheckning
06a7e9cd76

+ 82 - 0
src/main/java/com/migao/controller/DocumentSharingController.java

@@ -0,0 +1,82 @@
+package com.migao.controller;
+
+import com.migao.config.response.BasePageRequest;
+import com.migao.config.response.PageBeanOne;
+import com.migao.config.response.ResponseBean;
+import com.migao.entity.vo.req.DocumentSharingInsertReq;
+import com.migao.entity.vo.req.DocumentSharingQueryReq;
+import com.migao.entity.vo.req.DocumentSharingUpdateReq;
+import com.migao.entity.vo.res.DocumentSharingPageQueryRes;
+import com.migao.entity.vo.res.DocumentSharingQueryRes;
+import com.migao.service.DocumentSharingService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * @author dingsong
+ */
+@Api(tags = "006.文档共享模快")
+@RestController
+@RequestMapping("/documentSharing")
+public class DocumentSharingController {
+    @Resource
+    DocumentSharingService documentSharingService;
+
+    @ApiOperation("导入文档")
+    @PostMapping(value = "/insert")
+    public ResponseBean<?> insert(@RequestBody DocumentSharingInsertReq doc){
+       return documentSharingService.insert(doc);
+    }
+
+    @ApiOperation("删除")
+    @PostMapping(value = "/deleteById")
+    public ResponseBean<?> deleteById(@RequestParam String id) {
+       return documentSharingService.deleteById(id);
+    }
+
+    @ApiOperation("更新")
+    @PostMapping(value = "/update")
+    public ResponseBean<?> update(@RequestBody DocumentSharingUpdateReq documentSharingUpdateReq) {
+       return documentSharingService.update(documentSharingUpdateReq);
+    }
+
+    @ApiOperation("查看详情")
+    @PostMapping(value = "/findById")
+    public ResponseBean<DocumentSharingQueryRes> findById(@RequestParam String id) {
+        return documentSharingService.findById(id);
+    }
+
+    @ApiOperation("分页查看所有数据")
+    @PostMapping(value = "/pageQueryAll")
+    public ResponseBean<PageBeanOne<DocumentSharingPageQueryRes>> pageQueryAll(@RequestBody BasePageRequest basePageRequest) {
+        return documentSharingService.pageQueryAll(basePageRequest);
+    }
+
+    @ApiOperation("分页查看当前用户数据")
+    @PostMapping(value = "/pageQueryById")
+    public ResponseBean<PageBeanOne<DocumentSharingPageQueryRes>> pageQueryById(@RequestBody BasePageRequest basePageRequest) {
+        return documentSharingService.pageQueryById(basePageRequest);
+    }
+
+    @ApiOperation("分页模糊查询所有数据")
+    @PostMapping(value = "/pageQueryOne")
+    public ResponseBean<PageBeanOne<DocumentSharingPageQueryRes>> pageQueryOne(@RequestBody DocumentSharingQueryReq documentSharingQuery) {
+        return documentSharingService.pageQueryOne(documentSharingQuery);
+    }
+
+    @ApiOperation("分页模糊查询当前用户数据")
+    @PostMapping(value = "/pageQueryOneById")
+    public ResponseBean<PageBeanOne<DocumentSharingPageQueryRes>> pageQueryOneById(@RequestBody DocumentSharingQueryReq documentSharingQuery) {
+        return documentSharingService.pageQueryOneById(documentSharingQuery);
+    }
+
+    @ApiOperation("下载单个文档")
+    @PostMapping(value = "/download")
+    public ResponseBean<?> download(HttpServletResponse response, @RequestParam String id){
+        return documentSharingService.download(response,id);
+    }
+}

+ 1 - 1
src/main/java/com/migao/entity/vo/req/DemandLibraryInsertReq.java

@@ -28,7 +28,7 @@ public class DemandLibraryInsertReq {
 
     @ApiModelProperty(value = "需求编号")
     @NotNull(message = "需求编号不能为空")
-    private Integer demandNumber;
+    private String demandNumber;
 
     @ApiModelProperty(value = "需求名称")
     @NotEmpty(message = "需求名称不能为空")

+ 10 - 0
src/main/java/com/migao/service/DocumentSharingService.java

@@ -11,6 +11,8 @@ import com.migao.entity.vo.req.DocumentSharingUpdateReq;
 import com.migao.entity.vo.res.DocumentSharingPageQueryRes;
 import com.migao.entity.vo.res.DocumentSharingQueryRes;
 
+import javax.servlet.http.HttpServletResponse;
+
 /**
  * @author dingsong
  */
@@ -72,4 +74,12 @@ public interface DocumentSharingService extends IService<DocumentSharing> {
      * @return
      */
     ResponseBean<PageBeanOne<DocumentSharingPageQueryRes>> pageQueryOneById(DocumentSharingQueryReq documentSharingQuery);
+
+    /**
+     * 下载单个文件
+     * @param response 响应
+     * @param id 文档共享id
+     * @return
+     */
+    ResponseBean<?> download(HttpServletResponse response, String id);
 }

+ 2 - 0
src/main/java/com/migao/service/impl/DemandLibraryServiceImpl.java

@@ -18,6 +18,7 @@ import com.migao.entity.vo.res.DemandLibraryQueryRes;
 import com.migao.mapper.*;
 import com.migao.service.DemandLibraryService;
 import com.migao.util.EntityUtils;
+import com.migao.util.ProjectNoUtil;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Service;
@@ -56,6 +57,7 @@ public class DemandLibraryServiceImpl extends ServiceImpl<DemandLibraryMapper, D
         dic.setSubmitTime(LocalDateTime.now());
         dic.setDeleted(0);
         dic.setCreateUserId(user.getId());
+        dic.setDemandNumber(ProjectNoUtil.getCode());
         demandLibraryMap.insert(dic);
 
         for(Integer i : demandLibrary.getFileId()){

+ 41 - 0
src/main/java/com/migao/service/impl/DocumentSharingServiceImpl.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.migao.config.authority.LoginUtils;
+import com.migao.config.properties.SystemProperties;
 import com.migao.config.response.*;
 import com.migao.entity.po.*;
 import com.migao.entity.vo.req.DocumentSharingInsertReq;
@@ -23,6 +24,11 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
 import java.time.LocalDateTime;
 
 /**
@@ -44,6 +50,8 @@ public class DocumentSharingServiceImpl extends ServiceImpl<DocumentSharingMappe
     FileInfoMapper fileInfoMapper;
     @Resource
     UserMapper userMapper;
+    @Resource
+    private SystemProperties systemProperties;
 
     @Override
     public ResponseBean<?> insert(DocumentSharingInsertReq doc) {
@@ -295,5 +303,38 @@ public class DocumentSharingServiceImpl extends ServiceImpl<DocumentSharingMappe
         );
     }
 
+    @Override
+    public ResponseBean<?> download(HttpServletResponse response, String id) {
+        Integer idInt = Integer.parseInt(id);
+        DocumentSharing documentSharing = documentSharingMa.selectById(idInt);
+        FileInfo fileInfo = fileInfoMapper.selectById(documentSharing);
+        String filePath = StringUtils.join(systemProperties.getDownloadPrefix(), fileInfo.getUri());
+        File file = new File(filePath);
+
+        // 取得文件名。
+        String fileName = file.getName();
+        InputStream fis = null;
+        try {
+            fis = new FileInputStream(file);
+            response.reset();
+            response.setCharacterEncoding("UTF-8");
+            response.setContentType("application/force-download");
+            response.addHeader("Content-Disposition",
+                    "attachment;filename=" + new String(fileName.getBytes("utf-8"), "iso8859-1"));
+            response.setHeader("Content-Length", String.valueOf(file.length()));
+
+            byte[] b = new byte[1024];
+            int len;
+            while ((len = fis.read(b)) != -1) {
+                response.getOutputStream().write(b, 0, len);
+            }
+            response.flushBuffer();
+            fis.close();
+            return ResponseBuilder.ok();
+        }catch (IOException e) {
+            throw new RuntimeException(e);
+        }
+    }
+
 
 }