Browse Source

用户组,角色模块功能

hym 4 years ago
parent
commit
ab003b1fac
23 changed files with 914 additions and 56 deletions
  1. 2 1
      common/src/main/java/com/huaxu/model/ResultStatus.java
  2. 27 23
      user_center/src/main/java/com/huaxu/controller/RoleController.java
  3. 21 18
      user_center/src/main/java/com/huaxu/controller/UserGroupController.java
  4. 83 0
      user_center/src/main/java/com/huaxu/dao/GroupUserMapper.java
  5. 8 1
      user_center/src/main/java/com/huaxu/dao/RoleMapper.java
  6. 84 0
      user_center/src/main/java/com/huaxu/dao/RoleOrgMapper.java
  7. 6 0
      user_center/src/main/java/com/huaxu/dao/UserGroupMapper.java
  8. 16 0
      user_center/src/main/java/com/huaxu/dto/RoleDto.java
  9. 14 0
      user_center/src/main/java/com/huaxu/dto/RoleRequestDto.java
  10. 13 0
      user_center/src/main/java/com/huaxu/dto/UserGroupDto.java
  11. 54 0
      user_center/src/main/java/com/huaxu/entity/GroupUser.java
  12. 54 0
      user_center/src/main/java/com/huaxu/entity/RoleOrg.java
  13. 4 0
      user_center/src/main/java/com/huaxu/entity/UserEntity.java
  14. 8 3
      user_center/src/main/java/com/huaxu/service/RoleService.java
  15. 5 0
      user_center/src/main/java/com/huaxu/service/UserGroupService.java
  16. 4 0
      user_center/src/main/java/com/huaxu/service/impl/OrgServiceImpl.java
  17. 58 5
      user_center/src/main/java/com/huaxu/service/impl/RoleServiceImpl.java
  18. 49 1
      user_center/src/main/java/com/huaxu/service/impl/UserGroupServiceImpl.java
  19. 155 0
      user_center/src/main/resources/mapper/GroupUserMapper.xml
  20. 1 1
      user_center/src/main/resources/mapper/OrgMapper.xml
  21. 53 3
      user_center/src/main/resources/mapper/RoleMapper.xml
  22. 155 0
      user_center/src/main/resources/mapper/RoleOrgMapper.xml
  23. 40 0
      user_center/src/main/resources/mapper/UserGroupMapper.xml

+ 2 - 1
common/src/main/java/com/huaxu/model/ResultStatus.java

