Skip to content

Commit 96e2fe7

Browse files
authored
Merge pull request #133 from prgrms-aibe-devcourse/feat/youth_policy
refactor: 청년정책 신청기간 유효한 게시글만 받아오도록 수정
2 parents b18baae + 0f5b3f7 commit 96e2fe7

5 files changed

Lines changed: 12 additions & 21 deletions

File tree

src/main/java/store/lastdance/controller/youthpolicy/YouthPolicyController.java

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -17,22 +17,11 @@ public class YouthPolicyController {
1717

1818
private final YouthPolicyService youthPolicyService;
1919

20-
/**
21-
* 모든 청년 정책 목록을 가져옵니다.
22-
* GET /api/v1/youth-policy
23-
* @return 청년 정책 목록 DTO 배열
24-
*/
2520
@GetMapping
2621
public List<YouthPolicyDTO> getAllPolicies() {
2722
return youthPolicyService.getAllPolicies();
2823
}
2924

30-
/**
31-
* 특정 청년 정책을 ID(plcyNo)로 가져옵니다.
32-
* GET /api/v1/youth-policy/{plcyNo}
33-
* @param plcyNo 조회할 정책의 고유 번호
34-
* @return 단일 청년 정책 DTO 객체
35-
*/
3625
@GetMapping("/{plcyNo}")
3726
public ResponseEntity<YouthPolicyDTO> getPolicyByPlcyNo(@PathVariable String plcyNo) {
3827
try {
@@ -43,11 +32,6 @@ public ResponseEntity<YouthPolicyDTO> getPolicyByPlcyNo(@PathVariable String plc
4332
}
4433
}
4534

46-
/**
47-
* Open API와 정책 데이터를 동기화합니다. (테스트용)
48-
* POST /api/v1/youth-policy/test
49-
* @return 동기화 결과 메시지
50-
*/
5135
@PostMapping("/test")
5236
public ResponseEntity<String> syncNow() {
5337
youthPolicyService.syncPoliciesWithOpenApi();

src/main/java/store/lastdance/domain/youthpolicy/YouthPolicy.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,5 +59,4 @@ public YouthPolicy(String plcyNo, String plcyNm, String plcyKywdNm, String plcyE
5959
this.lclsfNm = lclsfNm;
6060
this.mclsfNm = mclsfNm;
6161
}
62-
}
63-
62+
}

src/main/java/store/lastdance/dto/youthpolicy/YouthPolicyDTO.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,4 @@ public class YouthPolicyDTO {
2020
private String plcySprtCn;
2121
private String lclsfNm;
2222
private String mclsfNm;
23-
}
23+
}

src/main/java/store/lastdance/service/youthpolicy/YouthPolicyServiceImpl.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,14 +54,20 @@ public void syncPoliciesWithOpenApi() {
5454
String endDate = node.path("bizPrdEndYmd").asText();
5555
if (endDate.isEmpty() || endDate.compareTo(today.toString().replaceAll("-", "")) < 0) continue;
5656

57+
// aplyYmd가 null이거나 비어있으면 저장하지 않도록 추가된 로직
58+
String aplyYmd = node.path("aplyYmd").asText();
59+
if (aplyYmd == null || aplyYmd.isEmpty()) {
60+
continue;
61+
}
62+
5763
YouthPolicy policy = YouthPolicy.builder()
5864
.plcyNo(node.path("plcyNo").asText())
5965
.plcyNm(node.path("plcyNm").asText())
6066
.plcyKywdNm(node.path("plcyKywdNm").asText())
6167
.plcyExplnCn(node.path("plcyExplnCn").asText())
6268
.bizPrdBgngYmd(node.path("bizPrdBgngYmd").asText())
6369
.bizPrdEndYmd(endDate)
64-
.aplyYmd(node.path("aplyYmd").asText())
70+
.aplyYmd(aplyYmd)
6571
.plcySprtCn(node.path("plcySprtCn").asText())
6672
.lclsfNm(node.path("lclsfNm").asText())
6773
.mclsfNm(node.path("mclsfNm").asText())
@@ -82,6 +88,8 @@ private YouthPolicyDTO convertToDto(YouthPolicy policy) {
8288
.plcyKywdNm(policy.getPlcyKywdNm())
8389
.plcyExplnCn(policy.getPlcyExplnCn())
8490
.bizPrdBgngYmd(policy.getBizPrdBgngYmd())
91+
.plcyStDt(policy.getBizPrdBgngYmd())
92+
.plcyEndDt(policy.getBizPrdEndYmd())
8593
.bizPrdEndYmd(policy.getBizPrdEndYmd())
8694
.aplyYmd(policy.getAplyYmd())
8795
.plcySprtCn(policy.getPlcySprtCn())

src/main/java/store/lastdance/util/youthpolicy/YouthPolicyClient.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,4 +42,4 @@ public JsonNode getYouthPolicies(int pageNum, int pageSize, String keyword) {
4242
throw new RuntimeException("청년정책 응답 파싱 실패", e);
4343
}
4444
}
45-
}
45+
}

0 commit comments

Comments
 (0)