컬럼 순서 이동

고은아·2023년 8월 8일
0

TIL

목록 보기
45/49
public void moveColumnOrder(Long columnId, int newColumnNumber) {
    Columns column = columnsRepository.findById(columnId)
            .orElseThrow(() -> new IllegalArgumentException("Column not found"));

    int oldColumnNumber = column.getColumnNumber();

    if (oldColumnNumber != newColumnNumber) {
        List<Columns> allColumns = columnsRepository.findAll();

        for (Columns c : allColumns) {
            if (c.getColumnNumber() == newColumnNumber) {
                c.setColumnNumber(oldColumnNumber);
                break;
            }
        }

        column.setColumnNumber(newColumnNumber);
        columnsRepository.saveAll(Arrays.asList(column, allColumns));
    }
}
  1. 저장소에서 columnId로 컬럼 검색
  2. 이전 열 번호와 새 열 번호를 비교하여 순서를 변경해야 하는지 결정
  3. 순서를 변경해야 하는 경우 저장소에서 모든 열 검색
  4. 열을 반복하여 새 열 번호가 있는 열을 찾고 해당 열 번호를 이전 열 번호로 업데이트
  5. 선택된 컬럼의 컬럼 번호를 새로운 컬럼 번호로 업데이트
  6. 선택한 열과 전체 열 목록을 모두 저장소에 다시 저장

1개의 댓글

comment-user-thumbnail
2023년 8월 8일

글 잘 봤습니다.

답글 달기

관련 채용 정보