Skip to content

Commit

Permalink
Merge pull request #244 from PLADI-ALM/feat/PDS-205-search-category-e…
Browse files Browse the repository at this point in the history
…quipment

[PDS-205/feat] 비품 카테고리 조회 API 기능구현
  • Loading branch information
leeseunghakhello authored Nov 28, 2023
2 parents 536be76 + 0523aa7 commit cb0b04f
Show file tree
Hide file tree
Showing 4 changed files with 46 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,9 @@

import com.example.pladialmserver.equipment.dto.request.RegisterEquipmentReq;
import com.example.pladialmserver.equipment.dto.request.UpdateEquipmentReq;
import com.example.pladialmserver.equipment.dto.response.EquipmentCategoryRes;
import com.example.pladialmserver.equipment.dto.response.SearchEquipmentRes;
import com.example.pladialmserver.equipment.service.EquipmentService;
import com.example.pladialmserver.global.exception.BaseException;
import com.example.pladialmserver.global.exception.BaseResponseCode;
import com.example.pladialmserver.global.resolver.Account;
import com.example.pladialmserver.global.response.ResponseCustom;
import com.example.pladialmserver.user.entity.User;
Expand All @@ -20,10 +19,10 @@
import lombok.RequiredArgsConstructor;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;

import javax.validation.Valid;
import java.util.List;

@Api(tags = "비품 API")
@RestController
Expand Down Expand Up @@ -107,4 +106,14 @@ public ResponseCustom deleteEquipment(
equipmentService.deleteEquipment(equipmentId, user);
return ResponseCustom.OK();
}

@Operation(summary = "비품 카테고리 조회 (김민기)", description = "비품을 카테고리를 조회한다.")
@ApiResponse(responseCode = "200", description = "(S0001)요청에 성공했습니다.")
@GetMapping("/categories")
public ResponseCustom<List<EquipmentCategoryRes>> getEquipmentCategories(
@Account User user
)
{
return ResponseCustom.OK(equipmentService.getEquipmentCategories(user));
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
package com.example.pladialmserver.equipment.dto.response;

import com.example.pladialmserver.equipment.entity.EquipmentCategory;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Builder;
import lombok.Data;

@Data
public class EquipmentCategoryRes {
@Schema(type = "String", description = "비품 카테고리 이름", example = "기타")
private String name;

@Builder
public EquipmentCategoryRes(String name) {
this.name = name;
}

public static EquipmentCategoryRes toDto(EquipmentCategory category) {
return EquipmentCategoryRes.builder()
.name(category.getName())
.build();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,11 @@
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Optional;

@Repository
public interface EquipmentCategoryRepository extends JpaRepository<EquipmentCategory, Long> {
EquipmentCategory findByName(String category);
List<EquipmentCategory> findByIsEnable(Boolean isEnable);
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import com.example.pladialmserver.equipment.dto.request.RegisterEquipmentReq;
import com.example.pladialmserver.equipment.dto.request.UpdateEquipmentReq;
import com.example.pladialmserver.equipment.dto.response.EquipmentCategoryRes;
import com.example.pladialmserver.equipment.dto.response.SearchEquipmentRes;
import com.example.pladialmserver.equipment.entity.Equipment;
import com.example.pladialmserver.equipment.entity.EquipmentCategory;
Expand All @@ -19,6 +20,9 @@
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.StringUtils;

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

@Service
@Transactional(readOnly = true)
@RequiredArgsConstructor
Expand Down Expand Up @@ -68,4 +72,9 @@ public void deleteEquipment(Long equipmentId, User user) {

equipmentRepository.delete(equipment);
}

public List<EquipmentCategoryRes> getEquipmentCategories(User user) {
List<EquipmentCategory> categories = equipmentCategoryRepository.findByIsEnable(true);
return categories.stream().map(EquipmentCategoryRes::toDto).collect(Collectors.toList());
}
}

0 comments on commit cb0b04f

Please sign in to comment.