Skip to content

Commit f1eb260

Browse files
authored
Merge pull request #6 from react-dev-uz/master
✨ classes and packages have been updated
2 parents 8fb7959 + eeb829a commit f1eb260

File tree

14 files changed

+300
-13
lines changed

14 files changed

+300
-13
lines changed

pom.xml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,14 @@
9595
</excludes>
9696
</configuration>
9797
</plugin>
98+
<plugin>
99+
<groupId>org.apache.maven.plugins</groupId>
100+
<artifactId>maven-compiler-plugin</artifactId>
101+
<configuration>
102+
<source>11</source>
103+
<target>11</target>
104+
</configuration>
105+
</plugin>
98106
</plugins>
99107
</build>
100108

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
package uz.pdp.springsecurityatm.controller;
2+
3+
import org.springframework.beans.factory.annotation.Autowired;
4+
import org.springframework.http.ResponseEntity;
5+
import org.springframework.web.bind.annotation.*;
6+
import uz.pdp.springsecurityatm.payload.ATMDTO;
7+
import uz.pdp.springsecurityatm.service.AtmService;
8+
9+
import javax.validation.Valid;
10+
11+
@RestController
12+
@RequestMapping("/api/atm")
13+
public class ATMController {
14+
private final AtmService atmService;
15+
16+
@Autowired
17+
public ATMController(AtmService atmService) {
18+
this.atmService = atmService;
19+
}
20+
21+
@GetMapping
22+
public ResponseEntity<?> getAll() {
23+
return atmService.getAllATMs();
24+
}
25+
26+
@GetMapping("/{atmId}")
27+
public ResponseEntity<?> getOne(@PathVariable(name = "atmId") Long id) {
28+
return atmService.getOneAtm(id);
29+
}
30+
31+
@GetMapping("/summa")
32+
public ResponseEntity<?> getSums(@RequestParam(name = "type", defaultValue = "uzs") String type) {
33+
return atmService.getSumma(type);
34+
}
35+
36+
@PostMapping
37+
public ResponseEntity<?> saveAtm(@RequestBody @Valid ATMDTO atmDTO) {
38+
return atmService.saveATM(atmDTO);
39+
}
40+
41+
@PutMapping("/{atmId}")
42+
public ResponseEntity<?> editAtm(@PathVariable(name = "atmId") Long id, @RequestBody @Valid ATMDTO atmDTO) {
43+
return atmService.editAtm(id, atmDTO);
44+
}
45+
46+
@DeleteMapping("/{atmId}")
47+
public ResponseEntity<?> deleteItem(@PathVariable(name = "atmId") Long id) {
48+
return atmService.deleteAtm(id);
49+
}
50+
}

src/main/java/uz/pdp/springsecurityatm/controller/BankController.java

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,12 @@
22

33
import org.springframework.beans.factory.annotation.Autowired;
44
import org.springframework.http.ResponseEntity;
5-
import org.springframework.web.bind.annotation.GetMapping;
6-
import org.springframework.web.bind.annotation.PostMapping;
7-
import org.springframework.web.bind.annotation.RequestMapping;
8-
import org.springframework.web.bind.annotation.RestController;
5+
import org.springframework.web.bind.annotation.*;
96
import uz.pdp.springsecurityatm.entity.Bank;
107
import uz.pdp.springsecurityatm.service.BankService;
118

