Skip to content

Commit e3c513c

Browse files
committed
Merge branch 'release/V.1.0'
2 parents 17607eb + b375e00 commit e3c513c

File tree

73 files changed

+3331
-15
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

73 files changed

+3331
-15
lines changed

.gitignore

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
# Created by https://www.toptal.com/developers/gitignore/api/macos,windows,intellij+iml,gradle,java,vim,git
22
# Edit at https://www.toptal.com/developers/gitignore?templates=macos,windows,intellij+iml,gradle,java,vim,git
33

4+
5+
46
### Git ###
57
# Created by git for backups. To disable backups in Git:
68
# $ git config --global mergetool.keepBackup false
@@ -236,4 +238,10 @@ gradle-app.setting
236238
# Java heap dump
237239
*.hprof
238240

241+
242+
# config
243+
src/main/java/com/example/finance7/config/
244+
245+
#application.properties
246+
src/main/resources/application.properties
239247
# End of https://www.toptal.com/developers/gitignore/api/macos,windows,intellij+iml,gradle,java,vim,git

build.gradle

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,30 @@ repositories {
1919
}
2020

2121
dependencies {
22+
//redis
23+
implementation 'org.springframework.boot:spring-boot-starter-data-redis'
24+
25+
26+
//jwt
27+
implementation 'io.jsonwebtoken:jjwt:0.9.1'
28+
29+
30+
//security
31+
implementation 'org.springframework.boot:spring-boot-starter-security'
32+
testImplementation 'org.springframework.security:spring-security-test'
33+
34+
35+
//mysql
36+
implementation 'org.springframework.boot:spring-boot-starter-jdbc'
37+
runtimeOnly 'com.mysql:mysql-connector-j'
38+
39+
//mariadb
40+
runtimeOnly 'org.mariadb.jdbc:mariadb-java-client'
41+
2242
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
2343
implementation 'org.springframework.boot:spring-boot-starter-web'
2444
compileOnly 'org.projectlombok:lombok'
25-
runtimeOnly 'org.mariadb.jdbc:mariadb-java-client'
45+
2646
annotationProcessor 'org.projectlombok:lombok'
2747
testImplementation 'org.springframework.boot:spring-boot-starter-test'
2848
}

src/main/java/com/example/finance7/MiniProjectBeApplication.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,10 @@
22

33
import org.springframework.boot.SpringApplication;
44
import org.springframework.boot.autoconfigure.SpringBootApplication;
5+
import org.springframework.data.jpa.repository.config.EnableJpaAuditing;
56

