Bladeren bron

用户权限相关

gaodm 5 jaren geleden
bovenliggende
commit
51e2e33d2a
28 gewijzigde bestanden met toevoegingen van 1071 en 34 verwijderingen
  1. 19 0
      src/main/java/com/diagbot/dto/SysUserDeptDTO.java
  2. 27 0
      src/main/java/com/diagbot/dto/SysUserQueryDTO.java
  3. 19 0
      src/main/java/com/diagbot/dto/SysUserRoleDTO.java
  4. 35 12
      src/main/java/com/diagbot/entity/SysUser.java
  5. 167 0
      src/main/java/com/diagbot/entity/SysUserDept.java
  6. 153 0
      src/main/java/com/diagbot/entity/SysUserRole.java
  7. 5 3
      src/main/java/com/diagbot/facade/SysRoleFacade.java
  8. 13 0
      src/main/java/com/diagbot/facade/SysUserDeptFacade.java
  9. 200 0
      src/main/java/com/diagbot/facade/SysUserFacade.java
  10. 13 0
      src/main/java/com/diagbot/facade/SysUserRoleFacade.java
  11. 16 0
      src/main/java/com/diagbot/mapper/SysUserDeptMapper.java
  12. 5 2
      src/main/java/com/diagbot/mapper/SysUserMapper.java
  13. 16 0
      src/main/java/com/diagbot/mapper/SysUserRoleMapper.java
  14. 16 0
      src/main/java/com/diagbot/service/SysUserDeptService.java
  15. 16 0
      src/main/java/com/diagbot/service/SysUserRoleService.java
  16. 4 1
      src/main/java/com/diagbot/service/SysUserService.java
  17. 20 0
      src/main/java/com/diagbot/service/impl/SysUserDeptServiceImpl.java
  18. 20 0
      src/main/java/com/diagbot/service/impl/SysUserRoleServiceImpl.java
  19. 8 2
      src/main/java/com/diagbot/service/impl/SysUserServiceImpl.java
  20. 18 0
      src/main/java/com/diagbot/vo/SysUserBaseVO.java
  21. 17 0
      src/main/java/com/diagbot/vo/SysUserDeptVO.java
  22. 21 0
      src/main/java/com/diagbot/vo/SysUserQueryVO.java
  23. 17 0
      src/main/java/com/diagbot/vo/SysUserRoleVO.java
  24. 69 1
      src/main/java/com/diagbot/web/SysUserController.java
  25. 19 0
      src/main/resources/mapper/SysUserDeptMapper.xml
  26. 119 12
      src/main/resources/mapper/SysUserMapper.xml
  27. 18 0
      src/main/resources/mapper/SysUserRoleMapper.xml
  28. 1 1
      src/test/java/com/diagbot/CodeGeneration.java

+ 19 - 0
src/main/java/com/diagbot/dto/SysUserDeptDTO.java

@@ -0,0 +1,19 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/**
+ * @Description:
+ * @author: gaodm
+ * @time: 2020/4/28 9:26
+ */
+@Getter
+@Setter
+public class SysUserDeptDTO {
+    private Long userId;
+    private List<BasDeptInfoDTO> notSelDepts;
+    private List<BasDeptInfoDTO> selDepts;
+}

+ 27 - 0
src/main/java/com/diagbot/dto/SysUserQueryDTO.java

@@ -0,0 +1,27 @@
+package com.diagbot.dto;
+
+import com.diagbot.enums.StatusEnum;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @author: gaodm
+ * @time: 2020/4/28 9:17
+ */
+@Getter
+@Setter
+public class SysUserQueryDTO {
+    private Long userId;
+    private String userName;
+    private String linkman;
+    private String deptName;
+    private String roleName;
+    private Integer status;
+    private String statusName;
+
+
+    public String getStatusName() {
+        return StatusEnum.getName(this.status);
+    }
+}

+ 19 - 0
src/main/java/com/diagbot/dto/SysUserRoleDTO.java

@@ -0,0 +1,19 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/**
+ * @Description:
+ * @author: gaodm
+ * @time: 2020/4/28 9:26
+ */
+@Getter
+@Setter
+public class SysUserRoleDTO {
+    private Long userId;
+    private List<SysRoleDTO> notSelRoles;
+    private List<SysRoleDTO> selRoles;
+}

+ 35 - 12
src/main/java/com/diagbot/entity/SysUser.java

