Ver código fonte

目录树,初始化空间时需要初始化顶层目录

wukai 1 ano atrás
pai
commit
e8b7cdbc19

+ 109 - 7
doc-biz/src/main/java/com/doc/biz/controller/DocDirController.java

@@ -1,23 +1,26 @@
 package com.doc.biz.controller;
 
 import com.doc.biz.domain.DocDir;
+import com.doc.biz.domain.DocDirUser;
 import com.doc.biz.domain.DocInfo;
+import com.doc.biz.domain.DocSpace;
 import com.doc.biz.service.IDocDirService;
+import com.doc.biz.service.IDocDirUserService;
 import com.doc.biz.service.IDocInfoService;
+import com.doc.biz.service.IDocSpaceService;
+import com.doc.biz.vo.TreeVO;
 import com.doc.common.annotation.Log;
 import com.doc.common.core.controller.BaseController;
 import com.doc.common.core.domain.AjaxResult;
 import com.doc.common.enums.BusinessType;
 import com.doc.common.utils.SecurityUtils;
 import com.doc.common.utils.poi.ExcelUtil;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiImplicitParam;
-import io.swagger.annotations.ApiImplicitParams;
-import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.*;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -34,6 +37,83 @@ public class DocDirController extends BaseController {
     private IDocDirService docDirService;
     @Resource
     private IDocInfoService docInfoService;
+    @Resource
+    private IDocSpaceService spaceService;
+    @Resource
+    private IDocDirUserService dirUserService;
+
+    /**
+     * 获取目录树
+     */
+    @ApiOperation("目录树")
+    @GetMapping(value = "/dir-tree/{type}")
+    public TreeVO dirTree(@ApiParam(value = "目录类型(1.公共 2.部门 3.个人)", required = true) @PathVariable("type") String type) {
+        return tree(type, false);
+    }
+
+    /**
+     * 获取文件树
+     */
+    @ApiOperation("文件树")
+    @GetMapping(value = "/file-tree/{type}")
+    public TreeVO fileTree(@ApiParam(value = "目录类型(1.公共 2.部门 3.个人)", required = true) @PathVariable("type") String type) {
+        return tree(type, true);
+    }
+
+    /**
+     * 获取树
+     *
+     * @param type     空间类型
+     * @param fileTree 是否文件树 true 文件树,false 目录树
+     * @return
+     */
+    private TreeVO tree(String type, boolean fileTree) {
+        DocSpace space = spaceService.selectDocSpaceList(type);
+        DocDir docDir = new DocDir();
+        docDir.setSpaceId(space.getSpaceId());
+        docDir.setParentId(0L);
+        List<DocDir> list = docDirService.selectDocDirList(docDir);
+
+        TreeVO vo = getChildren(list.get(0), fileTree);
+        return vo;
+    }
+
+    /**
+     * 递归获取目录树
+     *
+     * @param dir 目录信息
+     * @return
+     */
+    private TreeVO getChildren(DocDir dir, boolean fileTree) {
+        TreeVO vo = new TreeVO();
+        vo.setId(dir.getDirId());
+        vo.setLabel(dir.getDirName());
+
+        List<TreeVO> children = new ArrayList<>();
+
+        if (fileTree) {
+            vo.setDisabled(true);
+            DocInfo info = new DocInfo();
+            info.setDirId(dir.getDirId());
+            docInfoService.selectDocInfoList(info).forEach(d -> {
+                TreeVO childVO = new TreeVO();
+                childVO.setId(d.getDocId());
+                childVO.setLabel(d.getFileName());
+                childVO.setDisabled(false);
+                children.add(childVO);
+            });
+        }
+
+        DocDir dir1 = new DocDir();
+        dir1.setParentId(dir.getDirId());
+        docDirService.selectDocDirList(dir1).forEach(d -> {
+            children.add(getChildren(d, fileTree));
+        });
+
+        vo.setChildren(children);
+        return vo;
+    }
+
 
     /**
      * 查询文档目录管理列表
@@ -66,7 +146,11 @@ public class DocDirController extends BaseController {
     //@PreAuthorize("@ss.hasPermi('biz:dir:query')")
     @GetMapping(value = "/{dirId}")
     public AjaxResult getInfo(@PathVariable("dirId") Long dirId) {
-        return success(docDirService.selectDocDirByDirId(dirId));
+        DocDir dir = docDirService.selectDocDirByDirId(dirId);
+        DocDirUser dirUser = new DocDirUser();
+        dirUser.setDirId(dirId);
+        dir.setUsers(dirUserService.selectDocDirUserList(dirUser));
+        return success(dir);
     }
 
     /**
@@ -77,7 +161,16 @@ public class DocDirController extends BaseController {
     @Log(title = "文档目录管理", businessType = BusinessType.INSERT)
     @PostMapping
     public AjaxResult add(@RequestBody DocDir docDir) {
-        return toAjax(docDirService.insertDocDir(docDir));
+        int i = docDirService.insertDocDir(docDir);
+        //如果是部门目录,则需要插入成员
+        String dept = "2";
+        if (dept.equals(docDir.getDirType())) {
+            docDir.getUsers().forEach(u -> {
+                u.setDirId(docDir.getDirId());
+                dirUserService.insertDocDirUser(u);
+            });
+        }
+        return toAjax(i);
     }
 
     /**
@@ -102,11 +195,20 @@ public class DocDirController extends BaseController {
     /**
      * 修改文档目录管理
      */
-//    @ApiOperation("修改文档目录管理")
+    @ApiOperation("修改目录信息")
     //@PreAuthorize("@ss.hasPermi('biz:dir:edit')")
     @Log(title = "文档目录管理", businessType = BusinessType.UPDATE)
     @PutMapping
     public AjaxResult edit(@RequestBody DocDir docDir) {
+        //如果是部门目录,则需要插入成员
+        String dept = "2";
+        dirUserService.deleteDocDirUserByDirId(docDir.getDirId());
+        if (dept.equals(docDir.getDirType())) {
+            docDir.getUsers().forEach(u -> {
+                u.setDirId(docDir.getDirId());
+                dirUserService.insertDocDirUser(u);
+            });
+        }
         return toAjax(docDirService.updateDocDir(docDir));
     }
 

+ 3 - 18
doc-biz/src/main/java/com/doc/biz/controller/DocSpaceController.java

@@ -70,24 +70,9 @@ public class DocSpaceController extends BaseController {
      * 获取空间详情
      */
     @ApiOperation("获取空间信息")
-    @GetMapping(value = "/{spaceType}")
-    public AjaxResult getInfo(@ApiParam(value = "空间类型(1.公共 2.部门 3.个人)", required = true) @PathVariable("spaceType") String spaceType) {
-        DocSpace search = new DocSpace();
-        search.setSpaceType(spaceType);
-        switch (spaceType) {
-//            case "1":
-//                break;
-            case "2":
-                search.setOwner(SecurityUtils.getDeptId());
-                break;
-            case "3":
-                search.setOwner(SecurityUtils.getUserId());
-                break;
-            default:
-        }
-
-        List<DocSpace> list = docSpaceService.selectDocSpaceList(search);
-        return success(list.get(0));
+    @GetMapping(value = "/info/{type}")
+    public AjaxResult spaceType(@ApiParam(value = "空间类型(1.公共 2.部门 3.个人)", required = true) @PathVariable("type") String type) {
+        return success(docSpaceService.selectDocSpaceList(type));
     }
 
     /**

+ 22 - 60
doc-biz/src/main/java/com/doc/biz/domain/DocDir.java

@@ -1,20 +1,25 @@
 package com.doc.biz.domain;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.doc.common.annotation.Excel;
 import com.doc.common.core.domain.TreeEntity;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import org.apache.commons.lang3.builder.ToStringStyle;
 
+import java.util.List;
+
 /**
  * 文档目录管理对象 doc_dir
  *
  * @author wukai
  * @date 2023-08-21
  */
-@ApiModel(value = "DocDir" , description = "文档目录管理")
+@Data
+@ApiModel(value = "DocDir", description = "文档目录管理")
 public class DocDir extends TreeEntity {
     private static final long serialVersionUID = 1L;
 
@@ -34,7 +39,7 @@ public class DocDir extends TreeEntity {
     /**
      * 目录类型
      */
-    @ApiModelProperty("目录类型")
+    @ApiModelProperty("目录类型 1.普通目录 2.组织目录")
     @Excel(name = "目录类型")
     private String dirType;
 
@@ -58,69 +63,26 @@ public class DocDir extends TreeEntity {
     @ApiModelProperty("目录路径")
     private String dirPath;
 
-    public void setDirId(Long dirId) {
-        this.dirId = dirId;
-    }
-
-    public Long getDirId() {
-        return dirId;
-    }
-
-    public void setSpaceId(Long spaceId) {
-        this.spaceId = spaceId;
-    }
-
-    public Long getSpaceId() {
-        return spaceId;
-    }
-
-    public void setDirType(String dirType) {
-        this.dirType = dirType;
-    }
-
-    public String getDirType() {
-        return dirType;
-    }
+    @ApiModelProperty("目录人员")
+    @TableField(exist = false)
+    private List<DocDirUser> users;
 
-    public void setDirRole(String dirRole) {
-        this.dirRole = dirRole;
-    }
-
-    public String getDirRole() {
-        return dirRole;
-    }
-
-    public void setDirName(String dirName) {
-        this.dirName = dirName;
-    }
-
-    public String getDirName() {
-        return dirName;
-    }
-
-    public void setDirPath(String dirPath) {
-        this.dirPath = dirPath;
-    }
-
-    public String getDirPath() {
-        return dirPath;
-    }
 
     @Override
     public String toString() {
         return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
-                .append("dirId" , getDirId())
-                .append("spaceId" , getSpaceId())
-                .append("dirType" , getDirType())
-                .append("dirRole" , getDirRole())
-                .append("dirName" , getDirName())
-                .append("parentId" , getParentId())
-                .append("dirPath" , getDirPath())
-                .append("createBy" , getCreateBy())
-                .append("createTime" , getCreateTime())
-                .append("updateBy" , getUpdateBy())
-                .append("updateTime" , getUpdateTime())
-                .append("remark" , getRemark())
+                .append("dirId", getDirId())
+                .append("spaceId", getSpaceId())
+                .append("dirType", getDirType())
+                .append("dirRole", getDirRole())
+                .append("dirName", getDirName())
+                .append("parentId", getParentId())
+                .append("dirPath", getDirPath())
+                .append("createBy", getCreateBy())
+                .append("createTime", getCreateTime())
+                .append("updateBy", getUpdateBy())
+                .append("updateTime", getUpdateTime())
+                .append("remark", getRemark())
                 .toString();
     }
 }

+ 19 - 41
doc-biz/src/main/java/com/doc/biz/domain/DocDirUser.java

@@ -1,10 +1,14 @@
 package com.doc.biz.domain;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.doc.common.annotation.Excel;
 import com.doc.common.core.domain.BaseEntity;
+import com.doc.common.core.domain.entity.SysUser;
+import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import org.apache.commons.lang3.builder.ToStringStyle;
 
@@ -14,7 +18,8 @@ import org.apache.commons.lang3.builder.ToStringStyle;
  * @author wukai
  * @date 2023-08-21
  */
-@ApiModel(value = "DocDirUser" , description = "组织目录成员")
+@Data
+@ApiModel(value = "DocDirUser", description = "组织目录成员")
 public class DocDirUser extends BaseEntity {
     private static final long serialVersionUID = 1L;
 
@@ -37,6 +42,10 @@ public class DocDirUser extends BaseEntity {
     @ApiModelProperty("用户ID")
     private Long userId;
 
+    @ApiModelProperty("用户姓名")
+    @TableField(exist = false)
+    private String userName;
+
     /**
      * 是否管理员
      */
@@ -44,50 +53,19 @@ public class DocDirUser extends BaseEntity {
     @Excel(name = "是否管理员")
     private String isManager;
 
-    public void setAutoId(Long autoId) {
-        this.autoId = autoId;
-    }
-
-    public Long getAutoId() {
-        return autoId;
-    }
-
-    public void setDirId(Long dirId) {
-        this.dirId = dirId;
-    }
-
-    public Long getDirId() {
-        return dirId;
-    }
-
-    public void setUserId(Long userId) {
-        this.userId = userId;
-    }
-
-    public Long getUserId() {
-        return userId;
-    }
-
-    public void setIsManager(String isManager) {
-        this.isManager = isManager;
-    }
-
-    public String getIsManager() {
-        return isManager;
-    }
 
     @Override
     public String toString() {
         return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
-                .append("autoId" , getAutoId())
-                .append("dirId" , getDirId())
-                .append("userId" , getUserId())
-                .append("isManager" , getIsManager())
-                .append("createBy" , getCreateBy())
-                .append("createTime" , getCreateTime())
-                .append("updateBy" , getUpdateBy())
-                .append("updateTime" , getUpdateTime())
-                .append("remark" , getRemark())
+                .append("autoId", getAutoId())
+                .append("dirId", getDirId())
+                .append("userId", getUserId())
+                .append("isManager", getIsManager())
+                .append("createBy", getCreateBy())
+                .append("createTime", getCreateTime())
+                .append("updateBy", getUpdateBy())
+                .append("updateTime", getUpdateTime())
+                .append("remark", getRemark())
                 .toString();
     }
 }

+ 8 - 0
doc-biz/src/main/java/com/doc/biz/service/IDocDirService.java

@@ -1,6 +1,7 @@
 package com.doc.biz.service;
 
 import com.doc.biz.domain.DocDir;
+import com.doc.biz.domain.DocSpace;
 
 import java.util.List;
 
@@ -58,4 +59,11 @@ public interface IDocDirService {
      * @return 结果
      */
     public int deleteDocDirByDirId(Long dirId);
+
+    /**
+     * 初始化顶层目录
+     *
+     * @param space 空间信息
+     */
+    void initTopDir(DocSpace space);
 }

+ 7 - 0
doc-biz/src/main/java/com/doc/biz/service/IDocDirUserService.java

@@ -58,4 +58,11 @@ public interface IDocDirUserService {
      * @return 结果
      */
     public int deleteDocDirUserByAutoId(Long autoId);
+
+    /**
+     * 根据目录ID删除用户
+     *
+     * @param dirId 目录ID
+     */
+    void deleteDocDirUserByDirId(Long dirId);
 }

+ 8 - 0
doc-biz/src/main/java/com/doc/biz/service/IDocSpaceService.java

@@ -30,6 +30,14 @@ public interface IDocSpaceService {
     public List<DocSpace> selectDocSpaceList(DocSpace docSpace);
 
     /**
+     * 根据空间类型查询目录
+     *
+     * @param type 空间类型
+     * @return 文档空间管理集合
+     */
+    DocSpace selectDocSpaceList(String type);
+
+    /**
      * 新增文档空间管理
      *
      * @param docSpace 文档空间管理

+ 24 - 0
doc-biz/src/main/java/com/doc/biz/service/impl/DocDirServiceImpl.java

@@ -1,6 +1,7 @@
 package com.doc.biz.service.impl;
 
 import com.doc.biz.domain.DocDir;
+import com.doc.biz.domain.DocSpace;
 import com.doc.biz.mapper.DocDirMapper;
 import com.doc.biz.service.IDocDirService;
 import com.doc.common.utils.DateUtils;
@@ -87,4 +88,27 @@ public class DocDirServiceImpl implements IDocDirService {
     public int deleteDocDirByDirId(Long dirId) {
         return docDirMapper.deleteDocDirByDirId(dirId);
     }
+
+    /**
+     * 初始化顶层目录
+     *
+     * @param space 空间信息
+     */
+    @Override
+    public void initTopDir(DocSpace space) {
+        //初始化顶层目录
+        DocDir dir = new DocDir();
+        dir.setSpaceId(space.getSpaceId());
+        dir.setDirName(space.getSpaceName());
+        dir.setParentId(0L);
+        List<DocDir> dirList = selectDocDirList(dir);
+        if (dirList.size() > 0) {
+            //如果有记录,则更新顶层目录
+            dir.setDirId(dirList.get(0).getDirId());
+            updateDocDir(dir);
+        } else {
+            //如果没有,则插入
+            insertDocDir(dir);
+        }
+    }
 }

+ 13 - 0
doc-biz/src/main/java/com/doc/biz/service/impl/DocDirUserServiceImpl.java

@@ -1,5 +1,6 @@
 package com.doc.biz.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.doc.biz.domain.DocDirUser;
 import com.doc.biz.mapper.DocDirUserMapper;
 import com.doc.biz.service.IDocDirUserService;
@@ -87,4 +88,16 @@ public class DocDirUserServiceImpl implements IDocDirUserService {
     public int deleteDocDirUserByAutoId(Long autoId) {
         return docDirUserMapper.deleteDocDirUserByAutoId(autoId);
     }
+
+    /**
+     * 根据目录ID删除用户
+     *
+     * @param dirId 目录ID
+     */
+    @Override
+    public void deleteDocDirUserByDirId(Long dirId) {
+        QueryWrapper<DocDirUser> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("dir_id", dirId);
+        docDirUserMapper.delete(queryWrapper);
+    }
 }

+ 63 - 30
doc-biz/src/main/java/com/doc/biz/service/impl/DocSpaceServiceImpl.java

@@ -1,7 +1,9 @@
 package com.doc.biz.service.impl;
 
+import com.doc.biz.domain.DocDir;
 import com.doc.biz.domain.DocSpace;
 import com.doc.biz.mapper.DocSpaceMapper;
+import com.doc.biz.service.IDocDirService;
 import com.doc.biz.service.IDocSpaceService;
 import com.doc.common.core.domain.entity.SysDept;
 import com.doc.common.core.domain.entity.SysUser;
@@ -27,6 +29,9 @@ public class DocSpaceServiceImpl implements IDocSpaceService {
     private DocSpaceMapper docSpaceMapper;
     @Resource
     private ISysConfigService configService;
+    @Resource
+    private IDocDirService dirService;
+
     /**
      * 查询文档空间管理
      *
@@ -50,6 +55,35 @@ public class DocSpaceServiceImpl implements IDocSpaceService {
     }
 
     /**
+     * 根据空间类型查询目录
+     *
+     * @param type 空间类型
+     * @return 文档空间管理集合
+     */
+    @Override
+    public DocSpace selectDocSpaceList(String type) {
+        DocSpace search = new DocSpace();
+        search.setSpaceType(type);
+        switch (type) {
+//            case "1":
+//                break;
+            case "2":
+                search.setOwner(SecurityUtils.getDeptId());
+                break;
+            case "3":
+                search.setOwner(SecurityUtils.getUserId());
+                break;
+            default:
+        }
+        List<DocSpace> space = selectDocSpaceList(search);
+        if (space.size() == 1) {
+            return space.get(0);
+        } else {
+            return null;
+        }
+    }
+
+    /**
      * 新增文档空间管理
      *
      * @param docSpace 文档空间管理
@@ -102,26 +136,10 @@ public class DocSpaceServiceImpl implements IDocSpaceService {
      */
     @Override
     public void initUserSpace(SysUser user) {
-        //初始化用户空间
-        DocSpace space = new DocSpace();
-        space.setSpaceType(SpaceType.PERSONAL.getValue());
-        space.setOwner(user.getUserId());
-        List<DocSpace> list = selectDocSpaceList(space);
-        if (list.size() > 0) {
-            //如果有记录,则更新空间名称
-            space = list.get(0);
-            space.setSpaceName("\"" + user.getNickName() + "\"的个人空间");
-            space.setUpdateBy(SecurityUtils.getUsername());
-            updateDocSpace(space);
-        } else {
-            //如果没有则插入
-            space.setSpaceName("\"" + user.getNickName() + "\"的个人空间");
-            String defaultCap = configService.selectConfigByKey("user.default.cap");
-            BigDecimal cap = new BigDecimal(defaultCap);
-            space.setSpaceCap(cap);
-            space.setCreateBy(SecurityUtils.getUsername());
-            insertDocSpace(space);
-        }
+        String spaceName = "\"" + user.getNickName() + "\"的个人空间";
+        String defaultCap = configService.selectConfigByKey("user.default.cap");
+
+        initSpace(SpaceType.PERSONAL, user.getUserId(), spaceName, defaultCap);
     }
 
     /**
@@ -131,25 +149,40 @@ public class DocSpaceServiceImpl implements IDocSpaceService {
      */
     @Override
     public void initDeptSpace(SysDept dept) {
-        //初始化用户空间
+        String spaceName = "\"" + dept.getDeptName() + "\"的部门空间";
+        String defaultCap = configService.selectConfigByKey("dept.default.cap");
+
+        initSpace(SpaceType.DEPT, dept.getDeptId(), spaceName, defaultCap);
+    }
+
+    /**
+     * 初始化空间
+     *
+     * @param spaceType  空间类型
+     * @param owner      所有人
+     * @param spaceName  空间名称
+     * @param defaultCap 空间大小
+     */
+    private void initSpace(SpaceType spaceType, Long owner, String spaceName, String defaultCap) {
+        //初始化部门空间
         DocSpace space = new DocSpace();
-        space.setSpaceType(SpaceType.DEPT.getValue());
-        space.setOwner(dept.getDeptId());
+        space.setSpaceType(spaceType.getValue());
+        space.setOwner(owner);
+
         List<DocSpace> list = selectDocSpaceList(space);
+        space.setSpaceName(spaceName);
         if (list.size() > 0) {
             //如果有记录,则更新空间名称
-            space = list.get(0);
-            space.setSpaceName("\"" + dept.getDeptName() + "\"的部门空间");
+            space.setSpaceId(list.get(0).getSpaceId());
             space.setUpdateBy(SecurityUtils.getUsername());
             updateDocSpace(space);
         } else {
-            //如果没有则插入
-            space.setSpaceName("\"" + dept.getDeptName() + "\"的部门空间");
-            String defaultCap = configService.selectConfigByKey("dept.default.cap");
-            BigDecimal cap = new BigDecimal(defaultCap);
-            space.setSpaceCap(cap);
+            //如果木有记录,则插入
+            space.setSpaceCap(new BigDecimal(defaultCap));
             space.setCreateBy(SecurityUtils.getUsername());
             insertDocSpace(space);
         }
+        //初始化顶层目录
+        dirService.initTopDir(space);
     }
 }

+ 19 - 0
doc-biz/src/main/java/com/doc/biz/vo/TreeVO.java

@@ -0,0 +1,19 @@
+package com.doc.biz.vo;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 前端选择树
+ *
+ * @author wukai
+ * @date 2023/8/30 17:00
+ */
+@Data
+public class TreeVO {
+    private Long id;
+    private String label;
+    private Boolean disabled;
+    private List<TreeVO> children;
+}

+ 2 - 2
doc-biz/src/main/java/com/doc/biz/ws/WebSocketServer.java

@@ -46,7 +46,7 @@ public class WebSocketServer {
         //需要通知其他的客户端,将所有的用户的用户名发送给客户端
         //将当前连接的session存储到redis中
         currentMap.put(uid, session);
-        log.info("用户(ID:{})建立连接!" , uid);
+        log.info("用户(ID:{})建立连接!", uid);
         try {
             session.getBasicRemote().sendText("连接成功");
         } catch (IOException e) {
@@ -87,7 +87,7 @@ public class WebSocketServer {
      */
     @OnClose
     public void onClose(@PathParam("uid") Long uid, Session session) {
-        log.info("用户(ID:{})关闭连接!" , uid);
+        log.info("用户(ID:{})关闭连接!", uid);
         currentMap.remove(uid);
     }
 

+ 37 - 21
doc-biz/src/main/resources/mapper/biz/DocDirUserMapper.xml

@@ -1,37 +1,51 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <!DOCTYPE mapper
-PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
-"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.doc.biz.mapper.DocDirUserMapper">
-    
+
     <resultMap type="DocDirUser" id="DocDirUserResult">
-        <result property="autoId"    column="AUTO_ID"    />
-        <result property="dirId"    column="DIR_ID"    />
-        <result property="userId"    column="USER_ID"    />
-        <result property="isManager"    column="IS_MANAGER"    />
-        <result property="createBy"    column="CREATE_BY"    />
-        <result property="createTime"    column="CREATE_TIME"    />
-        <result property="updateBy"    column="UPDATE_BY"    />
-        <result property="updateTime"    column="UPDATE_TIME"    />
-        <result property="remark"    column="REMARK"    />
+        <result property="autoId" column="AUTO_ID"/>
+        <result property="dirId" column="DIR_ID"/>
+        <result property="userId" column="USER_ID"/>
+        <result property="userName" column="USER_NAME"/>
+        <result property="isManager" column="IS_MANAGER"/>
+        <result property="createBy" column="CREATE_BY"/>
+        <result property="createTime" column="CREATE_TIME"/>
+        <result property="updateBy" column="UPDATE_BY"/>
+        <result property="updateTime" column="UPDATE_TIME"/>
+        <result property="remark" column="REMARK"/>
     </resultMap>
 
     <sql id="selectDocDirUserVo">
-        select AUTO_ID, DIR_ID, USER_ID, IS_MANAGER, CREATE_BY, CREATE_TIME, UPDATE_BY, UPDATE_TIME, REMARK from doc_dir_user
+        select *
+        from (select a.AUTO_ID,
+                     a.DIR_ID,
+                     a.USER_ID,
+                     a.IS_MANAGER,
+                     a.CREATE_BY,
+                     a.CREATE_TIME,
+                     a.UPDATE_BY,
+                     a.UPDATE_TIME,
+                     a.REMARK,
+                     b.NICK_NAME USER_NAME
+              from doc_dir_user a,
+                   sys_user b
+              where a.user_id = b.user_id) t
     </sql>
 
     <select id="selectDocDirUserList" parameterType="DocDirUser" resultMap="DocDirUserResult">
         <include refid="selectDocDirUserVo"/>
-        <where>  
-            <if test="isManager != null  and isManager != ''"> and IS_MANAGER = #{isManager}</if>
+        <where>
+            <if test="isManager != null  and isManager != ''">and IS_MANAGER = #{isManager}</if>
         </where>
     </select>
-    
+
     <select id="selectDocDirUserByAutoId" parameterType="Long" resultMap="DocDirUserResult">
         <include refid="selectDocDirUserVo"/>
         where AUTO_ID = #{autoId}
     </select>
-        
+
     <insert id="insertDocDirUser" parameterType="DocDirUser" useGeneratedKeys="true" keyProperty="autoId">
         insert into doc_dir_user
         <trim prefix="(" suffix=")" suffixOverrides=",">
@@ -43,7 +57,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="updateBy != null">UPDATE_BY,</if>
             <if test="updateTime != null">UPDATE_TIME,</if>
             <if test="remark != null">REMARK,</if>
-         </trim>
+        </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="dirId != null">#{dirId},</if>
             <if test="userId != null">#{userId},</if>
@@ -53,7 +67,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="updateBy != null">#{updateBy},</if>
             <if test="updateTime != null">#{updateTime},</if>
             <if test="remark != null">#{remark},</if>
-         </trim>
+        </trim>
     </insert>
 
     <update id="updateDocDirUser" parameterType="DocDirUser">
@@ -72,11 +86,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     </update>
 
     <delete id="deleteDocDirUserByAutoId" parameterType="Long">
-        delete from doc_dir_user where AUTO_ID = #{autoId}
+        delete
+        from doc_dir_user
+        where AUTO_ID = #{autoId}
     </delete>
 
     <delete id="deleteDocDirUserByAutoIds" parameterType="String">
-        delete from doc_dir_user where AUTO_ID in 
+        delete from doc_dir_user where AUTO_ID in
         <foreach item="autoId" collection="array" open="(" separator="," close=")">
             #{autoId}
         </foreach>

+ 1 - 0
doc-biz/src/main/resources/mapper/biz/DocSpaceMapper.xml

@@ -28,6 +28,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <where>  
             <if test="spaceType != null  and spaceType != ''"> and SPACE_TYPE = #{spaceType}</if>
             <if test="spaceName != null  and spaceName != ''"> and SPACE_NAME like concat('%', #{spaceName}, '%')</if>
+            <if test="owner != null  and owner != ''"> and OWNER =#{owner}</if>
         </where>
     </select>