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
6 changes: 6 additions & 0 deletions .idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

16 changes: 6 additions & 10 deletions .idea/workspace.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

28 changes: 14 additions & 14 deletions demo2/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
<version>3.2.3</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>main.spring.login</groupId>
<groupId>main.spring</groupId>
<artifactId>demo2</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>demo2</name>
Expand All @@ -32,10 +32,10 @@
<artifactId>mariadb-java-client</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
<!-- <dependency>-->
<!-- <groupId>org.springframework.boot</groupId>-->
<!-- <artifactId>spring-boot-starter-security</artifactId>-->
<!-- </dependency>-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
Expand All @@ -62,15 +62,15 @@
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.thymeleaf.extras</groupId>
<artifactId>thymeleaf-extras-springsecurity6</artifactId>
</dependency>
<!-- <dependency>-->
<!-- <groupId>org.springframework.security</groupId>-->
<!-- <artifactId>spring-security-test</artifactId>-->
<!-- <scope>test</scope>-->
<!-- </dependency>-->
<!-- <dependency>-->
<!-- <groupId>org.thymeleaf.extras</groupId>-->
<!-- <artifactId>thymeleaf-extras-springsecurity6</artifactId>-->
<!-- </dependency>-->
</dependencies>

<build>
Expand Down
5 changes: 5 additions & 0 deletions demo2/src/main/java/Demo1Application.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
//import org.springframework.boot.autoconfigure.SpringBootApplication;
//
//@SpringBootApplication
//public class Demo1Application {
//}
4 changes: 0 additions & 4 deletions demo2/src/main/java/controller/SampleController.java

This file was deleted.

4 changes: 0 additions & 4 deletions demo2/src/main/java/entity/Sample.java

This file was deleted.

17 changes: 17 additions & 0 deletions demo2/src/main/java/main/spring/login/demo2/config/WebConfig.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
package main.spring.login.demo2.config;

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

@Configuration
public class WebConfig implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowedOrigins("http://localhost:8081")
.allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS")
.allowedHeaders("*")
.allowCredentials(true);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
package main.spring.login.demo2.controller;

import main.spring.login.demo2.entity.Inventory;
import main.spring.login.demo2.service.InventoryService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

@RestController
@RequestMapping("/api/inventories")
public class InventoryController {
private final InventoryService service;

@Autowired
public InventoryController(InventoryService service) {
this.service = service;
}

@GetMapping
public List<Inventory> getAllInventories() {
return service.findAll();
}

// 창고 코드를 파라미터로 받아 해당 창고에 속한 재고 목록을 반환하는 엔드포인트 추가
// @GetMapping(params = "storageCode") params로 하니깐 에러뜸..
@GetMapping("/read/{storageCode}")
// public List<Inventory> getInventoriesByStorageCode(@RequestParam String storageCode) {
public List<Inventory> getInventoriesByStorageCode(@PathVariable String storageCode) {
return service.findByStorageCode(storageCode);
}


}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
package main.spring.login.demo2.controller;

