Skip to content

Commit be7255d

Browse files
Merge pull request #34 from Capstone-QuarterBack/feature
Feature
2 parents 60c1fb8 + 6967029 commit be7255d

80 files changed

Lines changed: 2012 additions & 396 deletions

File tree

Some content is hidden

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

.gitignore

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,5 +36,4 @@ out/
3636
### VS Code ###
3737
.vscode/
3838

39-
application.yml
40-
application-test.yml
39+
application.yml

src/main/java/com/example/quaterback/api/domain/charger/domain/ChargerDomain.java

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
package com.example.quaterback.api.domain.charger.domain;
22

33
import com.example.quaterback.api.domain.charger.constant.ChargerStatus;
4+
import com.example.quaterback.api.domain.charger.entity.ChargerEntity;
5+
import com.example.quaterback.api.feature.overview.dto.response.CsAndChargerParams;
46
import lombok.*;
57

68
import java.time.LocalDateTime;
@@ -11,6 +13,7 @@
1113
@AllArgsConstructor
1214
@ToString
1315
public class ChargerDomain {
16+
private Long id;
1417
private Integer evseId;
1518
private ChargerStatus chargerStatus;
1619
private LocalDateTime updateStatusTimeStamp;
@@ -22,4 +25,22 @@ public void updateChargerStatus(ChargerStatus status) {
2225
this.updateStatusTimeStamp = LocalDateTime.now();
2326
}
2427
}
28+
29+
public static ChargerDomain fromEntityToDomain(ChargerEntity entity){
30+
return ChargerDomain.builder()
31+
.id(entity.getId())
32+
.evseId(entity.getEvseId())
33+
.chargerStatus(entity.getChargerStatus())
34+
.updateStatusTimeStamp(entity.getUpdateStatusTimeStamp())
35+
.stationId(entity.getStation().getStationId())
36+
.build();
37+
}
38+
public static ChargerDomain fromRequestToDomain(Integer evseId, String stationId){
39+
return ChargerDomain.builder()
40+
.evseId(evseId)
41+
.stationId(stationId)
42+
.chargerStatus(ChargerStatus.UNAVAILABLE)
43+
.updateStatusTimeStamp(LocalDateTime.now())
44+
.build();
45+
}
2546
}

src/main/java/com/example/quaterback/api/domain/charger/entity/ChargerEntity.java

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,21 @@
33
import com.example.quaterback.api.domain.charger.constant.ChargerStatus;
44
import com.example.quaterback.api.domain.charger.domain.ChargerDomain;
55
import com.example.quaterback.api.domain.station.entity.ChargingStationEntity;
6+
import com.example.quaterback.api.domain.txinfo.entity.TransactionInfoEntity;
67
import jakarta.persistence.*;
78
import lombok.*;
89

910
import java.time.LocalDateTime;
11+
import java.util.ArrayList;
12+
import java.util.List;
1013