9+
import javax.validation.Valid;
10+
1211
@RestController
1312
@RequestMapping("/api/bank")
1413
public class BankController {
@@ -25,8 +24,23 @@ public ResponseEntity<?> getAll() {
2524
return service.getAllBank();
2625
}
2726

27+
@GetMapping("/{bankId}")
28+
public ResponseEntity<?> getOne(@PathVariable(name = "bankId") Integer bankId) {
29+
return service.getOneBank(bankId);
30+
}
31+
2832
@PostMapping
29-
public ResponseEntity<?> save(Bank bank) {
33+
public ResponseEntity<?> save(@RequestBody @Valid Bank bank) {
3034
return service.addBank(bank);
3135
}
36+
37+
@PutMapping("/{bankId}")
38+
public ResponseEntity<?> update(@PathVariable(name = "bankId") Integer bankId, @RequestBody @Valid Bank bank) {
39+
return service.editBank(bankId, bank);
40+
}
41+
42+
@DeleteMapping("/{bankId}")
43+
public ResponseEntity<?> delete(@PathVariable(name = "bankId") Integer bankId) {
44+
return service.deleteBank(bankId);
45+
}
3246
}

src/main/java/uz/pdp/springsecurityatm/controller/RoleController.java

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

33
import org.springframework.beans.factory.annotation.Autowired;
44
import org.springframework.http.ResponseEntity;
5+
import org.springframework.security.access.prepost.PreAuthorize;
56
import org.springframework.web.bind.annotation.GetMapping;
67
import org.springframework.web.bind.annotation.RequestMapping;
78
import org.springframework.web.bind.annotation.RestController;
@@ -22,6 +23,7 @@ public RoleController(RoleService service) {
2223
}
2324

2425
@GetMapping
26+
@PreAuthorize("isAuthenticated()")
2527
public ResponseEntity<?> getAllRoles() {
2628
return service.getRoles();
2729
}

src/main/java/uz/pdp/springsecurityatm/entity/ATM.java

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,17 @@ public class ATM {
2929
@OneToOne
3030
private Address address;
3131

32+
@ManyToMany
33+
private Set<Summa> summas;
34+
35+
@ManyToMany
36+
private Set<Dollar> dollars;
37+
3238
@ManyToOne
33-
private User user;
39+
private User user; // Masul hodim
3440

35-
private Double balance;
36-
private Double commission;
41+
private Double balance = 0D;
42+
private Double commission = 0D;
3743
private Double maxWithdraw;
3844

3945
@Override
Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,20 @@
11
package uz.pdp.springsecurityatm.entity;
22

3-
import lombok.AllArgsConstructor;
4-
import lombok.Data;
5-
import lombok.NoArgsConstructor;
3+
import lombok.*;
4+
import org.hibernate.Hibernate;
65

76
import javax.persistence.Column;
87
import javax.persistence.Entity;
98
import javax.persistence.GeneratedValue;
109
import javax.persistence.Id;
10+
import java.util.Objects;
1111
import java.util.UUID;
1212

1313
@AllArgsConstructor
1414
@NoArgsConstructor
15-
@Data
15+
@Getter
16+
@Setter
17+
@ToString
1618
@Entity
1719
public class Address {
1820
@Id
@@ -24,4 +26,17 @@ public class Address {
2426
private String street;
2527
@Column(nullable = false)
2628
private String district;
29+
30+
@Override
31+
public boolean equals(Object o) {
32+
if (this == o) return true;
33+
if (o == null || Hibernate.getClass(this) != Hibernate.getClass(o)) return false;
34+
Address address = (Address) o;
35+
return id != null && Objects.equals(id, address.id);
36+
}
37+
38+
@Override
39+
public int hashCode() {
40+
return getClass().hashCode();
41+
}
2742
}
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
package uz.pdp.springsecurityatm.entity;
2+
3+
import lombok.*;
4+
import org.hibernate.Hibernate;
5+
import uz.pdp.springsecurityatm.entity.enums.USD;
6+
7+
import javax.persistence.Entity;
8+
import javax.persistence.GeneratedValue;
9+
import javax.persistence.GenerationType;
10+
import javax.persistence.Id;
11+
import java.util.Objects;
12+
13+
/*******************************
14+
* @author Dilshod Fayzullayev
15+
********************************/
16+
17+
@AllArgsConstructor
18+
@NoArgsConstructor
19+
@Getter
20+
@Setter
21+
@ToString
22+
@Entity
23+
public class Dollar {
24+
@Id
25+
@GeneratedValue(strategy = GenerationType.IDENTITY)
26+
private Integer id;
27+
28+
private USD usd;
29+
30+
private Integer count;
31+
32+
@Override
33+
public boolean equals(Object o) {
34+
if (this == o) return true;
35+
if (o == null || Hibernate.getClass(this) != Hibernate.getClass(o)) return false;
36+
Dollar dollar = (Dollar) o;
37+
return id != null && Objects.equals(id, dollar.id);
38+
}
39+
40+
@Override
41+
public int hashCode() {
42+
return getClass().hashCode();
43+
}
44+
}

src/main/java/uz/pdp/springsecurityatm/entity/Role.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package uz.pdp.springsecurityatm.entity;
22

3+
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
34
import lombok.*;
45
import org.hibernate.Hibernate;
56
import org.springframework.security.core.GrantedAuthority;
@@ -14,6 +15,7 @@
1415
@Setter
1516
@ToString
1617
@Entity
18+
@JsonIgnoreProperties(value = {"authority"})
1719
public class Role implements GrantedAuthority {
1820
@Id
1921
@GeneratedValue(strategy = GenerationType.IDENTITY)
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
package uz.pdp.springsecurityatm.entity;
2+
3+
import lombok.*;
4+
import org.hibernate.Hibernate;
5+
import uz.pdp.springsecurityatm.entity.enums.UZS;
6+
7+
import javax.persistence.*;
8+
import javax.validation.constraints.NotNull;
9+
import java.util.Objects;
10+
11+
@NoArgsConstructor
12+
@Getter
13+
@Setter
14+
@ToString
15+
@Entity(name = "summa")
16+
public class Summa {
17+
@Id
18+
@GeneratedValue(strategy = GenerationType.IDENTITY)
19+
private Integer id;
20+
21+
@Enumerated(EnumType.STRING)
22+
private UZS uzs;
23+
24+
private Integer count;
25+
26+
@Override
27+
public boolean equals(Object o) {
28+
if (this == o) return true;
29+
if (o == null || Hibernate.getClass(this) != Hibernate.getClass(o)) return false;
30+
Summa summa = (Summa) o;
31+
return id != null && Objects.equals(id, summa.id);
32+
}
33+
34+
@Override
35+
public int hashCode() {
36+
return getClass().hashCode();
37+
}
38+
}
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
package uz.pdp.springsecurityatm.payload;
2+
3+
import lombok.Data;
4+
import uz.pdp.springsecurityatm.entity.Dollar;
5+
import uz.pdp.springsecurityatm.entity.Summa;
6+
7+
import javax.validation.constraints.Min;
8+
import javax.validation.constraints.NotBlank;
9+
import javax.validation.constraints.NotNull;
10+
import java.util.Set;
11+
import java.util.UUID;
12+
13+
@Data
14+
public class AtmDTO {
15+
@NotBlank
16+
private String street;
17+
@NotBlank
18+
private String city;
19+
@NotBlank
20+
private String district;
21+
@NotNull
22+
private Integer bankId;
23+
@NotNull
24+
@Min(0)
25+
private Double commission;
26+
@NotNull
27+
private UUID userId; // Ushbu bankomatga javobgar shaxsning id raqami
28+
private Double takeOut; // pul yechib olishning maximal miqdori kiritiladi
29+
private Set<Summa> sums;
30+
private Set<Dollar> dollars;
31+
private Set<Integer> cardTypes; // pul yechib olish uchun ruxsat etilgan karta tiplari kiritiladi
32+
}

0 commit comments

Comments
 (0)