Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file modified .DS_Store
Binary file not shown.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -54,3 +54,4 @@ out/

### VS Code ###
.vscode/
.DS_Store
Empty file added Task
Empty file.
18 changes: 18 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,24 @@ dependencies {
// testImplementation 'org.springframework.security:spring-security-test'
}


dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.jsoup:jsoup:1.15.3'
runtimeOnly 'com.h2database:h2' // 예제에서는 H2 in-memory DB 사용
testImplementation 'org.springframework.boot:spring-boot-starter-test'
}




tasks.named('test') {
useJUnitPlatform()
}

dependencies {
implementation 'com.amazonaws:aws-java-sdk-s3:1.12.133'
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
}
Binary file added src/.DS_Store
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
package com.leafvillage.backend.Controller;

import com.leafvillage.backend.entity.Company;
import com.leafvillage.backend.repository.CompanyRepository;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;

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

@RestController
public class CompanyController {

private final CompanyRepository companyRepository;

public CompanyController(CompanyRepository companyRepository) {
this.companyRepository = companyRepository;
}

/**
* 기업 리스트 조회 (1~20개 반환)
*/
@GetMapping("/companies")
public List<CompanyDto> getCompanies(
@RequestParam(defaultValue = "0") int page,
@RequestParam(defaultValue = "20") int size) {

// 페이징 적용: 최신 등록 순으로 20개만 가져오기
Pageable pageable = PageRequest.of(page, size, Sort.by(Sort.Direction.ASC, "companyId"));
List<Company> companies = companyRepository.findAll(pageable).getContent();

// 필요한 데이터만 DTO로 변환하여 반환
return companies.stream()
.map(company -> new CompanyDto(company.getCompanyId(), company.getCompany()))
.collect(Collectors.toList());
}

// DTO 클래스 정의
public record CompanyDto(String company_id, String company) {}
}

This file was deleted.

This file was deleted.

37 changes: 37 additions & 0 deletions src/main/java/com/leafvillage/backend/dto/CompanyPartialDto.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
package com.leafvillage.backend.dto;

public class CompanyPartialDto {
private String corpNm; // 회사명
private String englishName; // 영문명
private String address; // 주소

public CompanyPartialDto() {
}

public CompanyPartialDto(String corpNm, String englishName, String address) {
this.corpNm = corpNm;
this.englishName = englishName;
this.address = address;
}

public String getCorpNm() {
return corpNm;
}
public void setCorpNm(String corpNm) {
this.corpNm = corpNm;
}

public String getEnglishName() {
return englishName;
}
public void setEnglishName(String englishName) {
this.englishName = englishName;
}

public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}
167 changes: 167 additions & 0 deletions src/main/java/com/leafvillage/backend/entity/Company.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,167 @@
package com.leafvillage.backend.entity;

import jakarta.persistence.*;
import java.util.Date;

@Entity
@Table(name = "company")
public class Company {

@Id
@Column(name = "company_id", length = 36, nullable = false)
private String companyId; // 예: "c000001"

@Column(name = "company", length = 255, nullable = false)
private String company; // 회사 고유 식별자

@Column(name = "company_name_kr", length = 255)
private String companyNameKr; // 회사명(국문)

@Column(name = "representative_name", length = 100)
private String representativeName; // 대표자명

@Column(name = "business_registration_number", length = 100)
private String businessRegistrationNumber; // 사업자등록번호

@Column(name = "address", length = 255)
private String address; // 주소

@Column(name = "phone_number", length = 255)
private String phoneNumber; // 전화번호

@Column(name = "fax_number", length = 255)
private String faxNumber; // 팩스번호

@Column(name = "homepage_url", length = 255)
private String homepageUrl; // 홈페이지 URL

@Column(name = "standard_industry_classification", length = 255)
private String standardIndustryClassification; // 표준산업분류

@Column(name = "main_business", length = 255)
private String mainBusiness; // 주요사업

@Column(name = "establishment_date")
@Temporal(TemporalType.DATE)
private Date establishmentDate; // 설립일

@Column(name = "kosdaq_listed_date")
@Temporal(TemporalType.DATE)
private Date kosdaqListedDate; // 코스닥 상장일

@Column(name = "ticker", length = 20)
private String ticker; // 티커

@Column(name = "logo_image", length = 255)
private String logoImage; // 이미지 링크

// 기본 생성자
public Company() {}

// Getter/Setter

public String getCompanyId() {
return companyId;
}
public void setCompanyId(String companyId) {
this.companyId = companyId;
}

public String getCompany() {
return company;
}
public void setCompany(String company) {
this.company = company;
}

public String getCompanyNameKr() {
return companyNameKr;
}
public void setCompanyNameKr(String companyNameKr) {
this.companyNameKr = companyNameKr;
}

public String getRepresentativeName() {
return representativeName;
}
public void setRepresentativeName(String representativeName) {
this.representativeName = representativeName;
}

public String getBusinessRegistrationNumber() {
return businessRegistrationNumber;
}
public void setBusinessRegistrationNumber(String businessRegistrationNumber) {
this.businessRegistrationNumber = businessRegistrationNumber;
}

public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}

public String getPhoneNumber() {
return phoneNumber;
}
public void setPhoneNumber(String phoneNumber) {
this.phoneNumber = phoneNumber;
}

public String getFaxNumber() {
return faxNumber;
}
public void setFaxNumber(String faxNumber) {
this.faxNumber = faxNumber;
}

public String getHomepageUrl() {
return homepageUrl;
}
public void setHomepageUrl(String homepageUrl) {
this.homepageUrl = homepageUrl;
}

public String getStandardIndustryClassification() {
return standardIndustryClassification;
}
public void setStandardIndustryClassification(String standardIndustryClassification) {
this.standardIndustryClassification = standardIndustryClassification;
}

public String getMainBusiness() {
return mainBusiness;
}
public void setMainBusiness(String mainBusiness) {
this.mainBusiness = mainBusiness;
}

public Date getEstablishmentDate() {
return establishmentDate;
}
public void setEstablishmentDate(Date establishmentDate) {
this.establishmentDate = establishmentDate;
}

public Date getKosdaqListedDate() {
return kosdaqListedDate;
}
public void setKosdaqListedDate(Date kosdaqListedDate) {
this.kosdaqListedDate = kosdaqListedDate;
}

public String getTicker() {
return ticker;
}
public void setTicker(String ticker) {
this.ticker = ticker;
}

public String getLogoImage() {
return logoImage;
}
public void setLogoImage(String logoImage) {
this.logoImage = logoImage;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
package com.leafvillage.backend.repository;
import java.util.Optional;
import com.leafvillage.backend.entity.Company;
import org.springframework.data.jpa.repository.JpaRepository;

public interface CompanyRepository extends JpaRepository<Company, String> {
// 기본 제공되는 findById(companyId) 사용 (JPA에서 자동 제공)
Optional<Company> findByCompany(String company);
}
Loading