@@ -71,6 +71,11 @@ public class SysUser implements Serializable {
      */
     private Integer type;
 
+    /**
+     * 是否启用(0:停用,1:启用)
+     */
+    private Integer status;
+
     /**
      * 备注
      */
@@ -83,6 +88,7 @@ public class SysUser implements Serializable {
     public void setId(Long id) {
         this.id = id;
     }
+
     public String getIsDeleted() {
         return isDeleted;
     }
@@ -90,6 +96,7 @@ public class SysUser implements Serializable {
     public void setIsDeleted(String isDeleted) {
         this.isDeleted = isDeleted;
     }
+
     public Date getGmtCreate() {
         return gmtCreate;
     }
@@ -97,6 +104,7 @@ public class SysUser implements Serializable {
     public void setGmtCreate(Date gmtCreate) {
         this.gmtCreate = gmtCreate;
     }
+
     public Date getGmtModified() {
         return gmtModified;
     }
@@ -104,6 +112,7 @@ public class SysUser implements Serializable {
     public void setGmtModified(Date gmtModified) {
         this.gmtModified = gmtModified;
     }
+
     public String getCreator() {
         return creator;
     }
@@ -111,6 +120,7 @@ public class SysUser implements Serializable {
     public void setCreator(String creator) {
         this.creator = creator;
     }
+
     public String getModifier() {
         return modifier;
     }
@@ -118,6 +128,7 @@ public class SysUser implements Serializable {
     public void setModifier(String modifier) {
         this.modifier = modifier;
     }
+
     public String getUsername() {
         return username;
     }
@@ -125,6 +136,7 @@ public class SysUser implements Serializable {
     public void setUsername(String username) {
         this.username = username;
     }
+
     public String getPassword() {
         return password;
     }
@@ -132,6 +144,7 @@ public class SysUser implements Serializable {
     public void setPassword(String password) {
         this.password = password;
     }
+
     public String getLinkman() {
         return linkman;
     }
@@ -139,6 +152,7 @@ public class SysUser implements Serializable {
     public void setLinkman(String linkman) {
         this.linkman = linkman;
     }
+
     public Integer getType() {
         return type;
     }
@@ -146,6 +160,15 @@ public class SysUser implements Serializable {
     public void setType(Integer type) {
         this.type = type;
     }
+
+    public Integer getStatus() {
+        return status;
+    }
+
+    public void setStatus(Integer status) {
+        this.status = status;
+    }
+
     public String getRemark() {
         return remark;
     }
@@ -157,17 +180,17 @@ public class SysUser implements Serializable {
     @Override
     public String toString() {
         return "User{" +
-            "id=" + id +
-            ", isDeleted=" + isDeleted +
-            ", gmtCreate=" + gmtCreate +
-            ", gmtModified=" + gmtModified +
-            ", creator=" + creator +
-            ", modifier=" + modifier +
-            ", username=" + username +
-            ", password=" + password +
-            ", linkman=" + linkman +
-            ", type=" + type +
-            ", remark=" + remark +
-        "}";
+                "id=" + id +
+                ", isDeleted=" + isDeleted +
+                ", gmtCreate=" + gmtCreate +
+                ", gmtModified=" + gmtModified +
+                ", creator=" + creator +
+                ", modifier=" + modifier +
+                ", username=" + username +
+                ", password=" + password +
+                ", linkman=" + linkman +
+                ", type=" + type +
+                ", remark=" + remark +
+                "}";
     }
 }

+ 167 - 0
src/main/java/com/diagbot/entity/SysUserDept.java

@@ -0,0 +1,167 @@
+package com.diagbot.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * 用户-医院科室映射表
+ * </p>
+ *
+ * @author gaodm
+ * @since 2020-04-28
+ */
+public class SysUserDept implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 是否删除,N:未删除,Y:删除
+     */
+    private String isDeleted;
+
+    /**
+     * 记录创建时间
+     */
+    private Date gmtCreate;
+
+    /**
+     * 记录修改时间,如果时间是1970年则表示纪录未修改
+     */
+    private Date gmtModified;
+
+    /**
+     * 创建人,0表示无创建人值
+     */
+    private String creator;
+
+    /**
+     * 修改人,如果为0则表示纪录未修改
+     */
+    private String modifier;
+
+    /**
+     * 用户主键
+     */
+    private Long userId;
+
+    /**
+     * 医院ID
+     */
+    private Long hospitalId;
+
+    /**
+     * 科室编码(HIS导入)
+     */
+    private String deptId;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public String getIsDeleted() {
+        return isDeleted;
+    }
+
+    public void setIsDeleted(String isDeleted) {
+        this.isDeleted = isDeleted;
+    }
+
+    public Date getGmtCreate() {
+        return gmtCreate;
+    }
+
+    public void setGmtCreate(Date gmtCreate) {
+        this.gmtCreate = gmtCreate;
+    }
+
+    public Date getGmtModified() {
+        return gmtModified;
+    }
+
+    public void setGmtModified(Date gmtModified) {
+        this.gmtModified = gmtModified;
+    }
+
+    public String getCreator() {
+        return creator;
+    }
+
+    public void setCreator(String creator) {
+        this.creator = creator;
+    }
+
+    public String getModifier() {
+        return modifier;
+    }
+
+    public void setModifier(String modifier) {
+        this.modifier = modifier;
+    }
+
+    public Long getUserId() {
+        return userId;
+    }
+
+    public void setUserId(Long userId) {
+        this.userId = userId;
+    }
+
+    public Long getHospitalId() {
+        return hospitalId;
+    }
+
+    public void setHospitalId(Long hospitalId) {
+        this.hospitalId = hospitalId;
+    }
+
+    public String getDeptId() {
+        return deptId;
+    }
+
+    public void setDeptId(String deptId) {
+        this.deptId = deptId;
+    }
+
+    public String getRemark() {
+        return remark;
+    }
+
+    public void setRemark(String remark) {
+        this.remark = remark;
+    }
+
+    @Override
+    public String toString() {
+        return "SysUserDept{" +
+                "id=" + id +
+                ", isDeleted=" + isDeleted +
+                ", gmtCreate=" + gmtCreate +
+                ", gmtModified=" + gmtModified +
+                ", creator=" + creator +
+                ", modifier=" + modifier +
+                ", userId=" + userId +
+                ", hospitalId=" + hospitalId +
+                ", deptId=" + deptId +
+                ", remark=" + remark +
+                "}";
+    }
+}

+ 153 - 0
src/main/java/com/diagbot/entity/SysUserRole.java

@@ -0,0 +1,153 @@
+package com.diagbot.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * 系统用户角色关联表
+ * </p>
+ *
+ * @author gaodm
+ * @since 2020-04-28
+ */
+public class SysUserRole implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 用户和角色关联ID
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 是否删除,N:未删除,Y:删除
+     */
+    private String isDeleted;
+
+    /**
+     * 记录创建时间
+     */
+    private Date gmtCreate;
+
+    /**
+     * 记录修改时间,如果时间是1970年则表示纪录未修改
+     */
+    private Date gmtModified;
+
+    /**
+     * 创建人,0表示无创建人值
+     */
+    private String creator;
+
+    /**
+     * 修改人,如果为0则表示纪录未修改
+     */
+    private String modifier;
+
+    /**
+     * 系统用户表.用户ID
+     */
+    private Long userId;
+
+    /**
+     * 系统角色表.角色ID
+     */
+    private Long roleId;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public String getIsDeleted() {
+        return isDeleted;
+    }
+
+    public void setIsDeleted(String isDeleted) {
+        this.isDeleted = isDeleted;
+    }
+
+    public Date getGmtCreate() {
+        return gmtCreate;
+    }
+
+    public void setGmtCreate(Date gmtCreate) {
+        this.gmtCreate = gmtCreate;
+    }
+
+    public Date getGmtModified() {
+        return gmtModified;
+    }
+
+    public void setGmtModified(Date gmtModified) {
+        this.gmtModified = gmtModified;
+    }
+
+    public String getCreator() {
+        return creator;
+    }
+
+    public void setCreator(String creator) {
+        this.creator = creator;
+    }
+
+    public String getModifier() {
+        return modifier;
+    }
+
+    public void setModifier(String modifier) {
+        this.modifier = modifier;
+    }
+
+    public Long getUserId() {
+        return userId;
+    }
+
+    public void setUserId(Long userId) {
+        this.userId = userId;
+    }
+
+    public Long getRoleId() {
+        return roleId;
+    }
+
+    public void setRoleId(Long roleId) {
+        this.roleId = roleId;
+    }
+
+    public String getRemark() {
+        return remark;
+    }
+
+    public void setRemark(String remark) {
+        this.remark = remark;
+    }
+
+    @Override
+    public String toString() {
+        return "SysUserRole{" +
+                "id=" + id +
+                ", isDeleted=" + isDeleted +
+                ", gmtCreate=" + gmtCreate +
+                ", gmtModified=" + gmtModified +
+                ", creator=" + creator +
+                ", modifier=" + modifier +
+                ", userId=" + userId +
+                ", roleId=" + roleId +
+                ", remark=" + remark +
+                "}";
+    }
+}

+ 5 - 3
src/main/java/com/diagbot/facade/SysRoleFacade.java

@@ -52,12 +52,14 @@ public class SysRoleFacade extends SysRoleServiceImpl {
                 .eq("is_deleted", IsDeleteEnum.N.getKey())
                 .gt("id", -1L)
         );
-        List<SysRoleDTO> sysRoleDTOList = BeanUtil.listCopyTo(sysRoleList, SysRoleDTO.class);
-        return sysRoleDTOList;
+        return BeanUtil.listCopyTo(sysRoleList, SysRoleDTO.class);
     }
 
     public List<SysRoleDTO> listForUser(SysRoleQueryVO sysRoleQueryVO) {
-        return this.list(sysRoleQueryVO);
+        List<SysRole> sysRoleList = this.list(new QueryWrapper<SysRole>()
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
+        );
+        return BeanUtil.listCopyTo(sysRoleList, SysRoleDTO.class);
     }
 
     public List<SysRoleMenuDTO> getRoleMenu(SysRoleMenuQueryVO sysRoleMenuQueryVO) {

+ 13 - 0
src/main/java/com/diagbot/facade/SysUserDeptFacade.java

@@ -0,0 +1,13 @@
+package com.diagbot.facade;
+
+import com.diagbot.service.impl.SysUserDeptServiceImpl;
+import org.springframework.stereotype.Component;
+
+/**
+ * @Description:
+ * @author: gaodm
+ * @time: 2020/4/28 9:48
+ */
+@Component
+public class SysUserDeptFacade extends SysUserDeptServiceImpl {
+}

+ 200 - 0
src/main/java/com/diagbot/facade/SysUserFacade.java

@@ -1,16 +1,25 @@
 package com.diagbot.facade;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.diagbot.client.AuthServiceClient;
+import com.diagbot.dto.BasDeptInfoDTO;
 import com.diagbot.dto.BasHospitalInfoDTO;
 import com.diagbot.dto.JwtDTO;
 import com.diagbot.dto.LoginDTO;
+import com.diagbot.dto.SysRoleDTO;
+import com.diagbot.dto.SysUserDeptDTO;
 import com.diagbot.dto.SysUserPermissionDTO;
+import com.diagbot.dto.SysUserQueryDTO;
+import com.diagbot.dto.SysUserRoleDTO;
 import com.diagbot.dto.UserLoginDTO;
 import com.diagbot.entity.BasHospitalInfo;
 import com.diagbot.entity.JWT;
 import com.diagbot.entity.JwtStore;
 import com.diagbot.entity.SysUser;
+import com.diagbot.entity.SysUserDept;
+import com.diagbot.entity.SysUserRole;
 import com.diagbot.entity.wrapper.SysMenuWrapper;
 import com.diagbot.enums.ConstantEnum;
 import com.diagbot.enums.IsDeleteEnum;
@@ -18,6 +27,8 @@ import com.diagbot.enums.StatusEnum;
 import com.diagbot.exception.CommonErrorCode;
 import com.diagbot.exception.CommonException;
 import com.diagbot.exception.ServiceErrorCode;
+import com.diagbot.service.impl.SysUserDeptServiceImpl;
+import com.diagbot.service.impl.SysUserRoleServiceImpl;
 import com.diagbot.service.impl.SysUserServiceImpl;
 import com.diagbot.util.BeanUtil;
 import com.diagbot.util.DateUtil;
@@ -25,15 +36,24 @@ import com.diagbot.util.EntityUtil;
 import com.diagbot.util.ListUtil;
 import com.diagbot.util.StringUtil;
 import com.diagbot.util.SysUserUtils;
+import com.diagbot.vo.SysRoleQueryVO;
+import com.diagbot.vo.SysUserBaseVO;
+import com.diagbot.vo.SysUserDeptVO;
+import com.diagbot.vo.SysUserQueryVO;
+import com.diagbot.vo.SysUserRoleVO;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.security.crypto.factory.PasswordEncoderFactories;
 import org.springframework.security.crypto.password.PasswordEncoder;
 import org.springframework.security.oauth2.common.OAuth2AccessToken;
 import org.springframework.stereotype.Component;
 
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
+import java.util.stream.Collectors;
 
 /**
  * @Description: 用户业务层
@@ -55,6 +75,20 @@ public class SysUserFacade extends SysUserServiceImpl {
     @Autowired
     private BasHospitalInfoFacade basHospitalInfoFacade;
 
+    @Autowired
+    @Qualifier("sysUserRoleServiceImpl")
+    private SysUserRoleServiceImpl sysUserRoleService;
+
+    @Autowired
+    @Qualifier("sysUserDeptServiceImpl")
+    private SysUserDeptServiceImpl sysUserDeptService;
+
+    @Autowired
+    private BasDeptInfoFacade basDeptInfoFacade;
+
+    @Autowired
+    private SysRoleFacade sysRoleFacade;
+
     /**
      * 获取jwt
      *
@@ -297,5 +331,171 @@ public class SysUserFacade extends SysUserServiceImpl {
         return subMenu;
     }
 
+    //-------------用户维护BEGAIN------------------------
+    public IPage<SysUserQueryDTO> usetPageFac(SysUserQueryVO sysUserQueryVO) {
+        return this.userPage(sysUserQueryVO);
+    }
+
+    public SysUserDeptDTO getUserDepts(SysUserBaseVO sysUserBaseVO) {
+        SysUserDeptDTO sysUserDeptDTO = new SysUserDeptDTO();
+        sysUserDeptDTO.setUserId(sysUserBaseVO.getUserId());
+        List<BasDeptInfoDTO> basDeptInfoDTOList = basDeptInfoFacade.listForUser();
+        List<SysUserDept> sysUserDeptList
+                = sysUserDeptService.list(new QueryWrapper<SysUserDept>()
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("user_id", sysUserBaseVO.getUserId())
+        );
+
+        if (ListUtil.isNotEmpty(sysUserDeptList)) {
+            List<BasDeptInfoDTO> notSelDepts = new ArrayList<>();
+            List<BasDeptInfoDTO> selDepts = new ArrayList<>();
+            Set<String> selDeptIds = sysUserDeptList.stream()
+                    .map(SysUserDept::getDeptId)
+                    .collect(Collectors.toSet());
+            for (BasDeptInfoDTO basDeptInfoDTO : basDeptInfoDTOList) {
+                if (selDeptIds.contains(basDeptInfoDTO.getDeptId())) {
+                    selDepts.add(basDeptInfoDTO);
+                } else {
+                    notSelDepts.add(basDeptInfoDTO);
+                }
+            }
+            sysUserDeptDTO.setNotSelDepts(selDepts);
+            sysUserDeptDTO.setSelDepts(notSelDepts);
+
+        } else {
+            sysUserDeptDTO.setNotSelDepts(basDeptInfoDTOList);
+        }
+
+        return sysUserDeptDTO;
+    }
+
+    public SysUserRoleDTO getUserRoles(SysUserBaseVO sysUserBaseVO) {
+        SysUserRoleDTO sysUserRoleDTO = new SysUserRoleDTO();
+        sysUserRoleDTO.setUserId(sysUserBaseVO.getUserId());
+        SysRoleQueryVO sysRoleQueryVO = new SysRoleQueryVO();
+        List<SysRoleDTO> sysRoleDTOList = sysRoleFacade.listForUser(sysRoleQueryVO);
+        List<SysUserRole> sysUserRoleList
+                = sysUserRoleService.list(new QueryWrapper<SysUserRole>()
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("user_id", sysUserBaseVO.getUserId())
+        );
+
+        if (ListUtil.isNotEmpty(sysUserRoleList)) {
+            List<SysRoleDTO> notSelRoles = new ArrayList<>();
+            List<SysRoleDTO> selRoles = new ArrayList<>();
+            Set<Long> selRoleIds = sysUserRoleList.stream()
+                    .map(SysUserRole::getRoleId)
+                    .collect(Collectors.toSet());
+            for (SysRoleDTO sysRoleDTO : sysRoleDTOList) {
+                if (selRoleIds.contains(sysRoleDTO.getId())) {
+                    selRoles.add(sysRoleDTO);
+                } else {
+                    notSelRoles.add(sysRoleDTO);
+                }
+            }
+            sysUserRoleDTO.setNotSelRoles(selRoles);
+            sysUserRoleDTO.setSelRoles(notSelRoles);
+
+        } else {
+            sysUserRoleDTO.setNotSelRoles(sysRoleDTOList);
+        }
+
+        return sysUserRoleDTO;
+    }
+
+    public Boolean enable(SysUserBaseVO sysUserBaseVO) {
+        return this.update(new UpdateWrapper<SysUser>()
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("id", sysUserBaseVO.getUserId())
+                .eq("status", StatusEnum.Disable.getKey())
+                .set("modifier", SysUserUtils.getCurrentPrincipleID())
+                .set("gmt_modified", DateUtil.now())
+                .set("status", StatusEnum.Enable.getKey())
+        );
+    }
+
+    public Boolean disable(SysUserBaseVO sysUserBaseVO) {
+        Date now = DateUtil.now();
+        String userId = SysUserUtils.getCurrentPrincipleID();
+        return this.update(new UpdateWrapper<SysUser>()
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("id", sysUserBaseVO.getUserId())
+                .eq("status", StatusEnum.Enable.getKey())
+                .set("modifier", userId)
+                .set("gmt_modified", now)
+                .set("status", StatusEnum.Disable.getKey())
+        );
+    }
+
+    public Boolean editUserDepts(SysUserDeptVO sysUserDeptVO) {
+        Date now = DateUtil.now();
+        String userId = SysUserUtils.getCurrentPrincipleID();
+        //删除原部门
+        sysUserDeptService.update(new UpdateWrapper<SysUserDept>()
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("user_id", sysUserDeptVO.getUserId())
+                .set("is_deleted", IsDeleteEnum.Y.getKey())
+                .set("modifier", userId)
+                .set("gmt_modified", now)
+        );
+        //新增新部门
+        if (ListUtil.isNotEmpty(sysUserDeptVO.getDeptIds())) {
+            List<SysUserDept> sysUserDeptList = new ArrayList<>();
+            for (String deptId : sysUserDeptVO.getDeptIds()) {
+                SysUserDept sysUserDept = new SysUserDept();
+                sysUserDept.setUserId(sysUserDeptVO.getUserId());
+                sysUserDept.setDeptId(deptId);
+                sysUserDept.setCreator(userId);
+                sysUserDept.setModifier(userId);
+                sysUserDept.setGmtCreate(now);
+                sysUserDept.setGmtModified(now);
+                sysUserDeptList.add(sysUserDept);
+            }
+            sysUserDeptService.saveBatch(sysUserDeptList);
+        }
+        //更新用户表
+        return this.update(new UpdateWrapper<SysUser>()
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("id", sysUserDeptVO.getUserId())
+                .set("modifier", userId)
+                .set("gmt_modified", now)
+        );
+    }
+
+    public Boolean editUserRoles(SysUserRoleVO sysUserRoleVO) {
+        Date now = DateUtil.now();
+        String userId = SysUserUtils.getCurrentPrincipleID();
+        //删除原角色
+        sysUserRoleService.update(new UpdateWrapper<SysUserRole>()
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("user_id", sysUserRoleVO.getUserId())
+                .set("is_deleted", IsDeleteEnum.Y.getKey())
+                .set("modifier", userId)
+                .set("gmt_modified", now)
+        );
+        //新增角色
+        if (ListUtil.isNotEmpty(sysUserRoleVO.getRoleIds())) {
+            List<SysUserRole> sysUserRoleList = new ArrayList<>();
+            for (Long roleId : sysUserRoleVO.getRoleIds()) {
+                SysUserRole sysUserRole = new SysUserRole();
+                sysUserRole.setUserId(sysUserRoleVO.getUserId());
+                sysUserRole.setRoleId(roleId);
+                sysUserRole.setCreator(userId);
+                sysUserRole.setModifier(userId);
+                sysUserRole.setGmtCreate(now);
+                sysUserRole.setGmtModified(now);
+                sysUserRoleList.add(sysUserRole);
+            }
+            sysUserRoleService.saveBatch(sysUserRoleList);
+        }
+        //更新用户表
+        return this.update(new UpdateWrapper<SysUser>()
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("id", sysUserRoleVO.getUserId())
+                .set("modifier", userId)
+                .set("gmt_modified", now)
+        );
+    }
+    //-------------用户维护END---------------------------
 
 }

+ 13 - 0
src/main/java/com/diagbot/facade/SysUserRoleFacade.java

@@ -0,0 +1,13 @@
+package com.diagbot.facade;
+
+import com.diagbot.service.impl.SysUserRoleServiceImpl;
+import org.springframework.stereotype.Component;
+
+/**
+ * @Description:
+ * @author: gaodm
+ * @time: 2020/4/28 9:48
+ */
+@Component
+public class SysUserRoleFacade extends SysUserRoleServiceImpl {
+}

+ 16 - 0
src/main/java/com/diagbot/mapper/SysUserDeptMapper.java

@@ -0,0 +1,16 @@
+package com.diagbot.mapper;
+
+import com.diagbot.entity.SysUserDept;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 用户-医院科室映射表 Mapper 接口
+ * </p>
+ *
+ * @author gaodm
+ * @since 2020-04-28
+ */
+public interface SysUserDeptMapper extends BaseMapper<SysUserDept> {
+
+}

+ 5 - 2
src/main/java/com/diagbot/mapper/SysUserMapper.java

@@ -1,7 +1,10 @@
 package com.diagbot.mapper;
 
-import com.diagbot.entity.SysUser;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.diagbot.dto.SysUserQueryDTO;
+import com.diagbot.entity.SysUser;
+import com.diagbot.vo.SysUserQueryVO;
 
 /**
  * <p>
@@ -12,5 +15,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  * @since 2020-04-09
  */
 public interface SysUserMapper extends BaseMapper<SysUser> {
-
+    IPage<SysUserQueryDTO> userPage(SysUserQueryVO sysUserQueryVO);
 }

+ 16 - 0
src/main/java/com/diagbot/mapper/SysUserRoleMapper.java

@@ -0,0 +1,16 @@
+package com.diagbot.mapper;
+
+import com.diagbot.entity.SysUserRole;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 系统用户角色关联表 Mapper 接口
+ * </p>
+ *
+ * @author gaodm
+ * @since 2020-04-28
+ */
+public interface SysUserRoleMapper extends BaseMapper<SysUserRole> {
+
+}

+ 16 - 0
src/main/java/com/diagbot/service/SysUserDeptService.java

@@ -0,0 +1,16 @@
+package com.diagbot.service;
+
+import com.diagbot.entity.SysUserDept;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 用户-医院科室映射表 服务类
+ * </p>
+ *
+ * @author gaodm
+ * @since 2020-04-28
+ */
+public interface SysUserDeptService extends IService<SysUserDept> {
+
+}

+ 16 - 0
src/main/java/com/diagbot/service/SysUserRoleService.java

@@ -0,0 +1,16 @@
+package com.diagbot.service;
+
+import com.diagbot.entity.SysUserRole;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 系统用户角色关联表 服务类
+ * </p>
+ *
+ * @author gaodm
+ * @since 2020-04-28
+ */
+public interface SysUserRoleService extends IService<SysUserRole> {
+
+}

+ 4 - 1
src/main/java/com/diagbot/service/SysUserService.java

@@ -1,7 +1,10 @@
 package com.diagbot.service;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.diagbot.dto.SysUserQueryDTO;
 import com.diagbot.entity.SysUser;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.diagbot.vo.SysUserQueryVO;
 
 /**
  * <p>
@@ -12,5 +15,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
  * @since 2020-04-09
  */
 public interface SysUserService extends IService<SysUser> {
-
+    IPage<SysUserQueryDTO> userPage(SysUserQueryVO sysUserQueryVO);
 }

+ 20 - 0
src/main/java/com/diagbot/service/impl/SysUserDeptServiceImpl.java

@@ -0,0 +1,20 @@
+package com.diagbot.service.impl;
+
+import com.diagbot.entity.SysUserDept;
+import com.diagbot.mapper.SysUserDeptMapper;
+import com.diagbot.service.SysUserDeptService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 用户-医院科室映射表 服务实现类
+ * </p>
+ *
+ * @author gaodm
+ * @since 2020-04-28
+ */
+@Service
+public class SysUserDeptServiceImpl extends ServiceImpl<SysUserDeptMapper, SysUserDept> implements SysUserDeptService {
+
+}

+ 20 - 0
src/main/java/com/diagbot/service/impl/SysUserRoleServiceImpl.java

@@ -0,0 +1,20 @@
+package com.diagbot.service.impl;
+
+import com.diagbot.entity.SysUserRole;
+import com.diagbot.mapper.SysUserRoleMapper;
+import com.diagbot.service.SysUserRoleService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 系统用户角色关联表 服务实现类
+ * </p>
+ *
+ * @author gaodm
+ * @since 2020-04-28
+ */
+@Service
+public class SysUserRoleServiceImpl extends ServiceImpl<SysUserRoleMapper, SysUserRole> implements SysUserRoleService {
+
+}

+ 8 - 2
src/main/java/com/diagbot/service/impl/SysUserServiceImpl.java

@@ -1,9 +1,12 @@
 package com.diagbot.service.impl;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.diagbot.dto.SysUserQueryDTO;
 import com.diagbot.entity.SysUser;
 import com.diagbot.mapper.SysUserMapper;
 import com.diagbot.service.SysUserService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.diagbot.vo.SysUserQueryVO;
 import org.springframework.stereotype.Service;
 
 /**
@@ -16,5 +19,8 @@ import org.springframework.stereotype.Service;
  */
 @Service
 public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> implements SysUserService {
-
+    @Override
+    public IPage<SysUserQueryDTO> userPage(SysUserQueryVO sysUserQueryVO) {
+        return baseMapper.userPage(sysUserQueryVO);
+    }
 }

+ 18 - 0
src/main/java/com/diagbot/vo/SysUserBaseVO.java

@@ -0,0 +1,18 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotNull;
+
+/**
+ * @Description:
+ * @author: gaodm
+ * @time: 2020/4/28 9:23
+ */
+@Getter
+@Setter
+public class SysUserBaseVO {
+    @NotNull(message = "请输入用户ID")
+    private Long userId;
+}

+ 17 - 0
src/main/java/com/diagbot/vo/SysUserDeptVO.java

@@ -0,0 +1,17 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/**
+ * @Description:
+ * @author: gaodm
+ * @time: 2020/4/28 9:26
+ */
+@Getter
+@Setter
+public class SysUserDeptVO extends SysUserBaseVO {
+    private List<String> deptIds;
+}

+ 21 - 0
src/main/java/com/diagbot/vo/SysUserQueryVO.java

@@ -0,0 +1,21 @@
+package com.diagbot.vo;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @author: gaodm
+ * @time: 2020/4/28 9:14
+ */
+@Getter
+@Setter
+public class SysUserQueryVO extends Page {
+    private String linkman;
+    private Long roleId;
+    private String deptId;
+    @ApiModelProperty(hidden = true)
+    private Long hospitalId;
+}

+ 17 - 0
src/main/java/com/diagbot/vo/SysUserRoleVO.java

@@ -0,0 +1,17 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/**
+ * @Description:
+ * @author: gaodm
+ * @time: 2020/4/28 9:26
+ */
+@Getter
+@Setter
+public class SysUserRoleVO extends SysUserBaseVO {
+    private List<Long> roleIds;
+}

+ 69 - 1
src/main/java/com/diagbot/web/SysUserController.java

@@ -1,14 +1,22 @@
 package com.diagbot.web;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.diagbot.annotation.SysLogger;
 import com.diagbot.dto.JwtDTO;
 import com.diagbot.dto.LoginDTO;
 import com.diagbot.dto.ModifyPasswordVO;
 import com.diagbot.dto.RespDTO;
+import com.diagbot.dto.SysUserDeptDTO;
+import com.diagbot.dto.SysUserQueryDTO;
+import com.diagbot.dto.SysUserRoleDTO;
 import com.diagbot.entity.Token;
-import com.diagbot.facade.TokenFacade;
 import com.diagbot.facade.SysUserFacade;
+import com.diagbot.facade.TokenFacade;
 import com.diagbot.vo.JwtVO;
+import com.diagbot.vo.SysUserBaseVO;
+import com.diagbot.vo.SysUserDeptVO;
+import com.diagbot.vo.SysUserQueryVO;
+import com.diagbot.vo.SysUserRoleVO;
 import com.diagbot.vo.UserLoginVO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -21,6 +29,8 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 import springfox.documentation.annotations.ApiIgnore;
 
+import javax.validation.Valid;
+
 /**
  * @Description: 用户账号API
  * @author: gaodm
@@ -97,7 +107,65 @@ public class SysUserController {
     }
 
     //-------------用户维护BEGAIN------------------------
+    @ApiOperation(value = "用户列表翻页信息[by:gaodm]",
+            notes = "")
+    @PostMapping("/usetPage")
+    @SysLogger("usetPage")
+    public RespDTO<IPage<SysUserQueryDTO>> usetPage(@RequestBody SysUserQueryVO sysUserQueryVO) {
+        return RespDTO.onSuc(userFacade.usetPageFac(sysUserQueryVO));
+    }
+
+    @ApiOperation(value = "获取用户科室[by:gaodm]",
+            notes = "")
+    @PostMapping("/getUserDepts")
+    @SysLogger("getUserDepts")
+    public RespDTO<SysUserDeptDTO> getUserDepts(@RequestBody @Valid SysUserBaseVO sysUserBaseVO) {
+        return RespDTO.onSuc(userFacade.getUserDepts(sysUserBaseVO));
+    }
+
+    @ApiOperation(value = "获取用户角色[by:gaodm]",
+            notes = "")
+    @PostMapping("/getUserRoles")
+    @SysLogger("getUserRoles")
+    public RespDTO<SysUserRoleDTO> getUserRoles(@RequestBody @Valid SysUserBaseVO sysUserBaseVO) {
+        return RespDTO.onSuc(userFacade.getUserRoles(sysUserBaseVO));
+    }
+
+    @ApiOperation(value = "用户启用[by:gaodm]",
+            notes = "")
+    @PostMapping("/enable")
+    @SysLogger("enable")
+    @Transactional
+    public RespDTO<Boolean> enable(@RequestBody @Valid SysUserBaseVO sysUserBaseVO) {
+        return RespDTO.onSuc(userFacade.enable(sysUserBaseVO));
+    }
 
+    @ApiOperation(value = "用户停用[by:gaodm]",
+            notes = "")
+    @PostMapping("/disable")
+    @SysLogger("disable")
+    @Transactional
+    public RespDTO<Boolean> disable(@RequestBody @Valid SysUserBaseVO sysUserBaseVO) {
+        return RespDTO.onSuc(userFacade.disable(sysUserBaseVO));
+    }
+
+    @ApiOperation(value = "编辑用户科室[by:gaodm]",
+            notes = "")
+    @PostMapping("/editUserDepts")
+    @SysLogger("editUserDepts")
+    @Transactional
+    public RespDTO<Boolean> editUserDepts(@RequestBody @Valid SysUserDeptVO sysUserDeptVO) {
+        return RespDTO.onSuc(userFacade.editUserDepts(sysUserDeptVO));
+    }
+
+    @ApiOperation(value = "编辑用户角色[by:gaodm]",
+            notes = "")
+    @PostMapping("/editUserRoles")
+    @SysLogger("editUserRoles")
+    @Transactional
+    public RespDTO<Boolean> editUserRoles(@RequestBody @Valid SysUserRoleVO sysUserRoleVO) {
+        return RespDTO.onSuc(userFacade.editUserRoles(sysUserRoleVO));
+    }
     //-------------用户维护END---------------------------
 
 }

+ 19 - 0
src/main/resources/mapper/SysUserDeptMapper.xml

@@ -0,0 +1,19 @@
+<?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">
+<mapper namespace="com.diagbot.mapper.SysUserDeptMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.diagbot.entity.SysUserDept">
+        <id column="id" property="id" />
+        <result column="is_deleted" property="isDeleted" />
+        <result column="gmt_create" property="gmtCreate" />
+        <result column="gmt_modified" property="gmtModified" />
+        <result column="creator" property="creator" />
+        <result column="modifier" property="modifier" />
+        <result column="user_id" property="userId" />
+        <result column="hospital_id" property="hospitalId" />
+        <result column="dept_id" property="deptId" />
+        <result column="remark" property="remark" />
+    </resultMap>
+
+</mapper>

+ 119 - 12
src/main/resources/mapper/SysUserMapper.xml

@@ -1,20 +1,127 @@
 <?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">
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.diagbot.mapper.SysUserMapper">
 
     <!-- 通用查询映射结果 -->
     <resultMap id="BaseResultMap" type="com.diagbot.entity.SysUser">
-        <id column="id" property="id" />
-        <result column="is_deleted" property="isDeleted" />
-        <result column="gmt_create" property="gmtCreate" />
-        <result column="gmt_modified" property="gmtModified" />
-        <result column="creator" property="creator" />
-        <result column="modifier" property="modifier" />
-        <result column="username" property="username" />
-        <result column="password" property="password" />
-        <result column="linkman" property="linkman" />
-        <result column="type" property="type" />
-        <result column="remark" property="remark" />
+        <id column="id" property="id"/>
+        <result column="is_deleted" property="isDeleted"/>
+        <result column="gmt_create" property="gmtCreate"/>
+        <result column="gmt_modified" property="gmtModified"/>
+        <result column="creator" property="creator"/>
+        <result column="modifier" property="modifier"/>
+        <result column="username" property="username"/>
+        <result column="password" property="password"/>
+        <result column="linkman" property="linkman"/>
+        <result column="type" property="type"/>
+        <result column="remark" property="remark"/>
     </resultMap>
 
+    <select id="userPage" resultType="com.diagbot.dto.SysUserQueryDTO"
+            parameterType="com.diagbot.vo.SysUserQueryVO">
+        SELECT
+        t3.userId,
+        t3.username AS userName,
+        t3.linkman AS linkman,
+        t6.deptName AS deptName,
+        t10.roleName AS roleName,
+        t3.`status` AS `status`
+        FROM
+        (
+        SELECT
+        t1.id AS userId,
+        t1.username AS userName,
+        t1.linkman AS linkman,
+        t1.`status` AS `status`,
+        t2.hospital_id AS hospitalId
+        FROM
+        sys_user t1,
+        sys_user_hospital t2
+        WHERE
+        t1.is_deleted = 'N'
+        AND t2.is_deleted = 'N'
+        AND t2.user_id = t1.id
+        AND t2.hospital_id = #{hospitalId}
+        ) t3
+        <choose>
+            <when test="deptId !=null and deptId != ''">
+                INNER JOIN (
+                SELECT DISTINCT
+                t4.user_id AS userId,
+                t4.hospital_id AS hospitalId,
+                group_concat(t5.dept_name) AS deptName
+                FROM
+                sys_user_dept t4,
+                bas_dept_info t5
+                WHERE
+                t4.is_deleted = 'N'
+                AND t4.dept_id = t5.dept_id
+                AND t4.hospital_id = t5.hospital_id
+                AND t4.hospital_id = #{hospitalId}
+                AND t4.dept_id = #{deptId}
+                GROUP BY
+                t4.user_id
+                ) t6 ON t3.userId = t6.userId
+            </when>
+            <otherwise>
+                LEFT JOIN (
+                SELECT DISTINCT
+                t4.user_id AS userId,
+                t4.hospital_id AS hospitalId,
+                group_concat(t5.dept_name) AS deptName
+                FROM
+                sys_user_dept t4,
+                bas_dept_info t5
+                WHERE
+                t4.is_deleted = 'N'
+                AND t4.dept_id = t5.dept_id
+                AND t4.hospital_id = t5.hospital_id
+                AND t4.hospital_id = #{hospitalId}
+                GROUP BY
+                t4.user_id
+                ) t6 ON t3.userId = t6.userId
+            </otherwise>
+        </choose>
+        <choose>
+            <when test="roleId !=null">
+                LEFT JOIN (
+                SELECT
+                t8.user_id AS userId,
+                group_concat(t9.`name`) AS roleName
+                FROM
+                sys_user_role t8,
+                sys_role t9
+                WHERE
+                t8.is_deleted = 'N'
+                AND t9.is_deleted = 'N'
+                AND t8.role_id = t9.id
+                AND t8.role_id = #{roleId}
+                GROUP BY
+                t8.user_id
+                ) t10 ON t10.userId = t3.userId
+            </when>
+            <otherwise>
+                LEFT JOIN (
+                SELECT
+                t8.user_id AS userId,
+                group_concat(t9.`name`) AS roleName
+                FROM
+                sys_user_role t8,
+                sys_role t9
+                WHERE
+                t8.is_deleted = 'N'
+                AND t9.is_deleted = 'N'
+                AND t8.role_id = t9.id
+                GROUP BY
+                t8.user_id
+                ) t10 ON t10.userId = t3.userId
+            </otherwise>
+        </choose>
+        WHERE
+        1 = 1
+        <if test="linkman != null and linkman != ''">
+            and t3.linkman like CONCAT('%',#{linkman},'%')
+        </if>
+    </select>
 </mapper>

+ 18 - 0
src/main/resources/mapper/SysUserRoleMapper.xml

@@ -0,0 +1,18 @@
+<?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">
+<mapper namespace="com.diagbot.mapper.SysUserRoleMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.diagbot.entity.SysUserRole">
+        <id column="id" property="id" />
+        <result column="is_deleted" property="isDeleted" />
+        <result column="gmt_create" property="gmtCreate" />
+        <result column="gmt_modified" property="gmtModified" />
+        <result column="creator" property="creator" />
+        <result column="modifier" property="modifier" />
+        <result column="user_id" property="userId" />
+        <result column="role_id" property="roleId" />
+        <result column="remark" property="remark" />
+    </resultMap>
+
+</mapper>

+ 1 - 1
src/test/java/com/diagbot/CodeGeneration.java

@@ -56,7 +56,7 @@ public class CodeGeneration {
         StrategyConfig strategy = new StrategyConfig();
 //        strategy.setTablePrefix(new String[] { "med_" });// 此处可以修改为您的表前缀
         strategy.setNaming(NamingStrategy.underline_to_camel);// 表名生成策略
-        strategy.setInclude(new String[] { "bas_dept_info"}); // 需要生成的表
+        strategy.setInclude(new String[] { "sys_user_dept","sys_user_role"}); // 需要生成的表
 
         strategy.setSuperServiceClass(null);
         strategy.setSuperServiceImplClass(null);