逻辑:
在企业内根据用户名查找具体某一用户的用户信息(用户名不可重复)。
展示某一企业中所有部门的信息。
Controller层:
查找用户信息:
@GetMapping("/find_information")
public Result<List<UserVo>> getUserInformation(@RequestParam Integer companyId,
@RequestParam String userName) {
List<UserVo> luv = new LinkedList<>();
Company company = companyService.getCompany(companyId);
UserVo uv;
List<User> lc = companyService.getUserByCompanyIdAndName(companyId, userName);
for (User user : lc) {
uv = new UserVo();
uv.setUserVo(user, company);
luv.add(uv);
}
return Result.success(luv);
}
查找部门信息:
@GetMapping("/list")
public Result<List<DepartmentVo>> getDepartment(@RequestParam Integer companyId) {
List<Department> ld = departmentService.getDepartmentByCompany(companyId);
List<DepartmentVo> ldo = new LinkedList<>();
for (Department department : ld) {
DepartmentVo dv = new DepartmentVo();
dv.setDepartmentVo(department, companyService.getCompany(department.getCompanyId()));
ldo.add(dv);
}
return Result.success(ldo);
}
Service层:
查找用户信息:
@Override
public Company getCompany(Integer companyId) {
return companyRepository.findCompanyById(companyId);
}
@Override
public List<User> getUserByCompanyIdAndName(Integer companyId, String userName) {
return userRepository.findUsersByCompanyIdAndName(companyId, userName);
}
查找部门信息:
@Override
public List<Department> getDepartmentByCompany(Integer companyId) {
return departmentRepository.findDepartmentsByCompanyId(companyId);
}