Skip to content

Commit

Permalink
Merge pull request #46 from whatever-mentoring/refactor/2
Browse files Browse the repository at this point in the history
refactor: ์ฝ”๋“œ ์Šคํƒ€์ผ ์ปจ๋ฒค์…˜ ์ ์šฉ
  • Loading branch information
jooda00 authored Aug 17, 2024
2 parents 7d1921d + 1724925 commit edd2cac
Show file tree
Hide file tree
Showing 32 changed files with 1,726 additions and 1,733 deletions.
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package com.seulseul.seulseul.config;

import com.seulseul.seulseul.dto.Response.ResponseData;
import com.seulseul.seulseul.dto.response.ResponseData;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.ControllerAdvice;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,24 @@
package com.seulseul.seulseul.controller.alarm;

import com.seulseul.seulseul.dto.Response.ResponseData;
import java.io.IOException;
import java.text.ParseException;
import java.util.UUID;

import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.PatchMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RestController;

import com.seulseul.seulseul.dto.alarm.AlarmDto;
import com.seulseul.seulseul.dto.alarm.AlarmReqDto;
import com.seulseul.seulseul.dto.alarm.AlarmUpdateDto;
import com.seulseul.seulseul.dto.android.RouteDetailDto;
import com.seulseul.seulseul.dto.android.RouteDetailWrapDto;
import com.seulseul.seulseul.dto.response.ResponseData;
import com.seulseul.seulseul.entity.android.RouteDetail;
import com.seulseul.seulseul.entity.baseRoute.BaseRoute;
import com.seulseul.seulseul.entity.user.User;
Expand All @@ -16,93 +29,86 @@
import com.seulseul.seulseul.service.result.ComputeResultService;
import com.seulseul.seulseul.service.result.UpdateResultService;
import com.seulseul.seulseul.service.user.UserService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;

import java.io.IOException;
import java.text.ParseException;
import java.util.UUID;
import lombok.RequiredArgsConstructor;

