Skip to content

Commit a919ccc

Browse files
committed
Merge branch 'develop' of https://github.com/prgrms-web-devcourse-final-project/WEB5_7_3star_BE into feat/#100/user-delete
# Conflicts: # src/main/java/com/threestar/trainus/domain/user/controller/UserController.java # src/main/java/com/threestar/trainus/domain/user/service/UserService.java
2 parents b96ae96 + 8636a8b commit a919ccc

File tree

110 files changed

+2938
-591
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

110 files changed

+2938
-591
lines changed

build.gradle

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,8 @@ dependencies {
4343
testAnnotationProcessor 'org.projectlombok:lombok'
4444
testImplementation 'org.springframework.boot:spring-boot-starter-test'
4545
testImplementation 'org.springframework.security:spring-security-test'
46+
testImplementation("org.junit.jupiter:junit-jupiter:5.10.0")
47+
testRuntimeOnly("org.junit.platform:junit-platform-launcher")
4648
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
4749
}
4850

src/main/java/com/threestar/trainus/domain/comment/controller/CommentController.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ public ResponseEntity<PagedResponse<CommentPageWrapperDto>> readAll(@PathVariabl
5151
@RequestParam("page") int page,
5252
@RequestParam("pageSize") int pageSize) {
5353
int correctPage = Math.max(page, 1);
54-
int correctPageSize = Math.max(1, Math.max(pageSize, pageSizeLimit));
54+
int correctPageSize = Math.max(1, Math.min(pageSize, pageSizeLimit));
5555
CommentPageResponseDto commentsInfo = commentService.readAll(lessonId, correctPage, correctPageSize);
5656
CommentPageWrapperDto comments = CommentMapper.toCommentPageWrapperDto(commentsInfo);
5757
return PagedResponse.ok("댓글 조회 성공", comments, commentsInfo.getCount(), HttpStatus.OK);

src/main/java/com/threestar/trainus/domain/comment/entity/Comment.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package com.threestar.trainus.domain.comment.entity;
22

3-
import com.threestar.trainus.domain.lesson.admin.entity.Lesson;
3+
import com.threestar.trainus.domain.lesson.teacher.entity.Lesson;
44
import com.threestar.trainus.domain.user.entity.User;
55
import com.threestar.trainus.global.entity.BaseDateEntity;
66

src/main/java/com/threestar/trainus/domain/comment/service/CommentService.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@
1111
import com.threestar.trainus.domain.comment.entity.Comment;
1212
import com.threestar.trainus.domain.comment.mapper.CommentMapper;
1313
import com.threestar.trainus.domain.comment.repository.CommentRepository;
14-
import com.threestar.trainus.domain.lesson.admin.entity.Lesson;
15-
import com.threestar.trainus.domain.lesson.admin.service.AdminLessonService;
14+
import com.threestar.trainus.domain.lesson.teacher.entity.Lesson;
15+
import com.threestar.trainus.domain.lesson.teacher.service.AdminLessonService;
1616
import com.threestar.trainus.domain.user.entity.User;
1717
import com.threestar.trainus.domain.user.service.UserService;
1818
import com.threestar.trainus.global.utils.PageLimitCalculator;

src/main/java/com/threestar/trainus/domain/coupon/user/repository/UserCouponRepository.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.threestar.trainus.domain.coupon.user.repository;
22

33
import java.util.List;
4+
import java.util.Optional;
45

56
import org.springframework.data.jpa.repository.JpaRepository;
67
import org.springframework.data.jpa.repository.Query;
@@ -12,6 +13,8 @@
1213
public interface UserCouponRepository extends JpaRepository<UserCoupon, Long> {
1314
boolean existsByUserIdAndCouponId(Long userId, Long couponId);
1415

16+
Optional<UserCoupon> findByUserIdAndCouponId(Long userId, Long couponId);
17+
1518
@Query("SELECT uc FROM UserCoupon uc JOIN FETCH uc.coupon WHERE uc.user.id = :userId")
1619
List<UserCoupon> findAllByUserIdWithCoupon(@Param("userId") Long userId);
1720

src/main/java/com/threestar/trainus/domain/coupon/user/service/CouponService.java

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,4 +94,35 @@ public CouponPageResponseDto getCoupons(Long userId) {
9494
.coupons(dtoList)
9595
.build();
9696
}
97+
98+
@Transactional
99+
public UserCoupon getValidUserCoupon(Long userCouponId, Long userId) {
100+
return userCouponRepository.findByUserIdAndCouponId(userId, userCouponId)
101+
.filter(c -> c.getStatus() == CouponStatus.ACTIVE)
102+
.orElseThrow(() -> new BusinessException(ErrorCode.COUPON_NOT_FOUND));
103+
}
104+
105+
public int calculateDiscountedPrice(int originalPrice, UserCoupon coupon) {
106+
String discountPrice = coupon.getCoupon().getDiscountPrice();
107+
if (discountPrice.contains("%")) {
108+
int discountPercentage = Integer.parseInt(discountPrice.substring(0, discountPrice.indexOf("%")));
109+
return originalPrice * discountPercentage / 100;
110+
} else {
111+
return Integer.parseInt(discountPrice.replace("원", ""));
112+
}
113+
}
114+
115+
public void useCoupon(UserCoupon coupon) {
116+
if (coupon.getStatus() == CouponStatus.ACTIVE) {
117+
coupon.use();
118+
userCouponRepository.save(coupon);
119+
}
120+
}
121+
122+
public void restoreCoupon(UserCoupon coupon) {
123+
if (coupon.getStatus() == CouponStatus.INACTIVE) {
124+
coupon.restore();
125+
userCouponRepository.save(coupon);
126+
}
127+
}
97128
}

src/main/java/com/threestar/trainus/domain/lesson/admin/repository/LessonParticipantRepository.java

Lines changed: 0 additions & 10 deletions
This file was deleted.

src/main/java/com/threestar/trainus/domain/lesson/student/controller/StudentLessonController.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
import org.springframework.web.bind.annotation.RequestParam;
1212
import org.springframework.web.bind.annotation.RestController;
1313

14-
import com.threestar.trainus.domain.lesson.admin.entity.Category;
1514
import com.threestar.trainus.domain.lesson.student.dto.LessonApplicationResponseDto;
1615
import com.threestar.trainus.domain.lesson.student.dto.LessonDetailResponseDto;
1716
import com.threestar.trainus.domain.lesson.student.dto.LessonSearchListResponseDto;
@@ -20,6 +19,7 @@
2019
import com.threestar.trainus.domain.lesson.student.dto.MyLessonApplicationListResponseDto;
2120
import com.threestar.trainus.domain.lesson.student.dto.MyLessonApplicationListWrapperDto;
2221
import com.threestar.trainus.domain.lesson.student.service.StudentLessonService;
22+
import com.threestar.trainus.domain.lesson.teacher.entity.Category;
2323
import com.threestar.trainus.global.annotation.LoginUser;
2424
import com.threestar.trainus.global.dto.PageRequestDto;
2525
import com.threestar.trainus.global.exception.domain.ErrorCode;

src/main/java/com/threestar/trainus/domain/lesson/student/dto/LessonApplicationResponseDto.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import java.time.LocalDateTime;
44

5-
import com.threestar.trainus.domain.lesson.admin.entity.ApplicationStatus;
5+
import com.threestar.trainus.domain.lesson.teacher.entity.ApplicationStatus;
66

77
import lombok.Builder;
88

src/main/java/com/threestar/trainus/domain/lesson/student/dto/LessonDetailResponseDto.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
import java.time.LocalDateTime;
44
import java.util.List;
55

6-
import com.threestar.trainus.domain.lesson.admin.entity.Category;
7-
import com.threestar.trainus.domain.lesson.admin.entity.LessonStatus;
6+
import com.threestar.trainus.domain.lesson.teacher.entity.Category;
7+
import com.threestar.trainus.domain.lesson.teacher.entity.LessonStatus;
88

99
import lombok.Builder;
1010

@@ -37,4 +37,4 @@ public record LessonDetailResponseDto(
3737
LocalDateTime updatedAt,
3838
List<String> lessonImages
3939
) {
40-
}
40+
}

0 commit comments

Comments
 (0)