Browse Source

文档协作处理

wukai 2 years ago
parent
commit
32aebbc432

+ 19 - 5
doc-biz/src/main/java/com/doc/biz/controller/DocActorController.java

@@ -2,22 +2,19 @@ package com.doc.biz.controller;
 
 import com.doc.biz.domain.DocActor;
 import com.doc.biz.domain.DocActorUser;
+import com.doc.biz.domain.DocInfo;
 import com.doc.biz.service.IDocActorService;
 import com.doc.biz.service.IDocActorUserService;
-import com.doc.common.annotation.Log;
 import com.doc.common.core.controller.BaseController;
 import com.doc.common.core.domain.AjaxResult;
 import com.doc.common.core.page.TableDataInfo;
-import com.doc.common.enums.BusinessType;
-import com.doc.common.utils.poi.ExcelUtil;
+import com.doc.common.utils.SecurityUtils;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
-import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
-import javax.servlet.http.HttpServletResponse;
 import java.util.Date;
 import java.util.List;
 
@@ -74,6 +71,23 @@ public class DocActorController extends BaseController {
         return success();
     }
 
+    @ApiOperation("我发起的")
+    @GetMapping("/initiation")
+    public TableDataInfo initiation() {
+        startPage();
+        List<DocInfo> list = docActorService.initiationList(SecurityUtils.getUserId());
+        return getDataTable(list);
+    }
+
+    @ApiOperation("我参与的")
+    @GetMapping("/participation")
+    public TableDataInfo participation() {
+        startPage();
+        List<DocInfo> list = docActorService.participationList(SecurityUtils.getUserId());
+        return getDataTable(list);
+    }
+
+
 //
 //    /**
 //     * 查询文档协作列表

+ 1 - 1
doc-biz/src/main/java/com/doc/biz/domain/DocActor.java

@@ -39,7 +39,7 @@ public class DocActor extends BaseEntity {
      * 归档时间
      */
     @ApiModelProperty("归档时间")
-    @JsonFormat(pattern = "yyyy-MM-dd")
+    @JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss")
     @Excel(name = "归档时间", width = 30, dateFormat = "yyyy-MM-dd")
     private Date filedTime;
 

+ 17 - 0
doc-biz/src/main/java/com/doc/biz/domain/DocInfo.java

@@ -1,11 +1,15 @@
 package com.doc.biz.domain;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.doc.common.core.domain.BaseEntity;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
+import java.util.Date;
+
 /**
  * 文件基本信息表对象 doc_info
  *
@@ -59,4 +63,17 @@ public class DocInfo extends BaseEntity {
      */
     @ApiModelProperty("文件类型")
     private String fileType;
+
+    @ApiModelProperty("是否协作文件")
+    @TableField(exist = false)
+    private String isActor;
+
+    @ApiModelProperty("是否归档")
+    @TableField(exist = false)
+    private String isFiled;
+
+    @ApiModelProperty("归档时间")
+    @JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss")
+    @TableField(exist = false)
+    private Date filedTime;
 }

+ 15 - 0
doc-biz/src/main/java/com/doc/biz/mapper/DocActorMapper.java

@@ -2,6 +2,7 @@ package com.doc.biz.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.doc.biz.domain.DocActor;
+import com.doc.biz.domain.DocInfo;
 
 import java.util.List;
 
@@ -59,4 +60,18 @@ public interface DocActorMapper extends BaseMapper<DocActor> {
      * @return 结果
      */
     public int deleteDocActorByDocIds(Long[] docIds);
+
+    /**
+     * 我发起的
+     * @param userId 用户ID
+     * @return 结果
+     */
+    List<DocInfo> initiationList(Long userId);
+
+    /**
+     * 我参与的
+     * @param userId 用户ID
+     * @return 结果
+     */
+    List<DocInfo> participationList(Long userId);
 }

+ 15 - 0
doc-biz/src/main/java/com/doc/biz/service/IDocActorService.java

