结合自己的业务逻辑哈,直接上代码;
- 以下是返回集合实体类。
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
@Data
public class UserDeptVO {
@ApiModelProperty(value = "部门iD")
private String uid;
@ApiModelProperty(value = "部门名称")
private String name;
@ApiModelProperty(value = "用户列表")
private List<EmergencyMaintenanceUser> userList;
}
- 以下是用户信息实体。
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class EmergencyMaintenanceUser {
@ApiModelProperty(value = "用户ID")
private String uid;
@ApiModelProperty(value = "用户名称")
private String realName;
@ApiModelProperty(value = "组织ID")
private String org;
}
3.主要部分业务实现类。
将所有部门、ID查询返回直接 封装到 UserDeptVO集合实体类中 将所有的用户、包含了部门ID
查询封装到EmergencyMaintenanceUser 集合实体类中以下是将查询的用户列表根据部门ID做了分组,Map的key值就是部门ID for循环获取根据你从部门查询到的id
当做map的key值,如果map中有你的部门ID key值 将对应的用户装到这个集合下
Map<String, List<EmergencyMaintenanceUser>> tempMap = maintenanceUserList.stream().collect(Collectors.groupingBy(EmergencyMaintenanceUser::getOrg));
for (UserDeptVO vo: userDeptVOList){
vo.setUserList(tempMap.get(vo.getUid()));
}
- 返回结果