From d56a59b5dd8dd372f0dbca44b8bc6ff5062aed41 Mon Sep 17 00:00:00 2001 From: jeomxon Date: Wed, 20 Jul 2022 16:25:48 +0900 Subject: [PATCH 1/2] Fix Token Error : Remove setToken --- .../domain/config/filter/CustomAuthorizationFilter.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/com/prob_jr/sikcal_app/domain/config/filter/CustomAuthorizationFilter.java b/src/main/java/com/prob_jr/sikcal_app/domain/config/filter/CustomAuthorizationFilter.java index 0207d8d..8947dda 100644 --- a/src/main/java/com/prob_jr/sikcal_app/domain/config/filter/CustomAuthorizationFilter.java +++ b/src/main/java/com/prob_jr/sikcal_app/domain/config/filter/CustomAuthorizationFilter.java @@ -73,7 +73,6 @@ protected void doFilterInternal(HttpServletRequest request, HttpServletResponse filterChain.doFilter(request,response); //아직 인증이 진행중임 }catch (Exception exception){ //토큰이 valid 만료되었거나 무슨일이 생길때 LOGGER.error("토큰 varify 과정중 error발생:{} ",exception.getMessage() ); - response.setHeader("token error",exception.getMessage()); // response.sendError(FORBIDDEN.value()); //403 forbidden 코드 response.setStatus(FORBIDDEN.value()); //에러시 json형태로 보내기 From 37cd7544bba8dcb0bde2871c64f02afd0b876102 Mon Sep 17 00:00:00 2001 From: jeomxon Date: Wed, 20 Jul 2022 16:26:47 +0900 Subject: [PATCH 2/2] Update Calendar Logic --- .../sikcal_app/SikcalAppApplication.java | 2 ++ .../domain/controller/CalendarController.java | 15 ++++++++------- .../domain/controller/RecordController.java | 3 --- .../controller/dto/CalendarStateInfo.java | 18 ++++++++++++++++++ .../controller/dto/FoodInfoResponse.java | 1 - .../domain/service/CalendarService.java | 13 ++++++++----- 6 files changed, 36 insertions(+), 16 deletions(-) create mode 100644 src/main/java/com/prob_jr/sikcal_app/domain/controller/dto/CalendarStateInfo.java diff --git a/src/main/java/com/prob_jr/sikcal_app/SikcalAppApplication.java b/src/main/java/com/prob_jr/sikcal_app/SikcalAppApplication.java index e23f7ec..7fd6576 100644 --- a/src/main/java/com/prob_jr/sikcal_app/SikcalAppApplication.java +++ b/src/main/java/com/prob_jr/sikcal_app/SikcalAppApplication.java @@ -12,6 +12,7 @@ import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.Bean; +import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; import org.springframework.security.crypto.password.PasswordEncoder; @@ -19,6 +20,7 @@ import java.time.LocalDate; import java.util.ArrayList; +@EnableScheduling @SpringBootApplication @RequiredArgsConstructor public class SikcalAppApplication { diff --git a/src/main/java/com/prob_jr/sikcal_app/domain/controller/CalendarController.java b/src/main/java/com/prob_jr/sikcal_app/domain/controller/CalendarController.java index f291bf5..86cb729 100644 --- a/src/main/java/com/prob_jr/sikcal_app/domain/controller/CalendarController.java +++ b/src/main/java/com/prob_jr/sikcal_app/domain/controller/CalendarController.java @@ -1,13 +1,13 @@ package com.prob_jr.sikcal_app.domain.controller; -import com.prob_jr.sikcal_app.domain.CalendarStatus; +import com.prob_jr.sikcal_app.domain.controller.dto.CalendarStateInfo; import com.prob_jr.sikcal_app.domain.controller.dto.CheckTargetRequest; import com.prob_jr.sikcal_app.domain.service.CalendarService; import lombok.RequiredArgsConstructor; import org.springframework.http.ResponseEntity; -import org.springframework.scheduling.annotation.Scheduled; import org.springframework.web.bind.annotation.*; + @RestController @RequiredArgsConstructor @RequestMapping("/api/user") @@ -15,12 +15,13 @@ public class CalendarController { private final CalendarService calendarService; - @Scheduled(cron = "0 0 0 * * *") - @GetMapping("/calendar-goal") - public ResponseEntity checkTargetWeight(@RequestBody CheckTargetRequest checkTargetRequest) { - calendarService.checkTargetKcal(checkTargetRequest.toServiceDto()); + @GetMapping("/calendar") + public ResponseEntity checkTargetWeight(@ModelAttribute CheckTargetRequest checkTargetRequest) { + CalendarStateInfo calendarStateInfo = calendarService.checkTargetKcal(checkTargetRequest.toServiceDto()); - return ResponseEntity.ok().build(); + return ResponseEntity.ok(calendarStateInfo); } + + } diff --git a/src/main/java/com/prob_jr/sikcal_app/domain/controller/RecordController.java b/src/main/java/com/prob_jr/sikcal_app/domain/controller/RecordController.java index e852981..3f8522f 100644 --- a/src/main/java/com/prob_jr/sikcal_app/domain/controller/RecordController.java +++ b/src/main/java/com/prob_jr/sikcal_app/domain/controller/RecordController.java @@ -39,9 +39,6 @@ public ResponseEntity deleteRecord(@PathVariable(value = "recordId") Long return ResponseEntity.ok().build(); } - /*@PostMapping("/") - public ResponseEntity*/ - public ResponseEntity> getFavorites(HttpServletRequest request){ String authorizationHeader = request.getHeader(AUTHORIZATION); //REFRESHTOKEN잉 있다면 diff --git a/src/main/java/com/prob_jr/sikcal_app/domain/controller/dto/CalendarStateInfo.java b/src/main/java/com/prob_jr/sikcal_app/domain/controller/dto/CalendarStateInfo.java new file mode 100644 index 0000000..534e0d6 --- /dev/null +++ b/src/main/java/com/prob_jr/sikcal_app/domain/controller/dto/CalendarStateInfo.java @@ -0,0 +1,18 @@ +package com.prob_jr.sikcal_app.domain.controller.dto; + +import com.prob_jr.sikcal_app.domain.CalendarStatus; +import lombok.AllArgsConstructor; +import lombok.Getter; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDate; + +@Getter +@AllArgsConstructor +public class CalendarStateInfo { + + @DateTimeFormat(pattern = "yyyy-MM-dd") + private LocalDate yesterday; + + private CalendarStatus status; +} diff --git a/src/main/java/com/prob_jr/sikcal_app/domain/controller/dto/FoodInfoResponse.java b/src/main/java/com/prob_jr/sikcal_app/domain/controller/dto/FoodInfoResponse.java index dbab1d6..ddb53b9 100644 --- a/src/main/java/com/prob_jr/sikcal_app/domain/controller/dto/FoodInfoResponse.java +++ b/src/main/java/com/prob_jr/sikcal_app/domain/controller/dto/FoodInfoResponse.java @@ -10,7 +10,6 @@ public class FoodInfoResponse { private String foodName; - private int carbohydrate; private int protein; private int fat; diff --git a/src/main/java/com/prob_jr/sikcal_app/domain/service/CalendarService.java b/src/main/java/com/prob_jr/sikcal_app/domain/service/CalendarService.java index df3d42f..dd04ce0 100644 --- a/src/main/java/com/prob_jr/sikcal_app/domain/service/CalendarService.java +++ b/src/main/java/com/prob_jr/sikcal_app/domain/service/CalendarService.java @@ -4,6 +4,7 @@ import com.prob_jr.sikcal_app.domain.CalendarStatus; import com.prob_jr.sikcal_app.domain.Member; import com.prob_jr.sikcal_app.domain.Record; +import com.prob_jr.sikcal_app.domain.controller.dto.CalendarStateInfo; import com.prob_jr.sikcal_app.domain.repository.CalendarRepository; import com.prob_jr.sikcal_app.domain.repository.MemberRepository; import com.prob_jr.sikcal_app.domain.repository.RecordRepository; @@ -31,26 +32,26 @@ public class CalendarService { * 날짜별 목표 칼로리 달성 표시 */ @Transactional - public void checkTargetKcal(TargetKcalCheckDto targetKcalCheckDto) { - + public CalendarStateInfo checkTargetKcal(TargetKcalCheckDto targetKcalCheckDto) { String memberId = targetKcalCheckDto.getMemberId(); + LocalDate yesterday = LocalDate.now().minusDays(1); //멤버 조회 Member member = memberRepository.findById(memberId).orElseThrow(); //하루 전날의 식단 조회 - List recordList = recordRepository.findAllByRecordDateEquals(LocalDate.now().minusDays(1)); + List recordList = recordRepository.findAllByRecordDateEquals(yesterday); //캘린더 생성 Calendar calendar = Calendar.createCalendar(member); int exTotalKcal = 0; - //인자로 오는 멤버의 식단만 새로운 리스트에 삽입 + //인자로 오는 멤버의 식단의 총 칼로리만 새로운 변수에 더함 for (Record record : recordList) { if (member.equals(record.getMember())) { exTotalKcal += record.getTotalKcal(); } } - + //인자로 오는 멤버의 목표 섭취 칼로리를 가져옴 InfoDto infoDto = memberService.searchInfoById(memberId); int requiredTotalKcal = infoDto.getRequiredTotal(); @@ -58,9 +59,11 @@ public void checkTargetKcal(TargetKcalCheckDto targetKcalCheckDto) { if (requiredTotalKcal <= exTotalKcal) { Calendar successCalendar = Calendar.checkTarget(calendar, CalendarStatus.SUCCESS); calendarRepository.save(successCalendar); + return new CalendarStateInfo(yesterday, CalendarStatus.SUCCESS); } else { Calendar failCalendar = Calendar.checkTarget(calendar, CalendarStatus.FAIL); calendarRepository.save(failCalendar); + return new CalendarStateInfo(yesterday, CalendarStatus.FAIL); } }