龚焕茏
2024-05-07 49429bad1036c81c056faeadfa009c53ba777fad
src/main/java/com/mindskip/xzs/controller/admin/DepartmentController.java
@@ -10,28 +10,36 @@
import com.mindskip.xzs.domain.vo.DepartmentVO;
import com.mindskip.xzs.domain.vo.UpdateDeptAdminVO;
import com.mindskip.xzs.domain.vo.UserVO;
import com.mindskip.xzs.repository.DepartmentMapper;
import com.mindskip.xzs.repository.UserDepartmentMapper;
import com.mindskip.xzs.service.DepartmentService;
import com.mindskip.xzs.service.UserService;
import com.mindskip.xzs.utility.PageInfoHelper;
import com.mindskip.xzs.viewmodel.admin.department.DepartmentResponseVM;
import lombok.RequiredArgsConstructor;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
@RestController("AdminDepartmentController")
@RequestMapping("/api/admin/department")
@RequiredArgsConstructor
public class DepartmentController extends BaseApiController {
    private final DepartmentService departmentService;
    private final UserService userService;
    private final UserDepartmentMapper userDepartmentMapper;
    private final DepartmentMapper departmentMapper;
    /**
     * 获取部门下用户列表(下拉)
@@ -51,16 +59,9 @@
        return RestResponse.ok();
    }
    @Autowired
    public DepartmentController(DepartmentService departmentService, UserService userService, UserDepartmentMapper userDepartmentMapper) {
        this.departmentService = departmentService;
        this.userService = userService;
        this.userDepartmentMapper = userDepartmentMapper;
    }
    @RequestMapping(value = "/list", method = RequestMethod.POST)
    public RestResponse<List<Department>> getAll(){
        List<Department> res = departmentService.gets();
        List<Department> res = departmentService.gets(-1);
        return RestResponse.ok(res);
    }
@@ -93,13 +94,24 @@
    @RequestMapping(value = "/getDepartmentUser", method = RequestMethod.POST)
    public RestResponse<List<DepartmentVO>> getUserDepartment(){
        List<DepartmentVO> res = departmentService.gets()
        User currentUser = webContext.getCurrentUser();
        Integer deptId = null;
        if (Objects.nonNull(currentUser)) {
            // 如果是部门管理员,需要做数据权限
            if ("1".equals(currentUser.getDeptAdmin())) {
                deptId = departmentMapper.selectByAdminId(currentUser.getId());
            }
        }
        List<DepartmentVO> res = departmentService.gets(deptId)
                .stream().map(e->{
                    DepartmentVO departmentVO = new DepartmentVO();
                    List<UserDepartment> userDepartments = userDepartmentMapper.selectByDepartmentId(e.getId());
                    List<User> list = new ArrayList<>();
                    for (UserDepartment userDepartment : userDepartments) {
                        list.add(userService.getUserById(userDepartment.getUserId()));
                        User user = userService.getUserById(userDepartment.getUserId());
                        if (ObjectUtils.isNotEmpty(user)) {
                            list.add(user);
                        }
                    }
                    departmentVO.setUserList(list);
                    departmentVO.setDepartment(e);