@RestController
@RequiredArgsConstructor
@Slf4j
public class AlarmController {
private final AlarmService alarmService;
private final UserService userService;
private final BaseRouteService baseRouteService;
private final RouteDetailService routeDetailService;
private final ComputeResultService computeResultService;
private final UpdateResultService updateResultService;
private final FcmService fcmService;

@PostMapping("/v1/alarm")
public ResponseEntity<ResponseData> saveAlarm(@RequestBody AlarmReqDto dto, @RequestHeader("Auth") UUID uuid) throws IOException, ParseException {
User user = userService.getUserByUuid(uuid);
BaseRoute baseRoute = baseRouteService.findByUser(user);

//์•Œ๋žŒ ์ €์žฅ
AlarmDto alarmDto = alarmService.saveAlarm(dto, user);

//<์ถ”๊ฐ€>baseRoute ๊ฒฝ๋กœ ์„ค์ •
RouteDetailWrapDto wrapDto = new RouteDetailWrapDto();
RouteDetailDto routeDetailDto = computeResultService.computeTime(baseRoute.getId());

// RouteDetail DB์— ์ €์žฅ
RouteDetail routeDetail = routeDetailService.saveRouteDetail(routeDetailDto, baseRoute);

// ํ™˜์Šน์ด ์žˆ์œผ๋ฉด
if (routeDetailDto.getExName() != null) {
wrapDto.setBodyExList(routeDetailDto);
}
// ํ™˜์Šน์ด ์—†์œผ๋ฉด
else {
wrapDto.setBodyList(routeDetailDto);
}
wrapDto.setTimeList(routeDetailDto);

fcmService.schedule(baseRoute);

ResponseData responseData = new ResponseData(200, alarmDto);
return new ResponseEntity<>(responseData, HttpStatus.OK);
}

@PatchMapping("/v1/alarm")
public ResponseEntity<ResponseData> updateAlarm(@RequestBody AlarmUpdateDto updateDto, @RequestHeader("Auth") UUID uuid) throws IOException, ParseException {
User user = userService.getUserByUuid(uuid);
BaseRoute baseRoute = baseRouteService.findByUser(user);

//์•Œ๋žŒ ์ˆ˜์ •
AlarmDto alarmDto = alarmService.updateAlarm(updateDto, user);

//<์ถ”๊ฐ€>baseRoute ๊ฒฝ๋กœ ์„ค์ •
RouteDetailDto routeDetailDto = updateResultService.getUpdatedResult(baseRoute.getId());
RouteDetailWrapDto wrapDto = new RouteDetailWrapDto();
// RouteDetail DB์— ์ €์žฅ
RouteDetail routeDetail = routeDetailService.saveRouteDetail(routeDetailDto, baseRoute);
if (routeDetailDto.getExName() != null) { // ํ™˜์Šน์ด ์žˆ์œผ๋ฉด
wrapDto.setBodyExList(routeDetailDto);
} else { // ํ™˜์Šน์ด ์—†์œผ๋ฉด
wrapDto.setBodyList(routeDetailDto);
}
wrapDto.setTimeList(routeDetailDto);

if (baseRoute.getAlarm().isAlarmEnabled() == true) {
fcmService.schedule(baseRoute);
}
ResponseData responseData = new ResponseData(200, alarmDto);

return new ResponseEntity<>(responseData, HttpStatus.OK);
}

@PatchMapping("/v1/alarm/enabled/{id}")
public ResponseEntity<ResponseData> updateAlarm(@RequestHeader("Auth") UUID uuid, @PathVariable("id") Long id) {
User user = userService.getUserByUuid(uuid);
AlarmDto alarmDto = alarmService.updateAlarmEnabled(id, user);
ResponseData responseData = new ResponseData(200, alarmDto);
return new ResponseEntity<>(responseData, HttpStatus.OK);
}

private final AlarmService alarmService;
private final UserService userService;
private final BaseRouteService baseRouteService;
private final RouteDetailService routeDetailService;
private final ComputeResultService computeResultService;
private final UpdateResultService updateResultService;
private final FcmService fcmService;

@PostMapping("/v1/alarm")
public ResponseEntity<ResponseData> createAlarm(@RequestBody AlarmReqDto dto,
@RequestHeader("Auth") UUID uuid) throws IOException, ParseException {
User user = userService.findUserByUuid(uuid);
BaseRoute baseRoute = baseRouteService.findBaseRouteByUser(user);

//์•Œ๋žŒ ์ €์žฅ
AlarmDto alarmDto = alarmService.saveAlarm(dto, user);

//<์ถ”๊ฐ€>baseRoute ๊ฒฝ๋กœ ์„ค์ •
RouteDetailWrapDto wrapDto = new RouteDetailWrapDto();
RouteDetailDto routeDetailDto = computeResultService.computeTime(baseRoute.getId());

// RouteDetail DB์— ์ €์žฅ
RouteDetail routeDetail = routeDetailService.saveRouteDetail(routeDetailDto, baseRoute);

// ํ™˜์Šน์ด ์žˆ์œผ๋ฉด
if (routeDetailDto.getExName() != null) {
wrapDto.setBodyExList(routeDetailDto);
}
// ํ™˜์Šน์ด ์—†์œผ๋ฉด
else {
wrapDto.setBodyList(routeDetailDto);
}
wrapDto.setTimeList(routeDetailDto);

fcmService.schedule(baseRoute);

ResponseData responseData = new ResponseData(200, alarmDto);
return new ResponseEntity<>(responseData, HttpStatus.OK);
}

@PatchMapping("/v1/alarm")
public ResponseEntity<ResponseData> updateAlarm(@RequestBody AlarmUpdateDto updateDto,
@RequestHeader("Auth") UUID uuid) throws IOException, ParseException {
User user = userService.findUserByUuid(uuid);
BaseRoute baseRoute = baseRouteService.findBaseRouteByUser(user);

//์•Œ๋žŒ ์ˆ˜์ •
AlarmDto alarmDto = alarmService.updateAlarm(updateDto, user);

//<์ถ”๊ฐ€>baseRoute ๊ฒฝ๋กœ ์„ค์ •
RouteDetailDto routeDetailDto = updateResultService.findUpdatedResult(baseRoute.getId());
RouteDetailWrapDto wrapDto = new RouteDetailWrapDto();
// RouteDetail DB์— ์ €์žฅ
RouteDetail routeDetail = routeDetailService.saveRouteDetail(routeDetailDto, baseRoute);
if (routeDetailDto.getExName() != null) { // ํ™˜์Šน์ด ์žˆ์œผ๋ฉด
wrapDto.setBodyExList(routeDetailDto);
} else { // ํ™˜์Šน์ด ์—†์œผ๋ฉด
wrapDto.setBodyList(routeDetailDto);
}
wrapDto.setTimeList(routeDetailDto);

if (baseRoute.getAlarm().isAlarmEnabled() == true) {
fcmService.schedule(baseRoute);
}
ResponseData responseData = new ResponseData(200, alarmDto);

return new ResponseEntity<>(responseData, HttpStatus.OK);
}

@PatchMapping("/v1/alarm/enabled/{id}")
public ResponseEntity<ResponseData> updateAlarm(@RequestHeader("Auth") UUID uuid, @PathVariable("id") Long id) {
User user = userService.findUserByUuid(uuid);
AlarmDto alarmDto = alarmService.updateAlarmEnabled(id, user);
ResponseData responseData = new ResponseData(200, alarmDto);
return new ResponseEntity<>(responseData, HttpStatus.OK);
}
}
Original file line number Diff line number Diff line change
@@ -1,8 +1,18 @@
package com.seulseul.seulseul.controller.android;

