Browse Source

用户分页反显部门

tanbin 1 năm trước cách đây
mục cha
commit
4025ef72d8

+ 20 - 5
sys-api-service/src/main/java/com/xy/service/UserInfoServiceImpl.java

@@ -13,10 +13,7 @@ import com.xy.annotation.Lock;
 import com.xy.config.WebMqttConfig;
 import com.xy.consts.CommConsts;
 import com.xy.consts.SysConstant;
-import com.xy.dto.SysWorkUser.AddDto;
-import com.xy.dto.SysWorkUser.DelDto;
-import com.xy.dto.SysWorkUser.ListByRoleDto;
-import com.xy.dto.SysWorkUser.UpdateDto;
+import com.xy.dto.SysWorkUser.*;
 import com.xy.dto.UserInfoDto;
 import com.xy.entity.UserInfo;
 import com.xy.mapper.UserInfoMapper;
@@ -32,6 +29,7 @@ import org.springframework.web.bind.annotation.RequestBody;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Map;
 import java.util.stream.Collectors;
 
 import static com.xy.utils.Beans.copy;
@@ -122,8 +120,25 @@ public class UserInfoServiceImpl extends ServiceImpl<UserInfoMapper, UserInfo> i
                 .build()
                 .eq(!AuthorizeUtils.authByData(page.getSysId()), UserInfo::getCreateUser, AuthorizeUtils.getLoginId(Long.class))
                 .orderByDesc(!Emptys.check(pageBean.getOrders()), UserInfo::getCreateTime);
+
         IPage<UserInfo> iPage = page(toIPage(pageBean), lambdaQueryWrapper);
-        return R.ok(toPageBean(UserInfoDto.Vo.class, iPage));
+        PageBean<UserInfoDto.Vo> data = toPageBean(UserInfoDto.Vo.class, iPage);
+        List<UserInfoDto.Vo> records = data.getRecords();
+        if (CollUtil.isNotEmpty(records)) {
+            List<Long> authUserIds = records.stream().map(UserInfoDto.Vo::getAuthorizeUserId).distinct().collect(Collectors.toList());
+            List<SysWorkVo> sysWorkVos = R.feignCheckData(sysWorkUserService.list(new ListDto().setSysId(page.getSysId()).setId(authUserIds)));
+            Map<Long, SysWorkVo> sysWorkVoMap = sysWorkVos.stream().collect(Collectors.toMap(SysWorkVo::getId, i -> i));
+            records.forEach(r -> {
+                Long authorizeUserId = r.getAuthorizeUserId();
+                SysWorkVo sysWorkVo = sysWorkVoMap.get(authorizeUserId);
+                if (sysWorkVo != null) {
+                    r.setDeptIds(sysWorkVo.getDeptIds());
+                    r.setDeptNames(sysWorkVo.getDeptNames());
+                }
+            });
+            data.setRecords(records);
+        }
+        return R.ok(data);
     }
 
     @Override

+ 6 - 0
sys-api/src/main/java/com/xy/dto/UserInfoDto.java

@@ -223,6 +223,12 @@ public class UserInfoDto {
         @JsonSerialize(using = LocalDateTimeSerializer.class)
         private LocalDateTime updateTime;
 
+        @ApiModelProperty("部门id")
+        private List<Long> deptIds;
+
+        @ApiModelProperty("部门名称")
+        private List<String> deptNames;
+
     }
 
     @Data