public class SampleController {
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
package main.spring.login.demo2.controller;

import main.spring.login.demo2.entity.Storage;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import main.spring.login.demo2.service.StorageService;

import java.util.List;

@RestController
public class StorageController {
private final StorageService storageService;

@Autowired
public StorageController(StorageService storageService) {
this.storageService = storageService;
}

@GetMapping("/api/warehouses")
public ResponseEntity<List<Storage>> listWarehouses() {
List<Storage> warehouses = storageService.findAllWarehouses();
return ResponseEntity.ok(warehouses);
}
}
44 changes: 44 additions & 0 deletions demo2/src/main/java/main/spring/login/demo2/entity/Inventory.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
package main.spring.login.demo2.entity;

import jakarta.persistence.*;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;

@Data
@Entity
@Table(name = "inventory")
@IdClass(Inventory.InventoryId.class)
public class Inventory {

@Id
@Column(name = "first_stock_date")
private Date firstStockDate;

@Id
@Column(name = "goods_code")
private String goodsCode;

@Id
@Column(name = "goods_grade", length = 1) // 길이는 1로 유지합니다.
private String goodsGrade; // 이 필드는 이미 CHAR(1)로 정의되어 있으므로, 코드에서 변경하지 않습니다.

@Column(name = "inventory_quantity")
private Long inventoryQuantity;

@Column(name = "sales_price")
private Integer salesPrice;

@Column(name = "grade_evaluation_dates")
private Date gradeEvaluationDates;

@ManyToOne
@JoinColumn(name = "storage_code", referencedColumnName = "contact_code") // storage_code 필드를 contact_code 참조로 정의합니다.
private Storage storage; // Storage 엔티티와의 관계를 정의합니다.

public static class InventoryId implements Serializable {
private Date firstStockDate;
private String goodsCode;
private String goodsGrade;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
//package main.spring.login.demo2.entity;
//
//import lombok.Data;
//
//import java.io.Serializable;
//import java.util.Date;
//
//@Data
//public class InventoryId implements Serializable {
// private Date firstStockDate;
// private String goodsCode;
//// private char goodsGrade;
//}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
package main.spring.login.demo2.entity;

public class Sample {
}
34 changes: 34 additions & 0 deletions demo2/src/main/java/main/spring/login/demo2/entity/Storage.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
package main.spring.login.demo2.entity;

import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
import lombok.Data;

@Data
@Entity
@Table(name = "contact")
public class Storage {
@Id
@Column(name = "contact_code")
private String contactCode;

@Column(name = "contact_delimiter")
private String contactDelimiter;

@Column(name = "contact_name")
private String contactName;

@Column(name = "contact_address")
private String contactAddress;

@Column(name = "customer_password")
private String customerPassword;

@Column(name = "storage_code")
private String storageCode;

@Column(name = "business_id")
private String businessId;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package main.spring.login.demo2.repository;

import main.spring.login.demo2.entity.Inventory;
import org.springframework.data.jpa.repository.JpaRepository;

import java.util.List;

public interface InventoryRepository extends JpaRepository<Inventory, Inventory.InventoryId> {
// 창고 코드를 기준으로 재고 목록을 찾는 메소드 추가
List<Inventory> findByStorage_ContactCode(String storageCode);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package main.spring.login.demo2.repository;

import main.spring.login.demo2.entity.Storage;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;

import java.util.List;

public interface StorageRepository extends JpaRepository<Storage, String> {
@Query("SELECT s FROM Storage s WHERE s.contactDelimiter = 'S'")
List<Storage> findByContactDelimiter(String contactDelimiter);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
package main.spring.login.demo2.service;

import main.spring.login.demo2.entity.Inventory;
import main.spring.login.demo2.repository.InventoryRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;

@Service
public class InventoryService {
private final InventoryRepository repository;

@Autowired
public InventoryService(InventoryRepository repository) {
this.repository = repository;
}

public List<Inventory> findAll() {
return repository.findAll();
}

// 특정 창고 코드에 해당하는 재고 목록을 반환하는 메소드 추가
public List<Inventory> findByStorageCode(String storageCode) {
return repository.findByStorage_ContactCode(storageCode);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
package main.spring.login.demo2.service;

public class SampleService {
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
package main.spring.login.demo2.service;

import main.spring.login.demo2.entity.Storage;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import main.spring.login.demo2.repository.StorageRepository;

import java.util.List;


@Service
public class StorageService {
private final StorageRepository storageRepository;

@Autowired
public StorageService(StorageRepository storageRepository) {
this.storageRepository = storageRepository;
}

public List<Storage> findAllWarehouses() {
return storageRepository.findByContactDelimiter("S");
}
}
4 changes: 0 additions & 4 deletions demo2/src/main/java/service/SampleService.java

This file was deleted.

Loading