포인트 충전 차감 로직 문의 드립니다.
망고프리
2년 전
조회 2,836
안녕하세요.
충전 table이 있으면 쿠폰, 충전 TYPE이 있습니다.
아래와 같이 수량이 15개 있으며 그중 13개를 사용하면
쿠폰먼저 사용하고 충전을 사용하여 차감을 하고 싶습니다.
오른쪽과 같이 남은수량이 0으로 변하고 FLAG N으로 변경하고 싶습니다.
계산이 완료되면 오른쪽 아래와 같이 남은수량 2개와 FLAG Y로 남고 싶은데
어떤 로직을 하면 좋은지 힌트라고 부탁드리겠습니다.
감사합니다.

댓글을 작성하려면 로그인이 필요합니다.
답변 4개
답변에 대한 댓글 1개
�
망고프리
2년 전
답변 감사합니다.
댓글을 작성하려면 로그인이 필요합니다.
답변에 대한 댓글 1개
�
망고프리
2년 전
답변 감사합니다.
댓글을 작성하려면 로그인이 필요합니다.
2년 전
다음과 같은 방법으로 구현해 볼 수 있지 않을까 합니다.
참고하셔서 원하시는 형태로 구현하시면 될 것 같습니다.
</p>
<p>// 가상의 데이터베이스 테이블
const coupons = [
{ id: 1, name: "Coupon 1", quantity: 15, flag: "Y" },
{ id: 2, name: "Coupon 2", quantity: 15, flag: "Y" },
];</p>
<p>const charges = [
{ id: 1, name: "Charge 1", quantity: 15, flag: "Y" },
{ id: 2, name: "Charge 2", quantity: 15, flag: "Y" },
];</p>
<p>// 쿠폰 사용 함수
function useCoupon(couponId) {
const coupon = coupons.find((c) => c.id === couponId);</p>
<p> if (!coupon) {
console.log("쿠폰을 찾을 수 없습니다.");
return;
}</p>
<p> if (coupon.quantity > 0) {
coupon.quantity--;
coupon.flag = "N";
console.log("쿠폰 사용 완료");
} else {
console.log("사용 가능한 쿠폰이 없습니다.");
}
}</p>
<p>// 충전 사용 함수
function useCharge(chargeId) {
const charge = charges.find((c) => c.id === chargeId);</p>
<p> if (!charge) {
console.log("충전을 찾을 수 없습니다.");
return;
}</p>
<p> if (charge.quantity > 0) {
charge.quantity--;
charge.flag = "N";
console.log("충전 사용 완료");
} else {
console.log("사용 가능한 충전이 없습니다.");
}
}</p>
<p>// 예제 사용
useCoupon(1); // 쿠폰 1 사용
useCharge(1); // 충전 1 사용</p>
<p>// 남은 수량과 FLAG 출력
console.log("쿠폰:");
console.log(coupons);
console.log("충전:");
console.log(charges);
로그인 후 평가할 수 있습니다
답변에 대한 댓글 1개
�
망고프리
2년 전
답변 감사합니다.
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인