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
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@
@Getter
public class OrderCreateRequestDto {
private Long couponId;
private Long sellerId;

public Orders toEntity(Coupon coupon, User seller) {
return Orders.builder()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
@Builder
@Getter
public class OrderDetailResponseDto {
private Long id;
private Long orderId;
private CouponSimpleResponseDto coupon;
private UserSimpleResponseDto buyer;
private UserSimpleResponseDto seller;
Expand All @@ -21,9 +21,9 @@ public class OrderDetailResponseDto {
private OrderStatus status;


public static OrderDetailResponseDto toDto(Orders order, CouponSimpleResponseDto coupon, UserSimpleResponseDto buyer, UserSimpleResponseDto seller) {
public static OrderDetailResponseDto toDto(Orders order, CouponSimpleResponseDto coupon, UserSimpleResponseDto seller, UserSimpleResponseDto buyer) {
return OrderDetailResponseDto.builder()
.id(order.getId())
.orderId(order.getId())
.coupon(coupon)
.buyer(buyer)
.seller(seller)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,17 +10,20 @@
@Builder
@Getter
public class OrderSimpleResponseDto {
private Long id;
private Long orderId;
private CouponSimpleResponseDto coupon;
private UserIdResponseDto seller;
private UserIdResponseDto buyer;

private OrderStatus status;

public static OrderSimpleResponseDto toDto(Orders orders, CouponSimpleResponseDto coupon,
UserIdResponseDto seller) {
UserIdResponseDto seller, UserIdResponseDto buyer) {
return OrderSimpleResponseDto.builder()
.id(orders.getId())
.orderId(orders.getId())
.coupon(coupon)
.seller(seller)
.buyer(buyer)
.status(orders.getStatus())
.build();
}
Expand Down
13 changes: 10 additions & 3 deletions src/main/java/com/sookmyung/concon/Order/service/OrderFacade.java
Original file line number Diff line number Diff line change
Expand Up @@ -33,16 +33,23 @@ public Orders findOrdersById(Long orderId) {

public OrderDetailResponseDto toDetailDto(Orders orders) {
CouponSimpleResponseDto couponDto = couponFacade.toSimpleDto(orders.getCoupon());
UserSimpleResponseDto buyerDto = userFacade.toSimpleDto(orders.getBuyer());
UserSimpleResponseDto buyerDto = null;
if (orders.getBuyer() != null) {
buyerDto = userFacade.toSimpleDto(orders.getBuyer());
}
UserSimpleResponseDto sellerDto = userFacade.toSimpleDto(orders.getSeller());

return OrderDetailResponseDto.toDto(orders, couponDto, buyerDto, sellerDto);
return OrderDetailResponseDto.toDto(orders, couponDto, sellerDto, buyerDto);
}

public OrderSimpleResponseDto toSimpleDto(Orders orders) {
CouponSimpleResponseDto couponDto = couponFacade.toSimpleDto(orders.getCoupon());
UserIdResponseDto sellerDto = UserIdResponseDto.toDto(orders.getSeller());
UserIdResponseDto buyerDto = null;
if (orders.getBuyer() != null) {
buyerDto = UserIdResponseDto.toDto(orders.getBuyer());
}

return OrderSimpleResponseDto.toDto(orders, couponDto, sellerDto);
return OrderSimpleResponseDto.toDto(orders, couponDto, sellerDto, buyerDto);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ public class OrderServiceImpl implements OrderService{
public OrderDetailResponseDto createOrder(OrderCreateRequestDto request) {
Coupon coupon = orderFacade.findCouponById(request.getCouponId());
Item item = coupon.getItem();
User seller = orderUserFacade.findUserById(request.getSellerId());
User seller = coupon.getUser();
Orders orders = request.toEntity(coupon, seller);
orderRepository.save(orders);
return OrderDetailResponseDto.toDto(orders,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,10 @@ public String uploadCouponBarcodePhoto(Coupon coupon, String imageFileName, Loca
public String getUserPhotoUrl(User user) {
return photoManager.getPhoto(USER_PREFIX + user.getId(), user.getProfilePhotoName(), user.getProfileCreatedDate());
}

public String getUserQRPhotoUrl(User user) {
return photoManager.getPhoto(USER_PREFIX + user.getId() + "/QR", user.getQRImageName(), user.getQRImageCreateDate());
}
public String getItemPhotoUrl(Item item) {
// return photoService.getPhoto(ITEM_PREFIX + item.getId() + item.getImagePath());
return item.getImageUrl();
Expand Down
9 changes: 9 additions & 0 deletions src/main/java/com/sookmyung/concon/User/Entity/User.java
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,10 @@ public class User {
private String profilePhotoName;
private LocalDateTime profileCreatedDate;

// QR 코드 이미지
private String QRImageName;
private LocalDateTime QRImageCreateDate;

private String color;

// 알람 여부
Expand Down Expand Up @@ -80,4 +84,9 @@ public void updatePhoto(String fileName, LocalDateTime time) {
this.profilePhotoName = fileName;
this.profileCreatedDate = time;
}

public void updateQRImage(String QRFileName, LocalDateTime time) {
this.QRImageName = QRFileName;
this.QRImageCreateDate = time;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -75,4 +75,13 @@ public ResponseEntity<UserModifyResponseDto> modifyUser(
@RequestBody UserModifyRequestDto request) {
return ResponseEntity.ok(userService.modifyUser(token, request));
}

// QR 이미지만 추가
@Operation(summary = "QR 이미지 수정")
@PutMapping("/qr")
public ResponseEntity<?> modifyQRImage(
@RequestHeader("Authorization") String token,
@RequestBody UserQRImageModifyRequestDto request) {
return ResponseEntity.ok(userService.modifyQRImage(token, request));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -10,17 +10,19 @@ public class UserDetailConfigResponseDto {
private Long userId;
private String username;
private String profileUrl;
private String QRImageUrl;
private String color;
private boolean gift_notify;
private boolean expiry_notify;
private int expiry_days;
private boolean is_verified;

public static UserDetailConfigResponseDto toDto(User user, String profileUrl) {
public static UserDetailConfigResponseDto toDto(User user, String profileUrl, String QRImageUrl) {
return UserDetailConfigResponseDto.builder()
.userId(user.getId())
.username(user.getUsername())
.profileUrl(profileUrl)
.QRImageUrl(QRImageUrl)
.color(user.getColor())
.gift_notify(user.isGift_notify())
.expiry_notify(user.isExpiry_notify())
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,14 +17,16 @@ public class UserDetailResponseDto {
private Long userId;
private String username;
private String profileUrl;
private String QRImageUrl;
private String color;
private List<OrderSimpleResponseDto> orders;

public static UserDetailResponseDto toDto(User user, List<OrderSimpleResponseDto> orders, String profileUrl) {
public static UserDetailResponseDto toDto(User user, List<OrderSimpleResponseDto> orders, String profileUrl, String QRImageUrl) {
return UserDetailResponseDto.builder()
.userId(user.getId())
.username(user.getUsername())
.profileUrl(profileUrl)
.QRImageUrl(QRImageUrl)
.color(user.getColor())
.orders(orders)
.build();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
public class UserModifyRequestDto {
private String username;
private String fileName;
private String QRFileName;
private String color;
private boolean gift_notify;
private boolean expiry_notify;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,13 @@
public class UserModifyResponseDto {
UserDetailConfigResponseDto user;
String photoModifyUrl;
String QRPhotoModifyURl;

public static UserModifyResponseDto toDto(UserDetailConfigResponseDto user, String photoModifyUrl) {
public static UserModifyResponseDto toDto(UserDetailConfigResponseDto user, String photoModifyUrl, String QRPhotoModifyURl) {
return UserModifyResponseDto.builder()
.user(user)
.photoModifyUrl(photoModifyUrl)
.QRPhotoModifyURl(QRPhotoModifyURl)
.build();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package com.sookmyung.concon.User.dto;

import lombok.Getter;

@Getter
public class UserQRImageModifyRequestDto {
String QRFileName;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
package com.sookmyung.concon.User.dto;

import lombok.Builder;
import lombok.Getter;

@Getter
@Builder
public class UserQRImageModifyResponseDto {
UserIdResponseDto user;
String QRImageModifyUrl;

static public UserQRImageModifyResponseDto toDto(UserIdResponseDto user, String qrImageUrl) {
return UserQRImageModifyResponseDto.builder()
.user(user)
.QRImageModifyUrl(qrImageUrl)
.build();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,8 @@ public UserDetailResponseDto toUserDetailResponseDto(Long userId) {
.stream().map(orderFacade::toSimpleDto).toList();

String photoUrl = photoManager.getPhoto("user/" + user.getId(), user.getProfilePhotoName(), user.getProfileCreatedDate());
return UserDetailResponseDto.toDto(user, top2OrderByUser, photoUrl);
String QRPhotoUrl = photoManager.getPhoto("user/" + user.getId() + "/QR", user.getQRImageName(), user.getQRImageCreateDate());
return UserDetailResponseDto.toDto(user, top2OrderByUser, photoUrl, QRPhotoUrl);
}

@Transactional(readOnly = true)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ public interface UserService {
List<UserSimpleResponseDto> getUsersByKeyword(String keyword);

UserModifyResponseDto modifyUser(String token, UserModifyRequestDto request);
UserQRImageModifyResponseDto modifyQRImage(String token, UserQRImageModifyRequestDto request);

List<UserDetailResponseDto> get5RandomUser();

Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
package com.sookmyung.concon.User.service;

import com.sookmyung.concon.Item.service.ItemService;
import com.sookmyung.concon.Kakao.dto.KakaoTokenResponse;
import com.sookmyung.concon.Kakao.dto.KakaoUnlinkResponse;
import com.sookmyung.concon.Kakao.service.KakaoService;
import com.sookmyung.concon.Photo.service.PhotoFacade;
import com.sookmyung.concon.Photo.service.PhotoManager;
Expand All @@ -16,7 +14,6 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.reactive.function.client.WebClient;
import reactor.core.publisher.Flux;

import java.time.LocalDateTime;
import java.time.temporal.ChronoUnit;
Expand All @@ -43,17 +40,25 @@ public class UserServiceImpl implements UserService {
@Transactional(readOnly = true)
public UserDetailConfigResponseDto getUserInfo(String token) {
User user = orderUserFacade.findUserByToken(token);
return UserDetailConfigResponseDto.toDto(user, getUserPhoto(user));
return UserDetailConfigResponseDto.toDto(user, getUserPhoto(user), getUserQRPhoto(user));
}

private String getUserPhoto(User user) {
return photoFacade.getUserPhotoUrl(user);
}

private String getUserQRPhoto(User user) {
return photoFacade.getUserQRPhotoUrl(user);
}

private String makePrefix(User user) {
return PREFIX + user.getId();
}

private String makeQRPrefix(User user) {
return PREFIX + user.getId() + "/QR";
}

// id로 회원 정보 조회
// TODO : Review 추가하기
@Override
Expand Down Expand Up @@ -90,17 +95,51 @@ public UserModifyResponseDto modifyUser(String token, UserModifyRequestDto reque
User user = orderUserFacade.findUserByToken(token);
user.update(request);
String photoModifyUrl = "";
String qrPhotoModifyUrl = "";
LocalDateTime now = LocalDateTime.now().truncatedTo(ChronoUnit.SECONDS);
if (request.getFileName() != null && !request.getFileName().isEmpty()) {
String fileName = request.getFileName();
// TODO : modify
LocalDateTime now = LocalDateTime.now().truncatedTo(ChronoUnit.SECONDS);

photoModifyUrl = photoManager.updatePhoto(makePrefix(user),
user.getProfilePhotoName(), user.getProfileCreatedDate(),
fileName, now);

user.updatePhoto(fileName, now);
}

if (request.getQRFileName() != null && !request.getQRFileName().isEmpty()) {
String QRFileName = request.getQRFileName();

qrPhotoModifyUrl = photoManager.updatePhoto(makeQRPrefix(user),
user.getQRImageName(), user.getQRImageCreateDate(),
QRFileName, now);

user.updateQRImage(QRFileName, now);
}
// TODO : 사진 수정
return UserModifyResponseDto.toDto(UserDetailConfigResponseDto.toDto(user, "로직 추가 예정"), photoModifyUrl);
return UserModifyResponseDto.toDto(UserDetailConfigResponseDto.toDto(user, "로직 추가 예정", "추가 예정"), photoModifyUrl, qrPhotoModifyUrl);
}


// QR 이미지 수정
@Override
@Transactional
public UserQRImageModifyResponseDto modifyQRImage(String token, UserQRImageModifyRequestDto request) {
User user = orderUserFacade.findUserByToken(token);

String qrPhotoModifyUrl = "";
LocalDateTime now = LocalDateTime.now().truncatedTo(ChronoUnit.SECONDS);
if (request.getQRFileName() != null && !request.getQRFileName().isEmpty()) {
String QRFileName = request.getQRFileName();

qrPhotoModifyUrl = photoManager.updatePhoto(makeQRPrefix(user),
user.getQRImageName(), user.getQRImageCreateDate(),
QRFileName, now);

user.updateQRImage(QRFileName, now);
}

return UserQRImageModifyResponseDto.toDto(UserIdResponseDto.toDto(user), qrPhotoModifyUrl);
}

// 거래용 랜덤 5명의 판매 정보 가져오기
Expand Down
Loading