Skip to content

Commit

Permalink
Merge pull request #262 from PLADI-ALM/feat/PDS-56-detail-equipment
Browse files Browse the repository at this point in the history
[PDS-56/feat] 비품 상세조회 API 기능구현
  • Loading branch information
dangnak2 authored Nov 30, 2023
2 parents 9adfeed + 6a6a82a commit 0d9a7a3
Show file tree
Hide file tree
Showing 3 changed files with 55 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,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.GetEquipmentRes;
import com.example.pladialmserver.equipment.dto.response.SearchEquipmentRes;
import com.example.pladialmserver.equipment.service.EquipmentService;
import com.example.pladialmserver.global.resolver.Account;
Expand Down Expand Up @@ -116,4 +117,17 @@ public ResponseCustom<EquipmentCategoryRes> getEquipmentCategories(
{
return ResponseCustom.OK(equipmentService.getEquipmentCategories(user));
}

@Operation(summary = "비품 조회 (김민기)", description = "비품을 조회한다.")
@ApiResponses(value = {
@ApiResponse(responseCode = "200", description = "(S0001)요청에 성공했습니다."),
@ApiResponse(responseCode = "404", description = "(E0002)존재하지 않는 비품입니다.", content = @Content(schema = @Schema(implementation = ResponseCustom.class))),
})
@GetMapping("{equipmentId}")
public ResponseCustom<GetEquipmentRes> getEquipment(
@PathVariable Long equipmentId
)
{
return ResponseCustom.OK(equipmentService.getEquipment(equipmentId));
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
package com.example.pladialmserver.equipment.dto.response;

import com.example.pladialmserver.equipment.entity.Equipment;
import com.example.pladialmserver.global.utils.AwsS3ImageUrlUtil;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Builder;
import lombok.Data;

@Data
@Builder
public class GetEquipmentRes {
@Schema(type = "String", description = "이름", example = "비품1")
private String name;
@Schema(type = "String", description = "수량", example = "10개")
private String quantity;
@Schema(type = "String", description = "위치", example = "S1350")
private String location;
@Schema(type = "String", description = "카테고리", example = "기타")
private String category;
@Schema(type = "String", description = "비품 설명", example = "비품1 입니다.")
private String description;
@Schema(type = "String", description = "비품 이미지 Url", example = "photo/maxim.png")
private String imgUrl;

public static GetEquipmentRes toDto(Equipment equipment) {
return GetEquipmentRes.builder()
.name(equipment.getName())
.quantity(equipment.getQuantity())
.location(equipment.getLocation())
.category(equipment.getEquipmentCategory().getName())
.description(equipment.getDescription())
.imgUrl(AwsS3ImageUrlUtil.toUrl(equipment.getImgKey()))
.build();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,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.GetEquipmentRes;
import com.example.pladialmserver.equipment.dto.response.SearchEquipmentRes;
import com.example.pladialmserver.equipment.entity.Equipment;
import com.example.pladialmserver.equipment.entity.EquipmentCategory;
Expand Down Expand Up @@ -77,4 +78,9 @@ public EquipmentCategoryRes getEquipmentCategories(User user) {
List<EquipmentCategory> categories = equipmentCategoryRepository.findByIsEnable(true);
return EquipmentCategoryRes.toDto(categories);
}

public GetEquipmentRes getEquipment(Long equipmentId) {
Equipment equipment = equipmentRepository.findByEquipmentIdAndIsEnable(equipmentId, true).orElseThrow(() -> new BaseException(BaseResponseCode.EQUIPMENT_NOT_FOUND));
return GetEquipmentRes.toDto(equipment);
}
}

0 comments on commit 0d9a7a3

Please sign in to comment.