From 48b08ad4372f80be6a6817eeb52d9846d1a496d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=A4=80=EC=8D=A8=ED=81=AC?= Date: Wed, 3 Jan 2024 03:53:32 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20webconfig=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/teami/config/WebConfig.java | 18 ++++++++++++++++++ .../calendar/entitty/CalendarMission.java | 2 ++ .../member/controller/MemberController.java | 8 +++++--- .../member/dto/response/LoginResponse.java | 4 ---- .../member/dto/response/MemberIdResponse.java | 10 ++++++++++ .../domain/member/service/MemberService.java | 8 ++++++++ .../domain/mission/service/MissionService.java | 5 +++-- .../repository/MemberRewardRepository.java | 4 +++- .../domain/reward/service/RewardService.java | 4 ++-- .../domain/test/controller/HttpsTest.java | 16 ++++++++++++++++ 10 files changed, 67 insertions(+), 12 deletions(-) create mode 100644 src/main/java/com/teami/config/WebConfig.java delete mode 100644 src/main/java/com/teami/domain/member/dto/response/LoginResponse.java create mode 100644 src/main/java/com/teami/domain/member/dto/response/MemberIdResponse.java create mode 100644 src/main/java/com/teami/domain/test/controller/HttpsTest.java diff --git a/src/main/java/com/teami/config/WebConfig.java b/src/main/java/com/teami/config/WebConfig.java new file mode 100644 index 0000000..b456819 --- /dev/null +++ b/src/main/java/com/teami/config/WebConfig.java @@ -0,0 +1,18 @@ +package com.teami.config; + +import org.springframework.context.annotation.Configuration; +import org.springframework.web.servlet.config.annotation.CorsRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; + +@Configuration +public class WebConfig implements WebMvcConfigurer { + @Override + public void addCorsMappings(CorsRegistry registry) { + registry.addMapping("/**") + .allowedOrigins("*") + .allowedHeaders("*") + .allowedMethods("GET", "POST", "PUT", "DELETE", "HEAD", "OPTIONS", "PATCH") + .exposedHeaders("Authorization"); + } +} + diff --git a/src/main/java/com/teami/domain/calendar/entitty/CalendarMission.java b/src/main/java/com/teami/domain/calendar/entitty/CalendarMission.java index 3cab384..5faf518 100644 --- a/src/main/java/com/teami/domain/calendar/entitty/CalendarMission.java +++ b/src/main/java/com/teami/domain/calendar/entitty/CalendarMission.java @@ -1,5 +1,7 @@ package com.teami.domain.calendar.entitty; +import com.teami.domain.member.entitty.Member; +import com.teami.domain.mission.entity.Mission; import com.teami.global.common.BaseEntity; import jakarta.persistence.*; import lombok.*; diff --git a/src/main/java/com/teami/domain/member/controller/MemberController.java b/src/main/java/com/teami/domain/member/controller/MemberController.java index f915607..13822c8 100644 --- a/src/main/java/com/teami/domain/member/controller/MemberController.java +++ b/src/main/java/com/teami/domain/member/controller/MemberController.java @@ -3,6 +3,7 @@ import com.teami.domain.member.dto.request.LoginRequest; import com.teami.domain.member.dto.request.MemberRequest; import com.teami.domain.member.dto.request.VisitorCommentReq; +import com.teami.domain.member.dto.response.MemberIdResponse; import com.teami.domain.member.dto.response.VisitorCommentRes; import com.teami.domain.member.entitty.Member; import com.teami.domain.member.service.MemberService; @@ -10,6 +11,7 @@ import io.swagger.v3.oas.annotations.Operation; import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; @@ -26,15 +28,15 @@ public class MemberController { @PostMapping("/signup") - public ApiResponse addMember(@RequestBody MemberRequest memberRequest){ + public ApiResponse addMember(@RequestBody MemberRequest memberRequest){ boolean res = memberService.addMember(memberRequest); return ApiResponse.onSuccess(null); } @PostMapping("/login") - public ApiResponse login(@RequestBody LoginRequest loginRequest){ + public ApiResponse login(@RequestBody LoginRequest loginRequest){ Member res = memberService.login(loginRequest); - return ApiResponse.onSuccess(res); + return ApiResponse.onSuccess(new MemberIdResponse(res.getId())); } diff --git a/src/main/java/com/teami/domain/member/dto/response/LoginResponse.java b/src/main/java/com/teami/domain/member/dto/response/LoginResponse.java deleted file mode 100644 index f0676ea..0000000 --- a/src/main/java/com/teami/domain/member/dto/response/LoginResponse.java +++ /dev/null @@ -1,4 +0,0 @@ -package com.teami.domain.member.dto.response; - -public class LoginResponse { -} diff --git a/src/main/java/com/teami/domain/member/dto/response/MemberIdResponse.java b/src/main/java/com/teami/domain/member/dto/response/MemberIdResponse.java new file mode 100644 index 0000000..558a8b3 --- /dev/null +++ b/src/main/java/com/teami/domain/member/dto/response/MemberIdResponse.java @@ -0,0 +1,10 @@ +package com.teami.domain.member.dto.response; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@Getter +@AllArgsConstructor +public class MemberIdResponse { + private Long memberId; +} diff --git a/src/main/java/com/teami/domain/member/service/MemberService.java b/src/main/java/com/teami/domain/member/service/MemberService.java index 1bf1c2d..591f322 100644 --- a/src/main/java/com/teami/domain/member/service/MemberService.java +++ b/src/main/java/com/teami/domain/member/service/MemberService.java @@ -46,14 +46,20 @@ public boolean addMember(MemberRequest memberRequest){ String nickname = memberRequest.getNickname(); String pw = memberRequest.getPassword(); + //pw 암호화하는 과정 필요!!!!!!!!!! + + //아이디가 존재하면 if(memberRepository.findMemberByLoginId(loginId) != null){ throw new ExceptionHandler(ErrorStatus.MEMBER_FOUND); } + //닉네임이 존재하면 else if(memberRepository.findMemberByNickname(nickname) != null){ throw new ExceptionHandler(ErrorStatus.NICKNAME_EXIST); } + Member member = new Member(memberRequest); + memberRepository.save(member); rewardService.createReward_Member(member); return true; @@ -73,6 +79,8 @@ public Member login(LoginRequest loginRequest) { } public Boolean addVisitorComment(VisitorCommentReq visitorCommentReq) { + + Optional writer = memberRepository.findById(visitorCommentReq.getWriterId()); Optional owner = memberRepository.findById(visitorCommentReq.getOwnerId()); diff --git a/src/main/java/com/teami/domain/mission/service/MissionService.java b/src/main/java/com/teami/domain/mission/service/MissionService.java index ef2b09f..0c70211 100644 --- a/src/main/java/com/teami/domain/mission/service/MissionService.java +++ b/src/main/java/com/teami/domain/mission/service/MissionService.java @@ -19,11 +19,11 @@ @Service @RequiredArgsConstructor public class MissionService { + @Value("${chat.api}") private String API_KEY; - @Value("${chat.comment}") - private String comment; + private static final String comment = "30일동안 하루 단위로 수행할 간단한 미션 생성해서 [n일차 : 미션] json 형태로 보내줘"; private static final String OPENAI_API_URL = "https://api.openai.com/v1/chat/completions"; @@ -62,6 +62,7 @@ public List generateMission() throws Exception { } public List parseMissionFromContent(String content) { + System.out.println("준석" + content); List missions = new ArrayList<>(); String[] lines = content.split("\n"); for (String line : lines) { diff --git a/src/main/java/com/teami/domain/reward/repository/MemberRewardRepository.java b/src/main/java/com/teami/domain/reward/repository/MemberRewardRepository.java index c52880f..eacb995 100644 --- a/src/main/java/com/teami/domain/reward/repository/MemberRewardRepository.java +++ b/src/main/java/com/teami/domain/reward/repository/MemberRewardRepository.java @@ -3,11 +3,13 @@ import com.teami.domain.member.entitty.Member; import com.teami.domain.reward.dto.RewardResponse; import com.teami.domain.reward.entity.MemberReward; +import com.teami.domain.reward.entity.Reward; import org.springframework.data.jpa.repository.JpaRepository; import java.util.List; public interface MemberRewardRepository extends JpaRepository { List findByMemberId(Long MemberId); - boolean existsByMemberAndRewardId(Member member, Long rewardId); + + boolean existsByMemberAndReward(Member member, Reward reward); } diff --git a/src/main/java/com/teami/domain/reward/service/RewardService.java b/src/main/java/com/teami/domain/reward/service/RewardService.java index e307450..2cbe3fc 100644 --- a/src/main/java/com/teami/domain/reward/service/RewardService.java +++ b/src/main/java/com/teami/domain/reward/service/RewardService.java @@ -19,7 +19,7 @@ public class RewardService { private final MemberRewardRepository memberRewardRepository; public Reward createReward_Member(Member member) { - if (!memberRewardRepository.existsByMemberAndRewardId(member, SIGNUP_AND_CALENDAR_CREATE.getRewardId())) { + if (!memberRewardRepository.existsByMemberAndReward(member, SIGNUP_AND_CALENDAR_CREATE)) { memberRewardRepository.save(MemberReward.createMemberReward(member, SIGNUP_AND_CALENDAR_CREATE)); return SIGNUP_AND_CALENDAR_CREATE; } @@ -28,7 +28,7 @@ public Reward createReward_Member(Member member) { public Reward createReward_Mission(Member member) { // COMPLETE_FIVE_MISSION(1L, "5개의 미션을 연속으로 완료했어요!", MISSION), - if (!memberRewardRepository.existsByMemberAndRewardId(member, COMPLETE_FIVE_MISSION.getRewardId())) { + if (!memberRewardRepository.existsByMemberAndReward(member, COMPLETE_FIVE_MISSION)) { // pass } return null; diff --git a/src/main/java/com/teami/domain/test/controller/HttpsTest.java b/src/main/java/com/teami/domain/test/controller/HttpsTest.java new file mode 100644 index 0000000..1612318 --- /dev/null +++ b/src/main/java/com/teami/domain/test/controller/HttpsTest.java @@ -0,0 +1,16 @@ +package com.teami.domain.test.controller; + +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping +@RequiredArgsConstructor +public class HttpsTest { + @GetMapping("/healthcheck") + public String healthcheck() { + return "OK"; + } +}