Bug 622

Summary: Non-member can accumulate points
Product: CS3343 2021/09 POS System Reporter: chakfpoon2-c
Component: functionAssignee: chakfpoon2-c
Status: RESOLVED FIXED    
Severity: normal    
Priority: ---    
Version: 0.0.1   
Hardware: PC   
OS: Windows   

Description chakfpoon2-c 2021-11-29 12:19:20 HKT
The problem will be triggered using non-member to checkout, non-member can accumulate points after checkout procedure which is an abnormal behavior.
==================================================================================
Please input your Worker ID for logging in the system...
1
Please input your Member ID for logging in the system...
0
---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, aiden.---
Input commands for further management:
Input (1) for Checkout
Input (2) for refund
Input (3) for exit
1
No                  Description         Quantity            Price($)            
1                   Coke                200                 2000.0              
2                   Salt                50                  1000.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: $3000.00
Please Input the amount of dollars that the customers paid
3000
Total changes is $0.00
The Order Reference Number is 2021-11-297
Input commands for further management:
Input (1) for Checkout
Input (2) for refund
Input (3) for exit
3
Exiting...
---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
4
---Hi aiden, To check Customer's membership details, please proceed your actions---
---Input commands for further management---
Input (1) for checking the Customer Membership Status
Input (2) for checking the Customer's points
Input (3) for checking the status to another level of Membership
Input (4) for exit
2
The customer owns 30 points.
---Hi aiden, To check Customer's membership details, please proceed your actions---
---Input commands for further management---
Input (1) for checking the Customer Membership Status
Input (2) for checking the Customer's points
Input (3) for checking the status to another level of Membership
Input (4) for exit
Comment 1 chakfpoon2-c 2021-11-29 12:21:06 HKT
The problem has been solved by adding an condition to exempt non-member from accumulation points after buying products.
==================================================================================
 	public int countPoints(double total, Member member) {
		if (member.getMembership() instanceof membership.NonMembership)
			return 0;
		int temp = 0;
		if (total >= 100.0D)
			temp += (int) (total / 100.0D);
		return temp;
	}
==================================================================================
Please input your Worker ID for logging in the system...
1
Please input your Member ID for logging in the system...
0
---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, aiden.---
Input commands for further management:
Input (1) for Checkout
Input (2) for refund
Input (3) for exit
1
No                  Description         Quantity            Price($)            
1                   Coke                200                 2000.0              
2                   Salt                50                  1000.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: $3000.00
Please Input the amount of dollars that the customers paid
3000
Total changes is $0.00
The Order Reference Number is 2021-11-297
Input commands for further management:
Input (1) for Checkout
Input (2) for refund
Input (3) for exit
3
Exiting...
---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
4
---Hi aiden, To check Customer's membership details, please proceed your actions---
---Input commands for further management---
Input (1) for checking the Customer Membership Status
Input (2) for checking the Customer's points
Input (3) for checking the status to another level of Membership
Input (4) for exit
2
The customer owns 0 points.
---Hi aiden, To check Customer's membership details, please proceed your actions---
---Input commands for further management---
Input (1) for checking the Customer Membership Status
Input (2) for checking the Customer's points
Input (3) for checking the status to another level of Membership
Input (4) for exit