import com.seulseul.seulseul.dto.Response.ResponseData;
import java.io.IOException;
import java.text.ParseException;
import java.util.UUID;

import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RestController;

import com.seulseul.seulseul.dto.android.RouteDetailDto;
import com.seulseul.seulseul.dto.android.RouteDetailWrapDto;
import com.seulseul.seulseul.dto.response.ResponseData;
import com.seulseul.seulseul.entity.android.RouteDetail;
import com.seulseul.seulseul.entity.baseRoute.BaseRoute;
import com.seulseul.seulseul.entity.user.User;
Expand All @@ -11,55 +21,47 @@
import com.seulseul.seulseul.service.result.ComputeResultService;
import com.seulseul.seulseul.service.result.UpdateResultService;
import com.seulseul.seulseul.service.user.UserService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RestController;

import java.io.IOException;
import java.text.ParseException;
import java.util.UUID;
import lombok.RequiredArgsConstructor;

@RestController
@RequiredArgsConstructor
@Slf4j
public class RouteDetailController {
private final RouteDetailService routeDetailService;
private final BaseRouteService baseRouteService;
private final UserService userService;
private final UpdateResultService updateResultService;
private final ComputeResultService computeResultService;
private final RouteDetailService routeDetailService;
private final BaseRouteService baseRouteService;
private final UserService userService;
private final UpdateResultService updateResultService;
private final ComputeResultService computeResultService;

@GetMapping("/v1/route/detail")
public ResponseEntity<ResponseData> routeDetail(@RequestHeader("Auth") UUID uuid) throws ParseException, IOException {
User user = userService.getUserByUuid(uuid);
BaseRoute baseRoute = baseRouteService.findByUser(user);
RouteDetailDto routeDetailDto = new RouteDetailDto();
// ์ฒซ๋ฒˆ์งธ ์ž‘๋™ ์‹œ
if (baseRoute.getSID() == 0 && baseRoute.getEID() == 0) {
routeDetailDto = computeResultService.computeTime(baseRoute.getId());
}
// ์ถœ๋ฐœ์ง€๋‚˜ ๋„์ฐฉ์ง€ ์ขŒํ‘œ๊ฐ€ ๋ณ€๊ฒฝ๋˜์–ด ์ž‘๋™ ์‹œ
else {
routeDetailDto = updateResultService.getUpdatedResult(baseRoute.getId());
}
RouteDetailWrapDto wrapDto = new RouteDetailWrapDto();
// RouteDetail DB์— ์ €์žฅ
RouteDetail routeDetail = routeDetailService.saveRouteDetail(routeDetailDto, baseRoute);
@GetMapping("/v1/route/detail")
public ResponseEntity<ResponseData> getRouteDetail(@RequestHeader("Auth") UUID uuid) throws
ParseException,
IOException {
User user = userService.findUserByUuid(uuid);
BaseRoute baseRoute = baseRouteService.findBaseRouteByUser(user);
RouteDetailDto routeDetailDto = new RouteDetailDto();
// ์ฒซ๋ฒˆ์งธ ์ž‘๋™ ์‹œ
if (baseRoute.getSID() == 0 && baseRoute.getEID() == 0) {
routeDetailDto = computeResultService.computeTime(baseRoute.getId());
}
// ์ถœ๋ฐœ์ง€๋‚˜ ๋„์ฐฉ์ง€ ์ขŒํ‘œ๊ฐ€ ๋ณ€๊ฒฝ๋˜์–ด ์ž‘๋™ ์‹œ
else {
routeDetailDto = updateResultService.findUpdatedResult(baseRoute.getId());
}
RouteDetailWrapDto wrapDto = new RouteDetailWrapDto();
// RouteDetail DB์— ์ €์žฅ
RouteDetail routeDetail = routeDetailService.saveRouteDetail(routeDetailDto, baseRoute);

// ํ™˜์Šน์ด ์žˆ์œผ๋ฉด
if (routeDetailDto.getExName() != null) {
wrapDto.setBodyExList(routeDetailDto);
}
// ํ™˜์Šน์ด ์—†์œผ๋ฉด
else {
wrapDto.setBodyList(routeDetailDto);
}
wrapDto.setTimeList(routeDetailDto);
ResponseData responseData = new ResponseData(200, wrapDto);
return new ResponseEntity<>(responseData, HttpStatus.OK);
}
// ํ™˜์Šน์ด ์žˆ์œผ๋ฉด
if (routeDetailDto.getExName() != null) {
wrapDto.setBodyExList(routeDetailDto);
}
// ํ™˜์Šน์ด ์—†์œผ๋ฉด
else {
wrapDto.setBodyList(routeDetailDto);
}
wrapDto.setTimeList(routeDetailDto);
ResponseData responseData = new ResponseData(200, wrapDto);
return new ResponseEntity<>(responseData, HttpStatus.OK);
}
}
Loading

0 comments on commit edd2cac

Please sign in to comment.