Bug 600 - Looping Error for membership upgrade
Summary: Looping Error for membership upgrade
Status: RESOLVED FIXED
Alias: None
Product: CS3343 2021/09 POS System
Classification: Unclassified
Component: user (show other bugs)
Version: 0.0.1
Hardware: PC All
: --- critical
Assignee: chakfpoon2-c
URL:
Depends on:
Blocks:
 
Reported: 2021-11-23 09:55 HKT by chakfpoon2-c
Modified: 2021-11-25 11:36 HKT (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description chakfpoon2-c 2021-11-23 09:55:17 HKT
The problem will be triggered if customer buys more than $18000 and customer is already a platinum member. As the program will promote a tier when buying more than $18000 and platinum is already the highest tier in our membership system, it will cause an infinite loop to try upgrading customer's tier to next possible tier.

==================================================================================
Please input (0) for proceed to checkout
Please input (1) for remove products
Please input (2) for modify quantities of products
Please input (3) to cancel the checkout process
0
The total amount is: $22420.00
Please Input the amount of dollars that the customers paid
22420
Total changes is $0.00
Upgrading Membership to platinum
Upgrading Membership to platinum
Upgrading Membership to platinum
Upgrading Membership to platinum
Upgrading Membership to platinum
Upgrading Membership to platinum
.
.
.
Comment 1 chakfpoon2-c 2021-11-25 11:36:47 HKT
Problem has been solved by adding a break to avoid the program from infinite looping(platinum member -> platinum member).
==================================================================================	public void upgradeMembership(Member member) {
		if (checkMembership(member)) {
			while (checkRemainingProgress(member) < 0) {
				if (member.getMembership() instanceof PlatinumMembership) {
					break;
				} else {
					member.setMembership(member.getMembership().upgradeMembership());
				}

			}
		}
	}
==================================================================================
Please input your Worker ID for logging in the system...
1
Please input your Member ID for logging in the system...
1234
---Welcome to Morx Supermarket---
---To continue, please proceed your actions---
Input (1) for accessing Inventory System
Input (2) for accessing Checkout System
Input (3) for accessing Sales System
Input (4) for accessing Membership System
Input (5) for switching member
Input (6) to exit
2
---Welcome to Checkout System, ON9.---
Input commands for further management:
Input (1) for Checkout
Input (2) for refund
Input (3) for exit
1
No                  Description         Quantity            Price($)            
1                   candies             100                 3000.0              
2                   Calcium Blocks      100                 15000.0             
3                   Coke                560                 5600.0              
Please input (0) for proceed to checkout
Please input (1) for remove products
Please input (2) for modify quantities of products
Please input (3) to cancel the checkout process
0
The total amount is: $22420.00
Please Input the amount of dollars that the customers paid
22420
Total changes is $0.00
Input commands for further management:
Input (1) for Checkout
Input (2) for refund
Input (3) for exit