Skip to content

Commit

Permalink
Merge pull request #81 from PLADI-ALM/feat/PDS-115-getCompanyRankList
Browse files Browse the repository at this point in the history
[PDS-115/feat] 부서 및 직책 리스트 API
  • Loading branch information
chaerlo127 authored Oct 13, 2023
2 parents 37ada99 + f09dc31 commit a9a16e2
Show file tree
Hide file tree
Showing 3 changed files with 45 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import com.example.pladialmserver.global.resolver.Account;
import com.example.pladialmserver.global.response.ResponseCustom;
import com.example.pladialmserver.user.dto.request.CreateUserReq;
import com.example.pladialmserver.user.dto.response.CompanyRankListRes;
import com.example.pladialmserver.user.entity.User;
import com.example.pladialmserver.user.service.UserService;
import io.swagger.annotations.Api;
Expand Down Expand Up @@ -39,4 +40,13 @@ public ResponseCustom createUser(@Account User user,
return ResponseCustom.OK();
}

@Operation(summary = "부서 및 직책 리스트 (장채은)", description = "부서 및 직책 리스트를 확인한다.")
@ApiResponses(value = {
@ApiResponse(responseCode = "200", description = "(S0001)부서 및 직책 리스트 확인 성공")
})
@GetMapping("/ranks")
public ResponseCustom<CompanyRankListRes> getCompanyRankList() {
return ResponseCustom.OK(userService.getCompanyRankList());
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
package com.example.pladialmserver.user.dto.response;

import com.example.pladialmserver.user.entity.Department;
import com.example.pladialmserver.user.entity.Position;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Builder;
import lombok.Data;

import java.util.List;
import java.util.stream.Collectors;

@Data
@Builder
public class CompanyRankListRes {
@Schema(type = "Arrays", description = "부서 리스트")
private List<String> departmentList;
@Schema(type = "Arrays", description = "직책 리스트")
private List<String> positionList;

public static CompanyRankListRes toDto(List<Department> departments, List<Position> positions){
return CompanyRankListRes.builder()
.departmentList(departments.stream().map(Department::getName).collect(Collectors.toList()))
.positionList(positions.stream().map(Position::getName).collect(Collectors.toList()))
.build();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
import com.example.pladialmserver.user.dto.TokenDto;
import com.example.pladialmserver.user.dto.request.CreateUserReq;
import com.example.pladialmserver.user.dto.request.LoginReq;
import com.example.pladialmserver.user.dto.response.CompanyRankListRes;
import com.example.pladialmserver.user.dto.response.UserPositionRes;
import com.example.pladialmserver.user.entity.Department;
import com.example.pladialmserver.user.entity.Position;
Expand All @@ -21,6 +22,7 @@
import org.springframework.transaction.annotation.Transactional;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

import static com.example.pladialmserver.global.exception.BaseResponseCode.*;

Expand Down Expand Up @@ -75,4 +77,11 @@ public void createUser(User admin, CreateUserReq createUserReq) {
// 사용자 저장
userRepository.save(User.toEntity(createUserReq, department, position));
}

// 부서 및 직책 리스트
public CompanyRankListRes getCompanyRankList() {
List<Department> departments = departmentRepository.findAll();
List<Position> positions = positionRepository.findAll();
return CompanyRankListRes.toDto(departments, positions);
}
}

0 comments on commit a9a16e2

Please sign in to comment.