From 9116abf53b1dd05f342e89ed5e287964433637fa Mon Sep 17 00:00:00 2001
From: 晏有为 <13214124+yan-youwei@user.noreply.gitee.com>
Date: 星期三, 15 五月 2024 14:23:06 +0800
Subject: [PATCH] 访问第三方接口
---
cnas-server/src/main/java/com/yuanchu/mom/service/impl/DepartmentServiceImpl.java | 74 ++++++++++++++++++++++++-------------
1 files changed, 48 insertions(+), 26 deletions(-)
diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DepartmentServiceImpl.java b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DepartmentServiceImpl.java
index 62c43c3..fa99cdf 100644
--- a/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DepartmentServiceImpl.java
+++ b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DepartmentServiceImpl.java
@@ -2,13 +2,22 @@
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.yuanchu.mom.common.PrintChina;
import com.yuanchu.mom.dto.DepartmentDto;
+import com.yuanchu.mom.dto.UserDto;
+import com.yuanchu.mom.dto.UserPageDto;
import com.yuanchu.mom.pojo.Department;
import com.yuanchu.mom.mapper.DepartmentMapper;
+import com.yuanchu.mom.pojo.Device;
+import com.yuanchu.mom.pojo.User;
import com.yuanchu.mom.service.DepartmentService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.yuanchu.mom.utils.QueryWrappers;
import lombok.AllArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
import lombok.var;
+import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -16,10 +25,8 @@
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.sql.Wrapper;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
+import java.util.stream.Collectors;
/**
* <p>
@@ -32,6 +39,7 @@
@Service
@AllArgsConstructor
@Transactional(rollbackFor = Exception.class)
+@Slf4j
public class DepartmentServiceImpl extends ServiceImpl<DepartmentMapper, Department> implements DepartmentService {
DepartmentMapper departmentMapper;
@@ -47,26 +55,24 @@
//鑾峰彇閮ㄩ棬鏍�
@Override
public List<DepartmentDto> selectDepartment() {
- List<Department> departments = departmentMapper.selectDepartment();
- // 鍋囪 resultSet 鏄粠鏁版嵁搴撴煡璇㈣繑鍥炵殑缁撴灉闆�
- List<DepartmentDto> departmentDtos = new ArrayList<>();
- Map<Integer, DepartmentDto> departmentMap = new HashMap<>();
+ List<DepartmentDto> departments = departmentMapper.selectDepartment();
+ //鑾峰彇鐖惰妭鐐�
+ List<DepartmentDto> collect = departments.stream().filter(m -> m.getFatherId() == null).peek(
+ (m) -> m.setChildren(getChildren(m, departments))
+ ).collect(Collectors.toList());
+ return collect;
+ }
- for (Department department : departments) {
- DepartmentDto departmentDto = new DepartmentDto(department.getId(), department.getName(), department.getFatherId(), new ArrayList<DepartmentDto>());
- departmentMap.put(department.getId(), departmentDto);
- if (department.getFatherId() == null) {
- // 鏍归儴闂�
- departmentDtos.add(departmentDto);
- } else {
- // 灏嗗綋鍓嶉儴闂ㄦ坊鍔犲埌鐖堕儴闂ㄧ殑 children 鍒楄〃涓�
- DepartmentDto parent = departmentMap.get(department.getFatherId());
- if (parent != null) {
- parent.getChildren().add(departmentDto);
- }
- }
- }
- return departmentDtos;
+ /**
+ * 閫掑綊鏌ヨ瀛愯妭鐐�
+ * @param root 鏍硅妭鐐�
+ * @param all 鎵�鏈夎妭鐐�
+ * @return 鏍硅妭鐐逛俊鎭�
+ */
+ private List<DepartmentDto> getChildren(DepartmentDto root, List<DepartmentDto> all) {
+ return all.stream().filter(m -> Objects.equals(m.getFatherId(), root.getId())).peek(
+ (m) -> m.setChildren(getChildren(m, all))
+ ).collect(Collectors.toList());
}
//鍒犻櫎閮ㄩ棬
@@ -77,16 +83,32 @@
return removeBatchByIds(department);
}
+ //鏍规嵁閫夋嫨鐨勬爲灞曠ず鐩稿叧鐨勪汉鍛�
+ @Override
+ public Map<String, Object> showUserById(Page page, UserDto user) {
+ //鏍规嵁閮ㄩ棬id,鏌ヨ浠栫殑鎵�鏈夊瓙绫籭d
+ List<Integer> list = departmentMapper.selectSonById(Integer.parseInt(user.getDepartId()));
+ List<String> ids = list.stream()
+ .map(Object::toString)
+ //.collect(Collectors.joining(","));
+ .collect(Collectors.toList());
+ log.info(ids+"\n");
+ Map<String, Object> map = new HashMap<>();
+ map.put("head", PrintChina.printChina(UserDto.class));
+ map.put("body", departmentMapper.showUserById(page, ids, QueryWrappers.queryWrappers(user)));
+ return map;
+ }
+
//鍒ゆ柇鏄惁鏈夊瓙绫�,鐩村埌娌℃湁涓烘
- public List<Department> getDepartment(Integer id){
+ public List<Department> getDepartment(Integer id) {
List<Department> list = new ArrayList<>();
Department depart = baseMapper.selectById(id);
list.add(depart);
List<Department> departments = baseMapper.selectList(Wrappers.<Department>lambdaQuery().eq(Department::getFatherId, id));
- if (ObjectUtils.isNotEmpty(departments)){
+ if (ObjectUtils.isNotEmpty(departments)) {
list.addAll(departments);
- for (Department department : departments){
+ for (Department department : departments) {
list.addAll(getDepartment(department.getId()));
}
}
--
Gitblit v1.9.3