From 852d48c1b70494435905af2dce480162af40f134 Mon Sep 17 00:00:00 2001 From: sxxxxxb Date: Wed, 29 Jul 2026 09:01:27 +0900 Subject: [PATCH] =?UTF-8?q?=EC=86=8C=EC=8A=A4=EC=A0=95=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/net/jwsi/jcms/vpp/api/ApiClient.java | 14 ++++ .../java/net/jwsi/jcms/vpp/charger/Chgr.java | 27 ++++++++ .../jwsi/jcms/vpp/charger/ChgrController.java | 26 ++++++++ .../jwsi/jcms/vpp/charger/ChgrRepository.java | 8 +++ .../jwsi/jcms/vpp/charger/ChgrService.java | 66 +++++++++++++++++++ .../jcms/vpp/charger/ChgrSpecification.java | 4 ++ .../jwsi/jcms/vpp/charger/ResponseDto.java | 34 ++++++++++ .../jcms/vpp/station/StationController.java | 2 +- 8 files changed, 180 insertions(+), 1 deletion(-) create mode 100644 src/main/java/net/jwsi/jcms/vpp/charger/Chgr.java create mode 100644 src/main/java/net/jwsi/jcms/vpp/charger/ChgrController.java create mode 100644 src/main/java/net/jwsi/jcms/vpp/charger/ChgrRepository.java create mode 100644 src/main/java/net/jwsi/jcms/vpp/charger/ChgrService.java create mode 100644 src/main/java/net/jwsi/jcms/vpp/charger/ChgrSpecification.java create mode 100644 src/main/java/net/jwsi/jcms/vpp/charger/ResponseDto.java diff --git a/src/main/java/net/jwsi/jcms/vpp/api/ApiClient.java b/src/main/java/net/jwsi/jcms/vpp/api/ApiClient.java index 507ef27..95a4d61 100644 --- a/src/main/java/net/jwsi/jcms/vpp/api/ApiClient.java +++ b/src/main/java/net/jwsi/jcms/vpp/api/ApiClient.java @@ -1,6 +1,7 @@ package net.jwsi.jcms.vpp.api; import lombok.RequiredArgsConstructor; +import net.jwsi.jcms.vpp.charger.Chgr; import net.jwsi.jcms.vpp.provider.ProviderDto; import net.jwsi.jcms.vpp.station.StationDto; import org.springframework.core.ParameterizedTypeReference; @@ -44,4 +45,17 @@ public class ApiClient { .retrieve() .body(new ParameterizedTypeReference>>() {}); } + + public ApiResponse> fetchChgr(String baseUrl, String token) { + URI uri = UriComponentsBuilder.fromUriString(baseUrl) + .path("/api/charge/list") + .build() + .toUri(); + + return restClient.post() + .uri(uri) + .header("Authorization", "Bearer " + token) + .retrieve() + .body(new ParameterizedTypeReference>>() {}); + } } \ No newline at end of file diff --git a/src/main/java/net/jwsi/jcms/vpp/charger/Chgr.java b/src/main/java/net/jwsi/jcms/vpp/charger/Chgr.java new file mode 100644 index 0000000..e0b1271 --- /dev/null +++ b/src/main/java/net/jwsi/jcms/vpp/charger/Chgr.java @@ -0,0 +1,27 @@ +package net.jwsi.jcms.vpp.charger; + +import jakarta.persistence.Entity; +import jakarta.persistence.Id; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import lombok.ToString; +import net.jwsi.jcms.base.BaseStEntity; + +@NoArgsConstructor +@Setter +@Getter +@ToString +@Entity(name = "vpp_chgr") +public class Chgr extends BaseStEntity { + @Id + private String chgrId; //충전기 id(pk) + private String providerId; //충전사업자 id(pk) @Id + private String stId; //충전소 id(pk) @Id + private String stNm; //충전소 명 + private String chgrNm; //충전기 명 + private String speedTpCd; //충전기속도 코드 + private String chgrTypeCd; //충전기타입 코드 +} + + diff --git a/src/main/java/net/jwsi/jcms/vpp/charger/ChgrController.java b/src/main/java/net/jwsi/jcms/vpp/charger/ChgrController.java new file mode 100644 index 0000000..be6d530 --- /dev/null +++ b/src/main/java/net/jwsi/jcms/vpp/charger/ChgrController.java @@ -0,0 +1,26 @@ +package net.jwsi.jcms.vpp.charger; + +import net.jwsi.jcms.base.BaseController; +import net.jwsi.jcms.exception.JsonDataException; +import org.springframework.stereotype.Controller; +import java.util.List; + +@Controller +public class ChgrController extends BaseController { + + + public ChgrController(ChgrService service) { + super(service); + } + + @Override + protected void chkSelectList(List list) throws JsonDataException { + + } + + + @Override + protected void chkSelect(Chgr data) throws JsonDataException { + + } +} diff --git a/src/main/java/net/jwsi/jcms/vpp/charger/ChgrRepository.java b/src/main/java/net/jwsi/jcms/vpp/charger/ChgrRepository.java new file mode 100644 index 0000000..32d9972 --- /dev/null +++ b/src/main/java/net/jwsi/jcms/vpp/charger/ChgrRepository.java @@ -0,0 +1,8 @@ +package net.jwsi.jcms.vpp.charger; + +import net.jwsi.jcms.base.BaseRecStRepository; +import org.springframework.stereotype.Repository; + +@Repository +public interface ChgrRepository extends BaseRecStRepository { +} diff --git a/src/main/java/net/jwsi/jcms/vpp/charger/ChgrService.java b/src/main/java/net/jwsi/jcms/vpp/charger/ChgrService.java new file mode 100644 index 0000000..6199322 --- /dev/null +++ b/src/main/java/net/jwsi/jcms/vpp/charger/ChgrService.java @@ -0,0 +1,66 @@ +package net.jwsi.jcms.vpp.charger; + +import lombok.extern.slf4j.Slf4j; +import net.jwsi.jcms.base.BaseService; +import net.jwsi.jcms.base.EnumSqlType; +import net.jwsi.jcms.utils.HttpUtil; +import net.jwsi.jcms.utils.LoginUtil; +import net.jwsi.jcms.vpp.api.ApiClient; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.data.domain.Page; +import org.springframework.data.jpa.domain.Specification; +import org.springframework.stereotype.Service; + +import java.util.List; +@Service +@Slf4j +public class ChgrService extends BaseService { + + private final ApiClient apiClient; + @Value("${jcms.api.base-url}") + private String baseUrl; + + @Value("${jcms.api.token}") + private String apiToken; + public ChgrService(ChgrRepository repository, ApiClient apiClient) { + super(repository); + this.apiClient = apiClient; + } + + + @Override + protected Integer getUserId() { + return HttpUtil.getUserId(); + } + + @Override + protected String getUserName(Integer id) { + return LoginUtil.getUserName(id); + } + + @Override + protected Chgr newSearchParam(Chgr chgr) { + if(chgr == null){ chgr = new Chgr();} + return chgr; + } + + @Override + protected EnumSqlType useSqlTyp() { + return EnumSqlType.SPECIFICATION; + } + + @Override + protected Specification getSpecification(Chgr chgr) { + return null; + } + + @Override + protected Page _selectPage(Chgr chgr) { + return null; + } + + @Override + protected List _selectList(Chgr chgr) { + return null; + } +} diff --git a/src/main/java/net/jwsi/jcms/vpp/charger/ChgrSpecification.java b/src/main/java/net/jwsi/jcms/vpp/charger/ChgrSpecification.java new file mode 100644 index 0000000..5e55146 --- /dev/null +++ b/src/main/java/net/jwsi/jcms/vpp/charger/ChgrSpecification.java @@ -0,0 +1,4 @@ +package net.jwsi.jcms.vpp.charger; + +public class ChgrSpecification { +} diff --git a/src/main/java/net/jwsi/jcms/vpp/charger/ResponseDto.java b/src/main/java/net/jwsi/jcms/vpp/charger/ResponseDto.java new file mode 100644 index 0000000..811c419 --- /dev/null +++ b/src/main/java/net/jwsi/jcms/vpp/charger/ResponseDto.java @@ -0,0 +1,34 @@ +package net.jwsi.jcms.vpp.charger; + +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class ResponseDto { + private String providerId; + private String stId; + private String stNm; + private String chgrId; + private String chgrNm; + private String speedTp; + private String chgrType; + private double gpsXpos; + private double gpsYpos; + private String locInfo; + private String memshOnly; + private String installYy; + private String simulRechg; + private String simulChgrId; + + public Chgr toEntity(){ + Chgr chgr = new Chgr(); + chgr.setChgrId(this.chgrId); + chgr.setStId(this.stId); + chgr.setStNm(this.stNm); + chgr.setChgrNm(this.chgrNm); + chgr.setSpeedTpCd(this.speedTp); + chgr.setChgrTypeCd(this.chgrType); + return chgr; + } +} diff --git a/src/main/java/net/jwsi/jcms/vpp/station/StationController.java b/src/main/java/net/jwsi/jcms/vpp/station/StationController.java index e10592d..4097c5b 100644 --- a/src/main/java/net/jwsi/jcms/vpp/station/StationController.java +++ b/src/main/java/net/jwsi/jcms/vpp/station/StationController.java @@ -9,7 +9,6 @@ import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; -import java.util.HashMap; import java.util.List; import java.util.Map; @@ -28,6 +27,7 @@ public class StationController extends BaseController