@@ -43,7 +43,8 @@ public enum ResultStatus {
     SMS_CODE_COUNT(300001,"需进行随机码校验"),
     SMS_CODE_LIMIT(300002,"频繁获取验证码,请联系系统管理员"),
     ORG_HAS_USER(300003,"请先删除机构下的用户"),
-
+    ROLE_HAS_USER(300004,"请先解除用户与此角色绑定关系"),
+    USERGROUP_HAS_USER(300005,"请先解除用户与此用户组绑定关系"),
 
     //400 工作流模块
     PROCESS_DEPLOY_FAILED(400006,"流程部署失败"),

+ 27 - 23
user_center/src/main/java/com/huaxu/controller/RoleController.java

@@ -2,7 +2,11 @@ package com.huaxu.controller;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.huaxu.dto.RoleDto;
+import com.huaxu.dto.RoleRequestDto;
 import com.huaxu.entity.Role;
+import com.huaxu.entity.UserEntity;
+import com.huaxu.entity.UserGroup;
 import com.huaxu.model.AjaxMessage;
 import com.huaxu.model.Pagination;
 import com.huaxu.model.ResultStatus;
@@ -16,6 +20,8 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.List;
+
 /**
  * 角色(Role)控制层
  *
@@ -24,7 +30,7 @@ import org.springframework.web.bind.annotation.RestController;
  */
 @RestController
 @RequestMapping("/role")
-@Api(tags = "")
+@Api(tags = "角色")
 public class RoleController {
     /**
      * 服务对象
@@ -39,7 +45,7 @@ public class RoleController {
      * @return 单条数据
      */
     @RequestMapping(value = "get", method = RequestMethod.POST)
-    @ApiOperation(value = "查询设施配置列表")
+    @ApiOperation(value = "查询角色")
     public AjaxMessage<Role> selectOne(
             @ApiParam(value = "设置配置", required = true) @RequestBody Role role) {
         Role result = roleService.selectById(role.getId());
@@ -54,8 +60,8 @@ public class RoleController {
      * @return Response对象
      */
     @RequestMapping(value = "insert", method = RequestMethod.POST)
-    @ApiOperation(value = "查询设施配置列表")
-    public AjaxMessage<Integer> insert(@ApiParam(value = "设置配置", required = true) @RequestBody Role role) {
+    @ApiOperation(value = "插入角色")
+    public AjaxMessage<Integer> insert(@ApiParam(value = "设置配置", required = true) @RequestBody RoleRequestDto role) {
         int result = roleService.insert(role);
 
         return new AjaxMessage<>(ResultStatus.OK, result);
@@ -68,26 +74,16 @@ public class RoleController {
      * @return Response对象
      */
     @RequestMapping(value = "update", method = RequestMethod.POST)
-    @ApiOperation(value = "查询设施配置列表")
-    public AjaxMessage<Integer> update(@ApiParam(value = "设置配置", required = true) @RequestBody Role role) {
+    @ApiOperation(value = "更新/删除角色")
+    public AjaxMessage<Integer> update(@ApiParam(value = "设置配置", required = true) @RequestBody RoleRequestDto role) {
         int result = roleService.update(role);
+        if(result==-1){
+            return new AjaxMessage<>(ResultStatus.ROLE_HAS_USER);
+        }
         return new AjaxMessage<>(ResultStatus.OK, result);
 
     }
 
-    /**
-     * 删除一条数据
-     *
-     * @param role 参数对象
-     * @return Response对象
-     */
-    @RequestMapping(value = "delete", method = RequestMethod.POST)
-    @ApiOperation(value = "查询设施配置列表")
-    public AjaxMessage<Integer> delete(@ApiParam(value = "设置配置", required = true) @RequestBody Role role) {
-        int result = roleService.deleteById(role.getId());
-        return new AjaxMessage<>(ResultStatus.OK, result);
-    }
-
 
     /**
      * 分页查询
@@ -97,13 +93,21 @@ public class RoleController {
      * @return Response对象
      */
     @RequestMapping(value = "selectPage", method = RequestMethod.POST)
-    @ApiOperation(value = "查询设施配置列表")
-    public AjaxMessage<Pagination<Role>> selectPage(Integer pageNum, Integer pageSize) {
+    @ApiOperation(value = "查询角色列表")
+    public AjaxMessage<Pagination<RoleDto>> selectPage(Integer pageNum, Integer pageSize) {
         Role role = new Role();
-        IPage<Role> iPage = new Page<>(pageNum, pageSize);
+        IPage<RoleDto> iPage = new Page<>(pageNum, pageSize);
         iPage = roleService.selectPage(role, iPage);
-        Pagination<Role> pages = new Pagination<>(iPage);
+        Pagination<RoleDto> pages = new Pagination<>(iPage);
         return new AjaxMessage<>(ResultStatus.OK, pages);
     }
+    @RequestMapping(value = "findUsersByUserGroup", method = RequestMethod.POST)
+    @ApiOperation(value = "查询角色对应user")
+    AjaxMessage<List<UserEntity>>  findUsersByUserGroup(@ApiParam(value = "角色id", required = true)Integer id){
+        Role role=new Role();
+        role.setId(id);
+        return new AjaxMessage<>(ResultStatus.OK,
+              roleService.findUsersByRole(role) );
+    }
 
 }

+ 21 - 18
user_center/src/main/java/com/huaxu/controller/UserGroupController.java

@@ -2,6 +2,7 @@ package com.huaxu.controller;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.huaxu.entity.UserEntity;
 import com.huaxu.entity.UserGroup;
 import com.huaxu.model.AjaxMessage;
 import com.huaxu.model.Pagination;
@@ -16,6 +17,8 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.List;
+
 /**
  * 用户组(UserGroup)控制层
  *
@@ -24,7 +27,7 @@ import org.springframework.web.bind.annotation.RestController;
  */
 @RestController
 @RequestMapping("/userGroup")
-@Api(tags = "")
+@Api(tags = "用户组")
 public class UserGroupController {
     /**
      * 服务对象
@@ -39,7 +42,7 @@ public class UserGroupController {
      * @return 单条数据
      */
     @RequestMapping(value = "get", method = RequestMethod.POST)
-    @ApiOperation(value = "查询设施配置列表")
+    @ApiOperation(value = "查询用户组")
     public AjaxMessage<UserGroup> selectOne(
             @ApiParam(value = "设置配置", required = true) @RequestBody UserGroup userGroup) {
         UserGroup result = userGroupService.selectById(userGroup.getId());
@@ -54,7 +57,7 @@ public class UserGroupController {
      * @return Response对象
      */
     @RequestMapping(value = "insert", method = RequestMethod.POST)
-    @ApiOperation(value = "查询设施配置列表")
+    @ApiOperation(value = "插入用户组")
     public AjaxMessage<Integer> insert(@ApiParam(value = "设置配置", required = true) @RequestBody UserGroup userGroup) {
         int result = userGroupService.insert(userGroup);
 
@@ -68,25 +71,16 @@ public class UserGroupController {
      * @return Response对象
      */
     @RequestMapping(value = "update", method = RequestMethod.POST)
-    @ApiOperation(value = "查询设施配置列表")
+    @ApiOperation(value = "更新/删除用户组")
     public AjaxMessage<Integer> update(@ApiParam(value = "设置配置", required = true) @RequestBody UserGroup userGroup) {
         int result = userGroupService.update(userGroup);
+        if(result==-1){
+            return new AjaxMessage<>(ResultStatus.USERGROUP_HAS_USER);
+        }
         return new AjaxMessage<>(ResultStatus.OK, result);
 
     }
 
-    /**
-     * 删除一条数据
-     *
-     * @param userGroup 参数对象
-     * @return Response对象
-     */
-    @RequestMapping(value = "delete", method = RequestMethod.POST)
-    @ApiOperation(value = "查询设施配置列表")
-    public AjaxMessage<Integer> delete(@ApiParam(value = "设置配置", required = true) @RequestBody UserGroup userGroup) {
-        int result = userGroupService.deleteById(userGroup.getId());
-        return new AjaxMessage<>(ResultStatus.OK, result);
-    }
 
 
     /**
@@ -97,13 +91,22 @@ public class UserGroupController {
      * @return Response对象
      */
     @RequestMapping(value = "selectPage", method = RequestMethod.POST)
-    @ApiOperation(value = "查询设施配置列表")
-    public AjaxMessage<Pagination<UserGroup>> selectPage(Integer pageNum, Integer pageSize) {
+    @ApiOperation(value = "查询用户组列表")
+    public AjaxMessage<Pagination<UserGroup>> selectPage(Integer pageNum, Integer pageSize,String name) {
         UserGroup userGroup = new UserGroup();
+        userGroup.setGroupName(name);
         IPage<UserGroup> iPage = new Page<>(pageNum, pageSize);
         iPage = userGroupService.selectPage(userGroup, iPage);
         Pagination<UserGroup> pages = new Pagination<>(iPage);
         return new AjaxMessage<>(ResultStatus.OK, pages);
     }
+    @RequestMapping(value = "findUsersByUserGroup", method = RequestMethod.POST)
+    @ApiOperation(value = "查询用户组对应user")
+    AjaxMessage<List<UserEntity>>  findUsersByUserGroup(@ApiParam(value = "用户组id", required = true)Integer id){
+        UserGroup userGroup=new UserGroup();
+        userGroup.setId(id);
+        return new AjaxMessage<>(ResultStatus.OK,
+                userGroupService.findUsersByUserGroup(userGroup));
+    }
 
 }

+ 83 - 0
user_center/src/main/java/com/huaxu/dao/GroupUserMapper.java

@@ -0,0 +1,83 @@
+package com.huaxu.dao;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.huaxu.entity.GroupUser;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+/**
+ * 用户组用户(GroupUser)表数据库访问层
+ *
+ * @author makejava
+ * @since 2020-10-27 14:57:41
+ */
+@Mapper
+public interface GroupUserMapper {
+
+    /**
+     * 通过ID查询单条数据
+     *
+     * @param id 主键
+     * @return 实例对象
+     */
+    GroupUser selectById(Integer id);
+
+
+    /**
+     * 查询全部
+     *
+     * @return 对象列表
+     */
+    List<GroupUser> selectAll();
+
+    /**
+     * 通过实体作为筛选条件查询
+     *
+     * @param groupUser 实例对象
+     * @return 对象列表
+     */
+    List<GroupUser> selectList(GroupUser groupUser);
+
+    /**
+     * 新增数据
+     *
+     * @param groupUser 实例对象
+     * @return 影响行数
+     */
+    int insert(GroupUser groupUser);
+
+    /**
+     * 批量新增
+     *
+     * @param groupUsers 实例对象的集合
+     * @return 影响行数
+     */
+    int batchInsert(List<GroupUser> groupUsers);
+
+    /**
+     * 修改数据
+     *
+     * @param groupUser 实例对象
+     * @return 影响行数
+     */
+    int update(GroupUser groupUser);
+
+    /**
+     * 通过主键删除数据
+     *
+     * @param id 主键
+     * @return 影响行数
+     */
+    int deleteById(Integer id);
+
+    /**
+     * 查询总数据数
+     *
+     * @return 数据总数
+     */
+    int count();
+
+    IPage<GroupUser> selectPage(IPage<GroupUser> page, GroupUser groupUser);
+
+}

+ 8 - 1
user_center/src/main/java/com/huaxu/dao/RoleMapper.java

@@ -1,7 +1,9 @@
 package com.huaxu.dao;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.huaxu.dto.RoleDto;
 import com.huaxu.entity.Role;
+import com.huaxu.entity.UserEntity;
 import org.apache.ibatis.annotations.Mapper;
 
 import java.util.List;
@@ -78,6 +80,11 @@ public interface RoleMapper {
      */
     int count();
 
-    IPage<Role> selectPage(IPage<Role> page, Role role);
+    IPage<RoleDto> selectPage(IPage<RoleDto> page, Role role);
+
+    Role findRoleUser(Role role);
+    int deleteRoleUser(Role role);
+
+    List<UserEntity> findUsersByRole(Role role);
 
 }

+ 84 - 0
user_center/src/main/java/com/huaxu/dao/RoleOrgMapper.java

@@ -0,0 +1,84 @@
+package com.huaxu.dao;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.huaxu.entity.RoleOrg;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+/**
+ * 角色组织(RoleOrg)表数据库访问层
+ *
+ * @author makejava
+ * @since 2020-10-27 10:35:23
+ */
+@Mapper
+public interface RoleOrgMapper {
+
+    /**
+     * 通过ID查询单条数据
+     *
+     * @param id 主键
+     * @return 实例对象
+     */
+    RoleOrg selectById(Integer id);
+
+
+    /**
+     * 查询全部
+     *
+     * @return 对象列表
+     */
+    List<RoleOrg> selectAll();
+
+    /**
+     * 通过实体作为筛选条件查询
+     *
+     * @param roleOrg 实例对象
+     * @return 对象列表
+     */
+    List<RoleOrg> selectList(RoleOrg roleOrg);
+
+    /**
+     * 新增数据
+     *
+     * @param roleOrg 实例对象
+     * @return 影响行数
+     */
+    int insert(RoleOrg roleOrg);
+
+    /**
+     * 批量新增
+     *
+     * @param roleOrgs 实例对象的集合
+     * @return 影响行数
+     */
+    int batchInsert(List<RoleOrg> roleOrgs);
+
+    /**
+     * 修改数据
+     *
+     * @param roleOrg 实例对象
+     * @return 影响行数
+     */
+    int update(RoleOrg roleOrg);
+
+    /**
+     * 通过主键删除数据
+     *
+     * @param id 主键
+     * @return 影响行数
+     */
+    int deleteById(Integer id);
+
+    /**
+     * 查询总数据数
+     *
+     * @return 数据总数
+     */
+    int count();
+
+    IPage<RoleOrg> selectPage(IPage<RoleOrg> page, RoleOrg roleOrg);
+
+
+}

+ 6 - 0
user_center/src/main/java/com/huaxu/dao/UserGroupMapper.java

@@ -1,6 +1,7 @@
 package com.huaxu.dao;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.huaxu.entity.UserEntity;
 import com.huaxu.entity.UserGroup;
 import org.apache.ibatis.annotations.Mapper;
 
@@ -80,4 +81,9 @@ public interface UserGroupMapper {
 
     IPage<UserGroup> selectPage(IPage<UserGroup> page, UserGroup userGroup);
 
+    UserGroup findHasUserGroupUsers(UserGroup userGroup);
+    int deleteUserGroupRelations(UserGroup userGroup);
+
+    List<UserEntity> findUsersByUserGroup(UserGroup userGroup);
+
 }

+ 16 - 0
user_center/src/main/java/com/huaxu/dto/RoleDto.java

@@ -0,0 +1,16 @@
+package com.huaxu.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class RoleDto {
+    @ApiModelProperty(value = "主键")
+    private Integer id ;
+    @ApiModelProperty(value = "名称")
+    private String name;
+    @ApiModelProperty(value = "用户数目")
+    private Integer users;
+    @ApiModelProperty(value = "状态",notes = "0:开启,1禁用")
+    private Integer roleState;
+}

+ 14 - 0
user_center/src/main/java/com/huaxu/dto/RoleRequestDto.java

@@ -0,0 +1,14 @@
+package com.huaxu.dto;
+
+import com.huaxu.entity.Role;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+@Data
+public class RoleRequestDto {
+    @ApiModelProperty(value = "角色基础信息")
+    private Role role;
+    @ApiModelProperty(value = "自定义权限的组织id")
+    private List<Integer> orgIds;
+}

+ 13 - 0
user_center/src/main/java/com/huaxu/dto/UserGroupDto.java

@@ -0,0 +1,13 @@
+package com.huaxu.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+@Data
+public class UserGroupDto {
+    @ApiModelProperty(value = "用户组id")
+    private Integer groupId;
+    @ApiModelProperty(value = "用户ids")
+    private List<Integer> userIds;
+}

+ 54 - 0
user_center/src/main/java/com/huaxu/entity/GroupUser.java

@@ -0,0 +1,54 @@
+package com.huaxu.entity;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 用户组用户(GroupUser)实体类
+ *
+ * @author makejava
+ * @since 2020-10-27 14:57:41
+ */
+@Data
+@ApiModel
+public class GroupUser implements Serializable {
+    private static final long serialVersionUID = -25664094745064330L;
+    /**
+     * 主键
+     */
+    @ApiModelProperty(value = "主键")
+    private Integer id;
+    /**
+     * 用户组ID
+     */
+    @ApiModelProperty(value = "用户组ID")
+    private Integer groupId;
+    /**
+     * 用户ID
+     */
+    @ApiModelProperty(value = "用户ID")
+    private Integer userId;
+    /**
+     * 数据删除标记
+     */
+    @ApiModelProperty(value = "数据删除标记")
+    private Integer status;
+    /**
+     * 创建时间
+     */
+    @ApiModelProperty(value = "创建时间")
+    private Date dateCreate;
+    /**
+     * 创建人
+     */
+    @ApiModelProperty(value = "创建人")
+    private String createBy;
+    @ApiModelProperty(value = "")
+    private Date dateUpdate;
+    @ApiModelProperty(value = "")
+    private String updateBy;
+}

+ 54 - 0
user_center/src/main/java/com/huaxu/entity/RoleOrg.java

@@ -0,0 +1,54 @@
+package com.huaxu.entity;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 角色组织(RoleOrg)实体类
+ *
+ * @author makejava
+ * @since 2020-10-27 10:35:23
+ */
+@Data
+@ApiModel
+public class RoleOrg implements Serializable {
+    private static final long serialVersionUID = -22679140242380287L;
+    /**
+     * 主键
+     */
+    @ApiModelProperty(value = "主键")
+    private Integer id;
+    /**
+     * 角色ID
+     */
+    @ApiModelProperty(value = "角色ID")
+    private Integer roleId;
+    /**
+     * 组织ID
+     */
+    @ApiModelProperty(value = "组织ID")
+    private Integer orgId;
+    /**
+     * 数据删除标记
+     */
+    @ApiModelProperty(value = "数据删除标记")
+    private Integer status;
+    /**
+     * 创建时间
+     */
+    @ApiModelProperty(value = "创建时间")
+    private Date dateCreate;
+    /**
+     * 创建人
+     */
+    @ApiModelProperty(value = "创建人")
+    private String createBy;
+    @ApiModelProperty(value = "")
+    private Date dateUpdate;
+    @ApiModelProperty(value = "")
+    private String updateBy;
+}

+ 4 - 0
user_center/src/main/java/com/huaxu/entity/UserEntity.java

@@ -111,4 +111,8 @@ public class UserEntity implements Serializable {
     @ApiModelProperty(value = "用户角色")
     @TableField(exist = false)
     private Long roleId;
+    /** 用户角色 */
+    @ApiModelProperty(value = "用户组")
+    @TableField(exist = false)
+    private Long userGroupId;
 }

+ 8 - 3
user_center/src/main/java/com/huaxu/service/RoleService.java

@@ -1,7 +1,10 @@
 package com.huaxu.service;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.huaxu.dto.RoleDto;
+import com.huaxu.dto.RoleRequestDto;
 import com.huaxu.entity.Role;
+import com.huaxu.entity.UserEntity;
 
 import java.util.List;
 
@@ -43,7 +46,7 @@ public interface RoleService {
      * @param role 实例对象
      * @return 影响行数
      */
-    int insert(Role role);
+    int insert(RoleRequestDto role);
 
     /**
      * 批量新增
@@ -59,7 +62,7 @@ public interface RoleService {
      * @param role 实例对象
      * @return 修改
      */
-    int update(Role role);
+    int update(RoleRequestDto role);
 
     /**
      * 通过主键删除数据
@@ -76,5 +79,7 @@ public interface RoleService {
      */
     int count();
 
-    IPage<Role> selectPage(Role role, IPage<Role> page);
+    IPage<RoleDto> selectPage(Role role, IPage<RoleDto> page);
+     List<UserEntity>findUsersByRole(Role role);
+
 }

+ 5 - 0
user_center/src/main/java/com/huaxu/service/UserGroupService.java

@@ -1,6 +1,8 @@
 package com.huaxu.service;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.huaxu.dto.UserGroupDto;
+import com.huaxu.entity.UserEntity;
 import com.huaxu.entity.UserGroup;
 
 import java.util.List;
@@ -77,4 +79,7 @@ public interface UserGroupService {
     int count();
 
     IPage<UserGroup> selectPage(UserGroup userGroup, IPage<UserGroup> page);
+    List<UserEntity>findUsersByUserGroup(UserGroup userGroup);
+    int updateRolesByUserGroup(UserGroupDto userGroupDto);
+
 }

+ 4 - 0
user_center/src/main/java/com/huaxu/service/impl/OrgServiceImpl.java

@@ -2,6 +2,7 @@ package com.huaxu.service.impl;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.huaxu.dao.OrgMapper;
+import com.huaxu.dto.RoleRequestDto;
 import com.huaxu.entity.Org;
 import com.huaxu.model.LoginUser;
 import com.huaxu.service.OrgService;
@@ -23,6 +24,7 @@ public class OrgServiceImpl implements OrgService {
     private OrgMapper orgMapper;
 
 
+
     /**
      * 通过ID查询单条数据
      *
@@ -128,6 +130,8 @@ public class OrgServiceImpl implements OrgService {
      */
     @Override
     public IPage<Org> selectPage(Org org, IPage<Org> page) {
+        LoginUser currentUser = UserUtil.getCurrentUser();
+        org.setTenantId(currentUser.getTenantId());
         return this.orgMapper.selectPage(page, org);
     }
 }

+ 58 - 5
user_center/src/main/java/com/huaxu/service/impl/RoleServiceImpl.java

@@ -1,12 +1,22 @@
 package com.huaxu.service.impl;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.api.R;
 import com.huaxu.dao.RoleMapper;
+import com.huaxu.dao.RoleOrgMapper;
+import com.huaxu.dto.RoleDto;
+import com.huaxu.dto.RoleRequestDto;
+import com.huaxu.entity.Org;
 import com.huaxu.entity.Role;
+import com.huaxu.entity.RoleOrg;
+import com.huaxu.entity.UserEntity;
+import com.huaxu.model.LoginUser;
 import com.huaxu.service.RoleService;
+import com.huaxu.util.UserUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -19,6 +29,8 @@ import java.util.List;
 public class RoleServiceImpl implements RoleService {
     @Autowired
     private RoleMapper roleMapper;
+    @Autowired
+    private RoleOrgMapper roleOrgMapper;
 
     /**
      * 通过ID查询单条数据
@@ -55,11 +67,16 @@ public class RoleServiceImpl implements RoleService {
     /**
      * 新增数据
      *
-     * @param role 实例对象
+     * @param roleRequestDto 实例对象
      * @return 实例对象
      */
     @Override
-    public int insert(Role role) {
+    public int insert(RoleRequestDto roleRequestDto) {
+        configDataPermission(roleRequestDto);
+        Role role = roleRequestDto.getRole();
+        LoginUser currentUser = UserUtil.getCurrentUser();
+        role.setTenantId(currentUser.getTenantId());
+        role.setCreateBy(currentUser.getUsername());
         return this.roleMapper.insert(role);
     }
 
@@ -77,15 +94,44 @@ public class RoleServiceImpl implements RoleService {
     /**
      * 修改数据
      *
-     * @param role 实例对象
+     * @param roleRequestDto 实例对象
      * @return 实例对象
      */
     @Override
-    public int update(Role role) {
+    public int update(RoleRequestDto roleRequestDto) {
+        Role role=roleRequestDto.getRole();
 
+        if(role.getStatus()==-1){
+            Role roleUser = roleMapper.findRoleUser(role);
+            if(roleUser!=null){
+                return -1;
+            }
+            //删除用户与角色的关系
+            roleMapper.deleteRoleUser(role);
+        }
+        LoginUser currentUser = UserUtil.getCurrentUser();
+        role.setUpdateBy(currentUser.getUsername());
+        configDataPermission(roleRequestDto);
         return this.roleMapper.update(role);
     }
+    private void configDataPermission(RoleRequestDto roleRequestDto){
+        if(roleRequestDto.getRole().getPermissionType()==5){
+            RoleOrg roleOrgDelete=new RoleOrg();
+            Integer roleId=roleRequestDto.getRole().getId();
+            roleOrgDelete.setRoleId(roleId);
+            roleOrgMapper.update(roleOrgDelete);
+            List<Integer> orgIds = roleRequestDto.getOrgIds();
+            List<RoleOrg>roleOrgs=new ArrayList<>();
+            orgIds.forEach(id->{
+                RoleOrg roleOrg = new RoleOrg();
+                roleOrg.setRoleId(roleId);
+                roleOrg.setOrgId(id);
+                roleOrgs.add(roleOrg);
+            });
 
+            roleOrgMapper.batchInsert(roleOrgs);
+        }
+    }
     /**
      * 通过主键删除数据
      *
@@ -113,7 +159,14 @@ public class RoleServiceImpl implements RoleService {
      * @return 对象列表
      */
     @Override
-    public IPage<Role> selectPage(Role role, IPage<Role> page) {
+    public IPage<RoleDto> selectPage(Role role, IPage<RoleDto> page) {
+        LoginUser currentUser = UserUtil.getCurrentUser();
+        role.setTenantId(currentUser.getTenantId());
         return this.roleMapper.selectPage(page, role);
     }
+
+    @Override
+    public List<UserEntity> findUsersByRole(Role role) {
+        return  roleMapper.findUsersByRole(role);
+    }
 }

+ 49 - 1
user_center/src/main/java/com/huaxu/service/impl/UserGroupServiceImpl.java

@@ -1,12 +1,20 @@
 package com.huaxu.service.impl;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.huaxu.dao.GroupUserMapper;
 import com.huaxu.dao.UserGroupMapper;
+import com.huaxu.dto.UserGroupDto;
+import com.huaxu.entity.GroupUser;
+import com.huaxu.entity.Org;
+import com.huaxu.entity.UserEntity;
 import com.huaxu.entity.UserGroup;
+import com.huaxu.model.LoginUser;
 import com.huaxu.service.UserGroupService;
+import com.huaxu.util.UserUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -19,6 +27,8 @@ import java.util.List;
 public class UserGroupServiceImpl implements UserGroupService {
     @Autowired
     private UserGroupMapper userGroupMapper;
+    @Autowired
+    private GroupUserMapper groupUserMapper;
 
     /**
      * 通过ID查询单条数据
@@ -60,6 +70,9 @@ public class UserGroupServiceImpl implements UserGroupService {
      */
     @Override
     public int insert(UserGroup userGroup) {
+        LoginUser currentUser = UserUtil.getCurrentUser();
+        userGroup.setTenantId(currentUser.getTenantId());
+        userGroup.setCreateBy(currentUser.getUsername());
         return this.userGroupMapper.insert(userGroup);
     }
 
@@ -82,7 +95,16 @@ public class UserGroupServiceImpl implements UserGroupService {
      */
     @Override
     public int update(UserGroup userGroup) {
-
+        if(userGroup.getStatus()==-1){
+            UserGroup hasUserGroupUsers = userGroupMapper.findHasUserGroupUsers(userGroup);
+            if(hasUserGroupUsers!=null){
+                return -1;
+            }
+            //删除用户与用户组的关系
+            userGroupMapper.deleteUserGroupRelations(userGroup);
+        }
+        LoginUser currentUser = UserUtil.getCurrentUser();
+        userGroup.setUpdateBy(currentUser.getUsername());
         return this.userGroupMapper.update(userGroup);
     }
 
@@ -114,6 +136,32 @@ public class UserGroupServiceImpl implements UserGroupService {
      */
     @Override
     public IPage<UserGroup> selectPage(UserGroup userGroup, IPage<UserGroup> page) {
+        LoginUser currentUser = UserUtil.getCurrentUser();
+        userGroup.setTenantId(currentUser.getTenantId());
         return this.userGroupMapper.selectPage(page, userGroup);
     }
+
+    @Override
+    public List<UserEntity> findUsersByUserGroup(UserGroup userGroup) {
+
+        return  userGroupMapper.findUsersByUserGroup( userGroup);
+    }
+
+    @Override
+    public int updateRolesByUserGroup(UserGroupDto userGroupDto) {
+        UserGroup userGroup=new UserGroup();
+        Integer groupId=userGroupDto.getGroupId();
+        userGroup.setId(groupId);
+        userGroupMapper.deleteUserGroupRelations(userGroup);
+        List<Integer> userIds = userGroupDto.getUserIds();
+        List<GroupUser>groupUsers=new ArrayList<>();
+        userIds.forEach(id->{
+            GroupUser user=new GroupUser();
+            user.setUserId(id);
+            user.setGroupId(groupId);
+            groupUsers.add(user);
+        });
+        groupUserMapper.batchInsert(groupUsers);
+        return 0;
+    }
 }

+ 155 - 0
user_center/src/main/resources/mapper/GroupUserMapper.xml

@@ -0,0 +1,155 @@
+<?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.huaxu.dao.GroupUserMapper">
+    <!-- 结果集 -->
+    <resultMap type="com.huaxu.entity.GroupUser" id="GroupUserMap">
+        <result property="id" column="ID" jdbcType="INTEGER"/>
+        <result property="groupId" column="GROUP_ID" jdbcType="INTEGER"/>
+        <result property="userId" column="USER_ID" jdbcType="INTEGER"/>
+        <result property="status" column="STATUS" jdbcType="INTEGER"/>
+        <result property="dateCreate" column="DATE_CREATE" jdbcType="TIMESTAMP"/>
+        <result property="createBy" column="CREATE_BY" jdbcType="VARCHAR"/>
+        <result property="dateUpdate" column="DATE_UPDATE" jdbcType="TIMESTAMP"/>
+        <result property="updateBy" column="UPDATE_BY" jdbcType="VARCHAR"/>
+    </resultMap>
+
+    <!-- 基本字段 -->
+    <sql id="Base_Column_List">
+        ID, GROUP_ID, USER_ID, STATUS, DATE_CREATE, CREATE_BY, DATE_UPDATE, UPDATE_BY    </sql>
+
+    <!-- 查询单个 -->
+    <select id="selectById" resultMap="GroupUserMap">
+        select
+        <include refid="Base_Column_List"/>
+        from uims_group_user
+        where ID = #{id}
+    </select>
+
+
+    <!-- 查询全部 -->
+    <select id="selectAll" resultMap="GroupUserMap">
+        select
+        <include refid="Base_Column_List"/>
+        from uims_group_user
+    </select>
+
+    <!--通过实体作为筛选条件查询-->
+    <select id="selectList" resultMap="GroupUserMap">
+        select
+        <include refid="Base_Column_List"/>
+        from uims_group_user
+        <where>
+            <if test="id != null">
+                and ID = #{id}
+            </if>
+            <if test="groupId != null">
+                and GROUP_ID = #{groupId}
+            </if>
+            <if test="userId != null">
+                and USER_ID = #{userId}
+            </if>
+            <if test="status != null">
+                and STATUS = #{status}
+            </if>
+            <if test="dateCreate != null">
+                and DATE_CREATE = #{dateCreate}
+            </if>
+            <if test="createBy != null and createBy != ''">
+                and CREATE_BY = #{createBy}
+            </if>
+            <if test="dateUpdate != null">
+                and DATE_UPDATE = #{dateUpdate}
+            </if>
+            <if test="updateBy != null and updateBy != ''">
+                and UPDATE_BY = #{updateBy}
+            </if>
+        </where>
+    </select>
+
+    <!-- 新增所有列 -->
+    <insert id="insert" keyProperty="id" useGeneratedKeys="true">
+        insert into uims_group_user(ID, GROUP_ID, USER_ID, STATUS, DATE_CREATE, CREATE_BY, DATE_UPDATE, UPDATE_BY)
+        values ( #{id}, #{groupId}, #{userId}, #{status}, #{dateCreate}, #{createBy}, #{dateUpdate}, #{updateBy})
+    </insert>
+
+    <!-- 批量新增 -->
+    <insert id="batchInsert">
+        insert into uims_group_user(ID, GROUP_ID, USER_ID, STATUS, DATE_CREATE, CREATE_BY, DATE_UPDATE, UPDATE_BY)
+        values
+        <foreach collection="groupUsers" item="item" index="index" separator=",">
+            (
+            #{item.id}, #{item.groupId}, #{item.userId}, #{item.status}, #{item.dateCreate}, #{item.createBy},
+            #{item.dateUpdate}, #{item.updateBy} )
+        </foreach>
+    </insert>
+
+    <!-- 通过主键修改数据 -->
+    <update id="update">
+        update uims.uims_group_user
+        <set>
+            <if test="groupId != null">
+                GROUP_ID = #{groupId},
+            </if>
+            <if test="userId != null">
+                USER_ID = #{userId},
+            </if>
+            <if test="status != null">
+                STATUS = #{status},
+            </if>
+            <if test="dateCreate != null">
+                DATE_CREATE = #{dateCreate},
+            </if>
+            <if test="createBy != null and createBy != ''">
+                CREATE_BY = #{createBy},
+            </if>
+            <if test="dateUpdate != null">
+                DATE_UPDATE = #{dateUpdate},
+            </if>
+            <if test="updateBy != null and updateBy != ''">
+                UPDATE_BY = #{updateBy},
+            </if>
+        </set>
+        where ID = #{id}
+    </update>
+
+    <!--通过主键删除-->
+    <delete id="deleteById">
+        delete from uims_group_user where ID = #{id}
+    </delete>
+
+    <!-- 总数 -->
+    <select id="count" resultType="int">
+        select count(*) from uims_group_user
+    </select>
+    <select id="selectPage" resultMap="GroupUserMap">
+        select
+        <include refid="Base_Column_List"/>
+        from uims_group_user
+        <where>
+            <if test="groupUser.id != null">
+                and ID = #{groupUser.id}
+            </if>
+            <if test="groupUser.groupId != null">
+                and GROUP_ID = #{groupUser.groupId}
+            </if>
+            <if test="groupUser.userId != null">
+                and USER_ID = #{groupUser.userId}
+            </if>
+            <if test="groupUser.status != null">
+                and STATUS = #{groupUser.status}
+            </if>
+            <if test="groupUser.dateCreate != null">
+                and DATE_CREATE = #{groupUser.dateCreate}
+            </if>
+            <if test="groupUser.createBy != null and groupUser.createBy != ''">
+                and CREATE_BY = #{groupUser.createBy}
+            </if>
+            <if test="groupUser.dateUpdate != null">
+                and DATE_UPDATE = #{groupUser.dateUpdate}
+            </if>
+            <if test="groupUser.updateBy != null and groupUser.updateBy != ''">
+                and UPDATE_BY = #{groupUser.updateBy}
+            </if>
+        </where>
+    </select>
+</mapper>

+ 1 - 1
user_center/src/main/resources/mapper/OrgMapper.xml

@@ -249,7 +249,7 @@
     <select id="findOrgUser" resultType="com.huaxu.entity.Org">
         select a.ID from uims_org a join uims_user b on
          (a.ID=b.DEPT_ORG_ID or a.ID=b.COMPANY_ORG_ID)
-         where a.id=#{id}
+         where a.id=#{id} and b.status!=-1
          limit 1
     </select>
 </mapper>

+ 53 - 3
user_center/src/main/resources/mapper/RoleMapper.xml

@@ -16,6 +16,14 @@
         <result property="dateUpdate" column="DATE_UPDATE" jdbcType="TIMESTAMP"/>
         <result property="updateBy" column="UPDATE_BY" jdbcType="VARCHAR"/>
     </resultMap>
+    <resultMap type="com.huaxu.dto.RoleDto" id="RoleDtoMap">
+        <result property="id" column="ID" jdbcType="INTEGER"/>
+
+        <result property="name" column="ROLE_NAME" jdbcType="VARCHAR"/>
+
+        <result property="users" column="cn" jdbcType="INTEGER"/>
+        <result property="roleState" column="ROLE_STATE" jdbcType="INTEGER"/>
+    </resultMap>
 
     <!-- 基本字段 -->
     <sql id="Base_Column_List">
@@ -147,14 +155,18 @@
         delete from uims_role where ID = #{id}
     </delete>
 
+
     <!-- 总数 -->
     <select id="count" resultType="int">
         select count(*) from uims_role
     </select>
-    <select id="selectPage" resultMap="RoleMap">
+    <select id="selectPage" resultMap="RoleDtoMap">
         select
-        <include refid="Base_Column_List"/>
-        from uims_role
+        <include refid="Base_Column_List"/>,users
+        from uims_role a left join
+        (select count(*) users ,ROLE_ID from uims_user a join uims_user_role b
+        where a.TENANT_ID=#{tenantId} group by b.ROLE_ID)
+        ON a.id=b.ROLE_ID
         <where>
             <if test="role.id != null">
                 and ID = #{role.id}
@@ -194,4 +206,42 @@
             </if>
         </where>
     </select>
+    <select id="findRoleUser" resultType="com.huaxu.entity.Role">
+        select a.id from uims_user_role  where a.ROLE_ID=#{id} and a.status!=-1
+    </select>
+    <sql id="sysAreaJoins">
+          left join uims_org com ON com.id = a.company_org_id
+          left join uims_org dep ON dep.id = a.dept_org_id
+          left join uims_user_role userrole ON userrole.USER_ID=a.id
+     </sql>
+    <sql id="userColumns">
+         a.id as "id" ,
+         a.tenant_id as "tenantId" ,
+         a.username as "username" ,
+         a.phone as "phone" ,
+         a.company_org_id as "companyOrgId" ,
+         a.dept_org_id as "deptOrgId" ,
+         a.photo as "photo" ,
+         a.user_type as "userType" ,
+         a.enable_state as "enableState" ,
+         a.remark as "remark" ,
+         a.email as "email" ,
+         a.status as "status" ,
+         a.date_create as "dateCreate" ,
+         a.create_by as "createBy" ,
+         a.date_update as "dateUpdate" ,
+         a.update_by as "updateBy",
+         com.org_name as "companyOrgName" ,
+         dep.org_name as "deptOrgName",
+         userrole.id as roleId
+     </sql>
+    <select id="findUsersByRole" resultType="com.huaxu.entity.UserEntity">
+        select 	<include refid="userColumns"/>
+         from uims_user_role b join uims_user a on b.USER_ID=a.ID
+        <include refid="sysAreaJoins"/>
+        where a.ROLE_ID=#{id}
+    </select>
+    <update id="deleteRoleUser">
+        update uims_user_role set status=-1 where ROLE_ID=#{id}
+    </update>
 </mapper>

+ 155 - 0
user_center/src/main/resources/mapper/RoleOrgMapper.xml

@@ -0,0 +1,155 @@
+<?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.huaxu.dao.RoleOrgMapper">
+    <!-- 结果集 -->
+    <resultMap type="com.huaxu.entity.RoleOrg" id="RoleOrgMap">
+        <result property="id" column="ID" jdbcType="INTEGER"/>
+        <result property="roleId" column="ROLE_ID" jdbcType="INTEGER"/>
+        <result property="orgId" column="ORG_ID" jdbcType="INTEGER"/>
+        <result property="status" column="STATUS" jdbcType="INTEGER"/>
+        <result property="dateCreate" column="DATE_CREATE" jdbcType="TIMESTAMP"/>
+        <result property="createBy" column="CREATE_BY" jdbcType="VARCHAR"/>
+        <result property="dateUpdate" column="DATE_UPDATE" jdbcType="TIMESTAMP"/>
+        <result property="updateBy" column="UPDATE_BY" jdbcType="VARCHAR"/>
+    </resultMap>
+
+    <!-- 基本字段 -->
+    <sql id="Base_Column_List">
+        ID, ROLE_ID, ORG_ID, STATUS, DATE_CREATE, CREATE_BY, DATE_UPDATE, UPDATE_BY    </sql>
+
+    <!-- 查询单个 -->
+    <select id="selectById" resultMap="RoleOrgMap">
+        select
+        <include refid="Base_Column_List"/>
+        from uims_role_org
+        where ID = #{id}
+    </select>
+
+
+    <!-- 查询全部 -->
+    <select id="selectAll" resultMap="RoleOrgMap">
+        select
+        <include refid="Base_Column_List"/>
+        from uims_role_org
+    </select>
+
+    <!--通过实体作为筛选条件查询-->
+    <select id="selectList" resultMap="RoleOrgMap">
+        select
+        <include refid="Base_Column_List"/>
+        from uims_role_org
+        <where>
+            <if test="id != null">
+                and ID = #{id}
+            </if>
+            <if test="roleId != null">
+                and ROLE_ID = #{roleId}
+            </if>
+            <if test="orgId != null">
+                and ORG_ID = #{orgId}
+            </if>
+            <if test="status != null">
+                and STATUS = #{status}
+            </if>
+            <if test="dateCreate != null">
+                and DATE_CREATE = #{dateCreate}
+            </if>
+            <if test="createBy != null and createBy != ''">
+                and CREATE_BY = #{createBy}
+            </if>
+            <if test="dateUpdate != null">
+                and DATE_UPDATE = #{dateUpdate}
+            </if>
+            <if test="updateBy != null and updateBy != ''">
+                and UPDATE_BY = #{updateBy}
+            </if>
+        </where>
+    </select>
+
+    <!-- 新增所有列 -->
+    <insert id="insert" keyProperty="id" useGeneratedKeys="true">
+        insert into uims_role_org(ID, ROLE_ID, ORG_ID, STATUS, DATE_CREATE, CREATE_BY, DATE_UPDATE, UPDATE_BY)
+        values ( #{id}, #{roleId}, #{orgId}, #{status}, #{dateCreate}, #{createBy}, #{dateUpdate}, #{updateBy})
+    </insert>
+
+    <!-- 批量新增 -->
+    <insert id="batchInsert">
+        insert into uims_role_org(ID, ROLE_ID, ORG_ID, STATUS, DATE_CREATE, CREATE_BY, DATE_UPDATE, UPDATE_BY)
+        values
+        <foreach collection="roleOrgs" item="item" index="index" separator=",">
+            (
+            #{item.id}, #{item.roleId}, #{item.orgId}, #{item.status}, #{item.dateCreate}, #{item.createBy},
+            #{item.dateUpdate}, #{item.updateBy} )
+        </foreach>
+    </insert>
+
+    <!-- 通过主键修改数据 -->
+    <update id="update">
+        update uims.uims_role_org
+        <set>
+            <if test="roleId != null">
+                ROLE_ID = #{roleId},
+            </if>
+            <if test="orgId != null">
+                ORG_ID = #{orgId},
+            </if>
+            <if test="status != null">
+                STATUS = #{status},
+            </if>
+            <if test="dateCreate != null">
+                DATE_CREATE = #{dateCreate},
+            </if>
+            <if test="createBy != null and createBy != ''">
+                CREATE_BY = #{createBy},
+            </if>
+            <if test="dateUpdate != null">
+                DATE_UPDATE = #{dateUpdate},
+            </if>
+            <if test="updateBy != null and updateBy != ''">
+                UPDATE_BY = #{updateBy},
+            </if>
+        </set>
+        where ID = #{id}
+    </update>
+
+    <!--通过主键删除-->
+    <delete id="deleteById">
+        delete from uims_role_org where ID = #{id}
+    </delete>
+
+    <!-- 总数 -->
+    <select id="count" resultType="int">
+        select count(*) from uims_role_org
+    </select>
+    <select id="selectPage" resultMap="RoleOrgMap">
+        select
+        <include refid="Base_Column_List"/>
+        from uims_role_org
+        <where>
+            <if test="roleOrg.id != null">
+                and ID = #{roleOrg.id}
+            </if>
+            <if test="roleOrg.roleId != null">
+                and ROLE_ID = #{roleOrg.roleId}
+            </if>
+            <if test="roleOrg.orgId != null">
+                and ORG_ID = #{roleOrg.orgId}
+            </if>
+            <if test="roleOrg.status != null">
+                and STATUS = #{roleOrg.status}
+            </if>
+            <if test="roleOrg.dateCreate != null">
+                and DATE_CREATE = #{roleOrg.dateCreate}
+            </if>
+            <if test="roleOrg.createBy != null and roleOrg.createBy != ''">
+                and CREATE_BY = #{roleOrg.createBy}
+            </if>
+            <if test="roleOrg.dateUpdate != null">
+                and DATE_UPDATE = #{roleOrg.dateUpdate}
+            </if>
+            <if test="roleOrg.updateBy != null and roleOrg.updateBy != ''">
+                and UPDATE_BY = #{roleOrg.updateBy}
+            </if>
+        </where>
+    </select>
+</mapper>

+ 40 - 0
user_center/src/main/resources/mapper/UserGroupMapper.xml

@@ -132,6 +132,7 @@
         delete from uims_user_group where ID = #{id}
     </delete>
 
+
     <!-- 总数 -->
     <select id="count" resultType="int">
         select count(*) from uims_user_group
@@ -173,4 +174,43 @@
             </if>
         </where>
     </select>
+    <select id="findHasUserGroupUsers" resultType="com.huaxu.entity.UserGroup">
+        select  id from uims_group_user
+        where GROUP_ID=#{id} and status!=-1 limit 1
+    </select>
+    <sql id="userColumns">
+         a.id as "id" ,
+         a.tenant_id as "tenantId" ,
+         a.username as "username" ,
+         a.phone as "phone" ,
+         a.company_org_id as "companyOrgId" ,
+         a.dept_org_id as "deptOrgId" ,
+         a.photo as "photo" ,
+         a.user_type as "userType" ,
+         a.enable_state as "enableState" ,
+         a.remark as "remark" ,
+         a.email as "email" ,
+         a.status as "status" ,
+         a.date_create as "dateCreate" ,
+         a.create_by as "createBy" ,
+         a.date_update as "dateUpdate" ,
+         a.update_by as "updateBy",
+         com.org_name as "companyOrgName" ,
+         dep.org_name as "deptOrgName",
+         userrole.id as roleId
+     </sql>
+    <sql id="sysAreaJoins">
+          left join uims_org com ON com.id = a.company_org_id
+          left join uims_org dep ON dep.id = a.dept_org_id
+          left join uims_user_role userrole ON userrole.USER_ID=a.id
+     </sql>
+    <select id="findUsersByUserGroup" resultType="com.huaxu.entity.UserEntity">
+        select 	<include refid="userColumns"/>,b.id userGroupId
+         from uims_user a left join uims_group_user b on a.id=b.USER_ID
+        <include refid="sysAreaJoins"/>
+        where b.GROUP_ID=#{id}
+    </select>
+    <update id="deleteUserGroupRelations">
+        update uims_group_user set STATUS=-1 where GROUP_ID=#{id}
+    </update>
 </mapper>