xiangpei
2024-03-08 c50e176c4a6b9331d2d1c0520bafb18f54f0dee6
src/main/java/com/mindskip/xzs/controller/admin/DepartmentController.java
@@ -5,7 +5,12 @@
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.BaseSelect;
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.UserDepartmentMapper;
import com.mindskip.xzs.service.DepartmentService;
import com.mindskip.xzs.service.UserService;
import com.mindskip.xzs.utility.PageInfoHelper;
@@ -26,11 +31,31 @@
    private final DepartmentService departmentService;
    private final UserService userService;
    private final UserDepartmentMapper userDepartmentMapper;
    /**
     * 获取部门下用户列表(下拉)
     * @param deptId
     * @return
     */
    @GetMapping("/{id}/user-list")
    public RestResponse<List<BaseSelect>> getDeptUserList(@PathVariable("id") Integer deptId) {
        List<BaseSelect> data = departmentService.getDeptUserList(deptId);
        return RestResponse.ok(data);
    }
    @PostMapping("/update-admin")
    public RestResponse updateAdmin(@RequestBody UpdateDeptAdminVO form) {
        departmentService.updateAdmin(form);
        return RestResponse.ok();
    }
    @Autowired
    public DepartmentController(DepartmentService departmentService, UserService userService) {
    public DepartmentController(DepartmentService departmentService, UserService userService, UserDepartmentMapper userDepartmentMapper) {
        this.departmentService = departmentService;
        this.userService = userService;
        this.userDepartmentMapper = userDepartmentMapper;
    }
    @RequestMapping(value = "/list", method = RequestMethod.POST)
@@ -42,12 +67,8 @@
    @RequestMapping(value = "/page/list", method = RequestMethod.POST)
    public RestResponse<PageInfo<DepartmentResponseVM>> pageList(@RequestBody DepartmentResponseVM model) {
        PageInfo<Department> pageInfo = departmentService.gets(model);
        PageInfo<DepartmentResponseVM> page = PageInfoHelper.copyMap(pageInfo, q -> {
            DepartmentResponseVM vm = modelMapper.map(q,DepartmentResponseVM.class);
            return vm;
        });
        return RestResponse.ok(page);
        PageInfo<DepartmentResponseVM> pageInfo = departmentService.gets(model);
        return RestResponse.ok(pageInfo);
    }
    @RequestMapping(value = "/add", method = RequestMethod.POST)
@@ -75,7 +96,12 @@
        List<DepartmentVO> res = departmentService.gets()
                .stream().map(e->{
                    DepartmentVO departmentVO = new DepartmentVO();
                    departmentVO.setUserList(userService.getUserByLevel(e.getId()));
                    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());