diff --git a/pom.xml b/pom.xml
index c25209f..d6039b8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -53,6 +53,11 @@
modelmapper
2.3.8
+
+
+ org.springframework.boot
+ spring-boot-starter-validation
+
diff --git a/src/main/java/kb/wgwg/controller/UserController.java b/src/main/java/kb/wgwg/controller/UserController.java
index 5546fea..5c2d990 100644
--- a/src/main/java/kb/wgwg/controller/UserController.java
+++ b/src/main/java/kb/wgwg/controller/UserController.java
@@ -8,13 +8,17 @@
import lombok.RequiredArgsConstructor;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
+import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.persistence.EntityNotFoundException;
+import javax.validation.constraints.Email;
+import javax.validation.constraints.NotEmpty;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+@Validated
@RestController
@RequiredArgsConstructor
@RequestMapping(value = "/users")
@@ -44,20 +48,24 @@ public ResponseEntity readById(@RequestBody UserReadRequestDTO
return ResponseEntity.ok(result2);
}
-
@GetMapping("/{email}/check/email")
- public ResponseEntity checkEmailDup(@PathVariable String email){
+ public ResponseEntity checkEmailDup(@PathVariable @Email @NotEmpty String email){
BaseResponseDTO result = new BaseResponseDTO<>();
+
if(userService.checkEmailDup(email)){
result.setStatus(404);
result.setSuccess(false);
result.setMessage("이메일 중복.");
- }else{
+
+ } else{
result.setStatus(200);
result.setSuccess(true);
result.setMessage("이메일 사용 가능.");
+
+ return ResponseEntity.ok(result);
}
- return ResponseEntity.ok(result);
+
+ return ResponseEntity.badRequest().body(result);
}
@GetMapping("/{nickName}/check/nickname")
@@ -67,29 +75,37 @@ public ResponseEntity checkNickNameDup(@PathVariable String nic
result.setStatus(404);
result.setSuccess(false);
result.setMessage("닉네임 중복.");
- }else{
+
+ } else{
result.setStatus(200);
result.setSuccess(true);
result.setMessage("닉네임 사용 가능.");
+
+ return ResponseEntity.ok(result);
}
- return ResponseEntity.ok(result);
+
+ return ResponseEntity.badRequest().body(result);
}
@PostMapping("/insert")
public ResponseEntity insert(@RequestBody UserInsertRequestDTO dto){
BaseResponseDTO result = new BaseResponseDTO<>();
+
try{
UserReadResponseDTO insertResult = userService.insertUser(dto);
result.setMessage("유저 등록 완료.");
result.setStatus(200);
result.setSuccess(true);
result.setData(insertResult);
+
+ return ResponseEntity.ok(result);
} catch (Exception e){
result.setMessage(e.getMessage());
result.setSuccess(false);
result.setStatus(500);
+
+ return ResponseEntity.internalServerError().body(result);
}
- return ResponseEntity.ok(result);
}
@DeleteMapping(value = "/delete/{id}")
diff --git a/src/main/java/kb/wgwg/service/NChallengeService.java b/src/main/java/kb/wgwg/service/NChallengeService.java
index 3e1dea5..732a988 100644
--- a/src/main/java/kb/wgwg/service/NChallengeService.java
+++ b/src/main/java/kb/wgwg/service/NChallengeService.java
@@ -14,6 +14,7 @@
import javax.persistence.EntityManager;
import javax.persistence.EntityNotFoundException;
+import java.time.LocalDateTime;
import java.util.HashMap;
import java.util.Map;
import java.util.function.Function;
@@ -36,13 +37,28 @@ public NChallengeInsertResponseDTO insertNChallenge(NChallengeInsertRequestDTO d
() -> new EntityNotFoundException("해당 사용자를 찾을 수 없습니다.")
);
+ LocalDateTime currentDate = LocalDateTime.now();
+ LocalDateTime endDate = dto.getStartDate().plusDays(6);
+
+ String status;
+
+ // 현재 날짜와 startDate, endDate 비교하여 상태 설정
+ if (currentDate.isBefore(dto.getStartDate())) {
+ status = "모집중";
+ } else if (currentDate.isEqual(dto.getStartDate()) ||
+ (currentDate.isAfter(dto.getStartDate()) && currentDate.isBefore(endDate))) {
+ status = "진행중";
+ } else {
+ status = "종료";
+ }
+
NChallengeInsertEndDateRequestDTO finalDto = NChallengeInsertEndDateRequestDTO.builder()
.ownerId(dto.getOwnerId())
.title(dto.getTitle())
.description(dto.getDescription())
- .status(dto.getStatus())
+ .status(status)
.startDate(dto.getStartDate())
- .endDate(dto.getStartDate().plusDays(7))
+ .endDate(dto.getStartDate().plusDays(6))
.deposit(dto.getDeposit())
.limitAmount(dto.getLimitAmount())
.account(dto.getAccount())