Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions src/main/generated/kw/zeropick/member/domain/QMember.java
Original file line number Diff line number Diff line change
Expand Up @@ -23,15 +23,15 @@ public class QMember extends EntityPathBase<Member> {

public final DatePath<java.time.LocalDate> deleteDate = createDate("deleteDate", java.time.LocalDate.class);

public final BooleanPath diabetes = createBoolean("diabetes");

public final StringPath email = createString("email");

public final NumberPath<Long> id = createNumber("id", Long.class);

public final EnumPath<MemberInterest> interest = createEnum("interest", MemberInterest.class);

public final EnumPath<MarketingAgree> marketingAgree = createEnum("marketingAgree", MarketingAgree.class);

public final StringPath name = createString("name");
public final StringPath nickname = createString("nickname");

public final StringPath password = createString("password");

Expand Down
8 changes: 6 additions & 2 deletions src/main/generated/kw/zeropick/product/domain/QProduct.java
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@ public class QProduct extends EntityPathBase<Product> {

public final StringPath bigCategory = createString("bigCategory");

public final BooleanPath bloodSugar = createBoolean("bloodSugar");

public final NumberPath<Integer> bookmarkCount = createNumber("bookmarkCount", Integer.class);

public final StringPath brand = createString("brand");
Expand All @@ -43,8 +45,12 @@ public class QProduct extends EntityPathBase<Product> {

public final QIngredient ingredient;

public final ListPath<kw.zeropick.review.domain.NegativeTagEnum, EnumPath<kw.zeropick.review.domain.NegativeTagEnum>> negativeTop3tags = this.<kw.zeropick.review.domain.NegativeTagEnum, EnumPath<kw.zeropick.review.domain.NegativeTagEnum>>createList("negativeTop3tags", kw.zeropick.review.domain.NegativeTagEnum.class, EnumPath.class, PathInits.DIRECT2);

public final NumberPath<Integer> popularity = createNumber("popularity", Integer.class);

public final ListPath<kw.zeropick.review.domain.PositiveTagEnum, EnumPath<kw.zeropick.review.domain.PositiveTagEnum>> positiveTop3tags = this.<kw.zeropick.review.domain.PositiveTagEnum, EnumPath<kw.zeropick.review.domain.PositiveTagEnum>>createList("positiveTop3tags", kw.zeropick.review.domain.PositiveTagEnum.class, EnumPath.class, PathInits.DIRECT2);

public final NumberPath<Integer> price = createNumber("price", Integer.class);

public final StringPath productName = createString("productName");
Expand All @@ -55,8 +61,6 @@ public class QProduct extends EntityPathBase<Product> {

public final NumberPath<Double> starRate = createNumber("starRate", Double.class);

public final ListPath<kw.zeropick.review.domain.PositiveTagEnum, EnumPath<kw.zeropick.review.domain.PositiveTagEnum>> tags = this.<kw.zeropick.review.domain.PositiveTagEnum, EnumPath<kw.zeropick.review.domain.PositiveTagEnum>>createList("tags", kw.zeropick.review.domain.PositiveTagEnum.class, EnumPath.class, PathInits.DIRECT2);

//inherited
public final DateTimePath<java.time.LocalDateTime> updatedAt = _super.updatedAt;

Expand Down
5 changes: 5 additions & 0 deletions src/main/generated/kw/zeropick/review/domain/QReview.java
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,10 @@ public class QReview extends EntityPathBase<Review> {

public final ListPath<String, StringPath> imageUrls = this.<String, StringPath>createList("imageUrls", String.class, StringPath.class, PathInits.DIRECT2);

public final NumberPath<Long> likeCount = createNumber("likeCount", Long.class);

public final kw.zeropick.member.domain.QMember member;

public final kw.zeropick.product.domain.QProduct product;

public final NumberPath<Long> rating = createNumber("rating", Long.class);
Expand Down Expand Up @@ -60,6 +64,7 @@ public QReview(PathMetadata metadata, PathInits inits) {

public QReview(Class<? extends Review> type, PathMetadata metadata, PathInits inits) {
super(type, metadata, inits);
this.member = inits.isInitialized("member") ? new kw.zeropick.member.domain.QMember(forProperty("member")) : null;
this.product = inits.isInitialized("product") ? new kw.zeropick.product.domain.QProduct(forProperty("product"), inits.get("product")) : null;
}

Expand Down
62 changes: 62 additions & 0 deletions src/main/generated/kw/zeropick/review/domain/QReviewLike.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
package kw.zeropick.review.domain;

import static com.querydsl.core.types.PathMetadataFactory.*;

import com.querydsl.core.types.dsl.*;

import com.querydsl.core.types.PathMetadata;
import javax.annotation.processing.Generated;
import com.querydsl.core.types.Path;
import com.querydsl.core.types.dsl.PathInits;


/**
* QReviewLike is a Querydsl query type for ReviewLike
*/
@Generated("com.querydsl.codegen.DefaultEntitySerializer")
public class QReviewLike extends EntityPathBase<ReviewLike> {

private static final long serialVersionUID = 1136379142L;

private static final PathInits INITS = PathInits.DIRECT2;

public static final QReviewLike reviewLike = new QReviewLike("reviewLike");

public final kw.zeropick.common.domain.QBaseEntity _super = new kw.zeropick.common.domain.QBaseEntity(this);

//inherited
public final DateTimePath<java.time.LocalDateTime> createdAt = _super.createdAt;

public final NumberPath<Long> id = createNumber("id", Long.class);

public final kw.zeropick.member.domain.QMember member;

public final QReview review;

//inherited
public final DateTimePath<java.time.LocalDateTime> updatedAt = _super.updatedAt;

public QReviewLike(String variable) {
this(ReviewLike.class, forVariable(variable), INITS);
}

public QReviewLike(Path<? extends ReviewLike> path) {
this(path.getType(), path.getMetadata(), PathInits.getFor(path.getMetadata(), INITS));
}

public QReviewLike(PathMetadata metadata) {
this(metadata, PathInits.getFor(metadata, INITS));
}

public QReviewLike(PathMetadata metadata, PathInits inits) {
this(ReviewLike.class, metadata, inits);
}

public QReviewLike(Class<? extends ReviewLike> type, PathMetadata metadata, PathInits inits) {
super(type, metadata, inits);
this.member = inits.isInitialized("member") ? new kw.zeropick.member.domain.QMember(forProperty("member")) : null;
this.review = inits.isInitialized("review") ? new QReview(forProperty("review"), inits.get("review")) : null;
}

}

86 changes: 45 additions & 41 deletions src/main/java/kw/zeropick/member/controller/MemberController.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,10 @@
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.validation.Valid;
import kw.zeropick.common.LoginUser;
import kw.zeropick.member.controller.response.CreateMemberResponse;
import kw.zeropick.member.controller.response.MemberFieldResponse;
import kw.zeropick.member.controller.response.MemberInfoResponse;
import kw.zeropick.member.controller.response.*;
import kw.zeropick.member.domain.Member;
import kw.zeropick.member.dto.MemberFieldDto;
import kw.zeropick.member.dto.MemberEmailDto;
import kw.zeropick.member.dto.MemberInfoChangeDto;
import kw.zeropick.member.dto.MemberJoinDto;
import kw.zeropick.member.service.MemberService;
import lombok.RequiredArgsConstructor;
import org.springframework.http.HttpStatus;
Expand All @@ -28,18 +25,6 @@ public class MemberController {

private final MemberService memberService;

@Operation(
summary = "회원가입 요청",
description = "회원가입 요청을 받아 성공/실패 여부를 반환합니다.")
@PostMapping
public ResponseEntity<CreateMemberResponse> saveMember(@RequestBody @Valid MemberJoinDto memberJoinDto) {
Member joinMember = memberService.join(memberJoinDto);

return ResponseEntity
.status(HttpStatus.CREATED)
.body(new CreateMemberResponse(joinMember.getId(), "Member created successfully"));
}

@Operation(
summary = "내 정보 조회",
description = "마이페이지에서 내 정보들을 가져옵니다.")
Expand All @@ -54,34 +39,53 @@ public ResponseEntity<MemberInfoResponse> getInfo() {

@Operation(
summary = "내 정보 수정",
description = "내 정보 수정 요청을 받아 성공/실패를 반환합니다.")
description = "내 정보 수정 요청을 받아 수정된 정보를 반환합니다.")
@PutMapping("/myPage/info")
public ResponseEntity<Boolean> changeMemberInfo(@RequestBody @Valid MemberInfoChangeDto memberInfoChangeDto) {
public ResponseEntity<MemberInfoResponse> changeMemberInfo(@RequestBody @Valid MemberInfoChangeDto memberInfoChangeDto) {
Long loginUser = LoginUser.get().getId();
memberService.updateMemberInfo(loginUser, memberInfoChangeDto);
return ResponseEntity.ok(Boolean.TRUE);
MemberInfoResponse updatedInfo = memberService.updateMemberInfo(loginUser, memberInfoChangeDto);
return ResponseEntity
.status(HttpStatus.OK)
.body(updatedInfo);
}

@Operation(
summary = "마이페이지 클릭시 정보 조회",
description = "마이페이지 클릭 시 닉네임, 찜한 제품 수, 내가 쓴 리뷰 수를 반환합니다.")
@GetMapping("/myPage")
public ResponseEntity<MypageInfoResponse> getMypageInfo() {
Long loginUser = LoginUser.get().getId();
MypageInfoResponse mypageInfoResponse = memberService.getMypageInfo(loginUser);
return ResponseEntity
.status(HttpStatus.OK)
.body(mypageInfoResponse);
}

@Operation(
summary = "마스킹 이메일 조회",
description = "내 정보 조회를 위한 마스킹 이메일을 불러옵니다.")
@GetMapping("/getEmail")
public ResponseEntity<MaskingEmailResponse> getEmail() {

Member member = memberService.getById(LoginUser.get().getId());
MaskingEmailResponse response = memberService.getMemberEmail(member);

return ResponseEntity
.status(HttpStatus.OK)
.body(response);
}

@Operation(
summary = "내정보 조회 이메일 일치 확인",
description = "내 정보를 조회를 위해 이메일 일치 여부를 확인합니다.")
@PostMapping("/checkEmail")
public ResponseEntity<Boolean> checkEmail(@RequestBody MemberEmailDto memberEmailDto) {
Long loginUser = LoginUser.get().getId();
Member member = memberService.getById(loginUser);

return ResponseEntity.ok(member.getEmail().equals(memberEmailDto.getEmail()));
}

// @Operation(
// summary = "관심분야 조회",
// description = "마이페이지에서 관심분야를 조회합니다.")
// @GetMapping("/myPage/field")
// public ResponseEntity<MemberFieldResponse> getField() {
// Long loginUser = LoginUser.get().getId();
// List<String> memberField = memberService.getMemberField(loginUser);
// return ResponseEntity.ok().body(new MemberFieldResponse(memberField));
// }

// @Operation(
// summary = "관심분야 등록/수정",
// description = "초기/마이페이지에서 관심분야를 등록/수정합니다.")
// @PostMapping({"/field", "/myPage/field"})
// public ResponseEntity<Boolean> postField(@RequestBody MemberFieldDto memberFieldDto) {
//
// Long loginUserId = LoginUser.get().getId();
// memberService.updateMemberField(loginUserId, memberFieldDto);
// return ResponseEntity.ok(Boolean.TRUE);
// }

}

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
package kw.zeropick.member.controller.response;

import lombok.Builder;
import lombok.Data;

@Data
public class MaskingEmailResponse {
private String maskEmail;

@Builder
public MaskingEmailResponse(String maskEmail) {
this.maskEmail = maskEmail;
}
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package kw.zeropick.member.controller.response;


import kw.zeropick.member.domain.MemberInterest;
import lombok.Builder;
import lombok.Data;

Expand All @@ -9,18 +10,15 @@
@Data
public class MemberInfoResponse {
private String email;
private String name;
private String phoneNumber;
private LocalDate birthDate;

public MemberInfoResponse() {
}
private String nickname;
private MemberInterest interest;
private Boolean diabetes;

@Builder
public MemberInfoResponse(String email, String name, String phoneNumber, LocalDate birthDate) {
public MemberInfoResponse(String email, String nickname, MemberInterest interest, Boolean diabetes) {
this.email = email;
this.name = name;
this.phoneNumber = phoneNumber;
this.birthDate = birthDate;
this.nickname = nickname;
this.interest = interest;
this.diabetes = diabetes;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
package kw.zeropick.member.controller.response;

import lombok.Builder;
import lombok.Data;

@Data
public class MypageInfoResponse {
private String nickname;
private Long bookmarkCount;
private Long reviewCount;

@Builder
public MypageInfoResponse(String nickname, Long bookmarkCount, Long reviewCount) {
this.nickname = nickname;
this.bookmarkCount = bookmarkCount;
this.reviewCount = reviewCount;
}
}
31 changes: 19 additions & 12 deletions src/main/java/kw/zeropick/member/domain/Member.java
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ public class Member {
private String email;

@NotNull
private String name;
private String nickname;

@NotNull
private String phoneNumber;
Expand All @@ -35,12 +35,12 @@ public class Member {
@NotNull
private String password;

//관심 있는 제로 종류(제로 슈거 / 제로 칼로리)
@Enumerated(EnumType.STRING)
private MemberInterest interest;

@NotNull
@Enumerated(EnumType.STRING)
private MarketingAgree marketingAgree;
//당뇨 환자 여부
private Boolean diabetes;

@NotNull
@Enumerated(EnumType.STRING)
Expand All @@ -49,24 +49,31 @@ public class Member {
private LocalDate deleteDate;


public Member( String email, String name, String phoneNumber, LocalDate birthDate, String password, MarketingAgree marketingAgree, State userState) {
public Member( String email, String nickname, String phoneNumber, LocalDate birthDate, String password, State userState) {
this.email = email;
this.name = name;
this.nickname = nickname;
this.phoneNumber = phoneNumber;
this.birthDate = birthDate;
this.password = password;
this.marketingAgree = marketingAgree;
this.userState = userState;
}

// public void changeFieldInfo(List<String> field){
// this.field = field;
// }

public void changeMemberInfo(String phoneNumber, LocalDate birthDate, MarketingAgree marketingAgree){
public void changeMemberInfo(String phoneNumber, LocalDate birthDate){
this.phoneNumber = phoneNumber;
this.birthDate = birthDate;
this.marketingAgree = marketingAgree;
}

public void setNickname(String nickname){
this.nickname = nickname;
}

public void setInterest(MemberInterest interest){
this.interest = interest;
}

public void setDiabetes(Boolean diabetes){
this.diabetes = diabetes;
}


Expand Down
18 changes: 18 additions & 0 deletions src/main/java/kw/zeropick/member/dto/MemberEmailDto.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
package kw.zeropick.member.dto;

import jakarta.validation.constraints.Email;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@NoArgsConstructor
public class MemberEmailDto {
@Email
private String email;

@Builder
public MemberEmailDto(String email) {
this.email = email;
}
}
Loading