qirong
2023-10-27 3e6b676e210e22e4b7b4183d908dbca880093b86
src/main/java/com/mindskip/xzs/controller/admin/DepartmentController.java
@@ -5,16 +5,20 @@
import com.mindskip.xzs.base.RestResponse;
import com.mindskip.xzs.domain.Department;
import com.mindskip.xzs.domain.User;
import com.mindskip.xzs.domain.UserDepartment;
import com.mindskip.xzs.domain.vo.DepartmentVO;
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 com.mindskip.xzs.viewmodel.admin.user.UserPageRequestVM;
import com.mindskip.xzs.viewmodel.admin.user.UserResponseVM;
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.stream.Collectors;
@RestController("AdminDepartmentController")
@@ -23,10 +27,14 @@
    private final DepartmentService departmentService;
    private final UserService userService;
    private final UserDepartmentMapper userDepartmentMapper;
    @Autowired
    public DepartmentController(DepartmentService departmentService) {
    public DepartmentController(DepartmentService departmentService, UserService userService, UserDepartmentMapper userDepartmentMapper) {
        this.departmentService = departmentService;
        this.userService = userService;
        this.userDepartmentMapper = userDepartmentMapper;
    }
    @RequestMapping(value = "/list", method = RequestMethod.POST)
@@ -60,4 +68,26 @@
    public RestResponse update(@PathVariable Integer id) {
        return RestResponse.ok(departmentService.getById(id));
    }
    @RequestMapping(value = "/getUserByDepartment/{id}", method = RequestMethod.POST)
    public RestResponse<List<User>> getUserByDepartment(@PathVariable Integer id){
        return RestResponse.ok(userService.getUserByLevel(id));
    }
    @RequestMapping(value = "/getDepartmentUser", method = RequestMethod.POST)
    public RestResponse<List<DepartmentVO>> getUserDepartment(){
        List<DepartmentVO> res = departmentService.gets()
                .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()));
                    }
                    departmentVO.setUserList(list);
                    departmentVO.setDepartment(e);
                    return departmentVO;
                }).collect(Collectors.toList());
        return RestResponse.ok(res);
    }
}