Skip to content

feat: Item 테이블 초기 데이터 구축 및 조회 API 구현#56

Merged
dev-ant merged 7 commits intodevfrom
feat/item-info-api
Oct 7, 2025
Merged

feat: Item 테이블 초기 데이터 구축 및 조회 API 구현#56
dev-ant merged 7 commits intodevfrom
feat/item-info-api

Conversation

@dev-ant
Copy link
Contributor

@dev-ant dev-ant commented Oct 7, 2025

📋 상세 설명

  • 경매장 거래 내역 데이터를 기반으로 Item 테이블을 생성.
  • 아이템 name이 고유하다고 판단되어 일련번호는 생성하지 않음.
  • 초기 데이터는 AuctionHistory 테이블에서 SELECT DISTINCT 방식으로 적재함.
INSERT INTO item_info (name, top_category, sub_category) select distinct item_name, item_sub_category, item_sub_category from auction_history;
  • 이후 신규 아이템을 자동으로 적재하는 방법과 경매장 거래 내역에서 얻을 수 없는(거래 불가능한 아이템) DB 구축하는 방법을 고민해보자.

👨‍💻 Item Info DDL

CREATE TABLE item_info (
    name VARCHAR(255) NOT NULL PRIMARY KEY COMMENT '아이템의 이름',
    sub_category VARCHAR(25) NOT NULL COMMENT '아이템 하위 카테고리',
    top_category VARCHAR(25) NOT NULL COMMENT '아이템 상위 카테고리',
    description VARCHAR(255) COMMENT '아이템의 설명',
    inventory_width TINYINT COMMENT '인벤토리 가로 크기',
    inventory_height TINYINT COMMENT '인벤토리 세로 크기',
    inventory_max_bundle_count INT COMMENT '최대 번들 가능 개수',
    history VARCHAR(3000) COMMENT '아이템의 역사',
    acquisition_method VARCHAR(3000) COMMENT '입수 방법',
    store_sales_price VARCHAR(3000) COMMENT '1개 상점 판매가',
    weapon_type VARCHAR(25) COMMENT '공격 속도 및 무기 타입',
    repair VARCHAR(25) COMMENT '수리',
    max_alteration_count TINYINT COMMENT '최대 개조 횟수'

) COMMENT='아이템 정보 테이블';

📊 체크리스트

  • PR 제목이 형식에 맞나요 e.g. feat: PR을 등록한다
  • 코드가 테스트 되었나요
  • 문서는 업데이트 되었나요
  • 불필요한 코드를 제거했나요
  • 이슈와 라벨이 등록되었나요

📆 마감일

Close #43

@dev-ant dev-ant requested a review from Copilot October 7, 2025 12:02
@dev-ant dev-ant self-assigned this Oct 7, 2025
@dev-ant dev-ant added the ✨feature 새로운 기능 추가 label Oct 7, 2025
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR implements a new Item information system by creating an item_info table and providing APIs to query item data. The implementation establishes initial data population from auction history and creates a comprehensive item information management system.

  • Creates item_info table with detailed item attributes including categories, inventory dimensions, and game-specific properties
  • Implements complete CRUD infrastructure following hexagonal architecture pattern with domain, application, and infrastructure layers
  • Provides REST APIs for querying items by category and retrieving all item information
  • Migrates existing item category functionality from item package to new iteminfo package structure

Reviewed Changes

Copilot reviewed 11 out of 11 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
V6__create_item_info.sql Database migration creating item_info table with comprehensive item attributes
ItemInfoResponse.java Response DTO for item information with mapping utilities
ItemCategoryResponse.java Updated package path for item category response
ItemInfoController.java REST controller providing item query endpoints
ItemInfoRepositoryPortImpl.java Repository implementation bridging domain and infrastructure
ItemInfoJpaRepository.java JPA repository interface for database operations
ItemInfoRepositoryPort.java Domain repository contract
ItemInfo.java JPA entity representing item information
ItemInfoService.java Application service handling item business logic
ItemController.java Removed old item controller
ItemService.java Removed old item service

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@github-actions
Copy link

github-actions bot commented Oct 7, 2025

✅ 테스트 결과 for PR

Build: success

🧪 테스트 실행 with Gradle
📈 Coverage: -0.00%

📁 테스트 결과
📁 커버리지 보고서 (HTML)

@codecov
Copy link

codecov bot commented Oct 7, 2025

Codecov Report

❌ Patch coverage is 0% with 15 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
.../iteminfo/application/service/ItemInfoService.java 0.00% 7 Missing ⚠️
...interfaces/rest/controller/ItemInfoController.java 0.00% 5 Missing ⚠️
...ucture/persistence/ItemInfoRepositoryPortImpl.java 0.00% 3 Missing ⚠️

📢 Thoughts on this report? Let us know!

dev-ant and others added 2 commits October 7, 2025 21:09
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@dev-ant dev-ant merged commit 203146a into dev Oct 7, 2025
1 of 2 checks passed
@dev-ant dev-ant deleted the feat/item-info-api branch October 7, 2025 12:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

✨feature 새로운 기능 추가

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Item 테이블 초기 데이터 구축 및 조회 API 구현

1 participant