Browse Source

#MOD 按部门查询业务用户

谭斌 2 năm trước cách đây
mục cha
commit
6ca7980c8d

+ 20 - 0
authorize-api-service/src/main/java/com/xy/service/impl/SysWorkUserServiceImpl.java

@@ -9,10 +9,12 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.xy.dto.SysWorkUser.AddDto;
 import com.xy.dto.SysWorkUser.PageDto;
 import com.xy.dto.SysWorkUser.UpdateDto;
+import com.xy.entity.SysDeptRelation;
 import com.xy.entity.SysUserDept;
 import com.xy.entity.SysUserRole;
 import com.xy.entity.SysWorkUser;
 import com.xy.mapper.SysWorkUserMapper;
+import com.xy.service.SysDeptRelationService;
 import com.xy.service.SysUserDeptService;
 import com.xy.service.SysUserRoleService;
 import com.xy.service.SysWorkUserService;
@@ -26,6 +28,7 @@ import lombok.RequiredArgsConstructor;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.ArrayList;
 import java.util.List;
 import java.util.stream.Collectors;
 
@@ -48,6 +51,7 @@ public class SysWorkUserServiceImpl extends ServiceImpl<SysWorkUserMapper, SysWo
 
     private final SysUserRoleService sysUserRoleService;
     private final SysUserDeptService sysUserDeptService;
+    private final SysDeptRelationService sysDeptRelationService;
 
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -113,12 +117,28 @@ public class SysWorkUserServiceImpl extends ServiceImpl<SysWorkUserMapper, SysWo
 
     @Override
     public R<PageBean<SysWorkUserVo>> page(PageDto dto) {
+        Long deptId = dto.getDeptId();
+        List<SysDeptRelation> deptRelations = sysDeptRelationService.list(Wrappers.<SysDeptRelation>lambdaQuery()
+                .eq(SysDeptRelation::getAncestor, deptId));
+        //子部门 含自身
+        List<Long> subDeptIds = new ArrayList<>(16);
+        if (CollUtil.isNotEmpty(deptRelations)) {
+            subDeptIds = deptRelations.stream().map(SysDeptRelation::getDescendant).collect(Collectors.toList());
+        }
+        List<SysUserDept> sysUserDeptList = sysUserDeptService.list(Wrappers.<SysUserDept>lambdaQuery().in(SysUserDept::getDeptId, subDeptIds));
+        List<Long> userIds = new ArrayList<>(16);
+        if (CollUtil.isNotEmpty(sysUserDeptList)) {
+            userIds = sysUserDeptList.stream().map(SysUserDept::getWorkUserId).collect(Collectors.toList());
+        }
         IPage<SysWorkUser> page = page(toIPage(dto.getPage()), Wrappers.<SysWorkUser>lambdaQuery()
                 .eq(SysWorkUser::getSysId, dto.getSysId())
                 .eq(StrUtil.isNotBlank(dto.getAccount()), SysWorkUser::getAccount, dto.getAccount())
                 .eq(StrUtil.isNotBlank(dto.getEmail()), SysWorkUser::getEmail, dto.getEmail())
                 .eq(ObjectUtil.isNotEmpty(dto.getStatus()), SysWorkUser::getStatus, dto.getStatus())
+                .in(CollUtil.isNotEmpty(userIds), SysWorkUser::getId, userIds)
         );
         return R.ok(toPageBean(SysWorkUserVo.class, page));
     }
+
+
 }

+ 6 - 2
authorize-api/src/main/java/com/xy/dto/SysWorkUser/PageDto.java

@@ -7,6 +7,7 @@ import lombok.Data;
 import lombok.experimental.Accessors;
 
 import javax.validation.constraints.NotBlank;
+import java.util.List;
 
 @Data
 @ApiModel("业务用户分页请求")
@@ -36,8 +37,11 @@ public class PageDto {
     @ApiModelProperty(value = "状态", required = false)
     private Boolean status;
 
-    @ApiModelProperty(value = "角色(多个(,)逗号隔开)", required = true)
-    private String roleIds;
+    @ApiModelProperty(value = "角色(数组)", required = false)
+    private List<Long> roleIds;
+
+    @ApiModelProperty(value = "部门ID", required = false)
+    private Long deptId;
 
 
 }

+ 1 - 0
authorize-api/src/main/java/com/xy/service/SysWorkUserService.java

@@ -33,5 +33,6 @@ public interface SysWorkUserService {
     @ApiOperation(value = "分页获取业务用户信息", notes = "分页获取角色信息")
     @PostMapping("page")
     R<PageBean<SysWorkUserVo>> page(PageDto dto);
+ 
 
 }