1114
@Entity
1215
@Table(name = "charger_info")
1316
@Getter
1417
@Setter
18+
@Builder
1519
@NoArgsConstructor
1620
@AllArgsConstructor
17-
@Builder
1821
public class ChargerEntity {
1922

2023
@Id
@@ -28,9 +31,15 @@ public class ChargerEntity {
2831

2932
private LocalDateTime updateStatusTimeStamp;
3033

31-
@ManyToOne
34+
@ManyToOne(fetch = FetchType.LAZY)
3235
@JoinColumn(name = "station_id", referencedColumnName = "stationId")
3336
private ChargingStationEntity station;
37+
//@OneToMany(mappedBy ="evseId", cascade = CascadeType.ALL)
38+
//private List<TransactionInfoEntity> txInfoList = new ArrayList<>();
39+
40+
41+
/***연관 관계 메서드 작성 필요!!!!***/
42+
3443

3544
public ChargerDomain toDomain() {
3645
return ChargerDomain.builder()
@@ -54,4 +63,14 @@ public void assignStation(ChargingStationEntity stationEntity) {
5463
stationEntity.getChargerList().add(this);
5564
}
5665
}
66+
67+
public static ChargerEntity fromChargerDomainToEntity(ChargerDomain chargerDomain, ChargingStationEntity csEntity){
68+
return ChargerEntity.builder()
69+
.chargerStatus(chargerDomain.getChargerStatus())
70+
.evseId(chargerDomain.getEvseId())
71+
.updateStatusTimeStamp(chargerDomain.getUpdateStatusTimeStamp())
72+
.station(csEntity)
73+
.build();
74+
75+
}
5776
}
Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,16 @@
11
package com.example.quaterback.api.domain.charger.repository;
22

33
import com.example.quaterback.api.domain.charger.domain.ChargerDomain;
4+
import com.example.quaterback.api.domain.charger.entity.ChargerEntity;
45

56
import java.util.List;
67

8+
79
public interface ChargerRepository {
810

911
ChargerDomain findByStationIdAndEvseId(String stationId, Integer evseId);
1012
Integer update(ChargerDomain domain);
1113
List<ChargerDomain> findAllByStationId(String stationId);
12-
13-
14+
List<ChargerDomain> findByStationID(String stationId);
15+
void save(ChargerDomain chargerDomain);
1416
}

src/main/java/com/example/quaterback/api/domain/charger/repository/JpaChargerRepository.java

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,22 @@
22

33
import com.example.quaterback.api.domain.charger.entity.ChargerEntity;
44
import com.example.quaterback.api.domain.charger.domain.ChargerDomain;
5+
import com.example.quaterback.api.domain.station.entity.ChargingStationEntity;
6+
import com.example.quaterback.api.domain.station.repository.ChargingStationRepository;
7+
import com.example.quaterback.api.domain.station.repository.SpringDataJpaChargingStationRepository;
58
import jakarta.persistence.EntityNotFoundException;
69
import lombok.RequiredArgsConstructor;
710
import org.springframework.stereotype.Repository;
811

912
import java.util.List;
13+
import java.util.stream.Collectors;
14+
15+
1016

1117
@Repository
1218
@RequiredArgsConstructor
1319
public class JpaChargerRepository implements ChargerRepository {
14-
20+
private final SpringDataJpaChargingStationRepository springDataJpaChargingStationRepository;
1521
private final SpringDataJpaChargerRepository chargerRepository;
1622
@Override
1723
public ChargerDomain findByStationIdAndEvseId(String stationId, Integer evseId) {
@@ -31,6 +37,24 @@ public Integer update(ChargerDomain domain) {
3137
return entity.getEvseId();
3238
}
3339

40+
@Override
41+
public List<ChargerDomain> findByStationID(String stationId) {
42+
List<ChargerEntity> chargerEntities = chargerRepository.findByStation_StationId(stationId);
43+
List<ChargerDomain> chargerDomains = chargerEntities.stream()
44+
.map(ChargerDomain :: fromEntityToDomain)
45+
.collect(Collectors.toList());
46+
return chargerDomains;
47+
}
48+
49+
@Override
50+
public void save(ChargerDomain chargerDomain) {
51+
String stationId = chargerDomain.getStationId();
52+
ChargingStationEntity chargingStationEntity = springDataJpaChargingStationRepository.findByStationId(stationId)
53+
.orElseThrow(() -> new EntityNotFoundException("entity not found"));
54+
ChargerEntity chargerEntity = ChargerEntity.fromChargerDomainToEntity(chargerDomain, chargingStationEntity);
55+
chargerRepository.save(chargerEntity);
56+
}
57+
3458
@Override
3559
public List<ChargerDomain> findAllByStationId(String stationId) {
3660
List<ChargerEntity> entityList = chargerRepository.findAllByStationId(stationId);

src/main/java/com/example/quaterback/api/domain/charger/repository/SpringDataJpaChargerRepository.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010

1111
public interface SpringDataJpaChargerRepository extends JpaRepository<ChargerEntity, Long> {
1212
Optional<ChargerEntity> findByStation_StationIdAndEvseId(String stationId, Integer evseId);
13+
List<ChargerEntity> findByStation_StationId(String stationId);
1314

1415
@Query("select c from ChargerEntity c where c.station.stationId =:stationId")
1516
List<ChargerEntity> findAllByStationId(@Param("stationId")String stationId);

src/main/java/com/example/quaterback/api/domain/customer/repository/CustomerRepository.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ public interface CustomerRepository {
99
Page<CustomerDomain> findAll(Pageable pageable);
1010
CustomerDomain findByCustomerId(String customerId);
1111
String updateCustomerInfo(CustomerDomain customerDomain);
12-
Page<CustomerDomain> findByCustomerIdContating(String keyword, Pageable pageable);
12+
Page<CustomerDomain> findByCustomerIdContaining(String keyword, Pageable pageable);
1313
Page<CustomerDomain> findByCustomerNameContaining(String keyword, Pageable pageable);
14+
boolean existsByIdToken(String idToken);
1415
}

src/main/java/com/example/quaterback/api/domain/customer/repository/JpaCustomerRepository.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ public String updateCustomerInfo(CustomerDomain customerDomain) {
3838
}
3939

4040
@Override
41-
public Page<CustomerDomain> findByCustomerIdContating(String keyword, Pageable pageable) {
41+
public Page<CustomerDomain> findByCustomerIdContaining(String keyword, Pageable pageable) {
4242
Page<CustomerEntity> customerEntityPage = springDataJpaCustomerRepository.findByCustomerIdContaining(keyword, pageable);
4343
return customerEntityPage.map(CustomerEntity::toDomain);
4444
}
@@ -49,5 +49,9 @@ public Page<CustomerDomain> findByCustomerNameContaining(String keyword, Pageabl
4949
return customerEntityPage.map(CustomerEntity::toDomain);
5050
}
5151

52+
@Override
53+
public boolean existsByIdToken(String idToken) {
54+
return springDataJpaCustomerRepository.existsByIdToken(idToken);
55+
}
5256

5357
}

src/main/java/com/example/quaterback/api/domain/customer/repository/SpringDataJpaCustomerRepository.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,5 @@ public interface SpringDataJpaCustomerRepository extends JpaRepository<CustomerE
1313
Optional<CustomerEntity> findByCustomerId(String customerId);
1414
Page<CustomerEntity> findByCustomerIdContaining(String keyword, Pageable pageable);
1515
Page<CustomerEntity> findByCustomerNameContaining(String keyword, Pageable pageable);
16+
boolean existsByIdToken(String idToken);
1617
}

src/main/java/com/example/quaterback/api/domain/customer/service/CustomerService.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ public CustomerListResponse findAllCustomers(Pageable pageable) {
2727
}
2828

2929
public CustomerListResponse searchCustomersByCustomerId(String customerId, Pageable pageable) {
30-
Page<CustomerDomain> result = customerRepository.findByCustomerIdContating(customerId, pageable);
30+
Page<CustomerDomain> result = customerRepository.findByCustomerIdContaining(customerId, pageable);
3131
return CustomerListResponse.from(result.map(CustomerResponse::fromDomain));
3232
}
3333

0 commit comments

Comments
 (0)