Skip to content

Commit 2fa28ea

Browse files
committed
Merge branch 'dev'
2 parents d8912ad + 730c99f commit 2fa28ea

File tree

16 files changed

+136
-32
lines changed

16 files changed

+136
-32
lines changed

src/main/generated/com/appcenter/marketplace/domain/member_coupon/QMemberCoupon.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@ public class QMemberCoupon extends EntityPathBase<MemberCoupon> {
3131

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

34+
public final BooleanPath isExpired = createBoolean("isExpired");
35+
3436
public final BooleanPath isUsed = createBoolean("isUsed");
3537

3638
public final com.appcenter.marketplace.domain.member.QMember member;

src/main/java/com/appcenter/marketplace/domain/cheer/controller/CheerController.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,8 @@ public class CheerController {
1818

1919
private final CheerService cheerService;
2020

21-
@Operation(summary = "공감탭 매장 공감하기", description = "임시 매장을 공감합니다. ")
21+
@Operation(summary = "공감탭 매장 공감하기", description = "임시 매장을 공감합니다. <br>" +
22+
"공감권은 매일 1개씩 충전됩니다. 따라서, 1개의 매장을 공감하게 되면, 더이상 공감할 수 없습니다.( 에러 처리 (409) : 공감권이 소진되었습니다)")
2223
@PostMapping
2324
public ResponseEntity<CommonResponse<Object>> createCheer(
2425
@RequestParam Long memberId,

src/main/java/com/appcenter/marketplace/domain/cheer/service/impl/CheerServiceImpl.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,10 @@ public void cheerTempMarket(Long memberId, Long marketId) {
3030
TempMarket tempMarket = tempMarketRepository.findById(marketId).orElseThrow(()-> new CustomException(MARKET_NOT_EXIST));
3131
Member member = memberRepository.findById(memberId).orElseThrow(()-> new CustomException(MEMBER_NOT_EXIST));
3232

33+
if(member.getCheerTicket() == 0){
34+
throw new CustomException(TICKET_SOLD_OUT);
35+
}
36+
3337
Optional<Cheer> isCheer = cheerRepository.findByMemberIdAndTempMarketId(memberId, marketId);
3438

3539
if(!isCheer.isPresent()){

src/main/java/com/appcenter/marketplace/domain/member/Member.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,5 @@ public Member (Long id, Integer cheerTicket) {
3232
public void reduceTicket() {
3333
this.cheerTicket--;
3434
}
35-
36-
public void resetTicket() {
37-
this.cheerTicket = 1;
38-
}
3935
}
4036

src/main/java/com/appcenter/marketplace/domain/member/repository/MemberRepositoryImpl.java

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

33
import com.querydsl.jpa.impl.JPAQueryFactory;
44
import lombok.RequiredArgsConstructor;
5-
65
import static com.appcenter.marketplace.domain.member.QMember.member;
76

87
@RequiredArgsConstructor

src/main/java/com/appcenter/marketplace/domain/member/service/MemberService.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,5 @@
66
public interface MemberService {
77
MemberLoginRes login(MemberLoginReq memberLoginReq);
88
MemberLoginRes getMember(Long studentId);
9+
long resetCheerTickets();
910
}

src/main/java/com/appcenter/marketplace/domain/member/service/impl/MemberServiceImpl.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,16 @@
88
import com.appcenter.marketplace.global.exception.CustomException;
99
import com.appcenter.marketplace.global.oracleRepository.InuLoginRepository;
1010
import lombok.RequiredArgsConstructor;
11+
import lombok.extern.slf4j.Slf4j;
12+
import org.springframework.scheduling.annotation.Scheduled;
1113
import org.springframework.stereotype.Service;
1214
import org.springframework.transaction.annotation.Transactional;
1315

1416
import static com.appcenter.marketplace.global.common.StatusCode.INVALID_STUDENT_ID;
1517
import static com.appcenter.marketplace.global.common.StatusCode.UNAUTHORIZED_LOGIN_ERROR;
1618

1719

20+
@Slf4j
1821
@Service
1922
@RequiredArgsConstructor
2023
public class MemberServiceImpl implements MemberService {
@@ -46,6 +49,12 @@ public MemberLoginRes getMember(Long studentId) {
4649
return MemberLoginRes.toDto(member);
4750
}
4851

52+
@Override
53+
@Transactional
54+
public long resetCheerTickets() {
55+
return memberRepository.resetCheerTickets();
56+
}
57+
4958
// 학번 로그인 검증 및 형변환
5059
private Long validateAndParseStudentId(MemberLoginReq memberLoginReq) {
5160
// 로그인 검증

src/main/java/com/appcenter/marketplace/domain/member_coupon/MemberCoupon.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,9 @@ public class MemberCoupon extends BaseEntity {
2222
@Column(nullable = false)
2323
private Boolean isUsed;
2424

25+
@Column(nullable = false)
26+
private Boolean isExpired;
27+
2528
@ManyToOne(fetch = FetchType.LAZY)
2629
@JoinColumn(name = "member_id", nullable = false)
2730
private Member member;
@@ -31,10 +34,11 @@ public class MemberCoupon extends BaseEntity {
3134
private Coupon coupon;
3235

3336
@Builder
34-
public MemberCoupon(Member member, Coupon coupon, Boolean isUsed) {
37+
public MemberCoupon(Member member, Coupon coupon, Boolean isUsed, Boolean isExpired) {
3538
this.member = member;
3639
this.coupon = coupon;
3740
this.isUsed = isUsed;
41+
this.isExpired = isExpired;
3842
}
3943

4044
public void usedToggle() {

src/main/java/com/appcenter/marketplace/domain/member_coupon/controller/MemberCouponController.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ public ResponseEntity<CommonResponse<Object>> issuedCoupon(@RequestParam(name="m
3535
@Operation(summary = "회원의 쿠폰 리스트", description = "type은 'ISSUED(사용가능한)', 'EXPIRED(기간 만료된)', 'USED(사용 완료된)' 중에서 작성해주시면 됩니다. <br>" +
3636
"쿠폰 리스트를 조회하면 기본적으로 조회되는 리스트는 ISSUED로 사용가능한 쿠폰 리스트입니다.<br> " +
3737
"무한 스크롤 방식으로 hasNext가 true 면 마지막 데이터의 memberCouponId를 입력하여, 다음 페이지==다음 데이터를 받아올 수 있습니다." )
38-
@GetMapping("/valid")
38+
@GetMapping
3939
public ResponseEntity<CommonResponse<CouponPageRes<IssuedCouponRes>>> getCouponList(
4040
@RequestParam(name="type", defaultValue = "ISSUED") MemberCouponType memberCouponType,
4141
@RequestParam(name="memberId")Long memberId,

src/main/java/com/appcenter/marketplace/domain/member_coupon/repository/MemberCouponRepositoryCustom.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,6 @@ public interface MemberCouponRepositoryCustom {
1010
List<IssuedCouponRes> findIssuedCouponResDtoByMemberId(Long memberId, Long memberCouponId, Integer size);
1111
List<IssuedCouponRes> findExpiredCouponResDtoByMemberId(Long memberId, Long memberCouponId, Integer size);
1212
List<IssuedCouponRes> findUsedMemberCouponResDtoByMemberId(Long memberId, Long memberCouponId, Integer size);
13+
void check3DaysCoupons();
14+
void checkExpiredCoupons();
1315
}

0 commit comments

Comments
 (0)