Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[11주차 코드 PR] Week to Dev #238

Merged
merged 128 commits into from
Nov 15, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
128 commits
Select commit Hold shift + click to select a range
e22963e
Merge pull request #160 from kakao-tech-campus-2nd-step3/develop
stopmin Nov 12, 2024
d885375
[농장] 사업자 번호 칼럼 추가 (#126)
stopmin Nov 12, 2024
af59294
재배환경 추가, 배송비 위치 변경 (#131)
canyos Nov 12, 2024
1ed028d
농산물 소개 폼 (#132)
canyos Nov 12, 2024
67dc15e
feat: store get 요청 secured 해제 (#163)
canyos Nov 12, 2024
6c073e8
배포 환경에서 blacklist와 storage type을 redis로 변경 #94
jjt4515 Nov 13, 2024
7a7fbc5
chore: statistic 폴더 생성 #80
jjt4515 Nov 13, 2024
2e85130
getMemberProfileById 수정 #167
jjt4515 Nov 13, 2024
a6f09d2
refactor: validator 농장, 멤버 프로필 수정 #167
jjt4515 Nov 13, 2024
1e72a36
feat: ProductIntro이미지 주인 검증 추가 #167
jjt4515 Nov 13, 2024
92a5878
refactor: 이미지 unique제약조건 변경 #167
jjt4515 Nov 13, 2024
9f83666
feat: ProductIntro 이미지 개수 제한 #167
jjt4515 Nov 13, 2024
0b2e25f
feat: ProductIntro 이미지 Linker 구현 #167
jjt4515 Nov 13, 2024
4370222
refactor: deletelinker 및 validator 리팩토링 #167
jjt4515 Nov 13, 2024
ad8d63e
feat: ProductIntro deleteLinker 구현 #167
jjt4515 Nov 13, 2024
d15c1a0
feat: ImageRequest 검증 추가 #77
jjt4515 Nov 13, 2024
937a5cb
feat: 멤버 관련 request 검증 추가 #77
jjt4515 Nov 13, 2024
10c2780
feat: s3PresignedUrlPutRequest 검증 추가 #77
jjt4515 Nov 13, 2024
dea410c
feat: 토큰 재발급 request 검증 추가 #77
jjt4515 Nov 13, 2024
d6995bb
Merge pull request #166 from kakao-tech-campus-2nd-step3/feature/ISSU…
jjt4515 Nov 13, 2024
4048c7a
product_intro 이미지 입력 수정, service에서 다른 repo참조 수정 (#169)
canyos Nov 13, 2024
0b5a437
[STORE] 테스트코드 에러 해결 (#184)
stopmin Nov 13, 2024
d160a2c
[농장 체험] 결제 작업 & 결제 부분 Product 의존성 삭제 (#182)
stopmin Nov 13, 2024
2dc9659
Merge branch 'week11' into feature/ISSUE-77
stopmin Nov 13, 2024
a1464a0
JwtUtil 리팩토링 (#178)
jjt4515 Nov 13, 2024
d51b4d5
회원탈퇴,계정복구,계정정지 (#173)
jjt4515 Nov 13, 2024
81ae598
S3 개선 (#181)
jjt4515 Nov 13, 2024
788fed5
feat : logout을 위한 handler
Nov 13, 2024
5175306
[CICD] Oauth2 Key값 추가 (#185)
stopmin Nov 13, 2024
54fdd9d
review - orderedproduct, reservation fix (#179)
canyos Nov 13, 2024
eb5afc4
버그 수정 (#186)
canyos Nov 13, 2024
e8a47c6
[농장] 카테고리 생성 및 누락 칼럼 추가 (#187)
stopmin Nov 13, 2024
65f0cc5
fix:충돌해결#167
jjt4515 Nov 13, 2024
76ece87
fix: intro 코드 지워진거 복구 #167
jjt4515 Nov 13, 2024
6a2eb54
Merge pull request #170 from kakao-tech-campus-2nd-step3/feature/ISSU…
jjt4515 Nov 13, 2024
9b8b39b
Merge branch 'week11' of https://github.com/kakao-tech-campus-2nd-ste…
jjt4515 Nov 13, 2024
7b58bfe
fix: 충돌해결 #77
jjt4515 Nov 13, 2024
0f44d5b
Merge pull request #172 from kakao-tech-campus-2nd-step3/feature/ISSU…
jjt4515 Nov 13, 2024
e686db5
refactor: 농부로 전환시 주소정보 삭제 #135
jjt4515 Nov 13, 2024
f3b39c5
회원 탈퇴 PUT요청으로 변환 #135
jjt4515 Nov 14, 2024
d5d7bd6
refactor: ImageResponse 추가 #135
jjt4515 Nov 14, 2024
53861f6
refactor: 회원 요약 조회 @Secured 제거 #135
jjt4515 Nov 14, 2024
d438dc4
refactor: 멤버 업데이트 엔드포인트 수정 #135
jjt4515 Nov 14, 2024
3f02850
refactor: 회원 탈퇴 DELETE로 변환 #135
jjt4515 Nov 14, 2024
6406864
test: 멤버 회원가입 성공, 실패 테스트 코드 추가 #135
jjt4515 Nov 14, 2024
25a6c6b
chore: RefreshTokenStorageService로 이름 변경 #193
jjt4515 Nov 14, 2024
84aeaf3
chore: whiltelist로 네임 변경 #193
jjt4515 Nov 14, 2024
23201d6
AccessTokenBlacklistService 생성 및 RefreshTokenWhitelistService 수정 #193
jjt4515 Nov 14, 2024
ed4d919
refactor: JwtUtil 의존 객체 변경 #193
jjt4515 Nov 14, 2024
aac5c17
[사업자 등록] 사업자 등록증 OCR 검증 및 BIZ 프로필 추가 (#192)
stopmin Nov 14, 2024
bb125e5
Merge branch 'week11' of https://github.com/kakao-tech-campus-2nd-ste…
jjt4515 Nov 14, 2024
88f6dbf
refactor: 엔드포인트 수정 (#195)
stopmin Nov 14, 2024
eeb4a39
feat: 엔드포인트 수정
stopmin Nov 14, 2024
ad8dc11
Merge branch 'week11' of https://github.com/kakao-tech-campus-2nd-ste…
jjt4515 Nov 14, 2024
bc34929
refactor: 엔드포인트 to-customer로 변경 #135
jjt4515 Nov 14, 2024
7e79a19
[농장] 농장 설명 추가 (#191)
stopmin Nov 14, 2024
720cc02
chore: 멤버 컨트롤러, 서비스 role별로 구분 #135
jjt4515 Nov 14, 2024
d1e7f4a
test: 잠시 중지 #135
jjt4515 Nov 14, 2024
09d3b5a
fix: 에러 해결 #193
jjt4515 Nov 14, 2024
6d2c5bb
Merge branch 'refs/heads/week11' into feature/ISSUE-175
Nov 14, 2024
0d5981b
Merge branch 'week11' of https://github.com/kakao-tech-campus-2nd-ste…
jjt4515 Nov 14, 2024
454865d
Merge branch 'week11' of https://github.com/kakao-tech-campus-2nd-ste…
jjt4515 Nov 14, 2024
2d88d0f
test: MemberServiceTest 작성 및 restoreAccount 오류 해결 #135
jjt4515 Nov 14, 2024
ea9124c
test: 회원 정지 테스트 오류 해결 #135
jjt4515 Nov 14, 2024
7343c52
test: MemberFarmerServiceTest 작성 #135
jjt4515 Nov 14, 2024
819b243
feat : 사용하지 않는 handler 삭제
Nov 14, 2024
138daea
feat : 테스트 컨트롤러(삭제 예정)
Nov 14, 2024
7d3674a
feat : security filter 구현
Nov 14, 2024
8ec076e
feat : oauth2인증관련
Nov 14, 2024
726f9d9
feat : oauth2 인증 실패 핸들러
Nov 14, 2024
4b313db
feat : 토큰 재발급 변경
Nov 14, 2024
b965343
feat : 시큐리티 설정 (나중에 각자 열어주세요)
Nov 14, 2024
d061297
feat : - 멤버 빌더패턴 이름 추가
Nov 14, 2024
4b24703
test: MemberCustomerServiceTest 초안 작성 및 x,y 좌표 Double로 변경 #135
jjt4515 Nov 14, 2024
7f525eb
Merge pull request #198 from kakao-tech-campus-2nd-step3/feature/ISSU…
amm0124 Nov 14, 2024
3ee2c61
Merge branch 'week11' of https://github.com/kakao-tech-campus-2nd-ste…
jjt4515 Nov 14, 2024
55cb2e2
fix: 이름 변경 #193
jjt4515 Nov 14, 2024
573cde7
build: oauth2 키 수정 (#202)
stopmin Nov 14, 2024
e9f2da7
fix: existsByTokenKeyAndExpiredAtAfter로 변경 #193
jjt4515 Nov 14, 2024
8ebccbf
feat : application-prod.yml 경로
amm0124 Nov 14, 2024
3f4a6db
Merge pull request #204 from kakao-tech-campus-2nd-step3/feature/ISSU…
amm0124 Nov 14, 2024
24d5f08
refactor: AccessTokenBlacklistService와 RefreshTokenWhitelistService 사…
jjt4515 Nov 14, 2024
ed18c41
Merge branch 'week11' of https://github.com/kakao-tech-campus-2nd-ste…
jjt4515 Nov 14, 2024
e1a7b1d
feat: cart 요청 변경 후 preorder만들기 (#205)
canyos Nov 14, 2024
0a5e67b
[농장] 명세 수정 작업 (#200)
stopmin Nov 14, 2024
919da04
fix: 충돌 해결 #135
jjt4515 Nov 14, 2024
d51163e
test: 회원 주소 업데이트 테스트 수정 #135
jjt4515 Nov 14, 2024
035e48b
refactor: 이미지, 멤버 엔드포인트 수정 #135
jjt4515 Nov 14, 2024
a554ecd
컬럼 추가, 상품 이미지 수정, 컨트롤러 경로 수정 (#208)
canyos Nov 14, 2024
491c26f
팜컨트롤러경로수정 (#209)
canyos Nov 14, 2024
3490a8d
Merge branch 'week11' of https://github.com/kakao-tech-campus-2nd-ste…
jjt4515 Nov 14, 2024
a785e40
feat : prod 수정
amm0124 Nov 14, 2024
8f966bd
Merge pull request #213 from kakao-tech-campus-2nd-step3/feature/ISSU…
amm0124 Nov 14, 2024
e284b7e
Merge branch 'week11' of https://github.com/kakao-tech-campus-2nd-ste…
jjt4515 Nov 14, 2024
826bc09
feat: 등록할 때 아이디 반환 (#217)
canyos Nov 14, 2024
d8070ca
이미지 Response 생성 및 멤버 프로필 id도 반환하도록 수정 #216
jjt4515 Nov 14, 2024
90ac08d
Merge branch 'week11' of https://github.com/kakao-tech-campus-2nd-ste…
jjt4515 Nov 14, 2024
738bfd9
Merge pull request #215 from kakao-tech-campus-2nd-step3/feature/ISSU…
jjt4515 Nov 14, 2024
f5f585d
fix: 충돌 해결 #216
jjt4515 Nov 14, 2024
b4dcd1d
Merge pull request #218 from kakao-tech-campus-2nd-step3/feature/ISSU…
jjt4515 Nov 14, 2024
b634f87
test: 이미지 저장 성공 테스트 #219
jjt4515 Nov 14, 2024
449ed74
test: 이미지 저장 실패 LimitExceed 테스트 #219
jjt4515 Nov 14, 2024
90f6f2d
test: 이미지 수정, 삭제 테스트 #219
jjt4515 Nov 14, 2024
04f78d0
test: 이미지 업데이트 검증 로직 추가 및 테스트 코드 추가 #219
jjt4515 Nov 14, 2024
d4890e5
Merge pull request #221 from kakao-tech-campus-2nd-step3/feature/ISSU…
jjt4515 Nov 14, 2024
0d58a98
refactor: Product에서 preRemove 추가 #206
jjt4515 Nov 15, 2024
87e9597
feat: 농부로 전환 시 스토어 가짐 #222
jjt4515 Nov 15, 2024
36b0f76
Merge pull request #223 from kakao-tech-campus-2nd-step3/feature/ISSU…
jjt4515 Nov 15, 2024
6f4f99f
Merge pull request #224 from kakao-tech-campus-2nd-step3/feature/ISSU…
jjt4515 Nov 15, 2024
6f083b8
Merge branch 'week11' of https://github.com/kakao-tech-campus-2nd-ste…
jjt4515 Nov 15, 2024
f5e37f1
test: S3 test #80
jjt4515 Nov 15, 2024
028b0a4
fix: s3 테스트 코드 수정 #80
jjt4515 Nov 15, 2024
fe1a642
Merge pull request #226 from kakao-tech-campus-2nd-step3/feature/ISSU…
jjt4515 Nov 15, 2024
6cd7b04
[농장] 농장 생성시 시작날짜/종료날짜/시작시간/종료날짜 (#211)
stopmin Nov 15, 2024
cb303c1
Merge pull request #197 from kakao-tech-campus-2nd-step3/feature/ISSU…
jjt4515 Nov 15, 2024
75d916b
[위시] 농장 위시리스트 추가 (#210)
stopmin Nov 15, 2024
f443aa8
[TEST] 농장 예약 관련 테스트 코드 (#234)
stopmin Nov 15, 2024
cd28801
화이트리스트, 블랙리스트 테스트 코드 작성 (#235)
jjt4515 Nov 15, 2024
b37c6d3
멤버 프로필 테스트 코드 작성 (#233)
jjt4515 Nov 15, 2024
3e9263e
chore: 엔드포인트 수정
stopmin Nov 15, 2024
6a4dd1a
chore: 엔드포인트 수정
stopmin Nov 15, 2024
1140005
chore: 엔드포인트 수정
stopmin Nov 15, 2024
4d00138
feat: 통계 컨트롤러 삭제 #225
jjt4515 Nov 15, 2024
734a456
Feature/issue 232 (#241)
canyos Nov 15, 2024
c05b26e
Merge pull request #240 from kakao-tech-campus-2nd-step3/feature/ISSU…
jjt4515 Nov 15, 2024
a685fac
fix: s3 요청 형식 수정 #242
jjt4515 Nov 15, 2024
9d866aa
Feature/issue 175 (#243)
amm0124 Nov 15, 2024
9d16110
Merge pull request #244 from kakao-tech-campus-2nd-step3/feature/ISSU…
jjt4515 Nov 15, 2024
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
5 changes: 5 additions & 0 deletions .github/workflows/deploy-ecs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,11 @@ jobs:
AWS_SECRET_KEY=${{ secrets.AWS_SECRET_KEY }}
IMP_API_KEY=${{ secrets.IMP_API_KEY }}
IMP_SECRET_KEY=${{ secrets.IMP_SECRET_KEY }}
KAKAO_CLIENT_ID=${{ secrets.KAKAO_CLIENT_ID }}
KAKAO_CLIENT_SECRET=${{ secrets.KAKAO_CLIENT_SECRET }}
NAVER_OCR_SECRET=${{ secrets.NAVER_OCR_SECRET }}
NAVER_OCR_INVOKE=${{ secrets.NAVER_OCR_INVOKE }}
NAVER_OCR_TEMPLATE=${{ secrets.NAVER_OCR_TEMPLATE }}
cache-from: type=gha
cache-to: type=gha,mode=min,ignore-error=true

Expand Down
16 changes: 16 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,11 @@ ARG AWS_ACCESS_KEY
ARG AWS_SECRET_KEY
ARG IMP_API_KEY
ARG IMP_SECRET_KEY
ARG KAKAO_CLIENT_ID
ARG KAKAO_CLIENT_SECRET
ARG NAVER_OCR_SECRET
ARG NAVER_OCR_INVOKE
ARG NAVER_OCR_TEMPLATE

# 환경 변수 설정
ENV SPRING_DATASOURCE_URL=$SPRING_DATASOURCE_URL
Expand All @@ -31,6 +36,12 @@ ENV AWS_ACCESS_KEY=$AWS_ACCESS_KEY
ENV AWS_SECRET_KEY=$AWS_SECRET_KEY
ENV IMP_API_KEY=$IMP_API_KEY
ENV IMP_SECRET_KEY=$IMP_SECRET_KEY
ENV KAKAO_CLIENT_ID=$KAKAO_CLIENT_ID
ENV KAKAO_CLIENT_SECRET=$KAKAO_CLIENT_SECRET
ENV NAVER_OCR_SECRET=$NAVER_OCR_SECRET
ENV NAVER_OCR_INVOKE=$NAVER_OCR_INVOKE
ENV NAVER_OCR_TEMPLATE=$NAVER_OCR_TEMPLATE


COPY build/libs/*.jar app.jar

Expand All @@ -49,4 +60,9 @@ ENTRYPOINT ["java", "-Duser.timezone=Asia/Seoul", \
"-Daws.secret=${AWS_SECRET_KEY}", \
"-Dimp.api.key=${IMP_API_KEY}", \
"-Dimp.api.secretKey=${IMP_SECRET_KEY}", \
"-Dkakao.client.id=${KAKAO_CLIENT_ID}", \
"-Dkakao.client.secret=${KAKAO_CLIENT_SECRET}", \
"-Dnaver.ocr.secret=${NAVER_OCR_SECRET}", \
"-Dnaver.ocr.invoke=${NAVER_OCR_INVOKE}", \
"-Dnaver.ocr.template=${NAVER_OCR_TEMPLATE}", \
"-jar", "/app.jar"]
5 changes: 4 additions & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ dependencies {
// JSON
implementation 'org.json:json:20210307'
implementation 'com.google.code.gson:gson:2.10.1'

implementation 'com.fasterxml.jackson.core:jackson-databind:2.15.2'
// JWT
implementation 'io.jsonwebtoken:jjwt-api:0.11.5'
runtimeOnly 'io.jsonwebtoken:jjwt-impl:0.11.5'
Expand All @@ -66,6 +66,9 @@ dependencies {
implementation(platform("software.amazon.awssdk:bom:2.27.21"))
implementation("software.amazon.awssdk:s3")

implementation platform("io.awspring.cloud:spring-cloud-aws-dependencies:3.0.1")
implementation 'io.awspring.cloud:spring-cloud-aws-starter-sqs'

// 아임포트 및 아임포트 웹훅
implementation 'com.github.iamport:iamport-rest-client-java:0.2.23'

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
package poomasi.domain.aftersales.controller;

import lombok.RequiredArgsConstructor;
import org.springframework.http.ResponseEntity;
import org.springframework.security.access.annotation.Secured;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import poomasi.domain.aftersales.dto.cancel.request.FarmCancelRequest;
import poomasi.domain.aftersales.dto.cancel.request.ProductCancelRequest;
import poomasi.domain.aftersales.dto.refund.request.ProductRefundRequest;
import poomasi.domain.aftersales.dto.refund.request.ProductRefundRequestApprovalRequest;
import poomasi.domain.aftersales.service.FarmAfterSalesService;
import poomasi.domain.aftersales.service.ProductAfterSalesService;

@RestController
@RequestMapping("/api/aftersales")
@RequiredArgsConstructor
public class AfterSalesController {

private final ProductAfterSalesService productAfterSalesService;
private final FarmAfterSalesService farmAfterSalesService;

@Secured({"ROLE_CUSTOMER", "ROLE_FARMER"})
@PostMapping("/products/cancel")
public ResponseEntity<?> productCancel(@RequestBody ProductCancelRequest productCancelRequest) {
return ResponseEntity.ok(
productAfterSalesService.cancel(productCancelRequest)
);
}

@Secured({"ROLE_CUSTOMER", "ROLE_FARMER"})
@PostMapping("/products/refund-request")
public ResponseEntity<?> requestRefund(@RequestBody ProductRefundRequest productRefundRequest) {
return ResponseEntity.ok(
productAfterSalesService.
refund(productRefundRequest)
);
}

@Secured({"ROLE_FARMER"})
@PostMapping("/approve-products-refund")
public ResponseEntity<?> approveRefund(@RequestBody ProductRefundRequestApprovalRequest productRefundRequestApprovalRequest) {
return ResponseEntity.ok(
productAfterSalesService.processRefundApproval(productRefundRequestApprovalRequest)
);
}

@Secured({"ROLE_CUSTOMER", "ROLE_FARMER"})
@PostMapping("/farms/cancel")
public ResponseEntity<?> farmCancel(@RequestBody FarmCancelRequest farmCancelRequest){
return ResponseEntity.ok(
farmAfterSalesService.cancel(farmCancelRequest)
);
}




}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
package poomasi.domain.aftersales.dto.cancel.request;

public record FarmCancelRequest(Long reservationId) {
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
package poomasi.domain.aftersales.dto.cancel.request;

public record ProductCancelRequest(Long orderedProductId) {
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package poomasi.domain.aftersales.dto.cancel.response;

import poomasi.domain.reservation.entity.ReservationStatus;

import java.math.BigDecimal;

public record FarmCancelResponse(Long reservationId,
ReservationStatus reservationStatus,
BigDecimal finalCancelAmount) {
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package poomasi.domain.aftersales.dto.cancel.response;

import poomasi.domain.order.entity.OrderedProductStatus;

import java.math.BigDecimal;

public record ProductCancelResponse(
Long orderedProductId,
OrderedProductStatus orderedProductStatus,
BigDecimal finalCancelAmount) {
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package poomasi.domain.aftersales.dto.refund.request;

import jakarta.validation.constraints.NotNull;

public record ProductRefundRequest(
@NotNull Long orderedProductId
) {
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
package poomasi.domain.aftersales.dto.refund.request;

public record ProductRefundRequestApprovalRequest(Long productAfterSalesId) {
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package poomasi.domain.aftersales.dto.refund.response;

import poomasi.domain.order.entity.OrderedProductStatus;

import java.math.BigDecimal;

public record ProductRefundRequestApprovalResponse(
Long orderedProductId,
OrderedProductStatus orderedProductStatus,
BigDecimal refundAmount
) {
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
package poomasi.domain.aftersales.dto.refund.response;

import poomasi.domain.order.entity.OrderedProductStatus;

import java.math.BigDecimal;

public record ProductRefundResponse(
Long orderedProductId,
OrderedProductStatus orderedProductStatus,
BigDecimal finalRefundAmount
) {
}


Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package poomasi.domain.aftersales.entity;

public enum AfterSalesType {
REFUND,
CANCEL
}


51 changes: 51 additions & 0 deletions src/main/java/poomasi/domain/aftersales/entity/FarmAfterSales.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
package poomasi.domain.aftersales.entity;


import jakarta.persistence.*;
import jdk.jfr.Description;
import jdk.jfr.Timestamp;
import lombok.Builder;
import lombok.Data;
import org.hibernate.annotations.UpdateTimestamp;
import poomasi.domain.reservation.entity.Reservation;

import java.math.BigDecimal;
import java.time.LocalDateTime;

@Entity
@Table
@Data
public class FarmAfterSales {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
Long id;

@Description("금액")
private BigDecimal afterSalesAmount;

@Column(name = "created_at")
@UpdateTimestamp
private LocalDateTime createdAt = LocalDateTime.now();

@Column(name = "updated_at")
@UpdateTimestamp
private LocalDateTime updateAt = LocalDateTime.now();

@Column(name = "deleted_at")
@Timestamp
private LocalDateTime deletedAt;

@OneToOne
private Reservation reservation;

public FarmAfterSales(){

}

@Builder
public FarmAfterSales(BigDecimal afterSalesAmount, Reservation reservation) {
this.afterSalesAmount = afterSalesAmount;
this.reservation = reservation;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
package poomasi.domain.aftersales.entity;

import jakarta.persistence.*;
import jdk.jfr.Description;
import jdk.jfr.Timestamp;
import lombok.Builder;
import lombok.Data;
import org.hibernate.annotations.UpdateTimestamp;
import poomasi.domain.order.entity.OrderedProduct;

import java.math.BigDecimal;
import java.time.LocalDateTime;

@Data
@Entity
@Table(name="product_after_sales")
public class ProductAfterSales {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;

@Description("금액")
private BigDecimal afterSalesAmount;

@Description("타입")
private AfterSalesType afterSalesType;

@Column(name = "created_at")
@UpdateTimestamp
private LocalDateTime createdAt = LocalDateTime.now();

@Column(name = "updated_at")
@UpdateTimestamp
private LocalDateTime updateAt = LocalDateTime.now();

@Column(name = "deleted_at")
@Timestamp
private LocalDateTime deletedAt;

@OneToOne
private OrderedProduct orderedProduct;

public ProductAfterSales(){
}


}
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
package poomasi.domain.aftersales.repository;

import org.springframework.data.jpa.repository.JpaRepository;
import poomasi.domain.aftersales.entity.FarmAfterSales;

public interface FarmAfterSalesRepository extends JpaRepository<FarmAfterSales, Long> {
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
package poomasi.domain.aftersales.repository;

import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
import poomasi.domain.aftersales.entity.ProductAfterSales;

@Repository
public interface ProductAfterSalesRepository extends JpaRepository<ProductAfterSales, Long> {
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
package poomasi.domain.aftersales.service;

public interface CancelService<T, P> {
T cancel(P parameter);
}
Loading
Loading