67
@SpringBootApplication
8+
@EnableJpaAuditing
79
public class MiniProjectBeApplication {
810

911
public static void main(String[] args) {
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
package com.example.finance7.cart.controller;
2+
3+
import com.example.finance7.cart.dto.CartRequestDTO;
4+
import com.example.finance7.cart.dto.DeleteResponseDTO;
5+
import com.example.finance7.cart.service.CartService;
6+
import com.example.finance7.cart.vo.CartVO;
7+
import com.example.finance7.cart.vo.SimpleVO;
8+
import lombok.RequiredArgsConstructor;
9+
import org.springframework.data.web.PageableDefault;
10+
import org.springframework.http.HttpHeaders;
11+
import org.springframework.web.bind.annotation.*;
12+
13+
import javax.servlet.http.HttpServletRequest;
14+
15+
@RestController
16+
@RequiredArgsConstructor
17+
public class CartController {
18+
19+
private final CartService cartService;
20+
21+
@PostMapping("/cart")
22+
public SimpleVO addCart(@RequestBody CartRequestDTO requestDTO, HttpServletRequest request) {
23+
return cartService.addCart(requestDTO.getProductId(), request.getHeader(HttpHeaders.AUTHORIZATION));
24+
}
25+
26+
@GetMapping("/cart")
27+
public CartVO selectAllCartProducts(HttpServletRequest request) {
28+
return cartService.selectAllCartProducts(request.getHeader(HttpHeaders.AUTHORIZATION));
29+
}
30+
31+
@DeleteMapping("/cart")
32+
public SimpleVO deleteItem(@RequestBody CartRequestDTO requestDTO, HttpServletRequest request) {
33+
return cartService.deleteItem(requestDTO.getProductId(), request.getHeader(HttpHeaders.AUTHORIZATION));
34+
}
35+
36+
@DeleteMapping("/cart/all")
37+
public DeleteResponseDTO deleteAllItems(HttpServletRequest request) {
38+
return cartService.deleteAllItems(request.getHeader(HttpHeaders.AUTHORIZATION));
39+
}
40+
}
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
package com.example.finance7.cart.dto;
2+
3+
import com.example.finance7.product.entity.Card;
4+
import lombok.AllArgsConstructor;
5+
import lombok.Getter;
6+
import lombok.NoArgsConstructor;
7+
import lombok.experimental.SuperBuilder;
8+
9+
@AllArgsConstructor
10+
@NoArgsConstructor
11+
@Getter
12+
@SuperBuilder
13+
public class CardResponseDTO extends ProductResponseDTO {
14+
private String[] benefits;
15+
private int annualFee;
16+
17+
public CardResponseDTO toDTO(Card card) {
18+
return CardResponseDTO.builder()
19+
.productId(card.getProductId())
20+
.category("card")
21+
.productName(card.getProductName())
22+
.companyName(card.getCompanyName())
23+
.thumbnail(card.getThumbnail())
24+
.benefits(card.getBenefits().split("\\\\n"))
25+
.annualFee(card.getAnnualFee())
26+
.build();
27+
}
28+
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package com.example.finance7.cart.dto;
2+
3+
import lombok.*;
4+
5+
@NoArgsConstructor
6+
@AllArgsConstructor
7+
@Setter
8+
@Getter
9+
@Builder
10+
public class CartRequestDTO {
11+
private Long productId;
12+
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package com.example.finance7.cart.dto;
2+
3+
import lombok.AllArgsConstructor;
4+
import lombok.Builder;
5+
import lombok.Getter;
6+
import lombok.NoArgsConstructor;
7+
8+
@NoArgsConstructor
9+
@AllArgsConstructor
10+
@Getter
11+
@Builder
12+
public class DeleteResponseDTO {
13+
private String status;
14+
private int deletedNum;
15+
}
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
package com.example.finance7.cart.dto;
2+
3+
import com.example.finance7.product.entity.Loan;
4+
import lombok.AllArgsConstructor;
5+
import lombok.Getter;
6+
import lombok.NoArgsConstructor;
7+
import lombok.experimental.SuperBuilder;
8+
9+
@NoArgsConstructor
10+
@AllArgsConstructor
11+
@SuperBuilder
12+
@Getter
13+
public class LoanResponseDTO extends ProductResponseDTO {
14+
private String lowRate;
15+
private String highRate;
16+
private String bound;
17+
18+
public LoanResponseDTO toDTO(Loan loan) {
19+
return LoanResponseDTO.builder()
20+
.productId(loan.getProductId())
21+
.category("loan")
22+
.productName(loan.getProductName())
23+
.companyName(loan.getCompanyName())
24+
.companyImage(loan.getCompanyImage())
25+
.lowRate(loan.getLowRate())
26+
.highRate(loan.getHighRate())
27+
.bound(loan.getBound())
28+
.build();
29+
}
30+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package com.example.finance7.cart.dto;
2+
3+
import lombok.AllArgsConstructor;
4+
import lombok.Getter;
5+
import lombok.NoArgsConstructor;
6+
import lombok.experimental.SuperBuilder;
7+
8+
@NoArgsConstructor
9+
@AllArgsConstructor
10+
@SuperBuilder
11+
@Getter
12+
public class ProductResponseDTO {
13+
private long productId;
14+
private String category;
15+
private String productName;
16+
private String companyName;
17+
private String companyImage;
18+
private String thumbnail;
19+
}
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
package com.example.finance7.cart.dto;
2+
3+
import com.example.finance7.product.entity.Savings;
4+
import lombok.AllArgsConstructor;
5+
import lombok.Getter;
6+
import lombok.NoArgsConstructor;
7+
import lombok.experimental.SuperBuilder;
8+
9+
@NoArgsConstructor
10+
@AllArgsConstructor
11+
@SuperBuilder
12+
@Getter
13+
public class SavingResponseDTO extends ProductResponseDTO {
14+
private String basicRate;
15+
private String primeRate;
16+
17+
public SavingResponseDTO toDTO(Savings savings) {
18+
return SavingResponseDTO.builder()
19+
.productId(savings.getProductId())
20+
.category("savings")
21+
.productName(savings.getProductName())
22+
.companyName(savings.getCompanyName())
23+
.companyImage(savings.getCompanyImage())
24+
.basicRate(savings.getBasicRate())
25+
.primeRate(savings.getPrimeRate())
26+
.build();
27+
}
28+
}

0 commit comments

Comments
 (0)