@@ -1,6 +1,7 @@
 package com.doc.biz.service;
 
 import com.doc.biz.domain.DocActor;
+import com.doc.biz.domain.DocInfo;
 
 import java.util.List;
 
@@ -58,4 +59,18 @@ public interface IDocActorService {
      * @return 结果
      */
     public int deleteDocActorByDocId(Long docId);
+
+    /**
+     * 我发起的
+     * @param userId 用户ID
+     * @return 结果
+     */
+    List<DocInfo> initiationList(Long userId);
+
+    /**
+     * 我参与的
+     * @param userId 用户ID
+     * @return 结果
+     */
+    List<DocInfo> participationList(Long userId);
 }

+ 23 - 0
doc-biz/src/main/java/com/doc/biz/service/impl/DocActorServiceImpl.java

@@ -1,6 +1,7 @@
 package com.doc.biz.service.impl;
 
 import com.doc.biz.domain.DocActor;
+import com.doc.biz.domain.DocInfo;
 import com.doc.biz.mapper.DocActorMapper;
 import com.doc.biz.service.IDocActorService;
 import org.springframework.stereotype.Service;
@@ -84,4 +85,26 @@ public class DocActorServiceImpl implements IDocActorService {
     public int deleteDocActorByDocId(Long docId) {
         return docActorMapper.deleteDocActorByDocId(docId);
     }
+
+    /**
+     * 我发起的
+     *
+     * @param userId 用户ID
+     * @return 结果
+     */
+    @Override
+    public List<DocInfo> initiationList(Long userId) {
+        return docActorMapper.initiationList(userId);
+    }
+
+    /**
+     * 我参与的
+     *
+     * @param userId 用户ID
+     * @return 结果
+     */
+    @Override
+    public List<DocInfo> participationList(Long userId) {
+        return docActorMapper.participationList(userId);
+    }
 }

+ 14 - 0
doc-biz/src/main/resources/mapper/biz/DocActorMapper.xml

@@ -30,6 +30,20 @@
         <include refid="selectDocActorVo"/>
         where DOC_ID = #{docId}
     </select>
+    <select id="initiationList" resultType="com.doc.biz.domain.DocInfo" parameterType="Long">
+        select a.*, 'Y' is_actor, b.is_filed, b.filed_time
+        from doc_info a,
+             doc_actor b
+        where a.doc_id = b.doc_id
+          and a.space_id = (select space_id from doc_space where owner = #{userId} and space_type = '3')
+    </select>
+    <select id="participationList" resultType="com.doc.biz.domain.DocInfo" parameterType="Long">
+        select a.*, 'Y' is_actor, b.is_filed, b.filed_time
+        from doc_info a,
+             doc_actor b
+        where a.doc_id = b.doc_id
+          and doc_id in (select doc_id from doc_actor_user where user_id = #{userId})
+    </select>
 
     <insert id="insertDocActor" parameterType="DocActor">
         insert into doc_actor

+ 6 - 13
doc-biz/src/main/resources/mapper/biz/DocInfoMapper.xml

@@ -20,19 +20,12 @@
     </resultMap>
 
     <sql id="selectDocInfoVo">
-        select DOC_ID,
-               SPACE_ID,
-               DIR_ID,
-               FILE_NAME,
-               FILE_ID,
-               FILE_SIZE,
-               FILE_TYPE,
-               CREATE_BY,
-               CREATE_TIME,
-               UPDATE_BY,
-               UPDATE_TIME,
-               REMARK
-        from doc_info
+        select *
+        from (select a.*,
+                     case when b.DOC_ID!=NULL then 'Y' ELSE 'N' END IS_ACTOR,
+                  B.IS_FILED, B.FILED_TIME
+              FROM doc_info a LEFT JOIN doc_actor b
+              ON a.DOC_ID=b.doc_id) t
     </sql>
 
     <select id="selectDocInfoList" parameterType="DocInfo" resultMap="DocInfoResult">